Nektar++
|
#include <SegGeom.h>
Public Member Functions | |
SegGeom () | |
SegGeom (int id, const int coordim) | |
SegGeom (int id, const int coordim, const PointGeomSharedPtr vertex[]) | |
SegGeom (int id, const int coordim, const PointGeomSharedPtr vertex[], const CurveSharedPtr &curve) | |
SegGeom (const int id, const PointGeomSharedPtr &vert1, const PointGeomSharedPtr &vert2) | |
SegGeom (const SegGeom &in) | |
SegGeomSharedPtr | GenerateOneSpaceDimGeom (void) |
Generate a one dimensional space segment geometry where the vert[0] has the same x value and vert[1] is set to vert[0] plus the length of the original segment. | |
~SegGeom () | |
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. | |
StdRegions::StdExpansion1DSharedPtr | operator[] (const int i) const |
Public Member Functions inherited from Nektar::SpatialDomains::Geometry1D | |
Geometry1D () | |
Geometry1D (const int coordim) | |
virtual | ~Geometry1D () |
PointGeomSharedPtr | GetVertex (const int i) const |
LibUtilities::ShapeType | DetShapeType () const |
int | GetEid () 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 | GetNumVerts () 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) |
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 () |
Static Public Member Functions | |
static StdRegions::Orientation | GetEdgeOrientation (const SegGeom &edge1, const SegGeom &edge2) |
Get the orientation of edge1. |
Static Public Attributes | |
static const int | kNverts = 2 |
static const int | kNedges = 1 |
Protected Member Functions | |
virtual int | v_GetVid (int i) const |
virtual PointGeomSharedPtr | v_GetVertex (const int i) const |
virtual int | v_GetEid () const |
virtual const LibUtilities::BasisSharedPtr | v_GetBasis (const int i) |
virtual StdRegions::StdExpansionSharedPtr | v_GetXmap () const |
virtual void | v_SetOwnData () |
virtual void | v_AddElmtConnected (int gvo_id, int locid) |
virtual int | v_NumElmtConnected () const |
virtual bool | v_IsElmtConnected (int gvoId, int locId) const |
virtual LibUtilities::ShapeType | v_DetShapeType () const |
virtual NekDouble | v_GetLocCoords (const Array< OneD, const NekDouble > &coords, Array< OneD, NekDouble > &Lcoords) |
virtual void | v_GenGeomFactors () |
Set up GeoFac for this geometry using Coord quadrature distribution. | |
virtual StdRegions::Orientation | v_GetPorient (const int i) const |
virtual void | v_FillGeom () |
put all quadrature information into edge structure and backward transform | |
virtual NekDouble | v_GetCoord (const int i, const Array< OneD, const NekDouble > &Lcoord) |
virtual int | v_GetNumVerts () const |
virtual int | v_GetNumEdges () const |
virtual bool | v_ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0) |
Determines if a point specified in global coordinates is located within this tetrahedral geometry. | |
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) |
Protected Member Functions inherited from Nektar::SpatialDomains::Geometry1D | |
virtual int | v_GetShapeDim () const |
Protected Member Functions inherited from Nektar::SpatialDomains::Geometry | |
void | GenGeomFactors () |
virtual int | v_GetEid (int i) const |
virtual int | v_GetFid (int i) const |
virtual StdRegions::Orientation | v_GetEorient (const int i) const |
virtual int | v_GetNumFaces () const |
virtual int | v_GetCoordim () 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) |
Protected Attributes | |
int | m_eid |
std::list< CompToElmt > | m_elmtMap |
SpatialDomains::PointGeomSharedPtr | m_verts [kNverts] |
StdRegions::Orientation | m_porient [kNverts] |
Private Attributes | |
bool | m_ownData |
Boolean indicating whether object owns the data. |
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 |
Nektar::SpatialDomains::SegGeom::SegGeom | ( | ) |
Definition at line 48 of file SegGeom.cpp.
References Nektar::LibUtilities::eSegment, and Nektar::SpatialDomains::Geometry::m_shapeType.
Nektar::SpatialDomains::SegGeom::SegGeom | ( | int | id, |
const int | coordim | ||
) |
Definition at line 53 of file SegGeom.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eModified_A, Nektar::LibUtilities::eSegment, m_eid, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, Nektar::SpatialDomains::Geometry::m_xmap, and Nektar::SpatialDomains::Geometry::SetUpCoeffs().
Nektar::SpatialDomains::SegGeom::SegGeom | ( | int | id, |
const int | coordim, | ||
const PointGeomSharedPtr | vertex[] | ||
) |
Definition at line 67 of file SegGeom.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eModified_A, Nektar::SpatialDomains::eNotFilled, Nektar::LibUtilities::eSegment, m_eid, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, Nektar::SpatialDomains::Geometry::m_state, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, and Nektar::SpatialDomains::Geometry::SetUpCoeffs().
Nektar::SpatialDomains::SegGeom::SegGeom | ( | int | id, |
const int | coordim, | ||
const PointGeomSharedPtr | vertex[], | ||
const CurveSharedPtr & | curve | ||
) |
Definition at line 94 of file SegGeom.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eModified_A, Nektar::SpatialDomains::eNotFilled, Nektar::LibUtilities::eSegment, ErrorUtil::ewarning, Nektar::eWrapper, Nektar::NekVector< DataType >::GetPtr(), Nektar::NekConstants::kVertexTheSameDouble, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, m_eid, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, Nektar::SpatialDomains::Geometry::m_state, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, NEKERROR, npts, Nektar::LibUtilities::PointsManager(), and Nektar::SpatialDomains::Geometry::SetUpCoeffs().
Nektar::SpatialDomains::SegGeom::SegGeom | ( | const int | id, |
const PointGeomSharedPtr & | vert1, | ||
const PointGeomSharedPtr & | vert2 | ||
) |
Definition at line 164 of file SegGeom.cpp.
References Nektar::LibUtilities::eGaussLobattoLegendre, Nektar::LibUtilities::eModified_A, Nektar::SpatialDomains::eNotFilled, Nektar::LibUtilities::eSegment, m_eid, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, Nektar::SpatialDomains::Geometry::m_state, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, and Nektar::SpatialDomains::Geometry::SetUpCoeffs().
Nektar::SpatialDomains::SegGeom::SegGeom | ( | const SegGeom & | in | ) |
Definition at line 188 of file SegGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_coordim, m_eid, m_elmtMap, Nektar::SpatialDomains::Geometry::m_globalID, Nektar::SpatialDomains::Geometry::m_shapeType, Nektar::SpatialDomains::Geometry::m_state, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, and Nektar::SpatialDomains::Geometry::SetUpCoeffs().
Nektar::SpatialDomains::SegGeom::~SegGeom | ( | ) |
Definition at line 274 of file SegGeom.cpp.
SegGeomSharedPtr Nektar::SpatialDomains::SegGeom::GenerateOneSpaceDimGeom | ( | void | ) |
Generate a one dimensional space segment geometry where the vert[0] has the same x value and vert[1] is set to vert[0] plus the length of the original segment.
Definition at line 219 of file SegGeom.cpp.
References Nektar::SpatialDomains::eNotFilled, Nektar::SpatialDomains::Geometry::GetVid(), m_eid, m_elmtMap, Nektar::SpatialDomains::Geometry::m_geomFactors, Nektar::SpatialDomains::Geometry::m_globalID, m_verts, Nektar::SpatialDomains::Geometry::m_xmap, and v_GenGeomFactors().
NekDouble Nektar::SpatialDomains::SegGeom::GetCoord | ( | const int | i, |
const Array< OneD, const NekDouble > & | Lcoord | ||
) |
Given local collapsed coordinate Lcoord return the value of physical coordinate in direction i.
Reimplemented from Nektar::SpatialDomains::Geometry.
|
static |
Get the orientation of edge1.
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 337 of file SegGeom.cpp.
References ASSERTL0, Nektar::StdRegions::eBackwards, Nektar::StdRegions::eForwards, Nektar::SpatialDomains::Geometry1D::GetEid(), and Nektar::SpatialDomains::Geometry1D::GetVertex().
Referenced by Nektar::Utilities::Face::GetGeom(), Nektar::Utilities::Triangle::GetGeom(), Nektar::Utilities::Quadrilateral::GetGeom(), Nektar::SpatialDomains::MeshGraph2D::ReadElements(), and Nektar::SpatialDomains::MeshGraph3D::ReadFaces().
StdRegions::StdExpansion1DSharedPtr Nektar::SpatialDomains::SegGeom::operator[] | ( | const int | i | ) | const |
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 293 of file SegGeom.cpp.
References m_elmtMap.
|
protectedvirtual |
Determines if a point specified in global coordinates is located within this tetrahedral geometry.
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 442 of file SegGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetCoordim().
Referenced by v_ContainsPoint().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 450 of file SegGeom.cpp.
References v_ContainsPoint().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 459 of file SegGeom.cpp.
References Nektar::SpatialDomains::Geometry::GetLocCoords().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry1D.
Definition at line 527 of file SegGeom.cpp.
References Nektar::LibUtilities::eSegment.
|
protectedvirtual |
put all quadrature information into edge structure and backward transform
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 385 of file SegGeom.cpp.
References Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_state, and m_verts.
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 363 of file SegGeom.cpp.
References 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().
Referenced by GenerateOneSpaceDimGeom().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 496 of file SegGeom.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 280 of file SegGeom.cpp.
References ASSERTL1, Nektar::SpatialDomains::ePtsFilled, Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_state, and Nektar::SpatialDomains::Geometry::m_xmap.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry1D.
Definition at line 491 of file SegGeom.cpp.
References m_eid.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 401 of file SegGeom.cpp.
References ErrorUtil::efatal, Nektar::SpatialDomains::eRegular, Nektar::SpatialDomains::Geometry::GetMetricInfo(), Nektar::SpatialDomains::Geometry::m_coeffs, Nektar::SpatialDomains::Geometry::m_coordim, Nektar::SpatialDomains::Geometry::m_xmap, NEKERROR, npts, and v_FillGeom().
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 537 of file SegGeom.cpp.
References kNedges.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 532 of file SegGeom.cpp.
References kNverts.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 511 of file SegGeom.cpp.
References ASSERTL2, Nektar::StdRegions::eBwd, and Nektar::StdRegions::eFwd.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry1D.
Definition at line 479 of file SegGeom.cpp.
References kNverts, and m_verts.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry1D.
Definition at line 473 of file SegGeom.cpp.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 501 of file SegGeom.cpp.
References Nektar::SpatialDomains::Geometry::m_xmap.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 304 of file SegGeom.cpp.
References Nektar::StdRegions::find(), and m_elmtMap.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 299 of file SegGeom.cpp.
References m_elmtMap.
|
protectedvirtual |
Reimplemented from Nektar::SpatialDomains::Geometry.
Definition at line 506 of file SegGeom.cpp.
References m_ownData.
|
static |
Definition at line 99 of file SegGeom.h.
Referenced by v_GetNumEdges().
|
static |
Definition at line 98 of file SegGeom.h.
Referenced by v_GetNumVerts(), and v_GetVertex().
|
protected |
Definition at line 102 of file SegGeom.h.
Referenced by GenerateOneSpaceDimGeom(), SegGeom(), and v_GetEid().
|
protected |
Definition at line 103 of file SegGeom.h.
Referenced by GenerateOneSpaceDimGeom(), SegGeom(), v_AddElmtConnected(), v_IsElmtConnected(), and v_NumElmtConnected().
|
private |
Boolean indicating whether object owns the data.
Definition at line 169 of file SegGeom.h.
Referenced by v_SetOwnData().
|
protected |
|
protected |
Definition at line 104 of file SegGeom.h.
Referenced by GenerateOneSpaceDimGeom(), SegGeom(), v_FillGeom(), v_GetVertex(), and v_GetVid().