Element Class Reference
[Finite Element Mesh]
#include <Element.h>
Detailed Description
To store and treat finite element geometric information.Class Element enables defining an element of a finite element mesh. The element is given in particular by its shape and a list of nodes. Each node can be accessed by the member function getPtrNode. Moreover, class Mesh can generate for each element its list of sides. The string that defines the element shape must be chosen according to the following list :
| Shape | Shape Name | Dimension | Min. Number of nodes |
| Line | line | 2 | 2 |
| Triangle | tria | 2 | 3 |
| Quadrilateral | quad | 2 | 4 |
| Tetrahedron | tetra | 3 | 4 |
| Hexahedron | hexa | 3 | 8 |
Public Member Functions | |
| void | Add (Element *el) |
| Add a neighbor element. | |
| void | Add (Side *sd) |
| Assign Side to Element. | |
| void | Add (Node *node, int n) |
| Insert a node and set its local node number. | |
| void | Add (Node *node) |
| Insert a node at end of list of nodes of element. | |
| int | Contains (const Side *s) const |
| Say if element contains given side. | |
| int | Contains (const Node *n) const |
| Say if element contains given node. | |
| Element (const Element &el) | |
| Copy constructor. | |
| Element (size_t label, int shape, int c) | |
| Constructor initializing label, shape and code of element. | |
| Element (size_t label, const string &shape, int c) | |
| Constructor initializing label, shape and code of element. | |
| Element (size_t label, int shape) | |
| Constructor initializing label, shape of element. | |
| Element (size_t label, const string &shape) | |
| Constructor initializing label, shape of element. | |
| Element () | |
| Default constructor. | |
| int | getCode () const |
| Return code of element. | |
| size_t | getDOF () const |
| Return element DOF label. | |
| size_t | getLabel () const |
| Return label of element. | |
| Material * | getMaterial () const |
| Return pointer to Material instance. | |
| double | getMeasure () const |
| Return measure of element. | |
| size_t | getNbDOF () const |
| return element nb of d.DOF (fixed at 1) | |
| size_t | getNbEq () const |
| Return number of element equations. | |
| size_t | getNbNeigElements () const |
| Return number of neigboring elements. | |
| size_t | getNbNodes () const |
| Return number of element nodes. | |
| size_t | getNbSides () const |
| Return number of element sides (Constant version). | |
| size_t | getNbVertices () const |
| Return number of element vertices. | |
| Element * | getNeighborElement (size_t i) const |
| Return pointer to element Neighboring element. | |
| size_t | getNodeLabel (size_t n) const |
| Return global label of node of local label i. | |
| Node * | getPtrNode (size_t i) const |
| Return pointer to node of label i (Local labelling). | |
| Side * | getPtrSide (size_t i) const |
| Return pointer to side of label i (Local labelling). | |
| int | getShape () const |
| Return element shape. | |
| size_t | getSideLabel (size_t n) const |
| Return global label of side of local label i. | |
| Point< double > | getUnitNormal (size_t i) const |
| Return outward unit normal to i-th side of element. | |
| bool | isOnBoundary () const |
| Says if current element is a boundary element or not. | |
| Node * | operator() (size_t i) |
| Operator () : Return pointer to node of local label i. | |
| void | Replace (size_t label, Side *side) |
| Replace a side at a given local label. | |
| void | Replace (size_t label, Node *node) |
| Replace a node at a given local label. | |
| void | setCode (size_t dof, int code) |
| Assign code to a DOF. | |
| void | setCode (int c) |
| Define code of element. | |
| void | setDOF (size_t i, size_t dof) |
| Define label of DOF. | |
| void | setLabel (size_t i) |
| Define label of element. | |
| void | setMaterial (Material &m) |
| Assign material name to element. | |
| void | setNode (size_t i, Node *node) |
| Assign a node given by its pointer as the i-th node of element. | |
| int | setSide (size_t n, size_t *nd, int shape) |
| Initialize information about element sides. | |
| ~Element () | |
| Destructor. | |
Constructor & Destructor Documentation
| Element | ( | size_t | label, | |
| const string & | shape | |||
| ) |
Constructor initializing label, shape of element.
- Parameters:
-
[in] label Label to assign to element. [in] shape Shape of element (See class description).
| Element | ( | size_t | label, | |
| int | shape | |||
| ) |
Constructor initializing label, shape of element.
- Parameters:
-
[in] label Label to assign to element. [in] shape Shape of element (See enum ElementShape in Mesh).
| Element | ( | size_t | label, | |
| const string & | shape, | |||
| int | c | |||
| ) |
Constructor initializing label, shape and code of element.
- Parameters:
-
[in] label Label to assign to element. [in] shape Shape of element (See class description). [in] c Code tpo assign to element (useful for media properties).
| Element | ( | size_t | label, | |
| int | shape, | |||
| int | c | |||
| ) |
Constructor initializing label, shape and code of element.
- Parameters:
-
[in] label Label to assign to element. [in] shape Shape of element (See enum ElementShape in Mesh). [in] c Code tpo assign to element (useful for media properties).
Member Function Documentation
| void Add | ( | Node * | node, | |
| int | n | |||
| ) |
| void Add | ( | Node * | node | ) |
| int Contains | ( | const Side * | s | ) | const |
| int Contains | ( | const Node * | n | ) | const |
| double getMeasure | ( | ) | const |
Return measure of element.
This member function returns length, area or volume of element. In case of quadrilaterals and hexahedrals it returns determinant of Jacobian of mapping between reference and actual element
| size_t getNbNeigElements | ( | ) | const |
Return number of neigboring elements.
- Note:
- This method returns valid information only if the Mesh member function Mesh::getElementNeighborElements() has been called before.
| Element* getNeighborElement | ( | size_t | i | ) | const |
Return pointer to element Neighboring element.
- Parameters:
-
[in] i Index of element to look for.
- Note:
- This method returns valid information only if the Mesh member function Mesh::getElementNeighborElements() has been called before.
| Point<double> getUnitNormal | ( | size_t | i | ) | const |
Return outward unit normal to i-th side of element.
Sides are ordered [node_1,node_2], [node_2,node_3], ...
| bool isOnBoundary | ( | ) | const |
Says if current element is a boundary element or not.
- Note:
- this information is available only if boundary elements were determined i.e., if Member function Mesh::getBoundarySides or Mesh::getAllSides has been invoked before.
| void Replace | ( | size_t | label, | |
| Side * | side | |||
| ) |
| void Replace | ( | size_t | label, | |
| Node * | node | |||
| ) |
| void setCode | ( | size_t | dof, | |
| int | code | |||
| ) |
Assign code to a DOF.
- Parameters:
-
[in] dof Index of dof for assignment. [in] code Code to assign.
| void setCode | ( | int | c | ) |
Define code of element.
- Parameters:
-
[in] c Code to assign to element.
| void setDOF | ( | size_t | i, | |
| size_t | dof | |||
| ) |
Define label of DOF.
- Parameters:
-
[in] i Index of DOF. [in] dof Label of DOF to assign.
| void setLabel | ( | size_t | i | ) |
Define label of element.
- Parameters:
-
[in] i Label to assign to element
| void setMaterial | ( | Material & | m | ) |
| int setSide | ( | size_t | n, | |
| size_t * | nd, | |||
| int | shape | |||
| ) |
Initialize information about element sides.
This function is to be used to initialize loops over sides.
- Parameters:
-
[in] n Label of element. [in] nd List [in] shape Shape of side (See Side class description).