Nektar++
|
Base class for shape geometry information. More...
#include <Geometry.h>
Public Member Functions | |
Geometry () | |
Default constructor. More... | |
Geometry (int coordim) | |
Constructor when supplied a coordinate dimension. More... | |
virtual | ~Geometry () |
Default destructor. More... | |
int | GetCoordim () const |
Return the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded). More... | |
void | SetCoordim (int coordim) |
Sets the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded). More... | |
GeomFactorsSharedPtr | GetGeomFactors () |
Get the geometric factors for this object, generating them if required. More... | |
GeomFactorsSharedPtr | GetRefGeomFactors (const Array< OneD, const LibUtilities::BasisSharedPtr > &tbasis) |
GeomFactorsSharedPtr | GetMetricInfo () |
Get the geometric factors for this object. More... | |
LibUtilities::ShapeType | GetShapeType (void) |
Get the geometric shape type of this object. More... | |
int | GetGlobalID (void) const |
Get the ID of this object. More... | |
void | SetGlobalID (int globalid) |
Set the ID of this object. More... | |
int | GetVid (int i) const |
Get the ID of vertex i of this object. More... | |
int | GetEid (int i) const |
Get the ID of edge i of this object. More... | |
int | GetFid (int i) const |
Get the ID of face i of this object. More... | |
int | GetTid (int i) const |
Get the ID of trace i of this object. More... | |
PointGeomSharedPtr | GetVertex (int i) const |
Returns vertex i of this object. More... | |
Geometry1DSharedPtr | GetEdge (int i) const |
Returns edge i of this object. More... | |
Geometry2DSharedPtr | GetFace (int i) const |
Returns face i of this object. More... | |
StdRegions::Orientation | GetEorient (const int i) const |
Returns the orientation of edge i with respect to the ordering of edges in the standard element. More... | |
StdRegions::Orientation | GetForient (const int i) const |
Returns the orientation of face i with respect to the ordering of faces in the standard element. More... | |
int | GetNumVerts () const |
Get the number of vertices of this object. More... | |
int | GetNumEdges () const |
Get the number of edges of this object. More... | |
int | GetNumFaces () const |
Get the number of faces of this object. More... | |
int | GetShapeDim () const |
Get the object's shape dimension. More... | |
StdRegions::StdExpansionSharedPtr | GetXmap () const |
Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element. More... | |
const Array< OneD, const NekDouble > & | GetCoeffs (const int i) const |
Return the coefficients of the transformation Geometry::m_xmap in coordinate direction i . More... | |
void | FillGeom () |
Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements. More... | |
std::array< NekDouble, 6 > | GetBoundingBox () |
Generates the bounding box for the element. More... | |
void | ClearBoundingBox () |
bool | ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0) |
Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\). More... | |
bool | ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol) |
Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\). More... | |
bool | ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol, NekDouble &dist) |
Determine whether an element contains a particular Cartesian coordinate \(\vec{x} = (x,y,z)\). More... | |
NekDouble | GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) |
Determine the local collapsed coordinates that correspond to a given Cartesian coordinate for this geometry object. More... | |
NekDouble | GetCoord (const int i, const Array< OneD, const NekDouble > &Lcoord) |
Given local collapsed coordinate Lcoord , return the value of physical coordinate in direction i . More... | |
int | PreliminaryCheck (const Array< OneD, const NekDouble > &gloCoord) |
A fast and robust check if a given global coord is outside of a deformed element. For regular elements, this check is unnecessary. More... | |
bool | MinMaxCheck (const Array< OneD, const NekDouble > &gloCoord) |
Check if given global coord is within the BoundingBox of the element. More... | |
bool | ClampLocCoords (Array< OneD, NekDouble > &locCoord, NekDouble tol=std::numeric_limits< NekDouble >::epsilon()) |
Clamp local coords to be within standard regions [-1, 1]^dim. More... | |
NekDouble | FindDistance (const Array< OneD, const NekDouble > &xs, Array< OneD, NekDouble > &xi) |
int | GetVertexEdgeMap (int i, int j) const |
Returns the standard element edge IDs that are connected to a given vertex. More... | |
int | GetVertexFaceMap (int i, int j) const |
Returns the standard element face IDs that are connected to a given vertex. More... | |
int | GetEdgeFaceMap (int i, int j) const |
Returns the standard element edge IDs that are connected to a given face. More... | |
int | GetEdgeNormalToFaceVert (int i, int j) const |
Returns the standard lement edge IDs that are normal to a given face vertex. More... | |
int | GetDir (const int i, const int j=0) const |
Returns the element coordinate direction corresponding to a given face coordinate direction. More... | |
void | Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. More... | |
void | ResetNonRecursive (CurveMap &curvedEdges, CurveMap &curvedFaces) |
Reset this geometry object non-recursively: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. More... | |
void | Setup () |
void | GenGeomFactors () |
Handles generation of geometry factors. More... | |
Protected Member Functions | |
virtual PointGeomSharedPtr | v_GetVertex (int i) const =0 |
virtual Geometry1DSharedPtr | v_GetEdge (int i) const |
Returns edge i of this object. More... | |
virtual Geometry2DSharedPtr | v_GetFace (int i) const |
Returns face i of this object. More... | |
virtual StdRegions::Orientation | v_GetEorient (const int i) const |
Returns the orientation of edge i with respect to the ordering of edges in the standard element. More... | |
virtual StdRegions::Orientation | v_GetForient (const int i) const |
Returns the orientation of face i with respect to the ordering of faces in the standard element. More... | |
virtual int | v_GetNumVerts () const |
Get the number of vertices of this object. More... | |
virtual int | v_GetNumEdges () const |
Get the number of edges of this object. More... | |
virtual int | v_GetNumFaces () const |
Get the number of faces of this object. More... | |
virtual int | v_GetShapeDim () const |
Get the object's shape dimension. More... | |
virtual StdRegions::StdExpansionSharedPtr | v_GetXmap () const |
Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element. More... | |
virtual void | v_FillGeom () |
Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements. More... | |
virtual bool | v_ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol, NekDouble &dist) |
Determine whether an element contains a particular Cartesian coordinate \(\vec{x} = (x,y,z)\). More... | |
virtual int | v_AllLeftCheck (const Array< OneD, const NekDouble > &gloCoord) |
virtual NekDouble | v_GetCoord (const int i, const Array< OneD, const NekDouble > &Lcoord) |
Given local collapsed coordinate Lcoord , return the value of physical coordinate in direction i . More... | |
virtual NekDouble | v_GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) |
Determine the local collapsed coordinates that correspond to a given Cartesian coordinate for this geometry object. More... | |
virtual NekDouble | v_FindDistance (const Array< OneD, const NekDouble > &xs, Array< OneD, NekDouble > &xi) |
virtual int | v_GetVertexEdgeMap (int i, int j) const |
Returns the standard element edge IDs that are connected to a given vertex. More... | |
virtual int | v_GetVertexFaceMap (int i, int j) const |
Returns the standard element face IDs that are connected to a given vertex. More... | |
virtual int | v_GetEdgeFaceMap (int i, int j) const |
Returns the standard element edge IDs that are connected to a given face. More... | |
virtual int | v_GetEdgeNormalToFaceVert (const int i, const int j) const |
Returns the standard lement edge IDs that are normal to a given face vertex. More... | |
virtual int | v_GetDir (const int faceidx, const int facedir) const |
Returns the element coordinate direction corresponding to a given face coordinate direction. More... | |
virtual void | v_Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. More... | |
virtual void | v_Setup () |
virtual void | v_GenGeomFactors ()=0 |
void | SetUpCoeffs (const int nCoeffs) |
Initialise the Geometry::m_coeffs array. More... | |
virtual void | v_CalculateInverseIsoParam () |
Static Protected Member Functions | |
static GeomFactorsSharedPtr | ValidateRegGeomFactor (GeomFactorsSharedPtr geomFactor) |
Check to see if a geometric factor has already been created that contains the same regular information. More... | |
Protected Attributes | |
int | m_coordim |
Coordinate dimension of this geometry object. More... | |
GeomFactorsSharedPtr | m_geomFactors |
Geometric factors. More... | |
GeomState | m_geomFactorsState |
State of the geometric factors. More... | |
StdRegions::StdExpansionSharedPtr | m_xmap |
\(\chi\) mapping containing isoparametric transformation. More... | |
GeomState | m_state |
Enumeration to dictate whether coefficients are filled. More... | |
bool | m_setupState |
Wether or not the setup routines have been run. More... | |
GeomType | m_geomType |
Type of geometry. More... | |
LibUtilities::ShapeType | m_shapeType |
Type of shape. More... | |
int | m_globalID |
Global ID. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_coeffs |
Array containing expansion coefficients of m_xmap . More... | |
Array< OneD, NekDouble > | m_boundingBox |
Array containing bounding box. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_isoParameter |
Array< OneD, Array< OneD, NekDouble > > | m_invIsoParam |
int | m_straightEdge |
Static Protected Attributes | |
static GeomFactorsVector | m_regGeomFactorsManager |
Base class for shape geometry information.
Definition at line 78 of file Geometry.h.
Nektar::SpatialDomains::Geometry::Geometry | ( | ) |
Default constructor.
Definition at line 50 of file Geometry.cpp.
Nektar::SpatialDomains::Geometry::Geometry | ( | int | coordim | ) |
Constructor when supplied a coordinate dimension.
Definition at line 60 of file Geometry.cpp.
|
virtual |
bool Nektar::SpatialDomains::Geometry::ClampLocCoords | ( | Array< OneD, NekDouble > & | locCoord, |
NekDouble | tol = std::numeric_limits<NekDouble>::epsilon() |
||
) |
Clamp local coords to be within standard regions [-1, 1]^dim.
Lcoords | Corresponding local coordinates |
Definition at line 561 of file Geometry.cpp.
References ASSERTL1, and GetShapeDim().
Referenced by Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), v_ContainsPoint(), Nektar::SpatialDomains::Geometry2D::v_FindDistance(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
void Nektar::SpatialDomains::Geometry::ClearBoundingBox | ( | ) |
Definition at line 496 of file Geometry.cpp.
References m_boundingBox.
|
inline |
Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\).
Definition at line 482 of file Geometry.h.
References v_ContainsPoint().
|
inline |
Determine whether an element contains a particular Cartesian coordinate \(\vec{x} = (x,y,z)\).
For curvilinear and non-affine elements (i.e. where the Jacobian varies as a function of the standard element coordinates), this is a non-linear optimisation problem that requires the use of a Newton iteration. Note therefore that this can be an expensive operation.
The parameter tol
which is by default 0, can be used to expand the coordinate range of the standard element from \([-1,1]^d\) to \([-1-\epsilon,1+\epsilon\) to handle challenging edge cases. The function also returns the local coordinates corresponding to gloCoord
that can be used to speed up subsequent searches.
gloCoord | The coordinate \( (x,y,z) \). |
locCoord | On exit, this is the local coordinate \(\vec{\xi}\) such that \(\chi(\vec{\xi}) = \vec{x}\). |
tol | The tolerance used to dictate the bounding box of the standard coordinates \(\vec{\xi}\). |
dist | On exit, returns the minimum distance between gloCoord and the quadrature points inside the element. |
true
if the coordinate gloCoord
is contained in the element; false otherwise.Definition at line 518 of file Geometry.h.
References v_ContainsPoint().
|
inline |
Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\).
Definition at line 468 of file Geometry.h.
References GetCoordim(), and v_ContainsPoint().
|
inline |
Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements.
Definition at line 457 of file Geometry.h.
References v_FillGeom().
|
inline |
Definition at line 561 of file Geometry.h.
References v_FindDistance().
|
inline |
Handles generation of geometry factors.
Generate the geometric factors (i.e. derivatives of \(\chi\)) and related metrics.
Definition at line 693 of file Geometry.h.
References v_GenGeomFactors().
Referenced by GetGeomFactors().
std::array< NekDouble, 6 > Nektar::SpatialDomains::Geometry::GetBoundingBox | ( | ) |
Generates the bounding box for the element.
For regular elements, the vertices are sufficient to define the extent of the bounding box. For non-regular elements, the extremes of the quadrature point coordinates are used. A 10% margin is added around this computed region to account for convex hull elements where the true extent of the element may extend slightly beyond the quadrature points.
Definition at line 422 of file Geometry.cpp.
References Nektar::SpatialDomains::eRegular, GetCoordim(), GetGeomFactors(), GetNumVerts(), GetVertex(), GetXmap(), Nektar::NekConstants::kFindDistanceMin, Nektar::NekConstants::kGeomFactorsTol, m_boundingBox, m_coeffs, and CellMLToNektar.cellml_metadata::p.
Referenced by MinMaxCheck().
|
inline |
Return the coefficients of the transformation Geometry::m_xmap in coordinate direction i
.
Definition at line 445 of file Geometry.h.
References m_coeffs.
|
inline |
Given local collapsed coordinate Lcoord
, return the value of physical coordinate in direction i
.
Definition at line 555 of file Geometry.h.
References v_GetCoord().
Referenced by Nektar::SpatialDomains::Geometry2D::v_FindDistance(), and Nektar::SpatialDomains::SegGeom::v_FindDistance().
|
inline |
Return the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded).
Definition at line 284 of file Geometry.h.
References m_coordim.
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), ContainsPoint(), GetBoundingBox(), and Nektar::SpatialDomains::SegGeom::v_FindDistance().
|
inline |
Returns the element coordinate direction corresponding to a given face coordinate direction.
Definition at line 658 of file Geometry.h.
References v_GetDir().
|
inline |
Returns edge i
of this object.
Definition at line 366 of file Geometry.h.
References v_GetEdge().
Referenced by GetEid(), Nektar::SpatialDomains::HexGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), and Nektar::SpatialDomains::TetGeom::SetUpLocalEdges().
|
inline |
Returns the standard element edge IDs that are connected to a given face.
For example, on a prism, edge 0 is connnected to faces 0 and 1; GetEdgeFaceMap(0,j)
would therefore return the values 0 and 1 respectively. We assume that j
runs between 0 and 1 inclusive, since every face is connected to precisely two faces for all 3D elements.
This function is used in the construction of the low-energy preconditioner.
i | The edge to query connectivity for. |
j | The local face index between 0 and 1 connected to this element. |
Definition at line 627 of file Geometry.h.
References v_GetEdgeFaceMap().
|
inline |
Returns the standard lement edge IDs that are normal to a given face vertex.
For example, on a hexahedron, on face 0 at vertices 0,1,2,3 the edges normal to that face are 4,5,6,7, ; so GetEdgeNormalToFaceVert(0,j)
would therefore return the values 4, 5, 6 and 7 respectively. We assume that j
runs between 0 and 3 inclusive on a quadrilateral face and between 0 and 2 inclusive on a triangular face.
This is used to help set up a length scale normal to an face
i | The face to query for the normal edge |
j | The local vertex index between 0 and nverts on this face |
Definition at line 649 of file Geometry.h.
References v_GetEdgeNormalToFaceVert().
int Nektar::SpatialDomains::Geometry::GetEid | ( | int | i | ) | const |
Get the ID of edge i
of this object.
Definition at line 143 of file Geometry.cpp.
References GetEdge().
Referenced by GetTid(), Nektar::SpatialDomains::HexGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), and Nektar::SpatialDomains::TetGeom::SetUpLocalEdges().
|
inline |
Returns the orientation of edge i
with respect to the ordering of edges in the standard element.
Definition at line 383 of file Geometry.h.
References v_GetEorient().
|
inline |
Returns face i
of this object.
Definition at line 374 of file Geometry.h.
References v_GetFace().
Referenced by GetFid().
int Nektar::SpatialDomains::Geometry::GetFid | ( | int | i | ) | const |
Get the ID of face i
of this object.
Definition at line 151 of file Geometry.cpp.
References GetFace().
Referenced by GetTid().
|
inline |
Returns the orientation of face i
with respect to the ordering of faces in the standard element.
Definition at line 392 of file Geometry.h.
References v_GetForient().
|
inline |
Get the geometric factors for this object, generating them if required.
Definition at line 302 of file Geometry.h.
References GenGeomFactors(), m_geomFactors, and ValidateRegGeomFactor().
Referenced by GetBoundingBox().
|
inline |
Get the ID of this object.
Definition at line 327 of file Geometry.h.
References m_globalID.
Referenced by Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom(), Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::HexGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::TetGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), Nektar::SpatialDomains::TetGeom::SetUpLocalEdges(), Nektar::SpatialDomains::HexGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PrismGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PyrGeom::SetUpLocalVertices(), and Nektar::SpatialDomains::TetGeom::SetUpLocalVertices().
|
inline |
Determine the local collapsed coordinates that correspond to a given Cartesian coordinate for this geometry object.
For curvilinear and non-affine elements (i.e. where the Jacobian varies as a function of the standard element coordinates), this is a non-linear optimisation problem that requires the use of a Newton iteration. Note therefore that this can be an expensive operation.
Note that, clearly, the provided Cartesian coordinate lie outside the element. The function therefore returns the minimum distance from some position in the element to . Lcoords
will also be constrained to fit within the range \([-1,1]^d\) where \( d \) is the dimension of the element.
coords | Input Cartesian global coordinates |
Lcoords | Corresponding local coordinates |
Definition at line 545 of file Geometry.h.
References v_GetLocCoords().
Referenced by v_ContainsPoint(), Nektar::SpatialDomains::Geometry2D::v_FindDistance(), and Nektar::SpatialDomains::SegGeom::v_FindDistance().
|
inline |
Get the geometric factors for this object.
Definition at line 311 of file Geometry.h.
References m_geomFactors.
Referenced by PreliminaryCheck(), v_ContainsPoint(), Nektar::SpatialDomains::Geometry1D::v_GetLocCoords(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
|
inline |
Get the number of edges of this object.
Definition at line 408 of file Geometry.h.
References v_GetNumEdges().
|
inline |
Get the number of faces of this object.
Definition at line 416 of file Geometry.h.
References v_GetNumFaces().
|
inline |
Get the number of vertices of this object.
Definition at line 400 of file Geometry.h.
References v_GetNumVerts().
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), and GetBoundingBox().
GeomFactorsSharedPtr Nektar::SpatialDomains::Geometry::GetRefGeomFactors | ( | const Array< OneD, const LibUtilities::BasisSharedPtr > & | tbasis | ) |
|
inline |
Get the object's shape dimension.
For example, a segment is one dimensional and quadrilateral is two dimensional.
Definition at line 427 of file Geometry.h.
References v_GetShapeDim().
Referenced by ClampLocCoords(), GetTid(), and v_ContainsPoint().
|
inline |
Get the geometric shape type of this object.
Definition at line 319 of file Geometry.h.
References m_shapeType.
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange().
|
inline |
Get the ID of trace i
of this object.
The trace element is the facet one dimension lower than the object; for example, a quadrilateral has four trace segments forming its boundary.
Definition at line 346 of file Geometry.h.
References GetEid(), GetFid(), GetShapeDim(), and GetVid().
|
inline |
Returns vertex i
of this object.
Definition at line 358 of file Geometry.h.
References v_GetVertex().
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), GetBoundingBox(), Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(), GetVid(), Nektar::SpatialDomains::QuadGeom::QuadGeom(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PrismGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PyrGeom::SetUpLocalVertices(), Nektar::SpatialDomains::TetGeom::SetUpLocalVertices(), Nektar::SpatialDomains::TriGeom::TriGeom(), and Nektar::LocalRegions::Expansion2D::v_TraceNormLen().
|
inline |
Returns the standard element edge IDs that are connected to a given vertex.
For example, on a prism, vertex 0 is connnected to edges 0, 3, and 4; GetVertexEdgeMap(0,j)
would therefore return the values 0, 1 and 4 respectively. We assume that j
runs between 0 and 2 inclusive, which is true for every 3D element asides from the pyramid.
This function is used in the construction of the low-energy preconditioner.
i | The vertex to query connectivity for. |
j | The local edge index between 0 and 2 connected to this element. |
Definition at line 584 of file Geometry.h.
References v_GetVertexEdgeMap().
|
inline |
Returns the standard element face IDs that are connected to a given vertex.
For example, on a hexahedron, vertex 0 is connnected to faces 0, 1, and 4; GetVertexFaceMap(0,j)
would therefore return the values 0, 1 and 4 respectively. We assume that j
runs between 0 and 2 inclusive, which is true for every 3D element asides from the pyramid.
This is used in the construction of the low-energy preconditioner.
i | The vertex to query connectivity for. |
j | The local face index between 0 and 2 connected to this element. |
Definition at line 606 of file Geometry.h.
References v_GetVertexFaceMap().
int Nektar::SpatialDomains::Geometry::GetVid | ( | int | i | ) | const |
Get the ID of vertex i
of this object.
Definition at line 135 of file Geometry.cpp.
References GetVertex().
Referenced by GetTid(), Nektar::SpatialDomains::HexGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::TetGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PrismGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PyrGeom::SetUpLocalVertices(), and Nektar::SpatialDomains::TetGeom::SetUpLocalVertices().
|
inline |
Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element.
Definition at line 436 of file Geometry.h.
References v_GetXmap().
Referenced by GetBoundingBox(), Nektar::SpatialDomains::HexGeom::SetUpXmap(), Nektar::SpatialDomains::PrismGeom::SetUpXmap(), Nektar::SpatialDomains::PyrGeom::SetUpXmap(), Nektar::SpatialDomains::QuadGeom::SetUpXmap(), Nektar::SpatialDomains::TetGeom::SetUpXmap(), Nektar::SpatialDomains::TriGeom::SetUpXmap(), Nektar::SpatialDomains::Geometry2D::v_AllLeftCheck(), Nektar::SpatialDomains::Geometry3D::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), and Nektar::SpatialDomains::TriGeom::v_FillGeom().
bool Nektar::SpatialDomains::Geometry::MinMaxCheck | ( | const Array< OneD, const NekDouble > & | gloCoord | ) |
Check if given global coord is within the BoundingBox of the element.
coords | Input Cartesian global coordinates |
Definition at line 538 of file Geometry.cpp.
References ASSERTL1, GetBoundingBox(), and m_coordim.
Referenced by PreliminaryCheck().
int Nektar::SpatialDomains::Geometry::PreliminaryCheck | ( | const Array< OneD, const NekDouble > & | gloCoord | ) |
A fast and robust check if a given global coord is outside of a deformed element. For regular elements, this check is unnecessary.
coords | Input Cartesian global coordinates |
Definition at line 512 of file Geometry.cpp.
References Nektar::SpatialDomains::eRegular, GetMetricInfo(), MinMaxCheck(), and v_AllLeftCheck().
Referenced by v_ContainsPoint().
|
inline |
Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors.
Definition at line 667 of file Geometry.h.
References v_Reset().
|
inline |
Reset this geometry object non-recursively: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors.
Definition at line 676 of file Geometry.h.
References v_Reset().
|
inline |
Sets the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded).
Definition at line 293 of file Geometry.h.
References m_coordim.
|
inline |
|
inline |
|
inlineprotected |
Initialise the Geometry::m_coeffs array.
Definition at line 701 of file Geometry.h.
References m_coeffs, and m_coordim.
Referenced by Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::HexGeom::v_Reset(), Nektar::SpatialDomains::PyrGeom::v_Reset(), Nektar::SpatialDomains::QuadGeom::v_Reset(), Nektar::SpatialDomains::SegGeom::v_Reset(), Nektar::SpatialDomains::TriGeom::v_Reset(), Nektar::SpatialDomains::HexGeom::v_Setup(), Nektar::SpatialDomains::PrismGeom::v_Setup(), Nektar::SpatialDomains::PyrGeom::v_Setup(), Nektar::SpatialDomains::QuadGeom::v_Setup(), Nektar::SpatialDomains::SegGeom::v_Setup(), Nektar::SpatialDomains::TetGeom::v_Setup(), and Nektar::SpatialDomains::TriGeom::v_Setup().
|
protectedvirtual |
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 234 of file Geometry.cpp.
Referenced by PreliminaryCheck().
|
protectedvirtual |
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 240 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
protectedvirtual |
Determine whether an element contains a particular Cartesian coordinate \(\vec{x} = (x,y,z)\).
For curvilinear and non-affine elements (i.e. where the Jacobian varies as a function of the standard element coordinates), this is a non-linear optimisation problem that requires the use of a Newton iteration. Note therefore that this can be an expensive operation.
The parameter tol
which is by default 0, can be used to expand the coordinate range of the standard element from \([-1,1]^d\) to \([-1-\epsilon,1+\epsilon\) to handle challenging edge cases. The function also returns the local coordinates corresponding to gloCoord
that can be used to speed up subsequent searches.
gloCoord | The coordinate \( (x,y,z) \). |
locCoord | On exit, this is the local coordinate \(\vec{\xi}\) such that \(\chi(\vec{\xi}) = \vec{x}\). |
tol | The tolerance used to dictate the bounding box of the standard coordinates \(\vec{\xi}\). |
dist | On exit, returns the minimum distance between gloCoord and the quadrature points inside the element. |
true
if the coordinate gloCoord
is contained in the element; false otherwise.Reimplemented in Nektar::SpatialDomains::Geometry0D.
Definition at line 260 of file Geometry.cpp.
References ClampLocCoords(), Nektar::LibUtilities::eQuadrilateral, Nektar::SpatialDomains::eRegular, Nektar::LibUtilities::eTriangle, GetLocCoords(), GetMetricInfo(), GetShapeDim(), m_coordim, m_shapeType, m_xmap, and PreliminaryCheck().
Referenced by ContainsPoint().
|
protectedvirtual |
Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements.
Reimplemented in Nektar::SpatialDomains::Geometry3D, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::SegGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 386 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillGeom(), Nektar::SpatialDomains::Geometry1D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry2D::v_GetLocCoords().
|
protectedvirtual |
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::SegGeom.
Definition at line 295 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FindDistance().
|
protectedpure virtual |
Implemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PointGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::SegGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::TriGeom.
Referenced by GenGeomFactors().
|
protectedvirtual |
Given local collapsed coordinate Lcoord
, return the value of physical coordinate in direction i
.
Reimplemented in Nektar::SpatialDomains::Geometry3D, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::SegGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 362 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetCoord().
|
protectedvirtual |
Returns the element coordinate direction corresponding to a given face coordinate direction.
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 351 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetDir().
|
protectedvirtual |
Returns edge i
of this object.
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 159 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetEdge().
|
protectedvirtual |
Returns the standard element edge IDs that are connected to a given face.
For example, on a prism, edge 0 is connnected to faces 0 and 1; GetEdgeFaceMap(0,j)
would therefore return the values 0 and 1 respectively. We assume that j
runs between 0 and 1 inclusive, since every face is connected to precisely two faces for all 3D elements.
This function is used in the construction of the low-energy preconditioner.
i | The edge to query connectivity for. |
j | The local face index between 0 and 1 connected to this element. |
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, and Nektar::SpatialDomains::TetGeom.
Definition at line 329 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetEdgeFaceMap().
|
protectedvirtual |
Returns the standard lement edge IDs that are normal to a given face vertex.
For example, on a hexahedron, on face 0 at vertices 0,1,2,3 the edges normal to that face are 4,5,6,7, ; so GetEdgeNormalToFaceVert(0,j)
would therefore return the values 4, 5, 6 and 7 respectively. We assume that j
runs between 0 and 3 inclusive on a quadrilateral face and between 0 and 2 inclusive on a triangular face.
This is used to help set up a length scale normal to an face
i | The face to query for the normal edge |
j | The local vertex index between 0 and nverts on this face |
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, and Nektar::SpatialDomains::TetGeom.
Definition at line 340 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetEdgeNormalToFaceVert().
|
protectedvirtual |
Returns the orientation of edge i
with respect to the ordering of edges in the standard element.
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 189 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, Nektar::StdRegions::eForwards, and NEKERROR.
Referenced by GetEorient().
|
protectedvirtual |
Returns face i
of this object.
Reimplemented in Nektar::SpatialDomains::Geometry3D.
Definition at line 169 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetFace().
|
protectedvirtual |
Returns the orientation of face i
with respect to the ordering of faces in the standard element.
Reimplemented in Nektar::SpatialDomains::Geometry3D.
Definition at line 200 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, Nektar::StdRegions::eFwd, and NEKERROR.
Referenced by GetForient().
|
protectedvirtual |
Determine the local collapsed coordinates that correspond to a given Cartesian coordinate for this geometry object.
For curvilinear and non-affine elements (i.e. where the Jacobian varies as a function of the standard element coordinates), this is a non-linear optimisation problem that requires the use of a Newton iteration. Note therefore that this can be an expensive operation.
Note that, clearly, the provided Cartesian coordinate lie outside the element. The function therefore returns the minimum distance from some position in the element to . Lcoords
will also be constrained to fit within the range \([-1,1]^d\) where \( d \) is the dimension of the element.
coords | Input Cartesian global coordinates |
Lcoords | Corresponding local coordinates |
Reimplemented in Nektar::SpatialDomains::Geometry1D, Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 374 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetLocCoords().
|
protectedvirtual |
Get the number of edges of this object.
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 211 of file Geometry.cpp.
Referenced by GetNumEdges().
|
protectedvirtual |
Get the number of faces of this object.
Reimplemented in Nektar::SpatialDomains::Geometry3D.
Definition at line 219 of file Geometry.cpp.
Referenced by GetNumFaces().
|
protectedvirtual |
Get the number of vertices of this object.
Reimplemented in Nektar::SpatialDomains::Geometry2D, Nektar::SpatialDomains::Geometry3D, and Nektar::SpatialDomains::SegGeom.
Definition at line 179 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetNumVerts().
|
protectedvirtual |
Get the object's shape dimension.
For example, a segment is one dimensional and quadrilateral is two dimensional.
Reimplemented in Nektar::SpatialDomains::Geometry0D, Nektar::SpatialDomains::Geometry1D, Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 227 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetShapeDim().
|
protectedpure virtual |
Implemented in Nektar::SpatialDomains::SegGeom, Nektar::SpatialDomains::Geometry2D, Nektar::SpatialDomains::Geometry3D, and Nektar::SpatialDomains::PointGeom.
Referenced by GetVertex().
|
protectedvirtual |
Returns the standard element edge IDs that are connected to a given vertex.
For example, on a prism, vertex 0 is connnected to edges 0, 3, and 4; GetVertexEdgeMap(0,j)
would therefore return the values 0, 1 and 4 respectively. We assume that j
runs between 0 and 2 inclusive, which is true for every 3D element asides from the pyramid.
This function is used in the construction of the low-energy preconditioner.
i | The vertex to query connectivity for. |
j | The local edge index between 0 and 2 connected to this element. |
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, and Nektar::SpatialDomains::TetGeom.
Definition at line 307 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetVertexEdgeMap().
|
protectedvirtual |
Returns the standard element face IDs that are connected to a given vertex.
For example, on a hexahedron, vertex 0 is connnected to faces 0, 1, and 4; GetVertexFaceMap(0,j)
would therefore return the values 0, 1 and 4 respectively. We assume that j
runs between 0 and 2 inclusive, which is true for every 3D element asides from the pyramid.
This is used in the construction of the low-energy preconditioner.
i | The vertex to query connectivity for. |
j | The local face index between 0 and 2 connected to this element. |
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, and Nektar::SpatialDomains::TetGeom.
Definition at line 318 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetVertexFaceMap().
|
protectedvirtual |
Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element.
Definition at line 249 of file Geometry.cpp.
References m_xmap.
Referenced by GetXmap().
|
protectedvirtual |
Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors.
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::SegGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 395 of file Geometry.cpp.
References Nektar::SpatialDomains::eNotFilled, m_geomFactors, m_geomFactorsState, and m_state.
Referenced by Reset(), ResetNonRecursive(), Nektar::SpatialDomains::HexGeom::v_Reset(), Nektar::SpatialDomains::PrismGeom::v_Reset(), Nektar::SpatialDomains::PyrGeom::v_Reset(), Nektar::SpatialDomains::QuadGeom::v_Reset(), Nektar::SpatialDomains::SegGeom::v_Reset(), Nektar::SpatialDomains::TetGeom::v_Reset(), and Nektar::SpatialDomains::TriGeom::v_Reset().
|
protectedvirtual |
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::SegGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 407 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by Setup().
|
staticprotected |
Check to see if a geometric factor has already been created that contains the same regular information.
The principle behind this is that many regular (i.e. constant Jacobian) elements have identicial geometric factors. Memory may therefore be reduced by storing only the unique factors.
geomFactor | The GeomFactor to check. |
geomFactor
.Definition at line 88 of file Geometry.cpp.
References Nektar::SpatialDomains::eRegular, and m_regGeomFactorsManager.
Referenced by GetGeomFactors().
Array containing bounding box.
Definition at line 209 of file Geometry.h.
Referenced by ClearBoundingBox(), and GetBoundingBox().
Array containing expansion coefficients of m_xmap
.
Definition at line 207 of file Geometry.h.
Referenced by GetBoundingBox(), GetCoeffs(), SetUpCoeffs(), Nektar::SpatialDomains::Geometry3D::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::SpatialDomains::Geometry2D::v_FindDistance(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::SegGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), Nektar::SpatialDomains::Geometry3D::v_GetCoord(), Nektar::SpatialDomains::QuadGeom::v_GetCoord(), Nektar::SpatialDomains::SegGeom::v_GetCoord(), Nektar::SpatialDomains::TriGeom::v_GetCoord(), Nektar::SpatialDomains::Geometry1D::v_GetLocCoords(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
|
protected |
Coordinate dimension of this geometry object.
Definition at line 189 of file Geometry.h.
Referenced by Nektar::SpatialDomains::PointGeom::Add(), Nektar::SpatialDomains::Geometry2D::Geometry2D(), Nektar::SpatialDomains::Geometry3D::Geometry3D(), GetCoordim(), Nektar::SpatialDomains::PointGeom::GetCoords(), MinMaxCheck(), Nektar::SpatialDomains::PointGeom::Mult(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::QuadGeom::QuadGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), SetCoordim(), SetUpCoeffs(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PointGeom::Sub(), Nektar::SpatialDomains::TriGeom::TriGeom(), Nektar::SpatialDomains::Geometry2D::v_AllLeftCheck(), v_ContainsPoint(), Nektar::SpatialDomains::Geometry3D::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::SegGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), Nektar::SpatialDomains::Geometry1D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry2D::v_GetLocCoords().
|
protected |
Geometric factors.
Definition at line 191 of file Geometry.h.
Referenced by Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom(), GetGeomFactors(), GetMetricInfo(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry2D::v_FindDistance(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::SegGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), and v_Reset().
|
protected |
State of the geometric factors.
Definition at line 193 of file Geometry.h.
Referenced by Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::SegGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), and v_Reset().
|
protected |
Type of geometry.
Definition at line 201 of file Geometry.h.
|
protected |
Global ID.
Definition at line 205 of file Geometry.h.
Referenced by Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom(), GetGlobalID(), Nektar::SpatialDomains::PointGeom::GetVid(), Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PrismGeom::PrismGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::QuadGeom::QuadGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), SetGlobalID(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::TetGeom(), Nektar::SpatialDomains::TriGeom::TriGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_Reset(), Nektar::SpatialDomains::SegGeom::v_Reset(), and Nektar::SpatialDomains::TriGeom::v_Reset().
Definition at line 211 of file Geometry.h.
Referenced by Nektar::SpatialDomains::Geometry2D::v_CalculateInverseIsoParam(), Nektar::SpatialDomains::Geometry3D::v_CalculateInverseIsoParam(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
Definition at line 210 of file Geometry.h.
Referenced by Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::QuadGeom::PreSolveStraightEdge(), Nektar::SpatialDomains::Geometry2D::SolveStraightEdgeQuad(), Nektar::SpatialDomains::Geometry2D::v_CalculateInverseIsoParam(), Nektar::SpatialDomains::Geometry3D::v_CalculateInverseIsoParam(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
|
staticprotected |
Definition at line 186 of file Geometry.h.
Referenced by ValidateRegGeomFactor().
|
protected |
Wether or not the setup routines have been run.
Definition at line 199 of file Geometry.h.
Referenced by Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::SegGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), Nektar::SpatialDomains::HexGeom::v_Setup(), Nektar::SpatialDomains::PrismGeom::v_Setup(), Nektar::SpatialDomains::PyrGeom::v_Setup(), Nektar::SpatialDomains::QuadGeom::v_Setup(), Nektar::SpatialDomains::SegGeom::v_Setup(), Nektar::SpatialDomains::TetGeom::v_Setup(), and Nektar::SpatialDomains::TriGeom::v_Setup().
|
protected |
Type of shape.
Definition at line 203 of file Geometry.h.
Referenced by GetShapeType(), Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PrismGeom::PrismGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::QuadGeom::QuadGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::TetGeom::TetGeom(), Nektar::SpatialDomains::TriGeom::TriGeom(), and v_ContainsPoint().
|
protected |
Enumeration to dictate whether coefficients are filled.
Definition at line 197 of file Geometry.h.
Referenced by Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::Geometry3D::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::SpatialDomains::Geometry3D::v_GetCoord(), Nektar::SpatialDomains::QuadGeom::v_GetCoord(), Nektar::SpatialDomains::SegGeom::v_GetCoord(), Nektar::SpatialDomains::TriGeom::v_GetCoord(), and v_Reset().
|
protected |
Definition at line 212 of file Geometry.h.
Referenced by Nektar::SpatialDomains::QuadGeom::PreSolveStraightEdge(), Nektar::SpatialDomains::Geometry2D::SolveStraightEdgeQuad(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
|
protected |
\(\chi\) mapping containing isoparametric transformation.
Definition at line 195 of file Geometry.h.
Referenced by Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::HexGeom::SetUpXmap(), Nektar::SpatialDomains::PrismGeom::SetUpXmap(), Nektar::SpatialDomains::PyrGeom::SetUpXmap(), Nektar::SpatialDomains::QuadGeom::SetUpXmap(), Nektar::SpatialDomains::SegGeom::SetUpXmap(), Nektar::SpatialDomains::TetGeom::SetUpXmap(), Nektar::SpatialDomains::TriGeom::SetUpXmap(), v_ContainsPoint(), Nektar::SpatialDomains::Geometry3D::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::SpatialDomains::Geometry2D::v_FindDistance(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::QuadGeom::v_GenGeomFactors(), Nektar::SpatialDomains::SegGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TriGeom::v_GenGeomFactors(), Nektar::SpatialDomains::Geometry3D::v_GetCoord(), Nektar::SpatialDomains::QuadGeom::v_GetCoord(), Nektar::SpatialDomains::SegGeom::v_GetCoord(), Nektar::SpatialDomains::TriGeom::v_GetCoord(), Nektar::SpatialDomains::Geometry1D::v_GetLocCoords(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), Nektar::SpatialDomains::Geometry3D::v_GetLocCoords(), v_GetXmap(), Nektar::SpatialDomains::HexGeom::v_Reset(), Nektar::SpatialDomains::PyrGeom::v_Reset(), Nektar::SpatialDomains::QuadGeom::v_Reset(), Nektar::SpatialDomains::SegGeom::v_Reset(), Nektar::SpatialDomains::TriGeom::v_Reset(), Nektar::SpatialDomains::HexGeom::v_Setup(), Nektar::SpatialDomains::PrismGeom::v_Setup(), Nektar::SpatialDomains::PyrGeom::v_Setup(), Nektar::SpatialDomains::QuadGeom::v_Setup(), Nektar::SpatialDomains::SegGeom::v_Setup(), Nektar::SpatialDomains::TetGeom::v_Setup(), and Nektar::SpatialDomains::TriGeom::v_Setup().