Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 48 of file Geometry2D.cpp.

49  {
50  }
Nektar::SpatialDomains::Geometry2D::Geometry2D ( const int  coordim)

Definition at line 52 of file Geometry2D.cpp.

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

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

Definition at line 59 of file Geometry2D.cpp.

60  {
61  }

Member Function Documentation

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

Definition at line 88 of file Geometry2D.cpp.

References v_GetCartesianEorient().

89  {
90  return v_GetCartesianEorient(i);
91  }
virtual StdRegions::Orientation v_GetCartesianEorient(const int i) const
Definition: Geometry2D.cpp:275
const Geometry1DSharedPtr Nektar::SpatialDomains::Geometry2D::GetEdge ( int  i) const

Definition at line 83 of file Geometry2D.cpp.

References v_GetEdge().

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

84  {
85  return v_GetEdge(i);
86  }
virtual const Geometry1DSharedPtr v_GetEdge(int i) const
Definition: Geometry2D.cpp:237
const LibUtilities::BasisSharedPtr Nektar::SpatialDomains::Geometry2D::GetEdgeBasis ( const int  i)

Definition at line 68 of file Geometry2D.cpp.

References v_GetEdgeBasis().

69  {
70  return v_GetEdgeBasis(i);
71  }
virtual const LibUtilities::BasisSharedPtr v_GetEdgeBasis(const int i)
Definition: Geometry2D.cpp:221
const Geometry2DSharedPtr Nektar::SpatialDomains::Geometry2D::GetFace ( int  i) const

Definition at line 73 of file Geometry2D.cpp.

References v_GetFace().

74  {
75  return v_GetFace(i);
76  }
virtual const Geometry2DSharedPtr v_GetFace(int i) const
Definition: Geometry2D.cpp:260
StdRegions::Orientation Nektar::SpatialDomains::Geometry2D::GetFaceOrient ( const int  i) const

Definition at line 78 of file Geometry2D.cpp.

References v_GetFaceOrient().

79  {
80  return v_GetFaceOrient(i);
81  }
virtual StdRegions::Orientation v_GetFaceOrient(const int i) const
Definition: Geometry2D.cpp:268
int Nektar::SpatialDomains::Geometry2D::GetFid ( ) const

Definition at line 63 of file Geometry2D.cpp.

References v_GetFid().

64  {
65  return v_GetFid();
66  }
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 103 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().

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

References ErrorUtil::efatal, and NEKERROR.

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

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

Definition at line 275 of file Geometry2D.cpp.

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

Referenced by GetCartesianEorient().

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

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

Definition at line 237 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdge().

238  {
240  "This function is only valid for shape type geometries");
241  SegGeomSharedPtr returnval;
242  return returnval;
243  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:185
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 221 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetEdgeBasis().

222  {
224  "This function is only valid for shape type geometries");
226  return returnval;
227  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:185
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 230 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

231  {
233  "This function is only valid for shape type geometries");
234  return 0;
235  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:185
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 253 of file Geometry2D.cpp.

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

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

Definition at line 260 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFace().

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

Definition at line 268 of file Geometry2D.cpp.

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

Referenced by GetFaceOrient().

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

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

Definition at line 214 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by GetFid().

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

Reimplemented from Nektar::SpatialDomains::Geometry.

Definition at line 296 of file Geometry2D.cpp.

297  {
298  return 2;
299  }
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 245 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

246  {
248  "This function is only valid for shape type geometries");
249  PointGeomSharedPtr returnval;
250  return returnval;
251  }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
Definition: ErrorUtil.hpp:185
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 282 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by WhichEdge().

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

Definition at line 289 of file Geometry2D.cpp.

References ErrorUtil::efatal, and NEKERROR.

Referenced by WhichFace().

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

Definition at line 93 of file Geometry2D.cpp.

References v_WhichEdge().

94  {
95  return v_WhichEdge(edge);
96  }
virtual int v_WhichEdge(SegGeomSharedPtr edge)
Definition: Geometry2D.cpp:282
int Nektar::SpatialDomains::Geometry2D::WhichFace ( Geometry2DSharedPtr  face)

Definition at line 98 of file Geometry2D.cpp.

References v_WhichFace().

99  {
100  return v_WhichFace(face);
101  }
virtual int v_WhichFace(Geometry2DSharedPtr face)
Definition: Geometry2D.cpp:289