Nektar++
Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
Nektar::SpatialDomains::Geometry2D Class Reference

2D geometry information More...

#include <Geometry2D.h>

Inheritance diagram for Nektar::SpatialDomains::Geometry2D:
Inheritance graph
[legend]
Collaboration diagram for Nektar::SpatialDomains::Geometry2D:
Collaboration graph
[legend]

Public Member Functions

 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 $j^{th}$ face attached to the $ i^{th}$ 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, Array< OneD, NekDouble > &Lcoords, NekDouble &resid)
 
- Protected Member Functions inherited from Nektar::SpatialDomains::Geometry
void GenGeomFactors ()
 
virtual bool v_IsElmtConnected (int gvo_id, int locid) const
 
virtual void v_AddElmtConnected (int gvo_id, int locid)
 
virtual int v_NumElmtConnected () const
 
virtual int v_GetVid (int i) const
 
virtual int v_GetFid (int i) const
 
virtual void v_GenGeomFactors ()=0
 
virtual int v_GetNumVerts () const
 
virtual StdRegions::Orientation v_GetPorient (const int i) const
 
virtual StdRegions::Orientation v_GetForient (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, 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 void v_FillGeom ()
 
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)
 
virtual void v_SetOwnData ()
 
virtual const LibUtilities::BasisSharedPtr v_GetBasis (const int i)
 
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...
 

Private Member Functions

virtual int v_GetShapeDim () const
 
virtual int v_GetFid () const
 
virtual int v_GetEid (int i) const
 
virtual PointGeomSharedPtr v_GetVertex (int i) const
 
virtual const Geometry1DSharedPtr v_GetEdge (int i) const
 
virtual const Geometry2DSharedPtr v_GetFace (int i) const
 
virtual StdRegions::Orientation v_GetFaceOrient (const 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)
 
virtual int v_WhichFace (Geometry2DSharedPtr face)
 
virtual const LibUtilities::BasisSharedPtr v_GetEdgeBasis (const int i)
 
virtual bool v_ContainsPoint (const Array< OneD, const NekDouble > &gloCoord, NekDouble tol=0.0)
 

Additional Inherited Members

- Static Protected Member Functions inherited from Nektar::SpatialDomains::Geometry
static GeomFactorsSharedPtr ValidateRegGeomFactor (GeomFactorsSharedPtr geomFactor)
 
- 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
 
- Static Protected Attributes inherited from Nektar::SpatialDomains::Geometry
static GeomFactorsVector m_regGeomFactorsManager
 

Detailed Description

2D geometry information

Definition at line 65 of file Geometry2D.h.

Constructor & Destructor Documentation

Nektar::SpatialDomains::Geometry2D::Geometry2D ( )

Definition at line 45 of file Geometry2D.cpp.

46  {
47  }
Nektar::SpatialDomains::Geometry2D::Geometry2D ( const int  coordim)

Definition at line 49 of file Geometry2D.cpp.

References ASSERTL0, and Nektar::SpatialDomains::Geometry::m_coordim.

49  :
50  Geometry(coordim)
51  {
52  ASSERTL0(m_coordim > 1,
53  "Coordinate dimension should be at least 2 for a 2D geometry");
54  }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:161
int m_coordim
coordinate dimension
Definition: Geometry.h:169
Nektar::SpatialDomains::Geometry2D::~Geometry2D ( )
virtual

Definition at line 56 of file Geometry2D.cpp.

57  {
58  }

Member Function Documentation

StdRegions::Orientation Nektar::SpatialDomains::Geometry2D::GetCartesianEorient ( const int  i) const

Definition at line 85 of file Geometry2D.cpp.

References v_GetCartesianEorient().

86  {
87  return v_GetCartesianEorient(i);
88  }
virtual StdRegions::Orientation v_GetCartesianEorient(const int i) const
Definition: Geometry2D.cpp:272
const Geometry1DSharedPtr Nektar::SpatialDomains::Geometry2D::GetEdge ( int  i) const

Definition at line 80 of file Geometry2D.cpp.

References v_GetEdge().

Referenced by Nektar::SolverUtils::UpdateGeometry().

