Class xlifepp::GeomRefElement#
-
class GeomRefElement#
-
Inheritence diagram for xlifepp::GeomRefElement:
Collaboration diagram for xlifepp::GeomRefElement:
Subclassed by xlifepp::GeomRefHexahedron, xlifepp::GeomRefPoint, xlifepp::GeomRefPrism, xlifepp::GeomRefPyramid, xlifepp::GeomRefQuadrangle, xlifepp::GeomRefSegment, xlifepp::GeomRefTetrahedron, xlifepp::GeomRefTriangle
Public Functions
-
GeomRefElement()#
-
default constructor
-
GeomRefElement(ShapeType, const dimen_t, const real_t, const real_t, const number_t, const number_t, const number_t)#
-
constructor for any dimension elements, with number of vertices, edges and faces
-
GeomRefElement(ShapeType, const real_t m = 1.0, const real_t c = 0.5)#
-
constructor for 1D linear elements
constructor for 1D elements
-
GeomRefElement(ShapeType, const real_t, const real_t, const number_t)#
-
constructor for 2D polygonal elements with number of vertices
constructor for 2D elements, with number of vertices
-
GeomRefElement(ShapeType, const real_t, const real_t, const number_t, const number_t)#
-
constructor for 3D polyhedral elements with number of vertices and number of edges
-
virtual ~GeomRefElement()#
-
destructor
-
inline const std::vector<real_t> ¢er() const#
-
returns centroid as point
-
inline std::vector<real_t>::const_iterator centroid() const#
-
returns centroid as iterator
-
virtual bool contains(std::vector<real_t> &p, real_t tol = theTolerance) const#
-
test if a point belongs to current element
-
inline bool isSimplex() const#
-
returns true for a segment, triangle and tetrahedron
-
inline real_t measure() const#
-
returns element length, area or volume
-
virtual real_t measure(const dimen_t dim, const number_t sideNum = 0) const = 0#
-
returns edge length or face area for any geometric reference element
-
number_t nbVertices(const number_t s = 0) const#
-
returns number of element vertices or number of vertices on a side (s = 1, …)
returns number of vertices
-
void noSuchFunction(const string_t &s) const#
-
function not yet implemented in a child class
function not yet implemented for a type of element
-
void noSuchSide(const number_t, const number_t, const number_t = 0, const number_t = 0) const#
-
vertex numbers not found on an side or a side of side
vertex numbers too large
-
void noSuchSideOfSide(const number_t) const#
-
side of side number too large in a child class
edge number too large
-
virtual std::vector<real_t> projection(const std::vector<real_t>&, real_t&) const#
-
projection of a point onto ref element
-
void rotateVertices(const number_t newFirst, std::vector<number_t>&) const#
-
circular permutation of vertices such that new_first is first
circular permutation of vertices such that vertex newFirst is first new vertex
-
string_t shape(const number_t s = 0) const#
-
returns element shape (s = 0 ) or element side (s > 0) shape as a string
returns shape of element as a string
-
ShapeType shapeType(const number_t s = 0) const#
-
returns shape of element or shape of element side as a number (s = 1, …)
returns shape of element
-
int_t sideOfSideNumber(const number_t i, const number_t s) const#
-
returns local number of i-th edge ( i = 1,2, …) on face number s (s = 1,2,…)
returns local number of -i-th side of side ( i = 1,2, …) on side number sideNum (sideNum = 1,2,…)
-
inline const std::vector<int_t> &sideOfSideNumbers(const number_t s) const#
-
returns local numbers of edges on face number s (s = 1,2,…)
-
number_t sideOfSideVertexNumber(const number_t v, const number_t ss) const#
-
returns local number of v-th vertex ( i = 1,2, …) on side of side number ss (ss = 1,2,…)
returns local number of -i-th vertex ( i = 1,2, …) on side of side number sideOfSideNum (sideOfSideNum = 1,2,…)
-
inline const std::vector<std::vector<number_t>> &sideOfSideVertexNumbers() const#
-
returns vertex numbers of side of sides
-
std::vector<real_t> sideToElt(number_t, std::vector<real_t>::const_iterator, const std::vector<number_t> &perm = std::vector<number_t>()) const#
-
return coordinates of a point on side defined in local coordinates
-
number_t sideVertexNumber(const number_t v, const number_t s) const#
-
returns local number of v-th vertex ( i = 1,2, …) on side number s (s = 1,2,…)
returns local number of -i-th vertex ( i = 1,2, …) on side number sideNum (sideNum = 1,2,…) of dimension d
-
inline const std::vector<std::vector<number_t>> &sideVertexNumbers() const#
-
returns vertex numbers of sides
-
inline virtual number_t sideWithVertices(const number_t, const number_t) const#
-
returns local number of edge bearing vertices with local numbers v1 and v2
-
inline virtual number_t sideWithVertices(const number_t, const number_t, const number_t, const number_t = 0) const#
-
returns local number of face bearing vertices with local numbers v1, v2 and v3
-
inline virtual std::vector<number_t> simplexNodes() const#
-
node numbers defining first simplex of ref element
-
std::vector<real_t>::const_iterator vertex(const number_t v) const#
-
returns coordinates of v-th vertex as a stl-vector ( vNum = 1,2, …)
returns coordinates of vNum-th vertex as a std::vector ( vNum = 1,2, …)
-
virtual number_t vertexOppositeSide(const number_t sideNum) const = 0#
-
returns local number of a vertex opposite to the side sideNum
-
inline std::vector<real_t>::const_iterator vertices() const#
-
returns vertices
Public Static Functions
-
static void clearGlobalVector()#
-
delete all GeomRefElement objects
-
static void printAllGeomRefElements(std::ostream&)#
-
print the list of GeomRefElement objects in memory
Public Static Attributes
-
static std::vector<GeomRefElement*> theGeomRefElements#
-
vector carrying all run time GeomRefElements
list of pointers of all geometric reference elements
Friends
-
friend std::ostream &operator<<(std::ostream&, const GeomRefElement&)#
-
prints GeomRefElement object to ostream
print operator
-
GeomRefElement()#