Nektar++
|
A 2-dimensional three-sided element. More...
#include <MeshElements.h>
Public Member Functions | |
Triangle (ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList) | |
Create a triangle element. | |
Triangle (const Triangle &pSrc) | |
virtual | ~Triangle () |
virtual SpatialDomains::GeometrySharedPtr | GetGeom (int coordDim) |
Generate a Nektar++ geometry object for this element. | |
virtual void | Complete (int order) |
Complete this object. | |
Public Member Functions inherited from Nektar::Utilities::Element | |
Element (ElmtConfig pConf, unsigned int pNumNodes, unsigned int pGotNodes) | |
unsigned int | GetId () const |
Returns the ID of the element (or associated edge or face for boundary elements). | |
unsigned int | GetDim () const |
Returns the expansion dimension of the element. | |
ElmtConfig | GetConf () const |
Returns the configuration of the element. | |
std::string | GetTag () const |
Returns the tag which defines the element shape. | |
NodeSharedPtr | GetVertex (unsigned int i) const |
Access a vertex node. | |
EdgeSharedPtr | GetEdge (unsigned int i) const |
Access an edge. | |
FaceSharedPtr | GetFace (unsigned int i) const |
Access a face. | |
std::vector< NodeSharedPtr > | GetVertexList () const |
Access the list of vertex nodes. | |
std::vector< EdgeSharedPtr > | GetEdgeList () const |
Access the list of edges. | |
std::vector< FaceSharedPtr > | GetFaceList () const |
Access the list of faces. | |
std::vector< NodeSharedPtr > | GetVolumeNodes () const |
Access the list of volume nodes. | |
void | SetVolumeNodes (std::vector< NodeSharedPtr > &nodes) |
LibUtilities::PointsType | GetCurveType () const |
void | SetCurveType (LibUtilities::PointsType cT) |
unsigned int | GetNodeCount () const |
Returns the total number of nodes (vertices, edge nodes and face nodes and volume nodes). | |
std::vector< int > | GetTagList () const |
Access the list of tags associated with this element. | |
unsigned int | GetVertexCount () const |
Returns the number of vertices. | |
unsigned int | GetEdgeCount () const |
Returns the number of edges. | |
unsigned int | GetFaceCount () const |
Returns the number of faces. | |
void | SetId (unsigned int p) |
Change the ID of the element. | |
void | SetVertex (unsigned int p, NodeSharedPtr pNew) |
Replace a vertex with another vertex object. | |
void | SetEdge (unsigned int p, EdgeSharedPtr pNew) |
Replace an edge with another edge object. | |
void | SetFace (unsigned int p, FaceSharedPtr pNew) |
Replace a face with another face object. | |
void | SetEdgeLink (EdgeSharedPtr pLink) |
Set a correspondence between this element and an edge (2D boundary element). | |
EdgeSharedPtr | GetEdgeLink () |
Get correspondence between this element and an edge. | |
void | SetFaceLink (FaceSharedPtr pLink) |
Set a correspondence between this element and a face (3D boundary element). | |
FaceSharedPtr | GetFaceLink () |
Get correspondence between this element and a face. | |
void | SetBoundaryLink (int i, int j) |
Set a correspondence between edge or face i and its representative boundary element m->element[expDim-1][j]. | |
int | GetBoundaryLink (int i) |
Get the location of the boundary face/edge i for this element. | |
void | SetTagList (const std::vector< int > &tags) |
Set the list of tags associated with this element. | |
virtual std::string | GetXmlString () const |
Generate a list of vertices (1D), edges (2D), or faces (3D). | |
std::string | GetXmlCurveString () const |
Generates a string listing the coordinates of all nodes associated with this element. | |
int | GetMaxOrder () |
Obtain the order of an element by looking at edges. | |
void | Print () |
Static Public Member Functions | |
static ElementSharedPtr | create (ElmtConfig pConf, std::vector< NodeSharedPtr > pNodeList, std::vector< int > pTagList) |
Creates an instance of this class. | |
static unsigned int | GetNumNodes (ElmtConfig pConf) |
Return the number of nodes defining a triangle. |
Static Public Attributes | |
static LibUtilities::ShapeType | m_type |
Element type. |
Additional Inherited Members | |
Protected Attributes inherited from Nektar::Utilities::Element | |
unsigned int | m_id |
ID of the element. | |
unsigned int | m_dim |
Dimension of the element. | |
ElmtConfig | m_conf |
Contains configuration of the element. | |
std::string | m_tag |
Tag character describing the element. | |
std::vector< int > | m_taglist |
List of integers specifying properties of the element. | |
std::vector< NodeSharedPtr > | m_vertex |
List of element vertex nodes. | |
std::vector< EdgeSharedPtr > | m_edge |
List of element edges. | |
std::vector< FaceSharedPtr > | m_face |
List of element faces. | |
std::vector< NodeSharedPtr > | m_volumeNodes |
List of element volume nodes. | |
LibUtilities::PointsType | m_curveType |
Volume curve type. | |
EdgeSharedPtr | m_edgeLink |
Pointer to the corresponding edge if element is a 2D boundary. | |
FaceSharedPtr | m_faceLink |
Pointer to the corresponding face if element is a 3D boundary. | |
std::map< int, int > | m_boundaryLinks |
Array mapping faces/edges to the location of the appropriate boundary elements in m->element. | |
SpatialDomains::GeometrySharedPtr | m_geom |
Nektar++ geometry object for this element. |
A 2-dimensional three-sided element.
Definition at line 1327 of file MeshElements.h.
Triangle::Triangle | ( | ElmtConfig | pConf, |
std::vector< NodeSharedPtr > | pNodeList, | ||
std::vector< int > | pTagList | ||
) |
Create a triangle element.
Definition at line 486 of file MeshElements.cpp.
References Nektar::LibUtilities::eNodalTriEvenlySpaced, Nektar::iterator, Nektar::Utilities::Element::m_conf, Nektar::Utilities::Element::m_curveType, Nektar::Utilities::Element::m_dim, Nektar::Utilities::Element::m_edge, Nektar::Utilities::ElmtConfig::m_edgeCurveType, Nektar::Utilities::ElmtConfig::m_faceNodes, Nektar::Utilities::ElmtConfig::m_order, Nektar::Utilities::ElmtConfig::m_reorient, Nektar::Utilities::Element::m_tag, Nektar::Utilities::Element::m_taglist, Nektar::Utilities::Element::m_vertex, and Nektar::Utilities::Element::m_volumeNodes.
Nektar::Utilities::Triangle::Triangle | ( | const Triangle & | pSrc | ) |
|
inlinevirtual |
Definition at line 1351 of file MeshElements.h.
|
virtual |
Complete this object.
Reimplemented from Nektar::Utilities::Element.
Definition at line 583 of file MeshElements.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGaussRadauMAlpha1Beta0, Nektar::LibUtilities::eNodalTriEvenlySpaced, Nektar::LibUtilities::eOrtho_A, Nektar::LibUtilities::eOrtho_B, GetGeom(), Nektar::Utilities::Element::m_conf, Nektar::Utilities::Element::m_edge, Nektar::Utilities::ElmtConfig::m_faceNodes, Nektar::Utilities::ElmtConfig::m_order, Nektar::Utilities::ElmtConfig::m_volumeNodes, and Nektar::Utilities::Element::m_volumeNodes.
|
inlinestatic |
Creates an instance of this class.
Definition at line 1330 of file MeshElements.h.
References Nektar::Utilities::Element::GetEdgeList().
|
virtual |
Generate a Nektar++ geometry object for this element.
Reimplemented from Nektar::Utilities::Element.
Definition at line 547 of file MeshElements.cpp.
References Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(), Nektar::Utilities::Element::m_edge, Nektar::Utilities::Element::m_id, and Nektar::Utilities::Element::m_vertex.
Referenced by Complete().
|
static |
Return the number of nodes defining a triangle.
Definition at line 574 of file MeshElements.cpp.
References Nektar::Utilities::ElmtConfig::m_faceNodes, and Nektar::Utilities::ElmtConfig::m_order.
Referenced by Nektar::Utilities::InputGmsh::GetNnodes().
|
static |