| 
    Nektar++
    
   | 
 
#include <QuadGeom.h>


Public Member Functions | |
| QuadGeom () | |
| QuadGeom (const int id, const PointGeomSharedPtr verts[], const SegGeomSharedPtr edges[], const StdRegions::Orientation eorient[]) | |
| QuadGeom (const int id, const SegGeomSharedPtr edges[], const StdRegions::Orientation eorient[]) | |
| QuadGeom (const int id, const SegGeomSharedPtr edges[], const StdRegions::Orientation eorient[], const CurveSharedPtr &curve) | |
| QuadGeom (const QuadGeom &in) | |
| ~QuadGeom () | |
| NekDouble | GetCoord (const int i, const Array< OneD, const NekDouble > &Lcoord) | 
  Public Member Functions inherited from Nektar::SpatialDomains::Geometry2D | |
| Geometry2D () | |
| Geometry2D (const int coordim) | |
| virtual | ~Geometry2D () | 
| int | GetFid () const | 
| const Geometry1DSharedPtr | GetEdge (int i) const | 
| const Geometry2DSharedPtr | GetFace (int i) const | 
| int | WhichEdge (SegGeomSharedPtr edge) | 
| int | WhichFace (Geometry2DSharedPtr face) | 
| const LibUtilities::BasisSharedPtr | GetEdgeBasis (const int i) | 
| StdRegions::Orientation | GetFaceOrient (const int i) const | 
| StdRegions::Orientation | GetCartesianEorient (const int i) const | 
  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 Member Functions | |
| static StdRegions::Orientation | GetFaceOrientation (const QuadGeom &face1, const QuadGeom &face2) | 
| Get the orientation of face1.  More... | |
| static StdRegions::Orientation | GetFaceOrientation (const PointGeomVector &face1, const PointGeomVector &face2) | 
Static Public Attributes | |
| static const int | kNverts = 4 | 
| static const int | kNedges = 4 | 
| static const std::string | XMLElementType | 
Protected Member Functions | |
| virtual void | v_AddElmtConnected (int gvo_id, int locid) | 
| virtual int | v_NumElmtConnected () const | 
| virtual bool | v_IsElmtConnected (int gvo_id, int locid) const | 
| virtual int | v_GetFid () const | 
| virtual int | v_GetCoordim () const | 
| virtual const  LibUtilities::BasisSharedPtr  | v_GetBasis (const int i) | 
| virtual const  LibUtilities::BasisSharedPtr  | v_GetEdgeBasis (const int i) | 
| virtual NekDouble | v_GetCoord (const int i, const Array< OneD, const NekDouble > &Lcoord) | 
| void | v_GenGeomFactors () | 
| virtual void | v_SetOwnData () | 
| virtual void | v_FillGeom () | 
| Put all quadrature information into edge structure.  More... | |
| virtual NekDouble | v_GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) | 
| virtual int | v_GetEid (int i) const | 
| virtual int | v_GetVid (int i) const | 
| virtual PointGeomSharedPtr | v_GetVertex (int i) const | 
| virtual const Geometry1DSharedPtr | v_GetEdge (int i) const | 
| virtual StdRegions::Orientation | v_GetEorient (const int i) const | 
| virtual StdRegions::Orientation | v_GetCartesianEorient (const int i) const | 
| virtual int | v_WhichEdge (SegGeomSharedPtr edge) | 
| Return the edge number of the given edge.  More... | |
| virtual int | v_GetNumVerts () const | 
| virtual int | v_GetNumEdges () 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 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::Geometry2D | |
| void | NewtonIterationForLocCoord (const Array< OneD, const NekDouble > &coords, const Array< OneD, const NekDouble > &ptsx, const Array< OneD, const NekDouble > &ptsy, Array< OneD, NekDouble > &Lcoords, NekDouble &resid) | 
  Protected Member Functions inherited from Nektar::SpatialDomains::Geometry | |
| void | GenGeomFactors () | 
| virtual int | v_GetFid (int i) const | 
| virtual StdRegions::Orientation | v_GetPorient (const int i) const | 
| virtual StdRegions::Orientation | v_GetForient (const int i) const | 
| virtual int | v_GetNumFaces () const | 
| virtual  StdRegions::StdExpansionSharedPtr  | v_GetXmap () const | 
| 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... | |
Protected Attributes | |
| PointGeomVector | m_verts | 
| SegGeomVector | m_edges | 
| StdRegions::Orientation | m_eorient [kNedges] | 
| int | m_fid | 
| bool | m_ownVerts | 
| std::list< CompToElmt > | m_elmtMap | 
| CurveSharedPtr | m_curve | 
  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 | |
