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 () |
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 | GetNumVerts () const |
PointGeomSharedPtr | GetVertex (int i) const |
StdRegions::Orientation | GetEorient (const int i) const |
StdRegions::Orientation | GetPorient (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 | |
int | GetEdgeFaceMap (int i, int j) const |
void | FillGeom () |
Put all quadrature information into face/edge structure and backward transform. | |
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. | |
void | SetOwnData () |
const LibUtilities::BasisSharedPtr | GetBasis (const int i) |
Return the j-th basis of the i-th co-ordinate dimension. | |
const LibUtilities::PointsKeyVector | GetPointsKeys () |
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. | |
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. | |
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. | |
Static Public Member Functions inherited from Nektar::NekPoint< NekDouble > | |
static unsigned int | dimension () |
Returns the number of dimensions for the point. |
Protected Member Functions | |
virtual void | v_GenGeomFactors () |
virtual int | v_GetVid (int id) const |
virtual PointGeomSharedPtr | v_GetVertex (int i) const |
Protected Attributes | |
int | m_vid |
std::list< CompToElmt > | m_elmtMap |
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. | |
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_shapeType, and m_vid.
Nektar::SpatialDomains::PointGeom::PointGeom | ( | const PointGeom & | T | ) |
Definition at line 74 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim, m_elmtMap, Nektar::SpatialDomains::Geometry::m_shapeType, and m_vid.
Nektar::SpatialDomains::PointGeom::~PointGeom | ( | ) |
Definition at line 88 of file PointGeom.cpp.
Definition at line 157 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 | ||
) |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 93 of file PointGeom.cpp.
References m_elmtMap.
Definition at line 184 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().
Definition at line 190 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 120 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 134 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 267 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 |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 104 of file PointGeom.cpp.
References Nektar::StdRegions::find(), and m_elmtMap.
Definition at line 175 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 |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 99 of file PointGeom.cpp.
References m_elmtMap.
|
inline |
Definition at line 166 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 149 of file PointGeom.cpp.
|
protectedvirtual |
|
privatevirtual |
Definition at line 296 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoord().
|
privatevirtual |
Definition at line 301 of file PointGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetLocCoords().
|
protectedvirtual |
Implements Nektar::SpatialDomains::Geometry.
Definition at line 242 of file PointGeom.cpp.
References ASSERTL0, and PointGeom().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 237 of file PointGeom.cpp.
References m_vid.
Definition at line 212 of file PointGeom.cpp.
Definition at line 217 of file PointGeom.cpp.
Definition at line 222 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 197 of file PointGeom.cpp.
Definition at line 202 of file PointGeom.cpp.
Definition at line 207 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().