Containers

Geo supports

const GeoSupport Muscat::GeoNA
const GeoSupport Muscat::GeoPoint
const GeoSupport Muscat::GeoBar
const GeoSupport Muscat::GeoTri
const GeoSupport Muscat::GeoQuad
const GeoSupport Muscat::GeoTet
const GeoSupport Muscat::GeoPyr
const GeoSupport Muscat::GeoWed
const GeoSupport Muscat::GeoHex

Element Names

const std::string Muscat::Point_1 = "point1"
const std::string Muscat::Bar_2 = "bar2"
const std::string Muscat::Bar_3 = "bar3"
const std::string Muscat::Triangle_6 = "tri6"
const std::string Muscat::Quadrangle_8 = "quad8"
const std::string Muscat::Quadrangle_9 = "quad9"
const std::string Muscat::Tetrahedron_4 = "tet4"
const std::string Muscat::Pyramid_5 = "pyr5"
const std::string Muscat::Wedge_6 = "wed6"
const std::string Muscat::Hexahedron_8 = "hex8"
const std::string Muscat::Tetrahedron_10 = "tet10"
const std::string Muscat::Pyramid_13 = "pyr13"
const std::string Muscat::Wedge_15 = "wed15"
const std::string Muscat::Wedge_18 = "wed18"
const std::string Muscat::Hexahedron_20 = "hex20"
const std::string Muscat::Hexahedron_27 = "hex27"
struct ElementInfo

Public Functions

ElementInfo() = default
inline int dimension() const
inline const std::vector<std::pair<ElementInfo, MatrixID1>> &GetFacesLevel(int level)

Public Members

int numberOfNodes
GeoSupport geoSupport
std::string name
MatrixI1D mirrorPermutation
bool linear
int degree
std::vector<std::pair<ElementInfo, MatrixID1>> faces
std::vector<std::pair<ElementInfo, MatrixID1>> faces2
std::vector<std::pair<ElementInfo, MatrixID1>> faces3

Mesh

class Mesh

Public Functions

Mesh()
DEFINE_SETGET_SHARED_MAP_MatrixID1(OriginalIds, originalIDNodes)
DEFINE_SETGET_SHARED_MAP_MatrixDDD(Nodes, nodes)
CMuscatIndex GetNumberOfNodes() const
template<typename T>
void AddNodalTag(std::string &name, T &arg1)
template<typename T, typename T2>
void AddElements(std::string &elementType, T &arg1, T2 &arg2)
template<typename T>
void AddElementTag(std::string &elementType, std::string &tagname, T &arg1)
std::map<std::string, CMuscatIndex> ComputeGlobalOffsets()
std::string ToStr()
void Print()
void PrintFull()

Public Members

std::map<std::string, float> props
Tags nodesTags
AllElements elements
class ElementsContainer

Public Functions

ElementsContainer(const std::string &elemtype = "")
CMuscatIndex GetNumberOfElements() const
DEFINE_SETGET_SHARED_MAP_MatrixIDD(Connectivity, connectivity)
DEFINE_SETGET_SHARED_MAP_MatrixID1(OriginalIds, originalIds)
std::string GetElementType() const
template<typename T>
void AddTag(std::string &name, T &arg1)

Public Members

Tags tags
class AllElements

Class to store a list of element containers. This class is mostly a re-implementation of dict (in python) or a std::map (in cpp) but with ordered elementType. This class is sorted by elementTypes in lexicographic order, so the retrieving order is stable, and independent on the order of filling.

Public Functions

ElementsContainer &GetElementsOfType(const std::string &elemtype)
CMuscatIndex GetNumberOfElements() const
std::string ToStr()
ElementsContainer &operator[](const std::string &key)
inline std::map<std::string, ElementsContainer, sortbyName>::const_iterator begin() const
inline std::map<std::string, ElementsContainer, sortbyName>::const_iterator end() const

Public Members

std::map<std::string, ElementsContainer, sortbyName> storage

Tags

class Tag

Public Functions

Tag()
DEFINE_SETGET_SHARED_MAP_MatrixID1(Ids, ids)
void SetName(std::string_view name)
std::string GetName() const
CMuscatIndex GetSize() const
Tag MakeDeepCopy() const
template<typename T>
Tag(std::string_view name, const T &eigenMatrix)
class Tags

Public Functions

void AddTag(Tag &&tag)
void AddTag(const Tag &tag)
bool Contains(const std::string &key) const
Tag &operator[](const std::string &key)
std::string ToStr() const
std::map<std::string, Tag>::iterator begin()
std::map<std::string, Tag>::iterator end()
std::map<std::string, Tag>::const_iterator begin() const
std::map<std::string, Tag>::const_iterator end() const
Tags MakeDeepCopy() const

Filters

class ElementFilterBase

Subclassed by Muscat::ElementFilter, Muscat::ElementFilterEvaluated, Muscat::ElementFilterIntersection

Public Functions

virtual const MatrixID1 GetIdsToTreat(Mesh &mesh, const std::string &elementType) const = 0
const MatrixID1 GetIdsToTreatComplementary(Mesh &mesh, const std::string &elementType)
class ElementFilterEvaluated : public Muscat::ElementFilterBase

Public Functions

virtual const MatrixID1 GetIdsToTreat(Mesh &mesh, const std::string &elemtype) const
void SetIdsToTreatFor(const std::string &elemtype, const Eigen::Ref<const MatrixID1> &ids)
void Clear()
virtual std::string ToStr() const
class ElementFilter : public Muscat::ElementFilterBase

Public Types

enum ZONE

Values:

enumerator CENTER
enumerator ALLNODES
enumerator LEASTONENODE

Public Functions

ElementFilter()
void AddTag(const std::string &tagName)
void SetDimensionality(const int &dim)
virtual const MatrixID1 CheckTags(Tags &tags, const CMuscatIndex &ts, bool &active) const
virtual const MatrixID1 GetIdsToTreat(Mesh &mesh, const std::string &elemtype) const
virtual std::string ToStr() const
void SetCENTER()
void SetALLNODES()
void SetLEASTONENODE()
class ElementFilterIntersection : public Muscat::ElementFilterBase

Public Functions

virtual const MatrixID1 GetIdsToTreat(Mesh &mesh, const std::string &elemtype) const

Unstructured Mesh Tools

Warning

doxygenfunction: Unable to resolve function “Muscat::GetElementsCenters” with arguments None in doxygen xml output for project “MuscatCpp” from directory: ./xml/. Potential matches:

- MatrixDD3 GetElementsCenters(const Mesh &sourceMesh)
- MatrixDDD GetElementsCenters(const MapMatrixDDD &nodes, const ElementsContainer &elements)