Class GooseFEM::Mesh::Quad4::Map::FineLayer2Regular#
-
class FineLayer2Regular#
Map a FineLayer mesh to a Regular mesh.
The element size of the Regular corresponds to the smallest elements of the FineLayer mesh (along the middle layer).
Public Functions
-
inline FineLayer2Regular(const GooseFEM::Mesh::Quad4::FineLayer &mesh)#
Constructors.
- Parameters
mesh – The FineLayer mesh.
-
inline GooseFEM::Mesh::Quad4::FineLayer fineLayerMesh() const#
Obtain the FineLayer mesh (copy of the mesh passed to the constructor).
- Returns
mesh.
-
inline std::vector<std::vector<size_t>> map() const#
Get element-mapping: elements of the Regular mesh per element of the FineLayer mesh.
The number of Regular elements varies between elements of the FineLayer mesh.
- Returns
[nelem_finelayer, ?]
-
inline std::vector<std::vector<double>> mapFraction() const#
To overlap fraction for each item in the mapping in map().
- Returns
[nelem_finelayer, ?]
-
inline GooseFEM::Mesh::Quad4::Regular getRegularMesh() const#
Obtain the Regular mesh.
- Returns
mesh.
-
inline GooseFEM::Mesh::Quad4::FineLayer getFineLayerMesh() const#
Obtain the FineLayer mesh (copy of the mesh passed to the constructor).
- Returns
mesh.
-
inline std::vector<std::vector<size_t>> getMap() const#
Get element-mapping: elements of the Regular mesh per element of the FineLayer mesh.
The number of Regular elements varies between elements of the FineLayer mesh.
- Returns
[nelem_finelayer, ?]
-
inline std::vector<std::vector<double>> getMapFraction() const#
To overlap fraction for each item in the mapping in getMap().
- Returns
[nelem_finelayer, ?]
-
template<class T, size_t rank>
inline array_type::tensor<T, rank> mapToRegular(const array_type::tensor<T, rank> &data) const# Map element quantities to Regular.
The mapping is a bit simplistic: no interpolation is involved, the function just accounts the fraction of overlap between the FineLayer element and the Regular element. The mapping is such that::
ret[e_regular, ...] <- arg[e_finelayer, ...]
- Template Parameters
T – type of the data (e.g.
double
).rank – rank of the data.
- Parameters
data – data.
- Returns
mapped data.
-
inline FineLayer2Regular(const GooseFEM::Mesh::Quad4::FineLayer &mesh)#