|
Nektar++
|
Base class for shape geometry information. More...
#include <Geometry.h>
Public Member Functions | |
| Geometry () | |
| Default constructor. | |
| Geometry (int coordim) | |
| Constructor when supplied a coordinate dimension. | |
| virtual | ~Geometry ()=default |
| int | GetCoordim () const |
| Return the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded). | |
| void | SetCoordim (int coordim) |
| Sets the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded). | |
| GeomFactorsUniquePtr | GenGeomFactors (LibUtilities::PointsKeyVector &keyTgt) |
| Used by Expansion to generate associated GeomFactors. | |
| LibUtilities::ShapeType | GetShapeType (void) |
| Get the geometric shape type of this object. | |
| int | GetGlobalID (void) const |
| Get the ID of this object. | |
| void | SetGlobalID (int globalid) |
| Set the ID of this object. | |
| int | GetVid (int i) const |
Returns global id of vertex i of this object. | |
| int | GetEid (int i) const |
Get the ID of edge i of this object. | |
| int | GetFid (int i) const |
Get the ID of face i of this object. | |
| int | GetTid (int i) const |
Get the ID of trace i of this object. | |
| PointGeom * | GetVertex (int i) const |
Returns vertex i of this object. | |
| Geometry1D * | GetEdge (int i) const |
Returns edge i of this object. | |
| Geometry2D * | GetFace (int i) const |
Returns face i of this object. | |
| StdRegions::Orientation | GetEorient (const int i) const |
Returns the orientation of edge i with respect to the ordering of edges in the standard element. | |
| StdRegions::Orientation | GetForient (const int i) const |
Returns the orientation of face i with respect to the ordering of faces in the standard element. | |
| int | GetNumVerts () const |
| Get the number of vertices of this object. | |
| int | GetNumEdges () const |
| Get the number of edges of this object. | |
| int | GetNumFaces () const |
| Get the number of faces of this object. | |
| int | GetShapeDim () const |
| Get the object's shape dimension. | |
| StdRegions::StdExpansionSharedPtr | GetXmap () const |
| Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element. | |
| const Array< OneD, const NekDouble > & | GetCoeffs (const int i) const |
Return the coefficients of the transformation Geometry::m_xmap in coordinate direction i. | |
| void | FillGeom () |
| Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements. | |
| std::array< NekDouble, 6 > | GetBoundingBox () |
| Generates the bounding box for the element. | |
| 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)\). | |
| 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)\). | |
| 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)\). | |
| 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. | |
| 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. | |
| 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. | |
| bool | MinMaxCheck (const Array< OneD, const NekDouble > &gloCoord) |
| Check if given global coord is within the BoundingBox of the element. | |
| bool | ClampLocCoords (Array< OneD, NekDouble > &locCoord, NekDouble tol=std::numeric_limits< NekDouble >::epsilon()) |
| Clamp local coords to be within standard regions [-1, 1]^dim. | |
| 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. | |
| int | GetVertexFaceMap (int i, int j) const |
| Returns the standard element face IDs that are connected to a given vertex. | |
| int | GetEdgeFaceMap (int i, int j) const |
| Returns the standard element edge IDs that are connected to a given face. | |
| int | GetEdgeNormalToFaceVert (int i, int j) const |
| Returns the standard lement edge IDs that are normal to a given face vertex. | |
| int | GetDir (const int i, const int j=0) const |
| Returns the element coordinate direction corresponding to a given face coordinate direction. | |
| GeomType | CalcGeomType () |
| void | Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
| Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. | |
| void | ResetNonRecursive (CurveMap &curvedEdges, CurveMap &curvedFaces) |
| Reset this geometry object non-recursively: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. | |
| void | Setup () |
Protected Member Functions | |
| virtual int | v_GetVid (int i) const |
Get the ID of vertex i of this object. | |
| virtual PointGeom * | v_GetVertex (const int i) const |
Returns vertex i of this object. | |
| virtual Geometry1D * | v_GetEdge (const int i) const |
Returns edge i of this object. | |
| virtual Geometry2D * | v_GetFace (const int i) const |
Returns face i of this object. | |
| 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. | |
| 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. | |
| virtual int | v_GetNumVerts () const |
| Get the number of vertices of this object. | |
| virtual int | v_GetNumEdges () const |
| Get the number of edges of this object. | |
| virtual int | v_GetNumFaces () const |
| Get the number of faces of this object. | |
| virtual int | v_GetShapeDim () const |
| Get the object's shape dimension. | |
| virtual GeomFactorsUniquePtr | v_GenGeomFactors (LibUtilities::PointsKeyVector &keyTgt) |
| Used by Expansion to generate associated GeomFactors. | |
| virtual StdRegions::StdExpansionSharedPtr | v_GetXmap () const |
| Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element. | |
| virtual void | v_FillGeom () |
| Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements. | |
| 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)\). | |
| 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. | |
| 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. | |
| 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. | |
| virtual int | v_GetVertexFaceMap (int i, int j) const |
| Returns the standard element face IDs that are connected to a given vertex. | |
| virtual int | v_GetEdgeFaceMap (int i, int j) const |
| Returns the standard element edge IDs that are connected to a given face. | |
| 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. | |
| virtual int | v_GetDir (const int faceidx, const int facedir) const |
| Returns the element coordinate direction corresponding to a given face coordinate direction. | |
| virtual GeomType | v_CalcGeomType () |
| virtual void | v_Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
| Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. | |
| virtual void | v_Setup () |
| void | SetUpCoeffs (const int nCoeffs) |
| Initialise the Geometry::m_coeffs array. | |
| virtual void | v_CalculateInverseIsoParam () |
Protected Attributes | |
| int | m_coordim |
| Coordinate dimension of this geometry object. | |
| StdRegions::StdExpansionSharedPtr | m_xmap |
| \(\chi\) mapping containing isoparametric transformation. | |
| GeomState | m_state |
| Enumeration to dictate whether coefficients are filled. | |
| bool | m_setupState |
| Wether or not the setup routines have been run. | |
| LibUtilities::ShapeType | m_shapeType |
| Type of shape. | |
| int | m_globalID |
| Global ID. | |
| std::vector< Array< OneD, NekDouble > > | m_coeffs |
Array containing expansion coefficients of m_xmap. | |
| Array< OneD, NekDouble > | m_boundingBox |
| Array containing bounding box. | |
| Array< OneD, Array< OneD, NekDouble > > | m_isoParameter |
| Array< OneD, Array< OneD, NekDouble > > | m_invIsoParam |
| int | m_straightEdge |
Base class for shape geometry information.
Definition at line 83 of file Geometry.h.
| Nektar::SpatialDomains::Geometry::Geometry | ( | ) |
Default constructor.
Definition at line 47 of file Geometry.cpp.
| Nektar::SpatialDomains::Geometry::Geometry | ( | int | coordim | ) |
Constructor when supplied a coordinate dimension.
Definition at line 56 of file Geometry.cpp.
|
virtualdefault |
|
inline |
A geometric shape is considered regular if it has constant geometric information, and deformed if this information changes throughout the shape.
Definition at line 306 of file Geometry.h.
References v_CalcGeomType().
Referenced by GetBoundingBox(), PreliminaryCheck(), v_ContainsPoint(), 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::Geometry1D::v_GetLocCoords(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
| 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 525 of file Geometry.cpp.
References ASSERTL1, and GetShapeDim().
Referenced by Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::FieldUtils::ProcessWallNormalData::NewtonIterForLocCoordOnBndElmt(), 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 462 of file Geometry.cpp.
References m_boundingBox.
|
inline |
Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\).
Definition at line 486 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 522 of file Geometry.h.
References v_ContainsPoint().
|
inline |
Determine whether an element contains a particular Cartesian coordinate \((x,y,z)\).
Definition at line 472 of file Geometry.h.
References GetCoordim(), and v_ContainsPoint().
Referenced by Geometry_ContainsPoint().
|
inline |
Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements.
Definition at line 461 of file Geometry.h.
References v_FillGeom().
Referenced by export_Geometry(), Nektar::LocalRegions::HexExp::v_GetCoord(), Nektar::LocalRegions::PrismExp::v_GetCoord(), Nektar::LocalRegions::QuadExp::v_GetCoord(), Nektar::LocalRegions::SegExp::v_GetCoord(), Nektar::LocalRegions::TriExp::v_GetCoord(), and Nektar::LocalRegions::Expansion::v_GetCoords().
|
inline |
Definition at line 565 of file Geometry.h.
References v_FindDistance().
|
inline |
Used by Expansion to generate associated GeomFactors.
Definition at line 430 of file Geometry.h.
References v_GenGeomFactors().
Referenced by Nektar::LocalRegions::Expansion::GenGeomFactors(), Geometry_GenGeomFactors(), Geometry_IsValid(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), and Nektar::FieldUtils::ProcessWallNormalData::NewtonIterForLocCoordOnBndElmt().
| 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 388 of file Geometry.cpp.
References CalcGeomType(), Nektar::SpatialDomains::eRegular, GetCoordim(), GetNumVerts(), GetVertex(), GetXmap(), Nektar::NekConstants::kFindDistanceMin, Nektar::NekConstants::kGeomFactorsTol, m_boundingBox, m_coeffs, tinysimd::max(), and tinysimd::min().
Referenced by Nektar::SpatialDomains::MeshGraph::GeomRTree::InsertGeom(), and MinMaxCheck().
|
inline |
Return the coefficients of the transformation Geometry::m_xmap in coordinate direction i.
Definition at line 449 of file Geometry.h.
References m_coeffs.
Referenced by Nektar::FieldUtils::ProcessWallNormalData::BndElmtContainsPoint(), export_Geometry(), Nektar::FieldUtils::ProcessBodyFittedVelocity::GenPntwiseBodyFittedCoordSys(), Nektar::FieldUtils::ProcessWallNormalData::GetNormals(), Nektar::FieldUtils::ProcessBodyFittedVelocity::LocCoordForNearestPntOnBndElmt(), Nektar::LocalRegions::Expansion::v_GetCoords(), and Nektar::FieldUtils::ProcessWallNormalData::v_Process().
|
inline |
Given local collapsed coordinate Lcoord, return the value of physical coordinate in direction i.
Definition at line 559 of file Geometry.h.
References v_GetCoord().
Referenced by Nektar::SpatialDomains::Geometry2D::v_FindDistance(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::LocalRegions::HexExp::v_GetCoord(), Nektar::LocalRegions::PrismExp::v_GetCoord(), Nektar::LocalRegions::PyrExp::v_GetCoord(), Nektar::LocalRegions::QuadExp::v_GetCoord(), Nektar::LocalRegions::SegExp::v_GetCoord(), Nektar::LocalRegions::TetExp::v_GetCoord(), and Nektar::LocalRegions::TriExp::v_GetCoord().
|
inline |
Return the coordinate dimension of this object (i.e. the dimension of the space in which this object is embedded).
Definition at line 277 of file Geometry.h.
References m_coordim.
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), ContainsPoint(), Nektar::LocalRegions::SegExp::CreateMatrix(), Nektar::QuadCollectionTests::CreateSegGeom(), Nektar::TriCollectionTests::CreateSegGeom(), export_Geometry(), GetBoundingBox(), Nektar::LocalRegions::QuadExp::v_AlignVectorToCollapsedDir(), Nektar::LocalRegions::TriExp::v_AlignVectorToCollapsedDir(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::LocalRegions::HexExp::v_GetCoord(), Nektar::LocalRegions::PrismExp::v_GetCoord(), Nektar::LocalRegions::PyrExp::v_GetCoord(), Nektar::LocalRegions::QuadExp::v_GetCoord(), Nektar::LocalRegions::SegExp::v_GetCoord(), Nektar::LocalRegions::TetExp::v_GetCoord(), Nektar::LocalRegions::TriExp::v_GetCoord(), Nektar::LocalRegions::Expansion::v_GetCoordim(), Nektar::LocalRegions::Expansion::v_GetCoords(), Nektar::LocalRegions::SegExp::v_HelmholtzMatrixOp(), Nektar::LocalRegions::QuadExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::SegExp::v_IProductWRTDerivBase(), Nektar::LocalRegions::SegExp::v_LaplacianMatrixOp(), and Nektar::LocalRegions::Expansion2D::v_PhysDirectionalDeriv().
|
inline |
Returns the element coordinate direction corresponding to a given face coordinate direction.
Definition at line 662 of file Geometry.h.
References v_GetDir().
Referenced by Nektar::LocalRegions::Expansion3D::v_GetLocTracePhysVals(), Nektar::LocalRegions::Expansion2D::v_TraceNormLen(), and Nektar::LocalRegions::Expansion3D::v_TraceNormLen().
|
inline |
Returns edge i of this object.
Definition at line 361 of file Geometry.h.
References v_GetEdge().
Referenced by export_Geometry(), GetEid(), Nektar::SpatialDomains::MeshGraph::GetElementsFromEdge(), Nektar::SpatialDomains::HexGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), Nektar::SpatialDomains::TetGeom::SetUpLocalEdges(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::Expansion2D::v_GenTraceExp(), and Nektar::LocalRegions::Expansion3D::v_TraceNormLen().
|
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 631 of file Geometry.h.
References v_GetEdgeFaceMap().
Referenced by Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix().
|
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 653 of file Geometry.h.
References v_GetEdgeNormalToFaceVert().
Referenced by Nektar::LocalRegions::Expansion3D::v_TraceNormLen().
| int Nektar::SpatialDomains::Geometry::GetEid | ( | int | i | ) | const |
Get the ID of edge i of this object.
Definition at line 83 of file Geometry.cpp.
References GetEdge(), and GetGlobalID().
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), export_Geometry(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), GetTid(), Nektar::SpatialDomains::LinearMeshGraph::LinMeshSetUpPrismGeom(), Nektar::SpatialDomains::LinearMeshGraph::LinMeshSetUpTetGeom(), Nektar::SpatialDomains::HexGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), Nektar::SpatialDomains::TetGeom::SetUpLocalEdges(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::SpatialDomains::WriteQuad(), Nektar::SpatialDomains::WriteQuad(), Nektar::SpatialDomains::WriteTri(), Nektar::SpatialDomains::WriteTri(), and Nektar::SpatialDomains::MeshGraphIOXml::WriteXMLGeometry().
|
inline |
Returns the orientation of edge i with respect to the ordering of edges in the standard element.
Definition at line 378 of file Geometry.h.
References v_GetEorient().
Referenced by export_Geometry(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), Nektar::LocalRegions::Expansion3D::GetEdgeInverseBoundaryMap(), Nektar::LocalRegions::Expansion2D::GetTraceInverseBoundaryMap(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::QuadExp::v_GetTraceOrient(), and Nektar::LocalRegions::TriExp::v_GetTraceOrient().
|
inline |
Returns face i of this object.
Definition at line 369 of file Geometry.h.
References v_GetFace().
Referenced by export_Geometry(), GetFid(), Nektar::SpatialDomains::MeshGraph::PopulateFaceToElMap(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::Expansion3D::v_GenTraceExp(), and Nektar::LocalRegions::Expansion3D::v_TraceNormLen().
| int Nektar::SpatialDomains::Geometry::GetFid | ( | int | i | ) | const |
Get the ID of face i of this object.
Definition at line 91 of file Geometry.cpp.
References GetFace(), and GetGlobalID().
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), export_Geometry(), GetTid(), Nektar::MultiRegions::PreconditionerLowEnergy::v_BuildPreconditioner(), Nektar::SpatialDomains::WriteHex(), Nektar::SpatialDomains::WriteHex(), Nektar::SpatialDomains::WritePrism(), Nektar::SpatialDomains::WritePrism(), Nektar::SpatialDomains::WritePyr(), Nektar::SpatialDomains::WritePyr(), Nektar::SpatialDomains::WriteTet(), Nektar::SpatialDomains::WriteTet(), and Nektar::SpatialDomains::MeshGraphIOXml::WriteXMLGeometry().
|
inline |
Returns the orientation of face i with respect to the ordering of faces in the standard element.
Definition at line 387 of file Geometry.h.
References v_GetForient().
Referenced by export_Geometry(), and Nektar::LocalRegions::Expansion3D::v_GetTraceOrient().
|
inline |
Get the ID of this object.
Definition at line 314 of file Geometry.h.
References m_globalID.
Referenced by Nektar::SolverUtils::CouplingCwipi::AddElementsToMesh(), Nektar::MultiRegions::AssemblyMapDG::AssemblyMapDG(), CheckTetRotation(), Nektar::LocalRegions::Expansion::Expansion(), export_Geometry(), GenerateMapEidsv1v2(), Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom(), Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(), GetEid(), Nektar::SpatialDomains::MeshGraph::GetElementsFromEdge(), Nektar::SpatialDomains::MeshGraph::GetElementsFromFace(), Nektar::SpatialDomains::MeshGraph::GetExpansionInfo(), GetFid(), Nektar::FieldUtils::ProcessQualityMetric::GetQ(), Nektar::SpatialDomains::GlobalIdEquality(), Nektar::SpatialDomains::MeshGraph::GeomRTree::InsertGeom(), Nektar::SpatialDomains::LinearMeshGraph::LinMeshSetUpCompositesDomain(), main(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::FieldUtils::ProcessWallNormalData::NewtonIterForLocCoordOnBndElmt(), Nektar::SpatialDomains::MeshGraph::PopulateFaceToElMap(), Nektar::SpatialDomains::MeshGraph::PRefinementElmts(), Nektar::PulseWaveSystem::SetUpDomainInterfaceBCs(), 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(), Nektar::SpatialDomains::TetGeom::SetUpLocalVertices(), Nektar::MultiRegions::AssemblyMapDG::SetUpUniversalDGMap(), Nektar::SpatialDomains::SortByGlobalId(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::Expansion2D::v_AddEdgeNormBoundaryInt(), Nektar::LocalRegions::Expansion3D::v_AddFaceNormBoundaryInt(), Nektar::SpatialDomains::QuadGeom::v_AllLeftCheck(), Nektar::SpatialDomains::TriGeom::v_AllLeftCheck(), v_GetVid(), Nektar::SpatialDomains::WriteVert(), and Nektar::SpatialDomains::ZoneBase::ZoneBase().
|
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 549 of file Geometry.h.
References v_GetLocCoords().
Referenced by v_ContainsPoint(), Nektar::SpatialDomains::Geometry2D::v_FindDistance(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::LocalRegions::HexExp::v_PhysEvalFirstDeriv(), Nektar::LocalRegions::PrismExp::v_PhysEvalFirstDeriv(), Nektar::LocalRegions::PyrExp::v_PhysEvalFirstDeriv(), Nektar::LocalRegions::QuadExp::v_PhysEvalFirstDeriv(), Nektar::LocalRegions::SegExp::v_PhysEvalFirstDeriv(), Nektar::LocalRegions::TetExp::v_PhysEvalFirstDeriv(), Nektar::LocalRegions::TriExp::v_PhysEvalFirstDeriv(), Nektar::LocalRegions::SegExp::v_PhysEvalFirstSecondDeriv(), and Nektar::LocalRegions::Expansion::v_PhysEvaluate().
|
inline |
Get the number of edges of this object.
Definition at line 403 of file Geometry.h.
References v_GetNumEdges().
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), export_Geometry(), Nektar::SpatialDomains::MeshGraph::GetElementsFromEdge(), and Nektar::SpatialDomains::MeshGraphIOXml::WriteXMLGeometry().
|
inline |
Get the number of faces of this object.
Definition at line 411 of file Geometry.h.
References v_GetNumFaces().
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), export_Geometry(), and Nektar::SpatialDomains::MeshGraphIOXml::WriteXMLGeometry().
|
inline |
Get the number of vertices of this object.
Definition at line 395 of file Geometry.h.
References v_GetNumVerts().
Referenced by Nektar::SolverUtils::CouplingCwipi::AddElementsToMesh(), Nektar::SpatialDomains::MeshGraph::CheckRange(), Nektar::SpatialDomains::MeshGraph::CheckRange(), export_Geometry(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), GetBoundingBox(), Nektar::MappingIdealToRef(), Nektar::FieldUtils::MappingIdealToRef(), Nektar::SolverUtils::DriverArnoldi::MaskInit(), Nektar::SpatialDomains::MeshGraph::PRefinementElmts(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::Expansion3D::v_GenTraceExp(), Nektar::FieldUtils::ProcessPowerSpectrum::v_Process(), Nektar::LocalRegions::Expansion2D::v_TraceNormLen(), Nektar::LocalRegions::Expansion3D::v_TraceNormLen(), Nektar::FieldUtils::ProcessForceDecompose::VolumeIntegrateForce(), and Nektar::SpatialDomains::MeshGraphIOXml::WriteXMLGeometry().
|
inline |
Get the object's shape dimension.
For example, a segment is one dimensional and quadrilateral is two dimensional.
Definition at line 422 of file Geometry.h.
References v_GetShapeDim().
Referenced by ClampLocCoords(), export_Geometry(), Nektar::SpatialDomains::MeshGraph::GetCompositeString(), Nektar::SpatialDomains::MeshGraphIO::GetCompositeString(), GetTid(), and v_ContainsPoint().
|
inline |
Get the geometric shape type of this object.
Definition at line 294 of file Geometry.h.
References m_shapeType.
Referenced by Nektar::SpatialDomains::MeshGraph::CheckRange(), Nektar::SpatialDomains::MeshGraph::DefineBasisKeyFromExpansionType(), Nektar::SpatialDomains::MeshGraph::DefineBasisKeyFromExpansionTypeHomo(), export_Geometry(), Nektar::SpatialDomains::MeshGraph::GetCompositeString(), Nektar::SpatialDomains::MeshGraphIO::GetCompositeString(), Nektar::FieldUtils::MappingIdealToRef(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::SpatialDomains::MeshGraphIOXml::v_ReadElements3D(), and Nektar::SpatialDomains::MeshGraphIOXmlCompressed::v_ReadElements3D().
|
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 333 of file Geometry.h.
References GetEid(), GetFid(), GetShapeDim(), and GetVid().
Referenced by export_Geometry().
|
inline |
Returns vertex i of this object.
Definition at line 353 of file Geometry.h.
References v_GetVertex().
Referenced by Nektar::SolverUtils::CouplingCwipi::AddElementsToMesh(), Nektar::SpatialDomains::MeshGraph::CheckRange(), Nektar::SpatialDomains::MeshGraph::CheckRange(), export_Geometry(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), GenerateMapEidsv1v2(), GetBoundingBox(), Nektar::SpatialDomains::SegGeom::GetEdgeOrientation(), GetNewVertexLocation(), Nektar::MappingIdealToRef(), Nektar::FieldUtils::MappingIdealToRef(), Nektar::SolverUtils::DriverArnoldi::MaskInit(), Nektar::SpatialDomains::MeshGraph::PRefinementElmts(), Nektar::VariableConverter::SetElmtMinHP(), Nektar::PulseWaveSystem::SetUpDomainInterfaceBCs(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::GlobalMapping::UpdateGeometry(), v_GetVid(), Nektar::DiffusionLDGNS::v_InitObject(), Nektar::FieldUtils::ProcessPowerSpectrum::v_Process(), Nektar::LocalRegions::Expansion1D::v_TraceNormLen(), Nektar::LocalRegions::Expansion2D::v_TraceNormLen(), Nektar::LocalRegions::Expansion3D::v_TraceNormLen(), Nektar::FieldUtils::ProcessForceDecompose::VolumeIntegrateForce(), and Nektar::SpatialDomains::ZoneBase::ZoneBase().
|
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 588 of file Geometry.h.
References v_GetVertexEdgeMap().
Referenced by Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix().
|
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 610 of file Geometry.h.
References v_GetVertexFaceMap().
Referenced by Nektar::LocalRegions::Expansion3D::v_BuildTransformationMatrix().
|
inline |
Returns global id of vertex i of this object.
Definition at line 345 of file Geometry.h.
References v_GetVid().
Referenced by CheckTetRotation(), Nektar::CoupledLocalToGlobalC0ContMap::CoupledLocalToGlobalC0ContMap(), Nektar::MultiRegions::AssemblyMapCG::CreateGraph(), Nektar::LocalRegions::Expansion::Expansion(), export_Geometry(), Nektar::MultiRegions::DisContField::FindPeriodicTraces(), GetNewVertexLocation(), GetTid(), Nektar::SpatialDomains::LinearMeshGraph::LinMeshSetUpCompositesDomain(), Nektar::SpatialDomains::LinearMeshGraph::LinMeshSetUpPrismGeom(), Nektar::SpatialDomains::LinearMeshGraph::LinMeshSetUpTetGeom(), main(), Nektar::SpatialDomains::HexGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::TetGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::HexGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PrismGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PyrGeom::SetUpLocalVertices(), Nektar::SpatialDomains::TetGeom::SetUpLocalVertices(), Nektar::GlobalMapping::UpdateGeometry(), Nektar::LocalRegions::PrismExp::v_GetSimplexEquiSpacedConnectivity(), Nektar::FieldUtils::ProcessDisplacement::v_Process(), Nektar::SpatialDomains::WriteEdge(), Nektar::SpatialDomains::WriteEdge(), and Nektar::SpatialDomains::MeshGraphIOXml::WriteXMLGeometry().
|
inline |
Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element.
Definition at line 440 of file Geometry.h.
References v_GetXmap().
Referenced by Nektar::FieldUtils::ProcessWallNormalData::BisectionForLocCoordOnBndElmt(), Nektar::FieldUtils::ProcessWallNormalData::BndElmtContainsPoint(), export_Geometry(), Nektar::FieldUtils::ProcessBodyFittedVelocity::GenPntwiseBodyFittedCoordSys(), Geometry_GenGeomFactors(), Geometry_IsValid(), GetBoundingBox(), Nektar::FieldUtils::ProcessWallNormalData::GetNormals(), Nektar::FieldUtils::ProcessQualityMetric::GetQ(), Nektar::FieldUtils::ProcessBodyFittedVelocity::LocCoordForNearestPntOnBndElmt(), Nektar::FieldUtils::ProcessBodyFittedVelocity::LocCoordForNearestPntOnBndElmt_2D(), Nektar::FieldUtils::ProcessWallNormalData::NewtonIterForLocCoordOnBndElmt(), 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::QuadGeom::v_AllLeftCheck(), Nektar::SpatialDomains::TriGeom::v_AllLeftCheck(), Nektar::SpatialDomains::HexGeom::v_FillGeom(), Nektar::SpatialDomains::PrismGeom::v_FillGeom(), Nektar::SpatialDomains::PyrGeom::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::TetGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::LocalRegions::Expansion::v_GetCoords(), and Nektar::FieldUtils::ProcessWallNormalData::v_Process().
| 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 502 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 477 of file Geometry.cpp.
References CalcGeomType(), Nektar::SpatialDomains::eRegular, 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 671 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 680 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 286 of file Geometry.h.
References m_coordim.
|
inline |
Set the ID of this object.
Definition at line 322 of file Geometry.h.
References m_globalID.
Referenced by export_Geometry().
|
inline |
Definition at line 686 of file Geometry.h.
References v_Setup().
Referenced by export_Geometry(), Geometry_GenGeomFactors(), and Geometry_IsValid().
|
inlineprotected |
Initialise the Geometry::m_coeffs array.
Definition at line 694 of file Geometry.h.
References m_coeffs, and m_coordim.
Referenced by Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::PointGeom::v_GenGeomFactors(), 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::Geometry3D, Nektar::SpatialDomains::QuadGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 205 of file Geometry.cpp.
Referenced by PreliminaryCheck().
|
protectedvirtual |
Calculates the GeomType (deformed, regular etc).
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 187 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, Nektar::SpatialDomains::eNoGeomType, and NEKERROR.
Referenced by CalcGeomType().
|
protectedvirtual |
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::Geometry3D.
Definition at line 211 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 231 of file Geometry.cpp.
References CalcGeomType(), ClampLocCoords(), Nektar::LibUtilities::eQuadrilateral, Nektar::SpatialDomains::eRegular, Nektar::LibUtilities::eTriangle, GetLocCoords(), GetShapeDim(), m_coordim, m_shapeType, m_xmap, and PreliminaryCheck().
Referenced by ContainsPoint(), ContainsPoint(), and ContainsPoint().
|
protectedvirtual |
Populate the coordinate mapping Geometry::m_coeffs information from any children geometry elements.
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 357 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FillGeom(), Nektar::SpatialDomains::Geometry1D::v_GetLocCoords(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
|
protectedvirtual |
Reimplemented in Nektar::SpatialDomains::Geometry2D, and Nektar::SpatialDomains::SegGeom.
Definition at line 266 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by FindDistance().
|
protectedvirtual |
Used by Expansion to generate associated GeomFactors.
Reimplemented 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.
Definition at line 197 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GenGeomFactors(), and Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord().
|
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 333 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 322 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetDir().
|
protectedvirtual |
Returns edge i of this object.
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 109 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 300 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 311 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::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 139 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::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, and Nektar::SpatialDomains::TetGeom.
Definition at line 119 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::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, and Nektar::SpatialDomains::TetGeom.
Definition at line 150 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 345 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::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::TriGeom.
Definition at line 161 of file Geometry.cpp.
Referenced by GetNumEdges().
|
protectedvirtual |
Get the number of faces of this object.
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, and Nektar::SpatialDomains::TetGeom.
Definition at line 169 of file Geometry.cpp.
Referenced by GetNumFaces().
|
protectedvirtual |
Get the number of vertices of this object.
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::TetGeom, Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::SegGeom.
Definition at line 129 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 177 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetShapeDim().
|
protectedvirtual |
Returns vertex i of this object.
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::PyrGeom, Nektar::SpatialDomains::QuadGeom, Nektar::SpatialDomains::TetGeom, Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::SegGeom.
Definition at line 99 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
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 278 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 289 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by GetVertexFaceMap().
|
protectedvirtual |
Get the ID of vertex i of this object.
Reimplemented in Nektar::SpatialDomains::PointGeom.
Definition at line 75 of file Geometry.cpp.
References GetGlobalID(), and GetVertex().
Referenced by GetVid().
|
protectedvirtual |
Return the mapping object Geometry::m_xmap that represents the coordinate transformation from standard element to physical element.
Definition at line 220 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 366 of file Geometry.cpp.
References Nektar::SpatialDomains::eNotFilled, 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 373 of file Geometry.cpp.
References Nektar::ErrorUtil::efatal, and NEKERROR.
Referenced by Setup().
Array containing bounding box.
Definition at line 198 of file Geometry.h.
Referenced by ClearBoundingBox(), and GetBoundingBox().
Array containing expansion coefficients of m_xmap.
Definition at line 196 of file Geometry.h.
Referenced by GetBoundingBox(), GetCoeffs(), SetUpCoeffs(), Nektar::SpatialDomains::HexGeom::v_FillGeom(), Nektar::SpatialDomains::PrismGeom::v_FillGeom(), Nektar::SpatialDomains::PyrGeom::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TetGeom::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 184 of file Geometry.h.
Referenced by Nektar::SpatialDomains::PointGeom::Add(), Nektar::SpatialDomains::Geometry2D::Geometry2D(), Nektar::SpatialDomains::Geometry3D::Geometry3D(), GetCoordim(), Nektar::SpatialDomains::PointGeom::GetCoords(), Nektar::SpatialDomains::PointGeom::GetCoords(), MinMaxCheck(), Nektar::SpatialDomains::PointGeom::Mult(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), 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::QuadGeom::v_AllLeftCheck(), Nektar::SpatialDomains::TriGeom::v_AllLeftCheck(), Nektar::SpatialDomains::QuadGeom::v_CalcGeomType(), Nektar::SpatialDomains::TriGeom::v_CalcGeomType(), v_ContainsPoint(), Nektar::SpatialDomains::HexGeom::v_FillGeom(), Nektar::SpatialDomains::PrismGeom::v_FillGeom(), Nektar::SpatialDomains::PyrGeom::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TetGeom::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 |
Global ID.
Definition at line 194 of file Geometry.h.
Referenced by Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom(), GetGlobalID(), Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::QuadGeom::QuadGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), 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::TriGeom::TriGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::SpatialDomains::PointGeom::v_GetVid(), Nektar::SpatialDomains::QuadGeom::v_Reset(), Nektar::SpatialDomains::SegGeom::v_Reset(), and Nektar::SpatialDomains::TriGeom::v_Reset().
Definition at line 200 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 199 of file Geometry.h.
Referenced by Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::QuadGeom::PreSolveStraightEdge(), Nektar::SpatialDomains::Geometry2D::SolveStraightEdgeQuad(), Nektar::SpatialDomains::HexGeom::v_CalcGeomType(), Nektar::SpatialDomains::PrismGeom::v_CalcGeomType(), Nektar::SpatialDomains::PyrGeom::v_CalcGeomType(), Nektar::SpatialDomains::QuadGeom::v_CalcGeomType(), Nektar::SpatialDomains::TetGeom::v_CalcGeomType(), Nektar::SpatialDomains::TriGeom::v_CalcGeomType(), Nektar::SpatialDomains::Geometry2D::v_CalculateInverseIsoParam(), Nektar::SpatialDomains::Geometry3D::v_CalculateInverseIsoParam(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), and Nektar::SpatialDomains::Geometry3D::v_GetLocCoords().
|
protected |
Wether or not the setup routines have been run.
Definition at line 190 of file Geometry.h.
Referenced by Nektar::SpatialDomains::HexGeom::v_CalcGeomType(), Nektar::SpatialDomains::PrismGeom::v_CalcGeomType(), Nektar::SpatialDomains::PyrGeom::v_CalcGeomType(), Nektar::SpatialDomains::QuadGeom::v_CalcGeomType(), Nektar::SpatialDomains::SegGeom::v_CalcGeomType(), Nektar::SpatialDomains::TetGeom::v_CalcGeomType(), Nektar::SpatialDomains::TriGeom::v_CalcGeomType(), Nektar::SpatialDomains::PointGeom::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 192 of file Geometry.h.
Referenced by GetShapeType(), Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PointGeom::PointGeom(), Nektar::SpatialDomains::PrismGeom::PrismGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::QuadGeom::QuadGeom(), Nektar::SpatialDomains::QuadGeom::QuadGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::TetGeom::TetGeom(), Nektar::SpatialDomains::TetGeom::TetGeom(), Nektar::SpatialDomains::TriGeom::TriGeom(), Nektar::SpatialDomains::TriGeom::TriGeom(), Nektar::SpatialDomains::TriGeom::TriGeom(), and v_ContainsPoint().
|
protected |
Enumeration to dictate whether coefficients are filled.
Definition at line 188 of file Geometry.h.
Referenced by Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::SegGeom::SegGeom(), Nektar::SpatialDomains::HexGeom::v_FillGeom(), Nektar::SpatialDomains::PrismGeom::v_FillGeom(), Nektar::SpatialDomains::PyrGeom::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TetGeom::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 201 of file Geometry.h.
Referenced by Nektar::SpatialDomains::QuadGeom::PreSolveStraightEdge(), Nektar::SpatialDomains::Geometry2D::SolveStraightEdgeQuad(), Nektar::SpatialDomains::QuadGeom::v_CalcGeomType(), Nektar::SpatialDomains::Geometry2D::v_GetLocCoords(), Nektar::SpatialDomains::Geometry3D::v_GetLocCoords(), Nektar::SpatialDomains::HexGeom::v_Setup(), Nektar::SpatialDomains::PrismGeom::v_Setup(), Nektar::SpatialDomains::PyrGeom::v_Setup(), Nektar::SpatialDomains::QuadGeom::v_Setup(), Nektar::SpatialDomains::TetGeom::v_Setup(), and Nektar::SpatialDomains::TriGeom::v_Setup().
|
protected |
\(\chi\) mapping containing isoparametric transformation.
Definition at line 186 of file Geometry.h.
Referenced by Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom(), Nektar::SpatialDomains::Geometry3D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), Nektar::SpatialDomains::Geometry3D::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(), Nektar::SpatialDomains::HexGeom::v_CalcGeomType(), Nektar::SpatialDomains::PrismGeom::v_CalcGeomType(), Nektar::SpatialDomains::PyrGeom::v_CalcGeomType(), Nektar::SpatialDomains::QuadGeom::v_CalcGeomType(), Nektar::SpatialDomains::SegGeom::v_CalcGeomType(), Nektar::SpatialDomains::TetGeom::v_CalcGeomType(), Nektar::SpatialDomains::TriGeom::v_CalcGeomType(), v_ContainsPoint(), Nektar::SpatialDomains::HexGeom::v_FillGeom(), Nektar::SpatialDomains::PrismGeom::v_FillGeom(), Nektar::SpatialDomains::PyrGeom::v_FillGeom(), Nektar::SpatialDomains::QuadGeom::v_FillGeom(), Nektar::SpatialDomains::SegGeom::v_FillGeom(), Nektar::SpatialDomains::TetGeom::v_FillGeom(), Nektar::SpatialDomains::TriGeom::v_FillGeom(), Nektar::SpatialDomains::Geometry2D::v_FindDistance(), Nektar::SpatialDomains::SegGeom::v_FindDistance(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PointGeom::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().