81  {
82  return v_GetEdge(i);
83  }
virtual const Geometry1DSharedPtr v_GetEdge(int i) const
Definition: Geometry2D.cpp:234
const LibUtilities::BasisSharedPtr Nektar::SpatialDomains::Geometry2D::GetEdgeBasis ( const int  i)

Definition at line 65 of file Geometry2D.cpp.

References v_GetEdgeBasis().

66  {
67  return v_GetEdgeBasis(i);
68  }
virtual const LibUtilities::BasisSharedPtr v_GetEdgeBasis(const int i)
Definition: Geometry2D.cpp:218
const Geometry2DSharedPtr Nektar::SpatialDomains::Geometry2D::GetFace ( int  i) const

Definition at line 70 of file Geometry2D.cpp.

References v_GetFace().

71  {
72  return v_GetFace(i);
73  }
virtual const Geometry2DSharedPtr v_GetFace(int i) const
Definition: Geometry2D.cpp:257
StdRegions::Orientation Nektar::SpatialDomains::Geometry2D::GetFaceOrient ( const int  i) const

Definition at line 75 of file Geometry2D.cpp.

References v_GetFaceOrient().

76  {
77  return v_GetFaceOrient(i);
78  }
virtual StdRegions::Orientation v_GetFaceOrient(const int i) const
Definition: Geometry2D.cpp:265
int Nektar::SpatialDomains::Geometry2D::GetFid ( ) const

Definition at line 60 of file Geometry2D.cpp.

References v_GetFid().

61  {
62  return v_GetFid();
63  }
void Nektar::SpatialDomains::Geometry2D::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

Definition at line 100 of file Geometry2D.cpp.

References Nektar::SpatialDomains::Geometry::m_geomFactors, Nektar::SpatialDomains::Geometry::m_xmap, Vmath::Vsum(), and WARNINGL1.

Referenced by Nektar::SpatialDomains::QuadGeom::v_GetLocCoords(), and Nektar::SpatialDomains::TriGeom::v_GetLocCoords().

