MFEM v2.0
|
#include <geom.hpp>
Public Types | |
enum | Type { POINT, SEGMENT, TRIANGLE, SQUARE, TETRAHEDRON, CUBE } |
Public Member Functions | |
Geometry () | |
~Geometry () | |
const IntegrationRule * | GetVertices (int GeomType) |
const IntegrationPoint & | GetCenter (int GeomType) |
DenseMatrix * | GetPerfGeomToGeomJac (int GeomType) |
void | GetPerfPointMat (int GeomType, DenseMatrix &pm) |
void | JacToPerfJac (int GeomType, const DenseMatrix &J, DenseMatrix &PJ) const |
int | NumBdr (int GeomType) |
Static Public Attributes | |
static const int | NumGeom = 6 |
static const int | NumBdrArray [] = { 0, 2, 3, 4, 4, 6 } |
static const char * | Name [NumGeom] |
Private Attributes | |
IntegrationRule * | GeomVert [NumGeom] |
IntegrationPoint | GeomCenter [NumGeom] |
DenseMatrix * | PerfGeomToGeomJac [NumGeom] |
Types of domains for integration rules and reference finite elements: Geometry::POINT - a point Geometry::SEGMENT - the interval [0,1] Geometry::TRIANGLE - triangle with verteces (0,0), (1,0), (0,1) Geometry::SQUARE - the unit square (0,1)x(0,1) Geometry::TETRAHEDRON - w/ vert. (0,0,0),(1,0,0),(0,1,0),(0,0,1) Geometry::CUBE - the unit cube
enum Geometry::Type |
Geometry::Geometry | ( | ) |
Definition at line 17 of file geom.cpp.
References CalcInverse(), CUBE, GeomCenter, GeomVert, GetPerfPointMat(), IsoparametricTransformation::GetPointMat(), IntegrationRule::IntPoint(), IsoparametricTransformation::Jacobian(), PerfGeomToGeomJac, POINT, SEGMENT, IsoparametricTransformation::SetFE(), ElementTransformation::SetIntPoint(), SQUARE, TETRAHEDRON, TRIANGLE, IntegrationPoint::x, IntegrationPoint::y, and IntegrationPoint::z.
Geometry::~Geometry | ( | ) |
Definition at line 157 of file geom.cpp.
References GeomVert, NumGeom, and PerfGeomToGeomJac.
const IntegrationPoint& Geometry::GetCenter | ( | int | GeomType | ) | [inline] |
Definition at line 43 of file geom.hpp.
References GeomCenter.
Referenced by Mesh::CartesianPartitioning(), Mesh::CheckDisplacements(), Mesh::GetElementJacobian(), VectorFiniteElement::LocalInterpolation_ND(), and VectorFiniteElement::LocalInterpolation_RT().
DenseMatrix* Geometry::GetPerfGeomToGeomJac | ( | int | GeomType | ) | [inline] |
Definition at line 46 of file geom.hpp.
References PerfGeomToGeomJac.
void Geometry::GetPerfPointMat | ( | int | GeomType, |
DenseMatrix & | pm | ||
) |
Definition at line 183 of file geom.cpp.
References CUBE, mfem_error(), SEGMENT, DenseMatrix::SetSize(), SQUARE, TETRAHEDRON, and TRIANGLE.
Referenced by Geometry().
const IntegrationRule * Geometry::GetVertices | ( | int | GeomType | ) |
Definition at line 166 of file geom.cpp.
References CUBE, GeomVert, mfem_error(), POINT, SEGMENT, SQUARE, TETRAHEDRON, and TRIANGLE.
Referenced by Mesh::GetLocalQuadToHexTransformation(), Mesh::GetLocalSegToQuadTransformation(), Mesh::GetLocalSegToTriTransformation(), Mesh::GetLocalTriToTetTransformation(), GridFunction::GetNodalValues(), GridFunction::GetVectorFieldNodalValues(), and Mesh::PrintVTK().
void Geometry::JacToPerfJac | ( | int | GeomType, |
const DenseMatrix & | J, | ||
DenseMatrix & | PJ | ||
) | const |
Definition at line 244 of file geom.cpp.
References Mult(), and PerfGeomToGeomJac.
Referenced by Mesh::GetElementJacobian().
int Geometry::NumBdr | ( | int | GeomType | ) | [inline] |
Definition at line 52 of file geom.hpp.
References NumBdrArray.
Referenced by GridFunction::SaveSTL().
IntegrationPoint Geometry::GeomCenter[NumGeom] [private] |
Definition at line 33 of file geom.hpp.
Referenced by Geometry(), and GetCenter().
IntegrationRule* Geometry::GeomVert[NumGeom] [private] |
Definition at line 32 of file geom.hpp.
Referenced by Geometry(), GetVertices(), and ~Geometry().
const char * Geometry::Name [static] |
{ "Point", "Segment", "Triangle", "Square", "Tetrahedron", "Cube" }
Definition at line 29 of file geom.hpp.
Referenced by IntegrationRules::Get().
const int Geometry::NumBdrArray = { 0, 2, 3, 4, 4, 6 } [static] |
const int Geometry::NumGeom = 6 [static] |
Definition at line 27 of file geom.hpp.
Referenced by GeometryRefiner::GeometryRefiner(), H1_FECollection::H1_FECollection(), L2_FECollection::L2_FECollection(), ND_FECollection::ND_FECollection(), RT_FECollection::RT_FECollection(), ~Geometry(), GeometryRefiner::~GeometryRefiner(), H1_FECollection::~H1_FECollection(), L2_FECollection::~L2_FECollection(), ND_FECollection::~ND_FECollection(), and RT_FECollection::~RT_FECollection().
DenseMatrix* Geometry::PerfGeomToGeomJac[NumGeom] [private] |
Definition at line 34 of file geom.hpp.
Referenced by Geometry(), GetPerfGeomToGeomJac(), JacToPerfJac(), and ~Geometry().