Nektar++
|
#include <PyrGeom.h>
Public Member Functions | |
PyrGeom () | |
PyrGeom (const Geometry2DSharedPtr faces[]) | |
~PyrGeom () | |
Public Member Functions inherited from Nektar::LibUtilities::GraphVertexObject | |
GraphVertexObject () | |
GraphVertexObject (const GraphVertexID id) | |
int | getid () |
void | setid (const GraphVertexID id) |
virtual | ~GraphVertexObject () |
Public Member Functions inherited from Nektar::SpatialDomains::Geometry3D | |
Geometry3D () | |
Geometry3D (const int coordim) | |
virtual | ~Geometry3D () |
int | GetEid (int i) const |
Return the ID of edge i in this element. More... | |
const Geometry1DSharedPtr | GetEdge (int i) const |
Geometry2DSharedPtr | GetFace (int i) |
Return face i in this element. More... | |
int | GetDir (const int faceidx, const int facedir) const |
Returns the element coordinate direction corresponding to a given face coordinate direction. More... | |
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) |
Static Public Attributes | |
static const int | kNverts = 5 |
static const int | kNedges = 8 |
static const int | kNqfaces = 1 |
static const int | kNtfaces = 4 |
static const int | kNfaces = kNqfaces + kNtfaces |
static const std::string | XMLElementType |
Protected Member Functions | |
virtual void | v_GenGeomFactors () |
virtual NekDouble | v_GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) |
virtual int | v_GetNumVerts () const |
virtual int | v_GetNumEdges () const |
virtual int | v_GetNumFaces () const |
virtual int | v_GetDir (const int faceidx, const int facedir) const |
virtual void | v_Reset (CurveMap &curvedEdges, CurveMap &curvedFaces) |
Reset this geometry object: unset the current state and remove allocated GeomFactors. More... | |
Protected Member Functions inherited from Nektar::SpatialDomains::Geometry3D | |
void | NewtonIterationForLocCoord (const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &ptsx, const Array< OneD, const NekDouble > &ptsy, const Array< OneD, const NekDouble > &ptsz, Array< OneD, NekDouble > &Lcoords, NekDouble &resid) |
virtual void | v_FillGeom () |
Put all quadrature information into face/edge structure and backward transform. More... | |
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 int | v_GetShapeDim () const |
Return the dimension of this element. More... | |
virtual int | v_GetVid (int i) const |
Return the vertex ID of vertex i. More... | |
virtual PointGeomSharedPtr | v_GetVertex (int i) const |
Return vertex i in this element. More... | |
virtual const SegGeomSharedPtr | v_GetEdge (int i) const |
Return edge i of this element. More... | |
virtual StdRegions::Orientation | v_GetEorient (const int i) const |
Return the orientation of edge i in this element. More... | |
virtual int | v_GetEid (int i) const |
Return the ID of edge i in this element. More... | |
virtual const Geometry2DSharedPtr | v_GetFace (int i) const |
Return face i in this element. More... | |
virtual StdRegions::Orientation | v_GetForient (const int i) const |
Return the orientation of face i in this element. More... | |
virtual int | v_GetFid (int i) const |
Return the ID of face i in this element. More... | |
virtual int | v_GetEid () const |
Return the ID of this element. More... | |
virtual int | v_WhichEdge (SegGeomSharedPtr edge) |
Return the local ID of a given edge. More... | |
virtual int | v_WhichFace (Geometry2DSharedPtr face) |
Return the local ID of a given face. More... | |
virtual const LibUtilities::BasisSharedPtr | v_GetBasis (const int i) |
Return the j-th basis of the i-th co-ordinate dimension. More... | |
virtual void | v_AddElmtConnected (int gvo_id, int locid) |
virtual bool | v_IsElmtConnected (int gvo_id, int locid) const |
virtual int | v_NumElmtConnected () const |
virtual void | v_SetOwnData () |
Protected Member Functions inherited from Nektar::SpatialDomains::Geometry | |
void | GenGeomFactors () |
virtual StdRegions::Orientation | v_GetPorient (const int i) 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 |
void | SetUpCoeffs (const int nCoeffs) |
Initialise the m_coeffs array. More... | |
Private Member Functions | |
void | SetUpLocalEdges () |
void | SetUpLocalVertices () |
void | SetUpEdgeOrientation () |
void | SetUpFaceOrientation () |
void | SetUpXmap () |
Set up the m_xmap object by determining the order of each direction from derived faces. More... | |
Nektar::SpatialDomains::PyrGeom::PyrGeom | ( | ) |
Definition at line 51 of file PyrGeom.cpp.
References Nektar::LibUtilities::ePyramid.
Nektar::SpatialDomains::PyrGeom::PyrGeom | ( | const Geometry2DSharedPtr | faces[] | ) |
Copy the face shared pointers
Set up orientation vectors with correct amount of elements.
Definition at line 56 of file PyrGeom.cpp.
References Nektar::LibUtilities::ePyramid, kNedges, kNfaces, Nektar::SpatialDomains::Geometry3D::m_eorient, Nektar::SpatialDomains::Geometry3D::m_faces, Nektar::SpatialDomains::Geometry3D::m_forient, Nektar::SpatialDomains::Geometry::m_shapeType, Nektar::SpatialDomains::Geometry::m_xmap, Nektar::SpatialDomains::Geometry::SetUpCoeffs(), SetUpEdgeOrientation(), SetUpFaceOrientation(), SetUpLocalEdges(), SetUpLocalVertices(), and SetUpXmap().
Nektar::SpatialDomains::PyrGeom::~PyrGeom | ( | ) |
Definition at line 76 of file PyrGeom.cpp.
|
private |
Definition at line 393 of file PyrGeom.cpp.
References ASSERTL0, Nektar::StdRegions::eBackwards, Nektar::StdRegions::eForwards, Nektar::SpatialDomains::Geometry::GetVid(), kNedges, Nektar::SpatialDomains::Geometry3D::m_edges, Nektar::SpatialDomains::Geometry3D::m_eorient, and Nektar::SpatialDomains::Geometry3D::m_verts.
Referenced by PyrGeom().
|
private |
Definition at line 419 of file PyrGeom.cpp.
References ASSERTL0, Nektar::SpatialDomains::Geometry::GetVertex(), Nektar::SpatialDomains::Geometry::GetVid(), Nektar::NekConstants::kNekZeroTol, kNfaces, kNqfaces, kNtfaces, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry3D::m_faces, Nektar::SpatialDomains::Geometry3D::m_forient, and Nektar::SpatialDomains::Geometry3D::m_verts.
Referenced by PyrGeom().
|
private |
Definition at line 215 of file PyrGeom.cpp.
References ASSERTL0, Nektar::SpatialDomains::Geometry3D::GetEdge(), Nektar::SpatialDomains::Geometry3D::GetEid(), Nektar::SpatialDomains::Geometry::GetFid(), Nektar::SpatialDomains::Geometry3D::m_edges, and Nektar::SpatialDomains::Geometry3D::m_faces.
Referenced by PyrGeom().
|
private |
Definition at line 321 of file PyrGeom.cpp.
References ASSERTL0, Nektar::SpatialDomains::Geometry::GetVertex(), Nektar::SpatialDomains::Geometry::GetVid(), Nektar::SpatialDomains::Geometry3D::m_edges, and Nektar::SpatialDomains::Geometry3D::m_verts.
Referenced by PyrGeom().
|
private |
Set up the m_xmap object by determining the order of each direction from derived faces.
Definition at line 659 of file PyrGeom.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eGaussRadauMAlpha2Beta0, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eModified_C, Nektar::SpatialDomains::Geometry::GetXmap(), Nektar::SpatialDomains::Geometry3D::m_faces, Nektar::SpatialDomains::Geometry3D::m_forient, and Nektar::SpatialDomains::Geometry::m_xmap.
Referenced by PyrGeom(), and v_Reset().
|
protectedvirtual |
Generate the geometry factors for this element.
Reimplemented from Nektar::SpatialDomains::Geometry3D.
Definition at line 81 of file PyrGeom.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::SpatialDomains::eDeformed, Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::eRegular, Nektar::NekConstants::kNekZeroTol, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_geomFactors, Nektar::SpatialDomains::Geometry::m_geomFactorsState, Nektar::SpatialDomains::Geometry3D::m_verts, Nektar::SpatialDomains::Geometry::m_xmap, and Nektar::SpatialDomains::Geometry3D::v_FillGeom().
|
protectedvirtual |
Implements Nektar::SpatialDomains::Geometry3D.
Definition at line 199 of file PyrGeom.cpp.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 125 of file PyrGeom.cpp.
References Nektar::SpatialDomains::PointGeom::dist(), Nektar::SpatialDomains::PointGeom::dot(), ErrorUtil::efatal, Nektar::SpatialDomains::eRegular, Nektar::SpatialDomains::Geometry::GetMetricInfo(), Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry3D::m_verts, Nektar::SpatialDomains::PointGeom::Mult(), NEKERROR, Nektar::SpatialDomains::PointGeom::Sub(), and Nektar::SpatialDomains::Geometry3D::v_FillGeom().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 189 of file PyrGeom.cpp.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 194 of file PyrGeom.cpp.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 184 of file PyrGeom.cpp.
|
protectedvirtual |
Reset this geometry object: unset the current state and remove allocated GeomFactors.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 640 of file PyrGeom.cpp.
References Nektar::SpatialDomains::Geometry3D::m_faces, Nektar::SpatialDomains::Geometry::m_xmap, Nektar::SpatialDomains::Geometry::SetUpCoeffs(), SetUpXmap(), and Nektar::SpatialDomains::Geometry::v_Reset().
|
static |
Definition at line 57 of file PyrGeom.h.
Referenced by PyrGeom(), and SetUpEdgeOrientation().
Definition at line 60 of file PyrGeom.h.
Referenced by PyrGeom(), Nektar::SpatialDomains::MeshGraph3D::ReadElements(), and SetUpFaceOrientation().
|
static |
Definition at line 58 of file PyrGeom.h.
Referenced by Nektar::SpatialDomains::MeshGraph3D::ReadElements(), and SetUpFaceOrientation().
|
static |
Definition at line 59 of file PyrGeom.h.
Referenced by Nektar::SpatialDomains::MeshGraph3D::ReadElements(), and SetUpFaceOrientation().
|
static |