106  {
107  // Maximum iterations for convergence
108  const int MaxIterations = 51;
109  // |x-xp|^2 < EPSILON error tolerance
110  const NekDouble Tol = 1.e-8;
111  // |r,s| > LcoordDIV stop the search
112  const NekDouble LcoordDiv = 15.0;
113 
114  Array<OneD, const NekDouble > Jac =
115  m_geomFactors->GetJac(m_xmap->GetPointsKeys());
116 
117  NekDouble ScaledTol = Vmath::Vsum(Jac.num_elements(),Jac,1)/
118  ((NekDouble)Jac.num_elements());
119  ScaledTol *= Tol;
120 
121  NekDouble xmap,ymap, F1,F2;
122  NekDouble derx_1, derx_2, dery_1, dery_2,jac;
123 
124  // save intiial guess for later reference if required.
125  NekDouble init0 = Lcoords[0], init1 = Lcoords[1];
126 
127  Array<OneD, NekDouble> DxD1(ptsx.num_elements());
128  Array<OneD, NekDouble> DxD2(ptsx.num_elements());
129  Array<OneD, NekDouble> DyD1(ptsx.num_elements());
130  Array<OneD, NekDouble> DyD2(ptsx.num_elements());
131 
132  // Ideally this will be stored in m_geomfactors
133  m_xmap->PhysDeriv(ptsx,DxD1,DxD2);
134  m_xmap->PhysDeriv(ptsy,DyD1,DyD2);
135 
136  int cnt=0;
137  Array<OneD, DNekMatSharedPtr > I(2);
138  Array<OneD, NekDouble> eta(2);
139 
140  F1 = F2 = 2000; // Starting value of Function
141 
142  while(cnt++ < MaxIterations)
143  {
144  // evaluate lagrange interpolant at Lcoords
145  m_xmap->LocCoordToLocCollapsed(Lcoords,eta);
146  I[0] = m_xmap->GetBasis(0)->GetI(eta);
147  I[1] = m_xmap->GetBasis(1)->GetI(eta+1);
148 
149  //calculate the global point `corresponding to Lcoords
150  xmap = m_xmap->PhysEvaluate(I, ptsx);
151  ymap = m_xmap->PhysEvaluate(I, ptsy);
152 
153  F1 = coords[0] - xmap;
154  F2 = coords[1] - ymap;
155 
156  if(F1*F1 + F2*F2 < ScaledTol)
157  {
158  resid = sqrt(F1*F1 + F2*F2);
159  break;
160  }
161 
162  //Interpolate derivative metric at Lcoords
163  derx_1 = m_xmap->PhysEvaluate(I, DxD1);
164  derx_2 = m_xmap->PhysEvaluate(I, DxD2);
165  dery_1 = m_xmap->PhysEvaluate(I, DyD1);
166  dery_2 = m_xmap->PhysEvaluate(I, DyD2);
167 
168  jac = dery_2*derx_1 - dery_1*derx_2;
169 
170  // use analytical inverse of derivitives which are
171  // also similar to those of metric factors.
172  Lcoords[0] = Lcoords[0] + (dery_2*(coords[0]-xmap) -
173  derx_2*(coords[1]-ymap))/jac;
174 
175  Lcoords[1] = Lcoords[1] + ( - dery_1*(coords[0]-xmap)
176  + derx_1*(coords[1]-ymap))/jac;
177 
178  if(fabs(Lcoords[0]) > LcoordDiv || fabs(Lcoords[1]) > LcoordDiv)
179  {
180  break; // lcoords have diverged so stop iteration
181  }
182  }
183 
184  resid = sqrt(F1*F1 + F2*F2);
185 
186  if(cnt >= MaxIterations)
187  {
188  Array<OneD, NekDouble> collCoords(2);
189  m_xmap->LocCoordToLocCollapsed(Lcoords,collCoords);
190 
191  // if coordinate is inside element dump error!
192  if((collCoords[0] >= -1.0 && collCoords[0] <= 1.0)&&
193  (collCoords[1] >= -1.0 && collCoords[1] <= 1.0))
194  {
195  std::ostringstream ss;
196 
197  ss << "Reached MaxIterations (" << MaxIterations
198  << ") in Newton iteration ";
199  ss << "Init value ("<< setprecision(4) << init0 << ","
200  << init1<< "," <<") ";
201  ss << "Fin value ("<<Lcoords[0] << "," << Lcoords[1]
202  << "," << ") ";
203  ss << "Resid = " << resid << " Tolerance = "
204  << sqrt(ScaledTol) ;
205 
206  WARNINGL1(cnt < MaxIterations,ss.str());
207  }
208  }
209  }
StdRegions::StdExpansionSharedPtr m_xmap
Definition: Geometry.h:172
GeomFactorsSharedPtr m_geomFactors
Definition: Geometry.h:170
boost::shared_ptr< DNekMat > DNekMatSharedPtr
Definition: NekTypeDefs.hpp:70
double NekDouble
#define WARNINGL1(condition, msg)
Definition: ErrorUtil.hpp:192
T Vsum(int n, const T *x, const int incx)
Subtract return sum(x)
Definition: Vmath.cpp:714
bool Nektar::SpatialDomains::Geometry2D::v_ContainsPoint ( const Array< OneD, const NekDouble > &  gloCoord,
NekDouble  tol = 0.0 
)
privatevirtual

Reimplemented from Nektar::SpatialDomains::Geometry.

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 298 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

301  {
303  "This function has not been defined for this geometry");
304  return false;
305  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
StdRegions::Orientation Nektar::SpatialDomains::Geometry2D::v_GetCartesianEorient ( const int  i) const
privatevirtual

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 272 of file Geometry2D.cpp.

References ErrorUtil::efatal, Nektar::StdRegions::eForwards, and NEKERROR.

Referenced by GetCartesianEorient().

273  {
275  "This function is only valid for shape type geometries");
276  return StdRegions::eForwards;
277  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
const Geometry1DSharedPtr Nektar::SpatialDomains::Geometry2D::v_GetEdge ( int  i) const
privatevirtual

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 234 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdge().

235  {
237  "This function is only valid for shape type geometries");
238  SegGeomSharedPtr returnval;
239  return returnval;
240  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
boost::shared_ptr< SegGeom > SegGeomSharedPtr
Definition: Geometry2D.h:60
const LibUtilities::BasisSharedPtr Nektar::SpatialDomains::Geometry2D::v_GetEdgeBasis ( const int  i)
privatevirtual

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 218 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgeBasis().