| void | SetUpXmap () | 
Private Attributes | |
| bool | m_ownData | 
| Boolean indicating whether object owns the data.  More... | |
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 | 
Definition at line 60 of file QuadGeom.h.
| Nektar::SpatialDomains::QuadGeom::QuadGeom | ( | ) | 
Definition at line 54 of file QuadGeom.cpp.
References Nektar::LibUtilities::eQuadrilateral.
| Nektar::SpatialDomains::QuadGeom::QuadGeom | ( | const int | id, | 
| const PointGeomSharedPtr | verts[], | ||
| const SegGeomSharedPtr | edges[], | ||
| const StdRegions::Orientation | eorient[] | ||
| ) | 
Copy the vert shared pointers.
Copy the edge shared pointers.
Definition at line 63 of file QuadGeom.cpp.
References ASSERTL0, Nektar::LibUtilities::eQuadrilateral, kNedges, kNverts, Nektar::SpatialDomains::Geometry::m_coordim, m_edges, m_eorient, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, Nektar::SpatialDomains::Geometry::SetUpCoeffs(), and SetUpXmap().
| Nektar::SpatialDomains::QuadGeom::QuadGeom | ( | const int | id, | 
| const SegGeomSharedPtr | edges[], | ||
| const StdRegions::Orientation | eorient[] | ||
| ) | 
Copy the edge shared pointers.
Definition at line 143 of file QuadGeom.cpp.
References ASSERTL0, Nektar::StdRegions::eForwards, Nektar::LibUtilities::eQuadrilateral, Nektar::SpatialDomains::Geometry::GetVertex(), kNedges, Nektar::SpatialDomains::Geometry::m_coordim, m_edges, m_eorient, m_fid, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, Nektar::SpatialDomains::Geometry::SetUpCoeffs(), and SetUpXmap().
| Nektar::SpatialDomains::QuadGeom::QuadGeom | ( | const int | id, | 
| const SegGeomSharedPtr | edges[], | ||
| const StdRegions::Orientation | eorient[], | ||
| const CurveSharedPtr & | curve | ||
| ) | 
Copy the edge shared pointers.
Definition at line 97 of file QuadGeom.cpp.
References ASSERTL0, Nektar::StdRegions::eForwards, Nektar::LibUtilities::eQuadrilateral, Nektar::SpatialDomains::Geometry::GetVertex(), kNedges, Nektar::SpatialDomains::Geometry::m_coordim, m_edges, m_eorient, m_fid, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, Nektar::SpatialDomains::Geometry::SetUpCoeffs(), and SetUpXmap().
| Nektar::SpatialDomains::QuadGeom::QuadGeom | ( | const QuadGeom & | in | ) | 
Definition at line 186 of file QuadGeom.cpp.
References kNedges, m_edges, m_elmtMap, m_eorient, m_fid, Nektar::SpatialDomains::Geometry::m_globalID, m_ownData, m_ownVerts, Nektar::SpatialDomains::Geometry::m_shapeType, and m_verts.
| Nektar::SpatialDomains::QuadGeom::~QuadGeom | ( | ) | 
Definition at line 215 of file QuadGeom.cpp.
| NekDouble Nektar::SpatialDomains::QuadGeom::GetCoord | ( | const int | i, | 
| const Array< OneD, const NekDouble > & | Lcoord | ||
| ) | 
Definition at line 242 of file QuadGeom.cpp.
References ASSERTL1, Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_state, and Nektar::SpatialDomains::Geometry::m_xmap.
Referenced by v_GetCoord().
      
  | 
  static | 
Get the orientation of face1.
Definition at line 254 of file QuadGeom.cpp.
References m_verts.
Referenced by Nektar::MultiRegions::DisContField3D::FindPeriodicFaces().
      
  | 
  static | 
Calculate the orientation of face2 to face1 (note this is not face1 to face2!).
Definition at line 265 of file QuadGeom.cpp.
References ASSERTL0, Nektar::StdRegions::eDir1BwdDir1_Dir2BwdDir2, Nektar::StdRegions::eDir1BwdDir1_Dir2FwdDir2, Nektar::StdRegions::eDir1BwdDir2_Dir2BwdDir1, Nektar::StdRegions::eDir1BwdDir2_Dir2FwdDir1, Nektar::StdRegions::eDir1FwdDir1_Dir2BwdDir2, Nektar::StdRegions::eDir1FwdDir1_Dir2FwdDir2, Nektar::StdRegions::eDir1FwdDir2_Dir2BwdDir1, and Nektar::StdRegions::eDir1FwdDir2_Dir2FwdDir1.
      
  | 
  private | 
Definition at line 219 of file QuadGeom.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eModified_A, Nektar::SpatialDomains::Geometry::GetBasis(), m_edges, and Nektar::SpatialDomains::Geometry::m_xmap.
Referenced by QuadGeom(), and v_Reset().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 354 of file QuadGeom.cpp.
References m_elmtMap.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 789 of file QuadGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoordim().
Referenced by v_ContainsPoint().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 799 of file QuadGeom.cpp.
References v_ContainsPoint().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 807 of file QuadGeom.cpp.
References ASSERTL1, and Nektar::SpatialDomains::Geometry::GetLocCoords().
      
  | 
  protectedvirtual | 
Put all quadrature information into edge structure.
Note verts and edges 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 528 of file QuadGeom.cpp.
References ASSERTL0, Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::Geometry::GetXmap(), Nektar::LibUtilities::Interp2D(), kNedges, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, m_curve, m_edges, m_eorient, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_state, Nektar::SpatialDomains::Geometry::m_xmap, and npts.
Referenced by v_GenGeomFactors(), and v_GetLocCoords().
      
  | 
  protectedvirtual | 
