Class xlifepp::subdivision::Hexahedron#

class Hexahedron : public xlifepp::subdivision::CartesianFig<Hexahedron>#

Inheritence diagram for xlifepp::subdivision::Hexahedron:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="xlifepp::subdivision::CartesianFig< Hexahedron >" tooltip="xlifepp::subdivision::CartesianFig< Hexahedron >"] "4" [label="xlifepp::subdivision::CartesianFig< T_ >" tooltip="xlifepp::subdivision::CartesianFig< T_ >"] "3" [label="xlifepp::subdivision::GeomFigure" tooltip="xlifepp::subdivision::GeomFigure"] "1" [label="xlifepp::subdivision::Hexahedron" tooltip="xlifepp::subdivision::Hexahedron" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "4" [dir=forward tooltip="template-instance"] "4" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for xlifepp::subdivision::Hexahedron:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "2" [label="xlifepp::subdivision::CartesianFig< Hexahedron >" tooltip="xlifepp::subdivision::CartesianFig< Hexahedron >"] "5" [label="std::vector< T >" tooltip="std::vector< T >"] "4" [label="std::vector< number_t >" tooltip="std::vector< number_t >"] "6" [label="xlifepp::subdivision::CartesianFig< T_ >" tooltip="xlifepp::subdivision::CartesianFig< T_ >"] "3" [label="xlifepp::subdivision::GeomFigure" tooltip="xlifepp::subdivision::GeomFigure"] "1" [label="xlifepp::subdivision::Hexahedron" tooltip="xlifepp::subdivision::Hexahedron" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "2" -> "6" [dir=forward tooltip="template-instance"] "4" -> "5" [dir=forward tooltip="template-instance"] "6" -> "3" [dir=forward tooltip="public-inheritance"] "3" -> "4" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Public Functions

Hexahedron(const number_t num, const number_t rV1, const number_t rV2, const number_t rV3, const number_t rV4, const number_t rV5, const number_t rV6, const number_t rV7, const number_t rV8, const number_t bdSideNum = 0)#

constructor by vertices, given by their rank in the list

Conversion constructor.

Constructor by vertices, given by their rank in the list

inline virtual short faceOrientation(short indFace) const#

get back the orientation of a face. Returns 1 if positive, -1 if negative.

inline virtual short getrkEdge(short indEdge, short indVert) const#

get back the rank of a vertex of an edge

inline virtual short getrkFace(short indFace, short indVert) const#

get back the rank of a vertex of a face

Public Static Functions

static std::vector<std::vector<number_t>> numberingOfVertices(const number_t Order)#

position of the vertices in relation with the numbering convention

This function gives the local position of the vertices of any hexahedron of the mesh correspondig to the numbering convention explained on top of the Hexahedron class header file (Hexahedron.hpp).

The numbering convention of high order vertices is deduced from a triple tensor product of the standard numbering over the segment defined by the integers [0,1,…k]. Thus, the entry BC[i] in the returned vector BC contains a vector of 3 integers whose components BC[i][j] are such that 0<= BC[i][j] <= k, where k is the order of the mesh. Each component is the result of a permutation of a 3D tensor product of the uniform subdivision of the interval [0,1,…k]. This gives an intrinsic way of numbering and localization of the points if these components are sorted in alphanumeric order. Nota: this does not match with the numbering of the vertices XLiFE++ uses.

Moreover, the returned vector gives the location of the vertices according to the way they are encountered in the numbering process implemented by the functions GeomFigureMesh<T_>::createHOV, GeomFigureMesh<T_>::createHOeV, HexahedronMesh::createHOfV and HexahedronMesh::createHOiV.

static std::vector<short> numEdgesOfFace(const number_t i)#

returns the numbers (>= 1) of the edges defining the face number i

static std::vector<std::pair<short, short>> rkEdgeVertices()#

returns the ranks (>= 0) of the vertices defining the edges of the hexahedron