GEOS
Public Member Functions | List of all members
geos::multiscale::MeshLevel Class Reference

Multiscale mesh level. More...

#include <MeshLevel.hpp>

Public Member Functions

 MeshLevel (string const &name)
 Constructor. More...
 
MeshObjectManagercellManager ()
 
MeshObjectManager const & cellManager () const
 
MeshObjectManagernodeManager ()
 
MeshObjectManager const & nodeManager () const
 
void buildFineMesh (DomainPartition &domain, Span< geos::DofManager::FieldSupport const > const support)
 Construct the finest level mesh representation at this level. More...
 
void buildCoarseMesh (multiscale::MeshLevel &fineMesh, LinearSolverParameters::Multiscale::Coarsening const &params, string_array const &boundaryNodeSets)
 Construct a coarse mesh representation at this level. More...
 
void writeCellData (std::vector< string > const &fieldNames, int depth=0) const
 Push cell data to finer levels. More...
 
void writeNodeData (std::vector< string > const &fieldNames, int depth=0) const
 Push node data to finer levels. More...
 
string const & name () const
 
DomainPartitiondomain () const
 
multiscale::MeshLevelfineMesh () const
 

Detailed Description

Multiscale mesh level.

Mesh representation differs from the main code in several ways:

  1. Only stores part of the mesh on which corresponding physics problem is defined.
  2. Regions/subregions are erased, all elements numbered contiguously both locally and globally.
  3. Only elements and nodes are stored (no faces/edges).
  4. Element shapes are not defined (as coarse level elements are agglomerated).

Definition at line 46 of file MeshLevel.hpp.

Constructor & Destructor Documentation

◆ MeshLevel()

geos::multiscale::MeshLevel::MeshLevel ( string const &  name)
explicit

Constructor.

Parameters
namethe level name

Member Function Documentation

◆ buildCoarseMesh()

void geos::multiscale::MeshLevel::buildCoarseMesh ( multiscale::MeshLevel fineMesh,
LinearSolverParameters::Multiscale::Coarsening const &  params,
string_array const &  boundaryNodeSets 
)

Construct a coarse mesh representation at this level.

Parameters
fineMeshprevious (fine) level mesh
paramscoarsening parameters
boundaryNodeSetslist of global domain boundary node set names

◆ buildFineMesh()

void geos::multiscale::MeshLevel::buildFineMesh ( DomainPartition domain,
Span< geos::DofManager::FieldSupport const > const  support 
)

Construct the finest level mesh representation at this level.

Parameters
domainthe physical domain
supportthe support domain (list of bodies/regions) for the physical field

◆ cellManager() [1/2]

MeshObjectManager& geos::multiscale::MeshLevel::cellManager ( )
inline
Returns
level's cell manager

Definition at line 59 of file MeshLevel.hpp.

◆ cellManager() [2/2]

MeshObjectManager const& geos::multiscale::MeshLevel::cellManager ( ) const
inline
Returns
level's cell manager

Definition at line 64 of file MeshLevel.hpp.

◆ domain()

DomainPartition* geos::multiscale::MeshLevel::domain ( ) const
inline
Returns
pointer to the physical domain object

Definition at line 116 of file MeshLevel.hpp.

◆ fineMesh()

multiscale::MeshLevel* geos::multiscale::MeshLevel::fineMesh ( ) const
inline
Returns
pointer to parent (fine) mesh if one exists

Definition at line 121 of file MeshLevel.hpp.

◆ name()

string const& geos::multiscale::MeshLevel::name ( ) const
inline
Returns
the level name

Definition at line 111 of file MeshLevel.hpp.

◆ nodeManager() [1/2]

MeshObjectManager& geos::multiscale::MeshLevel::nodeManager ( )
inline
Returns
level's node manager

Definition at line 69 of file MeshLevel.hpp.

◆ nodeManager() [2/2]

MeshObjectManager const& geos::multiscale::MeshLevel::nodeManager ( ) const
inline
Returns
level's node manager

Definition at line 74 of file MeshLevel.hpp.

◆ writeCellData()

void geos::multiscale::MeshLevel::writeCellData ( std::vector< string > const &  fieldNames,
int  depth = 0 
) const

Push cell data to finer levels.

Parameters
fieldNamesthe list of field names to write
depthcounter used to track recursion depth (leave default value of 0)

◆ writeNodeData()

void geos::multiscale::MeshLevel::writeNodeData ( std::vector< string > const &  fieldNames,
int  depth = 0 
) const

Push node data to finer levels.

Parameters
fieldNamesthe list of field names to write
depthcounter used to track recursion depth (leave default value of 0)

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