Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
model::Simplex< dim, order > Class Template Reference

#include <Simplex.h>

Inheritance diagram for model::Simplex< dim, order >:
Collaboration diagram for model::Simplex< dim, order >:

Public Types

typedef SimplexTraits< dim, order >::SimplexIDType SimplexIDType
typedef Simplex< dim, order-1 > ChildSimplexType
typedef SimplexTraits< dim, order-1 >::SimplexIDType ChildIDType
Public Types inherited from model::SimplexParent< dim, order >
typedef SimplexTraits< dim, order >::SimplexIDType SimplexIDType
typedef SimplexTraits< dim, order >::BaseArrayType BaseArrayType
typedef Simplex< dim, order-1 > ChildSimplexType
typedef SimplexTraits< dim, order-1 >::SimplexIDType ChildIDType
Public Types inherited from model::SimplexBase< dim, order >
typedef SimplexTraits< dim, order > SimplexTraitsType
typedef SimplexTraitsType::SimplexIDType SimplexIDType
using KeyType
Public Types inherited from model::SimplexChild< dim, order >
using SimplexType = typename SimplexTraits<dim, order>::SimplexType
using ParentSimplexType = typename SimplexTraits<dim, order + 1>::SimplexType
using ParentSimplexIDType = typename SimplexTraits<dim, order + 1>::SimplexIDType
using ParentContainerType = std::map<ParentSimplexIDType, std::shared_ptr<ParentSimplexType>>
using ParentLinks = std::map<ParentSimplexIDType, std::weak_ptr<ParentSimplexType>>
using SiblingsContainerType

Public Member Functions

 ~Simplex ()
size_t childOrder (const ChildIDType &childID) const
std::vector< int > boundaryFaces () const
std::set< const Simplex< dim, order > * > spouses () const
std::set< const Simplex< dim, order > * > boundaryNeighbors () const
std::set< const Simplex< dim, order > * > regionBoundaryNeighbors () const
Eigen::Matrix< double, dim, 1 > outNormal () const
Eigen::Matrix< double, dim, 1 > outNormal (const size_t &rID) const
Public Member Functions inherited from model::SimplexParent< dim, order >
 SimplexParent (SimplicialMesh< dim > *const mesh, const SimplexIDType &xID)
Eigen::Matrix< double, dim, SimplexTraits< dim, order >::nVertices > vertexPositionMatrix () const
Eigen::Matrix< double, dim+1, SimplexTraits< dim, order >::nVertices > get_b2p (SimplicialMesh< dim > *const mesh, const SimplexIDType &xID) const
Eigen::Matrix< double, dim, 1 > bary2pos (const Eigen::Matrix< double, SimplexTraits< dim, order >::nVertices, 1 > &bary) const
Eigen::Matrix< double, dim, 1 > center () const
BaseArrayType & children ()
const BaseArrayType & children () const
ChildSimplexType & child (const int &n)
const ChildSimplexType & child (const int &n) const
const std::shared_ptr< ChildSimplexType > & child (const ChildIDType &xID) const
Public Member Functions inherited from model::SimplexBase< dim, order >
 SimplexBase (SimplicialMesh< dim > *const m, const SimplexIDType &vIN)
SimplexBase & operator= (const SimplexBase &)=delete
std::array< const Simplex< dim, 0 > *, SimplexTraits< dim, order >::nVertices > vertices () const
Public Member Functions inherited from model::StaticID< SimplexBase< _dim, order > >
 StaticID ()
Public Member Functions inherited from model::SimplexChild< dim, order >
void addParent (const std::shared_ptr< ParentSimplexType > &parent)
const ParentLinks & parentLinks () const
ParentContainerType parents () const
SiblingsContainerType siblings () const
bool isBoundarySimplex () const
bool isRegionBoundarySimplex () const
bool isInRegion (const size_t &id) const
std::set< size_t > regionIDs () const

Public Attributes

double vol0
Public Attributes inherited from model::SimplexParent< dim, order >
const Eigen::Matrix< double, dim+1, SimplexTraits< dim, order >::nVertices > b2p
 The barycentric-coordinate to position transformation matrix.
Public Attributes inherited from model::SimplexBase< dim, order >
SimplicialMesh< dim > *const mesh
const SimplexIDType xID
const SimplexIDType & key
Public Attributes inherited from model::StaticID< SimplexBase< _dim, order > >
const size_t sID
 The static ID of this.

