15 #include "../config/config.hpp"
16 #include "../linalg/densemat.hpp"
71 {
return GeomCenter[GeomType]; }
98 {
return *GeomToPerfGeomJac[GeomType]; }
100 {
return PerfGeomToGeomJac[GeomType]; }
112 static const int NumVert = 1;
114 static const int NumOrient = 1;
115 static const int Orient[NumOrient][NumVert];
116 static const int InvOrient[NumOrient];
122 static const int NumVert = 2;
126 static const int NumOrient = 2;
127 static const int Orient[NumOrient][NumVert];
128 static const int InvOrient[NumOrient];
134 static const int NumVert = 3;
140 static const int I[NumVert];
151 static const int NumOrient = 6;
152 static const int Orient[NumOrient][NumVert];
154 static const int InvOrient[NumOrient];
160 static const int NumVert = 4;
166 static const int I[NumVert];
172 static const int NumOrient = 8;
173 static const int Orient[NumOrient][NumVert];
174 static const int InvOrient[NumOrient];
180 static const int NumVert = 4;
185 static const int MaxFaceVert = 3;
190 static const int I[NumVert];
198 static const int NumVert = 8;
203 static const int MaxFaceVert = 4;
208 static const int I[NumVert];
216 static const int NumVert = 6;
221 static const int MaxFaceVert = 4;
226 static const int I[NumVert];
Class for an integration rule - an Array of IntegrationPoint.
RefinedGeometry(int NPts, int NRefG, int NRefE, int NBdrE=0)
void JacToPerfJac(int GeomType, const DenseMatrix &J, DenseMatrix &PJ) const
static void GetRandomPoint(int GeomType, IntegrationPoint &ip)
Get a random point in the reference element specified by GeomType.
Data type dense matrix using column-major storage.
static const double Volume[NumGeom]
static const int NumEdges[NumGeom]
const IntegrationPoint & GetCenter(int GeomType)
Return the center of the given Geometry::Type, GeomType.
const IntegrationRule * GetVertices(int GeomType)
Return an IntegrationRule consisting of all vertices of the given Geometry::Type, GeomType...
const IntegrationRule * RefineInterior(Geometry::Type Geom, int Times)
const DenseMatrix & GetGeomToPerfGeomJac(int GeomType) const
static const int NumFaces[NumGeom]
static const int Dimension[NumGeom]
void SetType(const int t)
Set the Quadrature1D type of points to use for subdivision.
static const int NumVerts[NumGeom]
GeometryRefiner GlobGeometryRefiner
static const int NumBdrArray[NumGeom]
RefinedGeometry * Refine(Geometry::Type Geom, int Times, int ETimes=1)
static const char * Name[NumGeom]
static bool ProjectPoint(int GeomType, const IntegrationPoint &beg, IntegrationPoint &end)
Project a point end, onto the given Geometry::Type, GeomType.
void GetPerfPointMat(int GeomType, DenseMatrix &pm)
int NumBdr(int GeomType)
Return the number of boundary "faces" of a given Geometry::Type.
DenseMatrix * GetPerfGeomToGeomJac(int GeomType)
Class for integration point with weight.
int GetType() const
Get the Quadrature1D type of points used for subdivision.
static const int DimStart[MaxDim+2]
static bool CheckPoint(int GeomType, const IntegrationPoint &ip)
Check if the given point is inside the given reference element.