Nektar++
|
#include <PointGeom.h>
Public Member Functions | |
PointGeom () | |
PointGeom (const int coordim, const int vid, NekDouble x, NekDouble y, NekDouble z) | |
PointGeom (const PointGeom &T) | |
~PointGeom () | |
int | GetVid () |
void | GetCoords (NekDouble &x, NekDouble &y, NekDouble &z) |
void | GetCoords (Array< OneD, NekDouble > &coords) |
void | UpdatePosition (NekDouble x, NekDouble y, NekDouble z) |
void | Mult (PointGeom &a, PointGeom &b) |
_this = a x b More... | |
void | Add (PointGeom &a, PointGeom &b) |
void | Sub (PointGeom &a, PointGeom &b) |
void | Rotate (PointGeom &a, int dir, NekDouble angle) |
_this = rotation of a by angle 'angle' around axis dir More... | |
NekDouble | dist (PointGeom &a) |
return distance between this and input a More... | |
NekDouble | dot (PointGeom &a) |
retun the dot product between this and input a More... | |
![]() | |
Geometry0D () | |
Geometry0D (const int coordim) | |
virtual | ~Geometry0D () |
![]() | |
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... | |
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 &resid) |
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... | |
bool | MinMaxCheck (const Array< OneD, const NekDouble > &gloCoord) |
Check if given global coord is within twice the min/max distance of the element. More... | |
void | ClampLocCoords (Array< OneD, NekDouble > &locCoord, NekDouble tol) |
Clamp local coords to be within standard regions [-1, 1]^dim. More... | |
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... | |
void | Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
Reset this geometry object: unset the current state, zero Geometry::m_coeffs and remove allocated GeomFactors. More... | |
void | Setup () |
![]() | |
NekPoint () | |
NekPoint (const std::string &pointValues) | |
NekPoint (typename boost::call_traits< DataType >::param_type x, typename boost::call_traits< DataType >::param_type y, typename boost::call_traits< DataType >::param_type z) | |
NekPoint (typename boost::call_traits< DataType >::const_reference a) | |
NekPoint (const NekPoint< DataType > &rhs) | |
~NekPoint () | |
NekPoint< DataType > & | operator= (const NekPoint< DataType > &rhs) |
boost::call_traits< DataType >::reference | operator() (unsigned int i) |
Returns i^{th} element. More... | |
boost::call_traits< DataType >::const_reference | operator() (unsigned int i) const |
boost::call_traits< DataType >::reference | operator[] (unsigned int i) |
boost::call_traits< DataType >::const_reference | operator[] (unsigned int i) const |
boost::call_traits< DataType >::const_reference | x () const |
boost::call_traits< DataType >::reference | x () |
boost::call_traits< DataType >::const_reference | y () const |
boost::call_traits< DataType >::reference | y () |
boost::call_traits< DataType >::const_reference | z () const |
boost::call_traits< DataType >::reference | z () |
boost::call_traits< DataType >::const_reference | a () const |
boost::call_traits< DataType >::const_reference | b () const |
boost::call_traits< DataType >::const_reference | c () const |
boost::call_traits< DataType >::const_reference | r () const |
boost::call_traits< DataType >::const_reference | s () const |
boost::call_traits< DataType >::const_reference | t () const |
void | SetX (typename boost::call_traits< DataType >::const_reference val) |
void | SetY (typename boost::call_traits< DataType >::const_reference val) |
void | SetZ (typename boost::call_traits< DataType >::const_reference val) |
const DataType * | GetPtr () const |
bool | operator== (const NekPoint< DataType > &rhs) const |
bool | operator!= (const NekPoint< DataType > &rhs) const |
void | negate () |
Arithmetic Routines. More... | |
NekPoint< DataType > | operator- () const |
NekPoint< DataType > & | operator+= (const NekPoint< DataType > &rhs) |
NekPoint< DataType > & | operator+= (typename boost::call_traits< DataType >::param_type rhs) |
NekPoint< DataType > & | operator-= (const NekPoint< DataType > &rhs) |
NekPoint< DataType > & | operator-= (typename boost::call_traits< DataType >::param_type rhs) |
NekPoint< DataType > & | operator*= (typename boost::call_traits< DataType >::param_type rhs) |
NekPoint< DataType > & | operator/= (typename boost::call_traits< DataType >::param_type rhs) |
std::string | AsString () const |
Protected Member Functions | |
virtual void | v_GenGeomFactors () |
virtual PointGeomSharedPtr | v_GetVertex (int i) const |
![]() | |
virtual int | v_GetShapeDim () const |
Get the object's shape dimension. More... | |
![]() | |
void | GenGeomFactors () |
Handles generation of geometry factors. More... | |
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 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 &resid) |
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 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 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 () |
void | SetUpCoeffs (const int nCoeffs) |
Initialise the Geometry::m_coeffs array. More... | |
Friends | |
bool | operator== (const PointGeom &x, const PointGeom &y) |
Determine equivalence by the ids. No matter what the position, if the ids are the same, then they are equivalent, and vice versa. More... | |
bool | operator== (const PointGeom &x, const PointGeom *y) |
bool | operator== (const PointGeom *x, const PointGeom &y) |
bool | operator!= (const PointGeom &x, const PointGeom &y) |
bool | operator!= (const PointGeom &x, const PointGeom *y) |
bool | operator!= (const PointGeom *x, const PointGeom &y) |
Additional Inherited Members | |
![]() | |
typedef NekDouble | DataType |
typedef ThreeD | dim |
![]() | |
static unsigned int | dimension () |
Returns the number of dimensions for the point. More... | |
![]() | |
static const int | kDim = 0 |
![]() | |
static GeomFactorsSharedPtr | ValidateRegGeomFactor (GeomFactorsSharedPtr geomFactor) |
Check to see if a geometric factor has already been created that contains the same regular information. More... | |
![]() | |
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... | |
![]() | |
static GeomFactorsVector | m_regGeomFactorsManager |
Definition at line 56 of file PointGeom.h.
Nektar::SpatialDomains::PointGeom::PointGeom | ( | ) |
Definition at line 45 of file PointGeom.cpp.
References Nektar::LibUtilities::ePoint, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_globalID, and Nektar::SpatialDomains::Geometry::m_shapeType.
Referenced by v_GetVertex().
Nektar::SpatialDomains::PointGeom::PointGeom | ( | const int | coordim, |
const int | vid, | ||
NekDouble | x, | ||
NekDouble | y, | ||
NekDouble | z | ||
) |
Definition at line 52 of file PointGeom.cpp.
References Nektar::LibUtilities::ePoint, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_globalID, and Nektar::SpatialDomains::Geometry::m_shapeType.
Nektar::SpatialDomains::PointGeom::PointGeom | ( | const PointGeom & | T | ) |
Definition at line 62 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_globalID, and Nektar::SpatialDomains::Geometry::m_shapeType.
Nektar::SpatialDomains::PointGeom::~PointGeom | ( | ) |
Definition at line 72 of file PointGeom.cpp.
Definition at line 116 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoordim(), and Nektar::SpatialDomains::Geometry::m_coordim.
Referenced by GetVid().
return distance between this and input a
Definition at line 181 of file PointGeom.cpp.
References Nektar::NekPoint< NekDouble >::x(), Nektar::NekPoint< data_type >::x(), Nektar::NekPoint< data_type >::y(), Nektar::NekPoint< NekDouble >::y(), Nektar::NekPoint< data_type >::z(), and Nektar::NekPoint< NekDouble >::z().
Referenced by Nektar::MultiRegions::DisContField3D::FindPeriodicFaces(), Nektar::SpatialDomains::QuadGeom::GetFaceOrientation(), Nektar::SpatialDomains::TriGeom::GetFaceOrientation(), GetNewVertexLocation(), GetVid(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), and Nektar::SpatialDomains::HexGeom::v_GetLocCoords().
retun the dot product between this and input a
Definition at line 188 of file PointGeom.cpp.
References Nektar::NekPoint< NekDouble >::x(), Nektar::NekPoint< data_type >::x(), Nektar::NekPoint< data_type >::y(), Nektar::NekPoint< NekDouble >::y(), Nektar::NekPoint< data_type >::z(), and Nektar::NekPoint< NekDouble >::z().
Referenced by GetVid(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), Nektar::SpatialDomains::QuadGeom::v_GetLocCoords(), and Nektar::SpatialDomains::TriGeom::v_GetLocCoords().
Definition at line 76 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim.
Referenced by Nektar::LocalRegions::PointExp::GetCoords(), GetVid(), and Nektar::LocalRegions::PointExp::v_GetCoords().
Definition at line 92 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim.
|
inline |
Definition at line 71 of file PointGeom.h.
References Nektar::NekPoint< NekDouble >::a(), Add(), Nektar::NekPoint< NekDouble >::b(), dist(), dot(), GetCoords(), Nektar::SpatialDomains::Geometry::m_globalID, Mult(), operator!=, operator==, Rotate(), SPATIAL_DOMAINS_EXPORT, Sub(), UpdatePosition(), v_GenGeomFactors(), and v_GetVertex().
_this = a x b
Definition at line 134 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim.
Referenced by GetVid(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), Nektar::SpatialDomains::QuadGeom::v_GetLocCoords(), and Nektar::SpatialDomains::TriGeom::v_GetLocCoords().
_this = rotation of a by angle 'angle' around axis dir
Definition at line 143 of file PointGeom.cpp.
References Nektar::NekPoint< data_type >::x(), Nektar::NekPoint< data_type >::y(), and Nektar::NekPoint< data_type >::z().
Referenced by Nektar::MultiRegions::DisContField3D::FindPeriodicFaces(), Nektar::SpatialDomains::QuadGeom::GetFaceOrientation(), Nektar::SpatialDomains::TriGeom::GetFaceOrientation(), and GetVid().
Definition at line 125 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoordim(), and Nektar::SpatialDomains::Geometry::m_coordim.
Referenced by GetVid(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), Nektar::SpatialDomains::QuadGeom::v_GetLocCoords(), and Nektar::SpatialDomains::TriGeom::v_GetLocCoords().
Definition at line 108 of file PointGeom.cpp.
Referenced by GetVid().
|
protectedvirtual |
Implements Nektar::SpatialDomains::Geometry.
Definition at line 233 of file PointGeom.cpp.
Referenced by GetVid().
|
protectedvirtual |
Implements Nektar::SpatialDomains::Geometry.
Definition at line 225 of file PointGeom.cpp.
References ASSERTL0, and PointGeom().
Referenced by GetVid().
Definition at line 210 of file PointGeom.cpp.
Referenced by GetVid().
Definition at line 215 of file PointGeom.cpp.
Definition at line 220 of file PointGeom.cpp.
Determine equivalence by the ids. No matter what the position, if the ids are the same, then they are equivalent, and vice versa.
Definition at line 195 of file PointGeom.cpp.
Referenced by GetVid().
Definition at line 200 of file PointGeom.cpp.
Definition at line 205 of file PointGeom.cpp.