LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
A MeshFunction representing interpolation on a lf::refinement::MeshHierarchy. More...
#include <lf/refinement/mesh_function_transfer.h>
Public Member Functions | |
MeshFunctionTransfer (const lf::refinement::MeshHierarchy &mh, const MF &mf, lf::base::size_type level_coarse, lf::base::size_type level_fine) | |
Constructor. | |
decltype(auto) | operator() (const lf::mesh::Entity &e, const Eigen::MatrixXd &local) const |
Evaluate the MeshFunction. | |
std::shared_ptr< const lf::mesh::Mesh > | getMesh () const |
Access the underlying Mesh. | |
Private Types | |
using | mf_t = std::remove_cv_t<std::remove_reference_t<MF>> |
Static Private Member Functions | |
template<typename MF_TEST , typename = decltype(std::declval<MF_TEST>().getMesh())> | |
static std::true_type | has_getMesh_impl (int) |
template<typename MF_TEST > | |
static std::false_type | has_getMesh_impl (...) |
Private Attributes | |
const lf::refinement::MeshHierarchy & | mh_ |
const MF & | mf_ |
const lf::base::size_type | level_coarse_ |
const lf::base::size_type | level_fine_ |
Static Private Attributes | |
static constexpr bool | provides_getMesh |
A MeshFunction representing interpolation on a lf::refinement::MeshHierarchy.
The | type of mesh function to interpolate on a finer mesh |
Definition at line 18 of file mesh_function_transfer.h.
|
private |
Definition at line 19 of file mesh_function_transfer.h.
|
inline |
Constructor.
mh | The lf::refinement::MeshHierarchy along which the function should be interpolated |
mf | The mesh function to be interpolated on a finer mesh |
level_coarse | The level of the Mesh which mf is defined on |
level_fine | The level of the Mesh this wrapper MeshFunction is defined on |
Definition at line 40 of file mesh_function_transfer.h.
References lf::refinement::MeshHierarchy::getMesh(), lf::refinement::MeshHierarchy::NumLevels(), and lf::refinement::MeshFunctionTransfer< MF >::provides_getMesh.
|
inline |
Access the underlying Mesh.
Definition at line 89 of file mesh_function_transfer.h.
References lf::refinement::MeshHierarchy::getMesh(), lf::refinement::MeshFunctionTransfer< MF >::level_coarse_, and lf::refinement::MeshFunctionTransfer< MF >::mh_.
|
staticprivate |
|
staticprivate |
|
inline |
Evaluate the MeshFunction.
e | The Entity on which to evaluate this MeshFunction |
local | The local coordinates inside e where the MeshFunction should be evaluated |
Definition at line 71 of file mesh_function_transfer.h.
References lf::refinement::MeshHierarchy::GeometryInParent(), lf::refinement::MeshFunctionTransfer< MF >::level_coarse_, lf::refinement::MeshFunctionTransfer< MF >::level_fine_, lf::refinement::MeshFunctionTransfer< MF >::mf_, lf::refinement::MeshFunctionTransfer< MF >::mh_, and lf::refinement::MeshHierarchy::ParentEntity().
|
private |
Definition at line 96 of file mesh_function_transfer.h.
Referenced by lf::refinement::MeshFunctionTransfer< MF >::getMesh(), and lf::refinement::MeshFunctionTransfer< MF >::operator()().
|
private |
Definition at line 97 of file mesh_function_transfer.h.
Referenced by lf::refinement::MeshFunctionTransfer< MF >::operator()().
|
private |
Definition at line 95 of file mesh_function_transfer.h.
Referenced by lf::refinement::MeshFunctionTransfer< MF >::operator()().
|
private |
Definition at line 94 of file mesh_function_transfer.h.
Referenced by lf::refinement::MeshFunctionTransfer< MF >::getMesh(), and lf::refinement::MeshFunctionTransfer< MF >::operator()().
|
staticconstexprprivate |
Definition at line 27 of file mesh_function_transfer.h.
Referenced by lf::refinement::MeshFunctionTransfer< MF >::MeshFunctionTransfer().