| 
    Nektar++
    
   | 
 
3D geometry information More...
#include <Geometry3D.h>


Public Member Functions | |
| 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) | 
Protected Member Functions | |
| 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 void | v_GenGeomFactors () | 
| 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 int | v_GetDir (const int faceidx, const int facedir) const =0 | 
| 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 int | v_GetNumVerts () const | 
| virtual StdRegions::Orientation | v_GetPorient (const int i) const | 
| virtual int | v_GetNumEdges () const | 
| virtual int | v_GetNumFaces () 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 NekDouble | v_GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) | 
| 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 | |
| PointGeomVector | m_verts | 
| SegGeomVector | m_edges | 
| Geometry2DVector | m_faces | 
| std::vector < StdRegions::Orientation >  | m_eorient | 
| std::vector < StdRegions::Orientation >  | m_forient | 
| std::list< CompToElmt > | m_elmtmap | 
| bool | m_owndata | 
| int | m_eid | 
| bool | m_ownverts | 
  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 | 
Additional Inherited Members | |
  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 | 
3D geometry information
Definition at line 70 of file Geometry3D.h.
| Nektar::SpatialDomains::Geometry3D::Geometry3D | ( | ) | 
Definition at line 51 of file Geometry3D.cpp.
| Nektar::SpatialDomains::Geometry3D::Geometry3D | ( | const int | coordim | ) | 
Definition at line 55 of file Geometry3D.cpp.
References ASSERTL0, and Nektar::SpatialDomains::Geometry::m_coordim.
      
  | 
  virtual | 
Definition at line 62 of file Geometry3D.cpp.
| int Nektar::SpatialDomains::Geometry3D::GetDir | ( | const int | faceidx, | 
| const int | facedir | ||
| ) | const | 
Returns the element coordinate direction corresponding to a given face coordinate direction.
Definition at line 91 of file Geometry3D.cpp.
References v_GetDir().
Referenced by Nektar::SpatialDomains::MeshGraph3D::GetFaceBasisKey().
| const Geometry1DSharedPtr Nektar::SpatialDomains::Geometry3D::GetEdge | ( | int | i | ) | const | 
| int Nektar::SpatialDomains::Geometry3D::GetEid | ( | int | i | ) | const | 
Return the ID of edge i in this element.
Definition at line 74 of file Geometry3D.cpp.
References v_GetEid().
Referenced by Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), Nektar::SpatialDomains::TetGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), and Nektar::SpatialDomains::HexGeom::SetUpLocalEdges().
| Geometry2DSharedPtr Nektar::SpatialDomains::Geometry3D::GetFace | ( | int | i | ) | 
Return face i in this element.
Definition at line 82 of file Geometry3D.cpp.
References v_GetFace().
Referenced by Nektar::SolverUtils::UpdateGeometry().
      
  | 
  protected | 
Definition at line 99 of file Geometry3D.cpp.
References Nektar::SpatialDomains::Geometry::m_geomFactors, Nektar::SpatialDomains::Geometry::m_xmap, Vmath::Vsum(), and WARNINGL1.
Referenced by Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), and Nektar::SpatialDomains::HexGeom::v_GetLocCoords().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 502 of file Geometry3D.cpp.
References m_elmtmap.
      
  | 
  protectedvirtual | 
Put all quadrature information into face/edge structure and backward transform.
Note verts, edges, and faces are listed according to anticlockwise convention but points in _coeffs have to be in array format from left to right.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 247 of file Geometry3D.cpp.
References Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::Geometry::GetXmap(), Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, m_faces, m_forient, Nektar::SpatialDomains::Geometry::m_state, and Nektar::SpatialDomains::Geometry::m_xmap.
Referenced by Nektar::SpatialDomains::TetGeom::v_ContainsPoint(), Nektar::SpatialDomains::PrismGeom::v_ContainsPoint(), Nektar::SpatialDomains::HexGeom::v_ContainsPoint(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), and Nektar::SpatialDomains::HexGeom::v_GetLocCoords().
      
  | 
  protectedvirtual | 
Generate the geometry factors for this element.
Implements Nektar::SpatialDomains::Geometry.
Reimplemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, and Nektar::SpatialDomains::PyrGeom.
Definition at line 297 of file Geometry3D.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::SpatialDomains::eDeformed, Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::eRegular, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_geomFactors, Nektar::SpatialDomains::Geometry::m_geomFactorsState, Nektar::SpatialDomains::Geometry::m_xmap, and v_FillGeom().
      
  | 
  protectedvirtual | 
Return the j-th basis of the i-th co-ordinate dimension.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 446 of file Geometry3D.cpp.
References Nektar::SpatialDomains::Geometry::m_xmap.
      
  | 
  protectedvirtual | 
Given local collapsed coordinate Lcoord return the value of physical coordinate in direction i.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 326 of file Geometry3D.cpp.
References ASSERTL1, Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_state, and Nektar::SpatialDomains::Geometry::m_xmap.
      
  | 
  protectedpure virtual | 
Implemented in Nektar::SpatialDomains::HexGeom, Nektar::SpatialDomains::PrismGeom, Nektar::SpatialDomains::TetGeom, and Nektar::SpatialDomains::PyrGeom.
Referenced by GetDir().
      
  | 
  protectedvirtual | 
Return edge i of this element.
Definition at line 373 of file Geometry3D.cpp.
References ASSERTL2, and m_edges.
      
  | 
  protectedvirtual | 
Return the ID of edge i in this element.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 396 of file Geometry3D.cpp.
References ASSERTL2, and m_edges.
      
  | 
  protectedvirtual | 
Return the ID of this element.
Definition at line 438 of file Geometry3D.cpp.
References m_eid.
Referenced by GetEid().
      
  | 
  inlineprotectedvirtual | 