Static Public Attributes

static constexpr int nVertices =SimplexTraits<dim,order>::nVertices
static constexpr int nFaces =SimplexTraits<dim,order>::nFaces
Static Public Attributes inherited from model::SimplexParent< dim, order >
static constexpr int nFaces =SimplexTraits<dim,order>::nFaces
Static Public Attributes inherited from model::SimplexBase< dim, order >
static constexpr short int dim

Friends

struct WeakPtrFactory< SimplexFactory< dim, order >, Simplex< dim, order > >

Additional Inherited Members

Static Public Member Functions inherited from model::StaticID< SimplexBase< _dim, order > >
static size_t nextID ()
static size_t & get_count ()
static void set_count (const size_t &newCount)
static void force_count (const size_t &newCount)
static void set_increment (const size_t &newIncrement)

Detailed Description

template<short int dim, short int order>
class model::Simplex< dim, order >

Definition at line 75 of file Simplex.h.

Member Typedef Documentation

◆ ChildIDType

template<short int dim, short int order>
typedef SimplexTraits<dim,order-1>::SimplexIDType model::Simplex< dim, order >::ChildIDType

Definition at line 93 of file Simplex.h.

◆ ChildSimplexType

template<short int dim, short int order>
typedef Simplex<dim,order-1> model::Simplex< dim, order >::ChildSimplexType

Definition at line 92 of file Simplex.h.

◆ SimplexIDType

template<short int dim, short int order>
typedef SimplexTraits<dim,order>::SimplexIDType model::Simplex< dim, order >::SimplexIDType

Definition at line 90 of file Simplex.h.

Constructor & Destructor Documentation

◆ ~Simplex()

template<short int dim, short int order>
model::Simplex< dim, order >::~Simplex ( )

Destructor performs the following operations:

Definition at line 88 of file Simplex.cpp.

Member Function Documentation

◆ boundaryFaces()

template<short int dim, short int order>
std::vector< int > model::Simplex< dim, order >::boundaryFaces ( ) const

Definition at line 148 of file Simplex.cpp.

◆ boundaryNeighbors()

template<short int dim, short int order>
std::set< const Simplex< dim, order > * > model::Simplex< dim, order >::boundaryNeighbors ( ) const

Definition at line 184 of file Simplex.cpp.

◆ childOrder()

template<short int dim, short int order>
size_t model::Simplex< dim, order >::childOrder ( const ChildIDType & childID) const

Definition at line 141 of file Simplex.cpp.

◆ outNormal() [1/2]

template<short int dim, short int order>
Eigen::Matrix< double, dim, 1 > model::Simplex< dim, order >::outNormal ( ) const

Definition at line 227 of file Simplex.cpp.

◆ outNormal() [2/2]

template<short int dim, short int order>
Eigen::Matrix< double, dim, 1 > model::Simplex< dim, order >::outNormal ( const size_t & rID) const

Definition at line 234 of file Simplex.cpp.

◆ regionBoundaryNeighbors()

template<short int dim, short int order>
std::set< const Simplex< dim, order > * > model::Simplex< dim, order >::regionBoundaryNeighbors ( ) const

Definition at line 205 of file Simplex.cpp.

◆ spouses()

template<short int dim, short int order>
std::set< const Simplex< dim, order > * > model::Simplex< dim, order >::spouses ( ) const
Returns
the set of Simplices sharing children with this

Definition at line 165 of file Simplex.cpp.

◆ WeakPtrFactory< SimplexFactory< dim, order >, Simplex< dim, order > >

template<short int dim, short int order>
friend struct WeakPtrFactory< SimplexFactory< dim, order >, Simplex< dim, order > >
friend

Definition at line 95 of file Simplex.h.

Member Data Documentation

◆ nFaces

template<short int dim, short int order>
int model::Simplex< dim, order >::nFaces =SimplexTraits<dim,order>::nFaces
staticconstexpr

Definition at line 88 of file Simplex.h.

◆ nVertices

template<short int dim, short int order>
int model::Simplex< dim, order >::nVertices =SimplexTraits<dim,order>::nVertices
staticconstexpr

Definition at line 87 of file Simplex.h.

◆ vol0

template<short int dim, short int order>
double model::Simplex< dim, order >::vol0

Definition at line 95 of file Simplex.h.


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