219  {
221  "This function is only valid for shape type geometries");
223  return returnval;
224  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
boost::shared_ptr< Basis > BasisSharedPtr
int Nektar::SpatialDomains::Geometry2D::v_GetEid ( int  i) const
privatevirtual

Reimplemented from Nektar::SpatialDomains::Geometry.

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 227 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

228  {
230  "This function is only valid for shape type geometries");
231  return 0;
232  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
StdRegions::Orientation Nektar::SpatialDomains::Geometry2D::v_GetEorient ( const int  i) const
privatevirtual

Reimplemented from Nektar::SpatialDomains::Geometry.

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 250 of file Geometry2D.cpp.

References ErrorUtil::efatal, Nektar::StdRegions::eForwards, and NEKERROR.

251  {
253  "This function is only valid for shape type geometries");
254  return StdRegions::eForwards;
255  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
const Geometry2DSharedPtr Nektar::SpatialDomains::Geometry2D::v_GetFace ( int  i) const
privatevirtual

Definition at line 257 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFace().

258  {
260  "This function is only valid for shape type geometries");
261  Geometry2DSharedPtr returnval;
262  return returnval;
263  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
boost::shared_ptr< Geometry2D > Geometry2DSharedPtr
Definition: Geometry2D.h:59
StdRegions::Orientation Nektar::SpatialDomains::Geometry2D::v_GetFaceOrient ( const int  i) const
privatevirtual

Definition at line 265 of file Geometry2D.cpp.

References Nektar::StdRegions::eDir1FwdDir1_Dir2FwdDir2, ErrorUtil::efatal, and NEKERROR.

Referenced by GetFaceOrient().

266  {
268  "This function is only valid for shape type geometries");
270  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
int Nektar::SpatialDomains::Geometry2D::v_GetFid ( ) const
privatevirtual

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 211 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFid().

212  {
214  "This function is only valid for shape type geometries");
215  return 0;
216  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
int Nektar::SpatialDomains::Geometry2D::v_GetShapeDim ( ) const
privatevirtual

Reimplemented from Nektar::SpatialDomains::Geometry.

Definition at line 293 of file Geometry2D.cpp.

294  {
295  return 2;
296  }
PointGeomSharedPtr Nektar::SpatialDomains::Geometry2D::v_GetVertex ( int  i) const
privatevirtual

Implements Nektar::SpatialDomains::Geometry.

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 242 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

243  {
245  "This function is only valid for shape type geometries");
246  PointGeomSharedPtr returnval;
247  return returnval;
248  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
boost::shared_ptr< PointGeom > PointGeomSharedPtr
Definition: Geometry.h:60
int Nektar::SpatialDomains::Geometry2D::v_WhichEdge ( SegGeomSharedPtr  edge)
privatevirtual

Reimplemented in Nektar::SpatialDomains::TriGeom, and Nektar::SpatialDomains::QuadGeom.

Definition at line 279 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by WhichEdge().

280  {
282  "This function is only valid for shape type geometries");
283  return 0;
284  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
int Nektar::SpatialDomains::Geometry2D::v_WhichFace ( Geometry2DSharedPtr  face)
privatevirtual

Definition at line 286 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by WhichFace().

287  {
289  "This function is only valid for shape type geometries");
290  return 0;
291  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:158
int Nektar::SpatialDomains::Geometry2D::WhichEdge ( SegGeomSharedPtr  edge)

Definition at line 90 of file Geometry2D.cpp.

References v_WhichEdge().

91  {
92  return v_WhichEdge(edge);
93  }
virtual int v_WhichEdge(SegGeomSharedPtr edge)
Definition: Geometry2D.cpp:279
int Nektar::SpatialDomains::Geometry2D::WhichFace ( Geometry2DSharedPtr  face)

Definition at line 95 of file Geometry2D.cpp.

References v_WhichFace().

96  {
97  return v_WhichFace(face);
98  }
virtual int v_WhichFace(Geometry2DSharedPtr face)
Definition: Geometry2D.cpp:286