OGS
MeshLib::TriRule3 Class Reference

Detailed Description

This class represents a 2d triangle element with 3 nodes.

The following sketch shows the node and edge numbering.

2
o
/ \
/ \
2/ \1
/ \
/ \
0-----------1
0

Definition at line 39 of file TriRule3.h.

#include <TriRule3.h>

Inheritance diagram for MeshLib::TriRule3:
[legend]
Collaboration diagram for MeshLib::TriRule3:
[legend]

Public Types

using EdgeReturn = MeshLib::LinearEdgeReturn
 Returns the i-th edge of the element.
 

Static Public Member Functions

static unsigned identifyFace (Node const *const *element_nodes, Node const *nodes[2])
 Returns the ID of a face given an array of nodes.
 
- Static Public Member Functions inherited from MeshLib::TriRule
static bool isPntInElement (Node const *const *nodes, MathLib::Point3d const &pnt, double eps)
 
static ElementErrorCode validate (const Element *e)
 
static double computeVolume (Node const *const *element_nodes)
 Calculates the area of the triangle with straight edges.
 
- Static Public Member Functions inherited from MeshLib::FaceRule
static const ElementgetFace (const Element *e, unsigned i)
 Returns the face i of the element.
 
static bool testElementNodeOrder (Element const &e)
 
static Eigen::Vector3d getFirstSurfaceVector (Element const &e)
 
static Eigen::Vector3d getSecondSurfaceVector (Element const &e)
 
static Eigen::Vector3d getSurfaceNormal (Element const &e)
 Returns the surface normal of a 2D element.
 

Static Public Attributes

static const unsigned n_all_nodes = 3u
 Constant: The number of all nodes for this element.
 
static const CellType cell_type = CellType::TRI3
 Constant: The FEM type of the element.
 
static const unsigned edge_nodes [3][2]
 Constant: Local node index table for edge.
 
- Static Public Attributes inherited from MeshLib::TriRule
static const unsigned n_base_nodes = 3u
 Constant: The number of base nodes for this element.
 
static const MeshElemType mesh_elem_type = MeshElemType::TRIANGLE
 Constant: The geometric type of the element.
 
static const unsigned n_edges = 3
 Constant: The number of edges.
 
static const unsigned n_neighbors = 3
 Constant: The number of neighbors.
 
- Static Public Attributes inherited from MeshLib::FaceRule
static const unsigned dimension = 2u
 Constant: Dimension of this mesh element.
 
static const unsigned n_faces = 0
 Constant: The number of faces.
 

Additional Inherited Members

- Static Protected Member Functions inherited from MeshLib::FaceRule
template<typename ElementRule >
static unsigned identifyFace (Node const *const *element_nodes, Node const *nodes[ElementRule::dimension])
 Returns the ID of an edge given an array of nodes.
 

Member Typedef Documentation

◆ EdgeReturn

Returns the i-th edge of the element.

Definition at line 52 of file TriRule3.h.

Member Function Documentation

◆ identifyFace()

static unsigned MeshLib::TriRule3::identifyFace ( Node const *const * element_nodes,
Node const * nodes[2] )
inlinestatic

Returns the ID of a face given an array of nodes.

Definition at line 55 of file TriRule3.h.

57 {
58 return FaceRule::identifyFace<TriRule3>(element_nodes, nodes);
59 }

Member Data Documentation

◆ cell_type

const CellType MeshLib::TriRule3::cell_type = CellType::TRI3
static

Constant: The FEM type of the element.

Definition at line 46 of file TriRule3.h.

◆ edge_nodes

const unsigned MeshLib::TriRule3::edge_nodes
static
Initial value:
= {
{0, 1},
{1, 2},
{2, 0},
}

Constant: Local node index table for edge.

Definition at line 49 of file TriRule3.h.

◆ n_all_nodes

const unsigned MeshLib::TriRule3::n_all_nodes = 3u
static

Constant: The number of all nodes for this element.

Definition at line 43 of file TriRule3.h.


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