MFEM v4.7.0
Finite element discretization library
|
Data type triangle element. More...
#include <triangle.hpp>
Public Types | |
typedef Geometry::Constants< Geometry::TRIANGLE > | geom_t |
Public Types inherited from mfem::Element | |
enum | Type { POINT , SEGMENT , TRIANGLE , QUADRILATERAL , TETRAHEDRON , HEXAHEDRON , WEDGE , PYRAMID } |
Constants for the classes derived from Element. More... | |
Public Member Functions | |
Triangle () | |
Triangle (const int *ind, int attr=1) | |
Constructs triangle by specifying the indices and the attribute. | |
Triangle (int ind1, int ind2, int ind3, int attr=1) | |
Constructs triangle by specifying the indices and the attribute. | |
Type | GetType () const override |
Return element's type. | |
int | NeedRefinement (HashTable< Hashed2 > &v_to_v) const override |
Return 1 if the element needs refinement in order to get conforming mesh. | |
void | MarkEdge (DenseMatrix &pmat) |
void | MarkEdge (const DSTable &v_to_v, const int *length) override |
Mark the longest edge by assuming/changing the order of the vertices. | |
void | ResetTransform (int tr) override |
Set current coarse-fine transformation number. | |
unsigned | GetTransform () const override |
Return current coarse-fine transformation. | |
void | PushTransform (int tr) override |
Add 'tr' to the current chain of coarse-fine transformations. | |
void | GetVertices (Array< int > &v) const override |
Get the indices defining the vertices. | |
void | SetVertices (const Array< int > &v) override |
Set the indices defining the vertices. | |
int * | GetVertices () override |
void | SetVertices (const int *ind) override |
Set the indices defining the vertices. | |
int | GetNVertices () const override |
int | GetNEdges () const override |
const int * | GetEdgeVertices (int ei) const override |
MFEM_DEPRECATED int | GetNFaces (int &nFaceVertices) const override |
int | GetNFaces () const override |
int | GetNFaceVertices (int) const override |
const int * | GetFaceVertices (int fi) const override |
Element * | Duplicate (Mesh *m) const override |
virtual | ~Triangle ()=default |
Public Member Functions inherited from mfem::Element | |
Element (Geometry::Type bg=Geometry::POINT) | |
Default element constructor. | |
Geometry::Type | GetGeometryType () const |
int | GetAttribute () const |
Return element's attribute. | |
void | SetAttribute (const int attr) |
Set element's attribute. | |
const int * | GetVertices () const |
virtual | ~Element () |
Destroys element. | |
Static Public Member Functions | |
static void | MarkEdge (int *indices, const DSTable &v_to_v, const int *length) |
static void | GetPointMatrix (unsigned transform, DenseMatrix &pm) |
Calculate point matrix corresponding to a chain of transformations. | |
Protected Attributes | |
int | indices [3] |
unsigned | transform |
Protected Attributes inherited from mfem::Element | |
int | attribute |
Element's attribute (specifying material property, etc). | |
Geometry::Type | base_geom |
Element's type from the Finite Element's perspective. | |
Data type triangle element.
Definition at line 23 of file triangle.hpp.
Definition at line 31 of file triangle.hpp.
|
inline |
Definition at line 33 of file triangle.hpp.
mfem::Triangle::Triangle | ( | const int * | ind, |
int | attr = 1 ) |
Constructs triangle by specifying the indices and the attribute.
Definition at line 17 of file triangle.cpp.
mfem::Triangle::Triangle | ( | int | ind1, |
int | ind2, | ||
int | ind3, | ||
int | attr = 1 ) |
Constructs triangle by specifying the indices and the attribute.
Definition at line 27 of file triangle.cpp.
|
virtualdefault |
Implements mfem::Element.
Definition at line 99 of file triangle.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 85 of file triangle.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 96 of file triangle.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 83 of file triangle.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 92 of file triangle.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 89 of file triangle.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 94 of file triangle.hpp.
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 81 of file triangle.hpp.
|
static |
Calculate point matrix corresponding to a chain of transformations.
Definition at line 126 of file triangle.cpp.
|
inlineoverridevirtual |
Return current coarse-fine transformation.
Reimplemented from mfem::Element.
Definition at line 59 of file triangle.hpp.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements mfem::Element.
Definition at line 75 of file triangle.hpp.
|
overridevirtual |
Get the indices defining the vertices.
Implements mfem::Element.
Definition at line 188 of file triangle.cpp.
|
inlineoverridevirtual |
Mark the longest edge by assuming/changing the order of the vertices.
Reimplemented from mfem::Element.
Definition at line 55 of file triangle.hpp.
void mfem::Triangle::MarkEdge | ( | DenseMatrix & | pmat | ) |
Reorder the vertices so that the longest edge is from vertex 0 to vertex 1. If called it should be once from the mesh constructor, because the order may be used later for setting the edges.
Definition at line 53 of file triangle.cpp.
|
static |
Definition at line 101 of file triangle.cpp.
Return 1 if the element needs refinement in order to get conforming mesh.
Reimplemented from mfem::Element.
Definition at line 37 of file triangle.cpp.
|
inlineoverridevirtual |
Add 'tr' to the current chain of coarse-fine transformations.
Reimplemented from mfem::Element.
Definition at line 62 of file triangle.hpp.
|
inlineoverridevirtual |
Set current coarse-fine transformation number.
Reimplemented from mfem::Element.
Definition at line 58 of file triangle.hpp.
|
overridevirtual |
Set the indices defining the vertices.
Implements mfem::Element.
Definition at line 194 of file triangle.cpp.
|
overridevirtual |
Set the indices defining the vertices.
Implements mfem::Element.
Definition at line 45 of file triangle.cpp.
|
protected |
Definition at line 26 of file triangle.hpp.
|
protected |
Definition at line 28 of file triangle.hpp.