Return the orientation of edge i in this element.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 384 of file Geometry3D.cpp.
References ASSERTL2, m_edges, and m_eorient.
      
  | 
  protectedvirtual | 
Return face i in this element.
Definition at line 407 of file Geometry3D.cpp.
References ASSERTL2, and m_faces.
Referenced by GetFace().
      
  | 
  protectedvirtual | 
Return the ID of face i in this element.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 427 of file Geometry3D.cpp.
References ASSERTL2, and m_faces.
      
  | 
  protectedvirtual | 
Return the orientation of face i in this element.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 416 of file Geometry3D.cpp.
References ASSERTL2, m_faces, and m_forient.
      
  | 
  protectedvirtual | 
Return the dimension of this element.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 346 of file Geometry3D.cpp.
      
  | 
  protectedvirtual | 
Return vertex i in this element.
Implements Nektar::SpatialDomains::Geometry.
Definition at line 365 of file Geometry3D.cpp.
References m_verts.
      
  | 
  protectedvirtual | 
Return the vertex ID of vertex i.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 354 of file Geometry3D.cpp.
References ASSERTL2, and m_verts.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 513 of file Geometry3D.cpp.
References Nektar::StdRegions::find(), and m_elmtmap.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 508 of file Geometry3D.cpp.
References m_elmtmap.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 524 of file Geometry3D.cpp.
References m_owndata.
      
  | 
  protectedvirtual | 
Return the local ID of a given edge.
The local ID of an edge is a number between 0 and the number of edges in this element. If the edge is not found, this function returns -1.
Definition at line 458 of file Geometry3D.cpp.
References Nektar::iterator, and m_edges.
      
  | 
  protectedvirtual | 
Return the local ID of a given face.
The local ID of a face is a number between 0 and the number of faces in this element. If the face is not found, this function returns -1.
Definition at line 483 of file Geometry3D.cpp.
References Nektar::iterator, and m_faces.
      
  | 
  protected | 
Definition at line 90 of file Geometry3D.h.
Referenced by Nektar::SpatialDomains::PyrGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::TetGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::HexGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), Nektar::SpatialDomains::TetGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), Nektar::SpatialDomains::HexGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PyrGeom::SetUpLocalVertices(), Nektar::SpatialDomains::TetGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PrismGeom::SetUpLocalVertices(), Nektar::SpatialDomains::HexGeom::SetUpLocalVertices(), v_GetEdge(), v_GetEid(), v_GetEorient(), and v_WhichEdge().
      
  | 
  protected | 
Definition at line 96 of file Geometry3D.h.
Referenced by v_GetEid().
      
  | 
  protected | 
Definition at line 94 of file Geometry3D.h.
Referenced by v_AddElmtConnected(), v_IsElmtConnected(), and v_NumElmtConnected().
      
  | 
  protected | 
Definition at line 92 of file Geometry3D.h.
Referenced by Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::PrismGeom::PrismGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::PyrGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::TetGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::HexGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::TetGeom::TetGeom(), and v_GetEorient().
      
  | 
  protected | 
Definition at line 91 of file Geometry3D.h.
Referenced by Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::PrismGeom::PrismGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpLocalEdges(), Nektar::SpatialDomains::TetGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PrismGeom::SetUpLocalEdges(), Nektar::SpatialDomains::HexGeom::SetUpLocalEdges(), Nektar::SpatialDomains::PyrGeom::SetUpXmap(), Nektar::SpatialDomains::TetGeom::SetUpXmap(), Nektar::SpatialDomains::PrismGeom::SetUpXmap(), Nektar::SpatialDomains::HexGeom::SetUpXmap(), Nektar::SpatialDomains::TetGeom::TetGeom(), v_FillGeom(), v_GetFace(), v_GetFid(), v_GetForient(), Nektar::SpatialDomains::PyrGeom::v_Reset(), Nektar::SpatialDomains::TetGeom::v_Reset(), Nektar::SpatialDomains::PrismGeom::v_Reset(), Nektar::SpatialDomains::HexGeom::v_Reset(), and v_WhichFace().
      
  | 
  protected | 
Definition at line 93 of file Geometry3D.h.
Referenced by Nektar::SpatialDomains::HexGeom::HexGeom(), Nektar::SpatialDomains::PrismGeom::PrismGeom(), Nektar::SpatialDomains::PyrGeom::PyrGeom(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpXmap(), Nektar::SpatialDomains::PrismGeom::SetUpXmap(), Nektar::SpatialDomains::HexGeom::SetUpXmap(), Nektar::SpatialDomains::TetGeom::TetGeom(), v_FillGeom(), and v_GetForient().
      
  | 
  protected | 
Definition at line 95 of file Geometry3D.h.
Referenced by v_SetOwnData().
      
  | 
  protected | 
Definition at line 97 of file Geometry3D.h.
      
  | 
  protected | 
Definition at line 89 of file Geometry3D.h.
Referenced by Nektar::SpatialDomains::PyrGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::TetGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::HexGeom::SetUpEdgeOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::TetGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::PyrGeom::SetUpLocalVertices(), Nektar::SpatialDomains::TetGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PrismGeom::SetUpLocalVertices(), Nektar::SpatialDomains::HexGeom::SetUpLocalVertices(), Nektar::SpatialDomains::PyrGeom::v_GenGeomFactors(), Nektar::SpatialDomains::PrismGeom::v_GenGeomFactors(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), Nektar::SpatialDomains::TetGeom::v_GetLocCoords(), Nektar::SpatialDomains::PyrGeom::v_GetLocCoords(), Nektar::SpatialDomains::PrismGeom::v_GetLocCoords(), Nektar::SpatialDomains::HexGeom::v_GetLocCoords(), v_GetVertex(), and v_GetVid().
 1.8.8