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.