FrictionQPotFEM 0.23.3
Loading...
Searching...
No Matches
GooseFEM::Mesh::Quad4::Map::FineLayer2Regular Class Reference

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

#include <include/GooseFEM/MeshQuad4.h>

Public Member Functions

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

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 1352 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 1361 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 1655 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 1699 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 1713 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 1723 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 1689 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 1669 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 1679 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 1742 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 1645 of file MeshQuad4.h.


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