GooseFEM 1.4.1.dev2+g78f16df
Loading...
Searching...
No Matches
GooseFEM::Mesh::Quad4::Map::FineLayer2Regular Class Reference

Map a FineLayer mesh to a Regular mesh. More...

#include <GooseFEM/MeshQuad4.h>

Public Member Functions

 FineLayer2Regular (const GooseFEM::Mesh::Quad4::FineLayer &mesh)
 Constructors.
 
GooseFEM::Mesh::Quad4::Regular regularMesh () const
 Obtain the Regular mesh.
 
GooseFEM::Mesh::Quad4::FineLayer fineLayerMesh () const
 Obtain the FineLayer mesh (copy of the mesh passed to the constructor).
 
std::vector< std::vector< size_t > > map () const
 Get element-mapping: elements of the Regular mesh per element of the FineLayer mesh.
 
std::vector< std::vector< double > > mapFraction () const
 To overlap fraction for each item in the mapping in map().
 
GooseFEM::Mesh::Quad4::Regular getRegularMesh () const
 Obtain the Regular mesh.
 
GooseFEM::Mesh::Quad4::FineLayer getFineLayerMesh () const
 Obtain the FineLayer mesh (copy of the mesh passed to the constructor).
 
std::vector< std::vector< size_t > > getMap () const
 Get element-mapping: elements of the Regular mesh per element of the FineLayer mesh.
 
std::vector< std::vector< double > > getMapFraction () const
 To overlap fraction for each item in the mapping in getMap().
 
template<class T , size_t rank>
array_type::tensor< T, rankmapToRegular (const array_type::tensor< T, rank > &data) const
 Map element quantities to Regular.
 

Detailed Description

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).

Definition at line 1359 of file MeshQuad4.h.

Constructor & Destructor Documentation

◆ FineLayer2Regular()

GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::FineLayer2Regular ( const GooseFEM::Mesh::Quad4::FineLayer & mesh)
inline

Constructors.

Parameters
meshThe FineLayer mesh.

Definition at line 1368 of file MeshQuad4.h.

Member Function Documentation

◆ fineLayerMesh()

GooseFEM::Mesh::Quad4::FineLayer GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::fineLayerMesh ( ) const
inline

Obtain the FineLayer mesh (copy of the mesh passed to the constructor).

Returns
mesh.

Definition at line 1671 of file MeshQuad4.h.

◆ getFineLayerMesh()

GooseFEM::Mesh::Quad4::FineLayer GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::getFineLayerMesh ( ) const
inline

Obtain the FineLayer mesh (copy of the mesh passed to the constructor).

Returns
mesh.

Definition at line 1717 of file MeshQuad4.h.

◆ getMap()

std::vector< std::vector< size_t > > GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::getMap ( ) const
inline

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, ?]

Definition at line 1732 of file MeshQuad4.h.

◆ getMapFraction()

std::vector< std::vector< double > > GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::getMapFraction ( ) const
inline

To overlap fraction for each item in the mapping in getMap().

Returns
[nelem_finelayer, ?]

Definition at line 1743 of file MeshQuad4.h.

◆ getRegularMesh()

GooseFEM::Mesh::Quad4::Regular GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::getRegularMesh ( ) const
inline

Obtain the Regular mesh.

Returns
mesh.

Definition at line 1706 of file MeshQuad4.h.

◆ map()

std::vector< std::vector< size_t > > GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::map ( ) const
inline

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, ?]

Definition at line 1685 of file MeshQuad4.h.

◆ mapFraction()

std::vector< std::vector< double > > GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::mapFraction ( ) const
inline

To overlap fraction for each item in the mapping in map().

Returns
[nelem_finelayer, ?]

Definition at line 1695 of file MeshQuad4.h.

◆ mapToRegular()

template<class T , size_t rank>
array_type::tensor< T, rank > GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::mapToRegular ( const array_type::tensor< T, rank > & data) const
inline

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
Ttype of the data (e.g. double).
rankrank of the data.
Parameters
datadata.
Returns
mapped data.

Definition at line 1762 of file MeshQuad4.h.

◆ regularMesh()

GooseFEM::Mesh::Quad4::Regular GooseFEM::Mesh::Quad4::Map::FineLayer2Regular::regularMesh ( ) const
inline

Obtain the Regular mesh.

Returns
mesh.

Definition at line 1661 of file MeshQuad4.h.


The documentation for this class was generated from the following file: