Provides all routines for distributing unknown indices (dofs) over the device. Includes expansion order smoothing routines. More...
#include <iostream>#include "viennagrid/element/element.hpp"#include "viennagrid/mesh/mesh.hpp"#include "viennagrid/mesh/coboundary_iteration.hpp"#include "viennashe/util/misc.hpp"#include "viennashe/forwards.h"#include "viennashe/materials/all.hpp"#include "viennashe/physics/constants.hpp"#include "viennashe/config.hpp"#include "viennashe/she/assemble_common.hpp"#include "viennashe/simulator_quantity.hpp"#include "viennashe/she/timestep_quantities.hpp"#include "viennashe/she/she_quantity.hpp"#include "viennashe/she/exception.hpp"#include "viennashe/util/filter.hpp"#include "viennashe/log/log.hpp"#include "viennashe/she/log_keys.h"Go to the source code of this file.
Namespaces | |
| namespace | viennashe |
| The main ViennaSHE namespace. All functionality resides inside this namespace. | |
| namespace | viennashe::she |
| namespace | viennashe::she::detail |
Functions | |
| template<typename DeviceType , typename SHEQuantity > | |
| void | viennashe::she::lower_expansion_order_near_bandedge (DeviceType const &device, SHEQuantity &quan) |
| Assigns the various expansion orders to the device. Uniform expansion order implemented here. More... | |
| template<typename DeviceType , typename SHEQuantity > | |
| void | viennashe::she::smooth_expansion_order (DeviceType const &device, SHEQuantity &quan) |
| Smoothes the expansion order over the device such that neighboring vertices differ in their expansion order by less than two. More... | |
| template<typename DeviceType , typename SHEQuantity > | |
| void | viennashe::she::write_expansion_order_to_facets (DeviceType &device, SHEQuantity &quan) |
| Writes expansion orders on edges. Edge expansion order is given as max(order(v1), order(v2)), where v1 and v2 denote the cells of the facet. More... | |
| template<typename DeviceType , typename VertexT , typename EdgeT > | |
| void | viennashe::she::detail::distribute_expansion_orders_impl (DeviceType const &device, viennashe::she::unknown_she_quantity< VertexT, EdgeT > &quan, viennashe::config const &conf) |
| Assigns the various expansion orders to the device. This is the implementation. More... | |
| template<typename DeviceType , typename VertexT , typename EdgeT > | |
| void | viennashe::she::distribute_expansion_orders (DeviceType &device, viennashe::she::unknown_she_quantity< VertexT, EdgeT > &quan, viennashe::config const &conf) |
| Assigns the various expansion orders to the device. This is the public interface. More... | |
| template<typename DeviceType > | |
| void | viennashe::she::distribute_expansion_orders (DeviceType const &device, timestep_quantities< DeviceType > &quantities, viennashe::config const &conf) |
Provides all routines for distributing unknown indices (dofs) over the device. Includes expansion order smoothing routines.
Definition in file expansion_order.hpp.