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 () | |
void | AddElmtConnected (int gvo_id, int locid) |
int | NumElmtConnected () const |
bool | IsElmtConnected (int gvo_id, int locid) const |
void | GetCoords (NekDouble &x, NekDouble &y, NekDouble &z) |
void | GetCoords (Array< OneD, NekDouble > &coords) |
void | UpdatePosition (NekDouble x, NekDouble y, NekDouble z) |
int | GetVid () const |
void | SetVid (const int vid) |
void | Mult (PointGeom &a, PointGeom &b) |
void | Add (PointGeom &a, PointGeom &b) |
void | Sub (PointGeom &a, PointGeom &b) |
NekDouble | dist (PointGeom &a) |
NekDouble | dot (PointGeom &a) |
Public Member Functions inherited from Nektar::SpatialDomains::Geometry0D | |
Geometry0D () | |
Geometry0D (const int coordim) | |
virtual | ~Geometry0D () |
Public Member Functions inherited from Nektar::SpatialDomains::Geometry | |
Geometry () | |
Geometry (int coordim) | |
virtual | ~Geometry () |
bool | IsElmtConnected (int gvo_id, int locid) const |
void | AddElmtConnected (int gvo_id, int locid) |
int | NumElmtConnected () const |
int | GetCoordim () const |
void | SetCoordim (int coordim) |
GeomFactorsSharedPtr | GetGeomFactors () |
GeomFactorsSharedPtr | GetRefGeomFactors (const Array< OneD, const LibUtilities::BasisSharedPtr > &tbasis) |
GeomFactorsSharedPtr | GetMetricInfo () |
LibUtilities::ShapeType | GetShapeType (void) |
int | GetGlobalID (void) |
void | SetGlobalID (int globalid) |
int | GetVid (int i) const |
int | GetEid (int i) const |
int | GetFid (int i) const |
int | GetTid (int i) const |
int | GetNumVerts () const |
PointGeomSharedPtr | GetVertex (int i) const |
StdRegions::Orientation | GetEorient (const int i) const |
StdRegions::Orientation | GetPorient (const int i) const |
StdRegions::Orientation | GetForient (const int i) const |
int | GetNumEdges () const |
int | GetNumFaces () const |
int | GetShapeDim () const |
StdRegions::StdExpansionSharedPtr | GetXmap () const |
const Array< OneD, const NekDouble > & | GetCoeffs (const int i) const |
bool | ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0) |
bool | ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol) |
bool | ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol, NekDouble &resid) |
int | GetVertexEdgeMap (int i, int j) const |
int | GetVertexFaceMap (int i, int j) const |
return the id of the face attached to the vertex More... | |
int | GetEdgeFaceMap (int i, int j) const |
void | FillGeom () |
Put all quadrature information into face/edge structure and backward transform. More... | |
NekDouble | GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) |
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... | |
void | SetOwnData () |
const LibUtilities::BasisSharedPtr | GetBasis (const int i) |
Return the j-th basis of the i-th co-ordinate dimension. More... | |
const LibUtilities::PointsKeyVector | GetPointsKeys () |
void | Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
Public Member Functions inherited from Nektar::NekPoint< NekDouble > | |
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 |
Static Public Member Functions | |
static StdRegions::Orientation | GetPointOrientation (const SegGeom &edge1, const SegGeom &edge2) |
Get the orientation of point1; to be used later for normal convention. More... | |
Static Public Member Functions inherited from Nektar::NekPoint< NekDouble > | |
static unsigned int | dimension () |
Returns the number of dimensions for the point. More... | |
Protected Member Functions | |
virtual void | v_GenGeomFactors () |
virtual int | v_GetVid (int id) const |
virtual PointGeomSharedPtr | v_GetVertex (int i) const |
Protected Member Functions inherited from Nektar::SpatialDomains::Geometry | |
void | GenGeomFactors () |
virtual bool | v_IsElmtConnected (int gvo_id, int locid) const |
virtual void | v_AddElmtConnected (int gvo_id, int locid) |
virtual int | v_NumElmtConnected () const |
virtual int | v_GetEid (int i) const |
virtual int | v_GetFid (int i) const |
virtual int | v_GetNumVerts () const |
virtual StdRegions::Orientation | v_GetEorient (const int i) const |
virtual StdRegions::Orientation | v_GetPorient (const int i) const |
virtual StdRegions::Orientation | v_GetForient (const int i) const |
virtual int | v_GetNumEdges () const |
virtual int | v_GetNumFaces () const |
virtual int | v_GetShapeDim () const |
virtual StdRegions::StdExpansionSharedPtr | v_GetXmap () const |
virtual int | v_GetCoordim () const |
virtual bool | v_ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0) |
virtual bool | v_ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol) |
virtual bool | v_ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, Array< OneD, NekDouble > &locCoord, NekDouble tol, NekDouble &resid) |
virtual int | v_GetVertexEdgeMap (int i, int j) const |
virtual int | v_GetVertexFaceMap (int i, int j) const |
virtual int | v_GetEdgeFaceMap (int i, int j) const |
virtual void | v_FillGeom () |
virtual void | v_SetOwnData () |
virtual const LibUtilities::BasisSharedPtr | v_GetBasis (const int i) |
virtual void | v_Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
Reset this geometry object: unset the current state and remove allocated GeomFactors. More... | |
void | SetUpCoeffs (const int nCoeffs) |
Initialise the m_coeffs array. More... | |
Protected Attributes | |
int | m_vid |
std::list< CompToElmt > | m_elmtMap |
Protected Attributes inherited from Nektar::SpatialDomains::Geometry | |
int | m_coordim |
coordinate dimension More... | |
GeomFactorsSharedPtr | m_geomFactors |
GeomState | m_geomFactorsState |
StdRegions::StdExpansionSharedPtr | m_xmap |
GeomState | m_state |
enum identifier to determine if quad points are filled More... | |
GeomType | m_geomType |
LibUtilities::ShapeType | m_shapeType |
int | m_globalID |
Array< OneD, Array< OneD, NekDouble > > | m_coeffs |
Private Member Functions | |
virtual NekDouble | v_GetCoord (const int i, const Array< OneD, const NekDouble > &Lcoord) |
virtual NekDouble | v_GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) |
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 | |
Public Types inherited from Nektar::NekPoint< NekDouble > | |
typedef NekDouble | DataType |
typedef ThreeD | dim |
Static Protected Member Functions inherited from Nektar::SpatialDomains::Geometry | |
static GeomFactorsSharedPtr | ValidateRegGeomFactor (GeomFactorsSharedPtr geomFactor) |
Static Protected Attributes inherited from Nektar::SpatialDomains::Geometry | |
static GeomFactorsVector | m_regGeomFactorsManager |
Definition at line 60 of file PointGeom.h.
Nektar::SpatialDomains::PointGeom::PointGeom | ( | ) |
Definition at line 51 of file PointGeom.cpp.
References Nektar::LibUtilities::ePoint, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_shapeType, and m_vid.
Referenced by v_GetVertex().
Nektar::SpatialDomains::PointGeom::PointGeom | ( | const int | coordim, |
const int | vid, | ||
NekDouble | x, | ||
NekDouble | y, | ||
NekDouble | z | ||
) |
Definition at line 59 of file PointGeom.cpp.
References Nektar::LibUtilities::ePoint, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, and m_vid.
Nektar::SpatialDomains::PointGeom::PointGeom | ( | const PointGeom & | T | ) |
Definition at line 75 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim, m_elmtMap, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, and m_vid.
Nektar::SpatialDomains::PointGeom::~PointGeom | ( | ) |
Definition at line 90 of file PointGeom.cpp.
Definition at line 159 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoordim(), and Nektar::SpatialDomains::Geometry::m_coordim.
void Nektar::SpatialDomains::PointGeom::AddElmtConnected | ( | int | gvo_id, |
int | locid | ||
) |
Definition at line 95 of file PointGeom.cpp.
References m_elmtMap.
Definition at line 186 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 GetNewVertexLocation(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), and Nektar::SpatialDomains::HexGeom::v_GetLocCoords().
Definition at line 192 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::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 122 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim.
Referenced by Nektar::LocalRegions::PointExp::GetCoords(), and Nektar::LocalRegions::PointExp::v_GetCoords().
Definition at line 136 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim.
|
static |
Get the orientation of point1; to be used later for normal convention.
If edge1 is connected to edge2 in the same direction as the points comprising edge1 then it is forward, otherwise it is backward.
For example, assume edge1 is comprised of points 1 and 2, and edge2 is comprised of points 2 and 3, then edge1 is forward.
If edge1 is comprised of points 2 and 1 and edge2 is comprised of points 3 and 2, then edge1 is backward.
Since both edges are passed, it does not need any information from the EdgeComponent instance.
Backward direction. Vertex 0 is connected to edge 2.
Definition at line 269 of file PointGeom.cpp.
References ASSERTL0, Nektar::StdRegions::eBwd, Nektar::StdRegions::eFwd, Nektar::SpatialDomains::Geometry1D::GetEid(), and Nektar::SpatialDomains::Geometry1D::GetVertex().
|
inline |
bool Nektar::SpatialDomains::PointGeom::IsElmtConnected | ( | int | gvo_id, |
int | locid | ||
) | const |
Definition at line 106 of file PointGeom.cpp.
References Nektar::StdRegions::find(), and m_elmtMap.
Definition at line 177 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim.
Referenced by 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().
int Nektar::SpatialDomains::PointGeom::NumElmtConnected | ( | ) | const |
Definition at line 101 of file PointGeom.cpp.
References m_elmtMap.
|
inline |
Definition at line 168 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoordim(), and Nektar::SpatialDomains::Geometry::m_coordim.
Referenced by 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 151 of file PointGeom.cpp.
|
protectedvirtual |
Implements Nektar::SpatialDomains::Geometry.
Definition at line 293 of file PointGeom.cpp.
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 298 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoord().
|
privatevirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 303 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetLocCoords().
|
protectedvirtual |
Implements Nektar::SpatialDomains::Geometry.
Definition at line 244 of file PointGeom.cpp.
References ASSERTL0, and PointGeom().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 239 of file PointGeom.cpp.
References m_vid.
Definition at line 214 of file PointGeom.cpp.
Definition at line 219 of file PointGeom.cpp.
Definition at line 224 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 199 of file PointGeom.cpp.
Definition at line 204 of file PointGeom.cpp.
Definition at line 209 of file PointGeom.cpp.
|
protected |
Definition at line 108 of file PointGeom.h.
Referenced by AddElmtConnected(), IsElmtConnected(), NumElmtConnected(), and PointGeom().
|
protected |
Definition at line 107 of file PointGeom.h.
Referenced by GetVid(), Nektar::SpatialDomains::operator!=(), Nektar::SpatialDomains::operator==(), PointGeom(), SetVid(), and v_GetVid().