Set up GeoFac for this geometry using Coord quadrature distribution
Implements Nektar::SpatialDomains::Geometry.
Definition at line 446 of file QuadGeom.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, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, and v_FillGeom().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 411 of file QuadGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_xmap.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 727 of file QuadGeom.cpp.
References ASSERTL2, Nektar::StdRegions::eBackwards, Nektar::StdRegions::eForwards, and m_eorient.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 437 of file QuadGeom.cpp.
References GetCoord().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 402 of file QuadGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 707 of file QuadGeom.cpp.
References ASSERTL2, and m_edges.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 420 of file QuadGeom.cpp.
References ASSERTL1, and Nektar::SpatialDomains::Geometry::m_xmap.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 677 of file QuadGeom.cpp.
References ASSERTL2, and m_edges.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 717 of file QuadGeom.cpp.
References ASSERTL2, and m_eorient.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 393 of file QuadGeom.cpp.
References m_fid.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 610 of file QuadGeom.cpp.
References Nektar::SpatialDomains::PointGeom::dot(), Nektar::SpatialDomains::eRegular, Nektar::SpatialDomains::Geometry::GetMetricInfo(), Vmath::Imin(), Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, Nektar::SpatialDomains::PointGeom::Mult(), Nektar::SpatialDomains::Geometry2D::NewtonIterationForLocCoord(), npts, Vmath::Sadd(), Nektar::SpatialDomains::PointGeom::Sub(), v_FillGeom(), Vmath::Vmul(), and Vmath::Vvtvp().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 783 of file QuadGeom.cpp.
References kNedges.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 774 of file QuadGeom.cpp.
References kNverts.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 697 of file QuadGeom.cpp.
References ASSERTL2, and m_verts.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 687 of file QuadGeom.cpp.
References ASSERTL2, and m_verts.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 373 of file QuadGeom.cpp.
References Nektar::StdRegions::find(), and m_elmtMap.
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 364 of file QuadGeom.cpp.
References m_elmtMap.
      
  | 
  protectedvirtual | 
Reset this geometry object: unset the current state and remove allocated GeomFactors.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 824 of file QuadGeom.cpp.
References Nektar::iterator, m_curve, m_edges, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_xmap, Nektar::SpatialDomains::Geometry::SetUpCoeffs(), SetUpXmap(), and Nektar::SpatialDomains::Geometry::v_Reset().
      
  | 
  protectedvirtual | 
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 517 of file QuadGeom.cpp.
References m_ownData.
      
  | 
  protectedvirtual | 
Return the edge number of the given edge.
Reimplemented from Nektar::SpatialDomains::Geometry2D.
Definition at line 751 of file QuadGeom.cpp.
References Nektar::iterator, and m_edges.
      
  | 
  static | 
Definition at line 101 of file QuadGeom.h.
Referenced by QuadGeom(), Nektar::SpatialDomains::MeshGraph2D::ReadElements(), Nektar::SpatialDomains::MeshGraph3D::ReadFaces(), v_FillGeom(), and v_GetNumEdges().
      
  | 
  static | 
Definition at line 100 of file QuadGeom.h.
Referenced by QuadGeom(), Nektar::SpatialDomains::PrismGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::SetUpFaceOrientation(), Nektar::SpatialDomains::HexGeom::v_GenGeomFactors(), and v_GetNumVerts().
      
  | 
  protected | 
Definition at line 111 of file QuadGeom.h.
Referenced by v_FillGeom(), and v_Reset().
      
  | 
  protected | 
Definition at line 106 of file QuadGeom.h.
Referenced by QuadGeom(), SetUpXmap(), v_FillGeom(), v_GetEdge(), v_GetEid(), v_Reset(), and v_WhichEdge().
      
  | 
  protected | 
Definition at line 110 of file QuadGeom.h.
Referenced by QuadGeom(), v_AddElmtConnected(), v_IsElmtConnected(), and v_NumElmtConnected().
      
  | 
  protected | 
Definition at line 107 of file QuadGeom.h.
Referenced by QuadGeom(), v_FillGeom(), v_GetCartesianEorient(), and v_GetEorient().
      
  | 
  protected | 
Definition at line 108 of file QuadGeom.h.
Referenced by QuadGeom(), and v_GetFid().
      
  | 
  private | 
Boolean indicating whether object owns the data.
Definition at line 193 of file QuadGeom.h.
Referenced by QuadGeom(), and v_SetOwnData().
      
  | 
  protected | 
Definition at line 109 of file QuadGeom.h.
Referenced by QuadGeom().
      
  | 
  protected | 
Definition at line 105 of file QuadGeom.h.
Referenced by GetFaceOrientation(), QuadGeom(), v_GenGeomFactors(), v_GetLocCoords(), v_GetVertex(), and v_GetVid().
      
  | 
  static | 
Definition at line 102 of file QuadGeom.h.
 1.8.8