PTEMS  0.1.0-dev+git.81fd0e4
PolyTopic Element Method Solver
ptems::FEMesh< DIM >::ModificationStep Struct Reference

Defines a set of modifications of a mesh during refinement. More...

#include <ptems/mesh.hpp>

Collaboration diagram for ptems::FEMesh< DIM >::ModificationStep:

Public Member Functions

 ModificationStep ()
 Create empty structure. More...
 

Public Attributes

std::size_t ElementCount
 The new element count. More...
 
std::unordered_map< std::size_t, std::size_tUnmodified
 Mapping of original element index to new element index for any unmodified elements. More...
 
std::unordered_map< std::size_t, std::unordered_set< std::size_t > > Refined
 Mapping of original element index to set of new element indices for any element which was refined into two or more elements. More...
 
std::unordered_map< std::size_t, std::size_tCoarsened
 Mapping of original element index to new element index for any coarsened element. More...
 
std::unordered_map< std::size_t, std::unordered_set< std::size_t > > Merged
 Mapping of NEW element indices to the old element indices for elements which were merged due to coarsening (essentially the opposite mapping to Coarsened). More...
 

Detailed Description

template<std::size_t DIM>
struct ptems::FEMesh< DIM >::ModificationStep

Defines a set of modifications of a mesh during refinement.

Note
The element indices for all old elements will be a key in exactly one of the Unmodified, Refined, or Coarsened maps
The element indices for all new elements will be the values of exactly one of the Unmodified, Refined, or Coarsened maps

Constructor & Destructor Documentation

◆ ModificationStep()

template<std::size_t DIM>
ptems::FEMesh< DIM >::ModificationStep::ModificationStep ( )
inline

Create empty structure.

Member Data Documentation

◆ Coarsened

template<std::size_t DIM>
std::unordered_map<std::size_t, std::size_t> ptems::FEMesh< DIM >::ModificationStep::Coarsened

Mapping of original element index to new element index for any coarsened element.

Note
Multiple elements will be mapped to the same element index, to find all elements mapped to the new index use Merged
The set of all keys in this map will equal the set of all values in Merged, and the set of all values in this map will equal the set of all keys in Merged.

◆ ElementCount

template<std::size_t DIM>
std::size_t ptems::FEMesh< DIM >::ModificationStep::ElementCount

The new element count.

◆ Merged

template<std::size_t DIM>
std::unordered_map<std::size_t, std::unordered_set<std::size_t> > ptems::FEMesh< DIM >::ModificationStep::Merged

Mapping of NEW element indices to the old element indices for elements which were merged due to coarsening (essentially the opposite mapping to Coarsened).

Note
The set of all keys in this map will equal the set of all values in Coarsened, and the set of all values in this map will equal the set of all keys in Coarsened.

◆ Refined

template<std::size_t DIM>
std::unordered_map<std::size_t, std::unordered_set<std::size_t> > ptems::FEMesh< DIM >::ModificationStep::Refined

Mapping of original element index to set of new element indices for any element which was refined into two or more elements.

◆ Unmodified

template<std::size_t DIM>
std::unordered_map<std::size_t, std::size_t> ptems::FEMesh< DIM >::ModificationStep::Unmodified

Mapping of original element index to new element index for any unmodified elements.


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