Nektar++
MMFSystem.h
Go to the documentation of this file.
1///////////////////////////////////////////////////////////////////////////////
2//
3// File: MMFSystem.h
4//
5// For more information, please see: http://www.nektar.info
6//
7// The MIT License
8//
9// Copyright (c) 2006 Division of Applied Mathematics, Brown University (USA),
10// Department of Aeronautics, Imperial College London (UK), and Scientific
11// Computing and Imaging Institute, University of Utah (USA).
12//
13// Permission is hereby granted, free of charge, to any person obtaining a
14// copy of this software and associated documentation files (the "Software"),
15// to deal in the Software without restriction, including without limitation
16// the rights to use, copy, modify, merge, publish, distribute, sublicense,
17// and/or sell copies of the Software, and to permit persons to whom the
18// Software is furnished to do so, subject to the following conditions:
19//
20// The above copyright notice and this permission notice shall be included
21// in all copies or substantial portions of the Software.
22//
23// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
26// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29// DEALINGS IN THE SOFTWARE.
30//
31// Description: MMF system
32//
33///////////////////////////////////////////////////////////////////////////////
34
35#ifndef NEKTAR_SOLVERUTILS_MMFSYSTEM_H
36#define NEKTAR_SOLVERUTILS_MMFSYSTEM_H
37
39
40namespace Nektar::SolverUtils
41{
42
44{
52};
53
54const char *const SurfaceTypeMap[] = {
55 "Plane", "Sphere", "TRSphere", "Irregular", "Nonconvex", "Cube",
56};
57
59{
64 SIZE_BoundaryCopyType ///< Length of enum list
65};
66
67const char *const BoundaryCopyTypeMap[] = {
68 "Dirichlet",
69 "Neumann",
70 "FwdEQBwd",
71 "FwdEQNegBwd",
72};
73
75{
76 eNotSet, ///< flux not defined
77 eAverage, ///< averaged (or centred) flux
78 eLaxFriedrich, ///< Lax-Friedrich flux
79 eUpwind, /// Upwind
80 eRusanov, ///< Rusanov flux
81 eHLL, ///< Harten-Lax-Leer flux
82 eHLLC, ///< Harten-Lax-Leer Contact wave flux
83 SIZE_UpwindType ///< Length of enum list
84};
85
86const char *const UpwindTypeMap[] = {
87 "NoSet", "Average", "LaxFriedrich", "Upwind", "Rusanov", "HLL", "HLLC",
88};
89
91{
105 SIZE_TestMaxwellType ///< Length of enum list
107
108const char *const TestMaxwellTypeMap[] = {
109 "Maxwell1D", "TestMaxwell2DPEC", "TestMaxwell2DPECAVGFLUX",
110 "TestMaxwell2DPMC", "Maxwell3D", "ScatField1D",
111 "ScatField2D", "ScatField3D", "TotField1D",
112 "TotField2D", "TotField3D", "MaxwellSphere",
113 "ELF2DSurface",
114};
115
117{
122
123const char *const PolTypeMap[] = {
124 "TransMagnetic",
125 "TransElectric",
126};
127
129{
135
136const char *const IncTypeMap[] = {
137 "PlaneWave",
138 "PlaneWaveImag",
139 "CylindricalWave",
140};
141
142/// A base class for PDEs which include an advection component
143class MMFSystem : virtual public UnsteadySystem
144{
145public:
147
149
152
156
158
162
164
166
168 const Array<OneD, const Array<OneD, NekDouble>> &Anisotropy,
169 const int TangentXelem = -1);
170
173 const BoundaryCopyType BDCopyType, const int var = 0,
174 const std::string btype = "NoUserDefined");
175
176protected:
178
182
185
188
191
194
195 // MFdim \times spacedim \times npts
198
203
208
211
214
215 // m_dedxi_cdot_e[m][j][n][] = de^m / d \xi^j \cdot e^n
218
220
222 const Array<OneD, const Array<OneD, NekDouble>> &Anisotropy,
223 const int TangentXelem);
224
226 const Array<OneD, const Array<OneD, NekDouble>> &movingframes);
227
229
231
233
235 const Array<OneD, const Array<OneD, NekDouble>> &v1,
236 const Array<OneD, const Array<OneD, NekDouble>> &v2,
238
240 const Array<OneD, const Array<OneD, NekDouble>> &v1,
241 const Array<OneD, const Array<OneD, NekDouble>> &v2,
243
245 const Array<OneD, NekDouble> &v2,
247
249 const Array<OneD, const Array<OneD, NekDouble>> &inarray,
250 Array<OneD, Array<OneD, NekDouble>> &outarray);
251
253 const Array<OneD, const Array<OneD, NekDouble>> &uvec,
254 unsigned int field);
255
257 Array<OneD, Array<OneD, NekDouble>> &CrossProductMF);
259
261 const int dir, const Array<OneD, Array<OneD, NekDouble>> &Fwd,
262 const Array<OneD, Array<OneD, NekDouble>> &Bwd,
263 const Array<OneD, const NekDouble> &imFwd,
264 const Array<OneD, const NekDouble> &imBwd,
265 Array<OneD, NekDouble> &outarrayFwd,
266 Array<OneD, NekDouble> &outarrayBwd);
267
269 const Array<OneD, Array<OneD, NekDouble>> &Fwd,
270 const Array<OneD, Array<OneD, NekDouble>> &Bwd,
271 const Array<OneD, const NekDouble> &im1Fwd,
272 const Array<OneD, const NekDouble> &im1Bwd,
273 const Array<OneD, const NekDouble> &im2Fwd,
274 const Array<OneD, const NekDouble> &im2Bwd,
275 Array<OneD, NekDouble> &outarrayFwd,
276 Array<OneD, NekDouble> &outarrayBwd);
277
279 const int dir, const Array<OneD, Array<OneD, NekDouble>> &Fwd,
280 const Array<OneD, Array<OneD, NekDouble>> &Bwd,
281 const Array<OneD, const NekDouble> &imFwd,
282 const Array<OneD, const NekDouble> &imBwd,
283 Array<OneD, NekDouble> &outarrayFwd,
284 Array<OneD, NekDouble> &outarrayBwd);
285
287 const Array<OneD, Array<OneD, NekDouble>> &Fwd,
288 const Array<OneD, Array<OneD, NekDouble>> &Bwd,
289 const Array<OneD, const NekDouble> &im1Fwd,
290 const Array<OneD, const NekDouble> &im1Bwd,
291 const Array<OneD, const NekDouble> &im2Fwd,
292 const Array<OneD, const NekDouble> &im2Bwd,
293 Array<OneD, NekDouble> &outarrayFwd,
294 Array<OneD, NekDouble> &outarrayBwd);
295
297 const NekDouble x0j, const NekDouble x1j, const NekDouble x2j,
298 NekDouble &sin_varphi, NekDouble &cos_varphi, NekDouble &sin_theta,
299 NekDouble &cos_theta);
300
304
306 const Array<OneD, const Array<OneD, NekDouble>> &physarray,
307 Array<OneD, Array<OneD, NekDouble>> &outarray);
308
310 const int var,
311 const Array<OneD, const Array<OneD, NekDouble>> &physfield,
313
315 const int var,
316 const Array<OneD, const Array<OneD, NekDouble>> &physfield,
318
320 const int var,
321 const Array<OneD, const Array<OneD, NekDouble>> &physfield,
323
325 Array<OneD, Array<OneD, NekDouble>> &physfield,
326 Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
327 Array<OneD, Array<OneD, NekDouble>> &numfluxBwd);
328
330 Array<OneD, Array<OneD, NekDouble>> &physfield,
331 Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
332 Array<OneD, Array<OneD, NekDouble>> &numfluxBwd);
333
335 Array<OneD, Array<OneD, NekDouble>> &physfield,
336 Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
337 Array<OneD, Array<OneD, NekDouble>> &numfluxBwd);
338
340 Array<OneD, Array<OneD, NekDouble>> &physfield,
341 Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
342 Array<OneD, Array<OneD, NekDouble>> &numfluxBwd,
343 const NekDouble time = 0.0);
344
346 Array<OneD, Array<OneD, NekDouble>> &physfield,
347 Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
348 Array<OneD, Array<OneD, NekDouble>> &numfluxBwd, const NekDouble time);
349
351 Array<OneD, Array<OneD, NekDouble>> &physfield,
352 Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
353 Array<OneD, Array<OneD, NekDouble>> &numfluxBwd, const NekDouble time);
354
356 const int var, const NekDouble time);
358
360 AvgInt(const Array<OneD, const NekDouble> &inarray);
368 const Array<OneD, const Array<OneD, NekDouble>> &inarray);
369
371 const Array<OneD, const Array<OneD, NekDouble>> &v1,
372 const Array<OneD, const Array<OneD, NekDouble>> &v2,
374 bool KeepTheMagnitude = true);
375
377 Array<OneD, NekDouble> &sortarray);
378};
379
380// Shared pointer to an MMFSystem class
381typedef std::shared_ptr<MMFSystem> MMFSystemSharedPtr;
382} // namespace Nektar::SolverUtils
383
384#endif
#define SOLVER_UTILS_EXPORT
A base class for PDEs which include an advection component.
Definition: MMFSystem.h:144
SOLVER_UTILS_EXPORT void LaxFriedrichMaxwellFlux1D(Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxFwd, Array< OneD, Array< OneD, NekDouble > > &numfluxBwd)
Definition: MMFSystem.cpp:1509
void CheckMovingFrames(const Array< OneD, const Array< OneD, NekDouble > > &movingframes)
Definition: MMFSystem.cpp:230
SOLVER_UTILS_EXPORT void ComputeNtimesF12(const Array< OneD, Array< OneD, NekDouble > > &Fwd, const Array< OneD, Array< OneD, NekDouble > > &Bwd, const Array< OneD, const NekDouble > &im1Fwd, const Array< OneD, const NekDouble > &im1Bwd, const Array< OneD, const NekDouble > &im2Fwd, const Array< OneD, const NekDouble > &im2Bwd, Array< OneD, NekDouble > &outarrayFwd, Array< OneD, NekDouble > &outarrayBwd)
Definition: MMFSystem.cpp:945
SOLVER_UTILS_EXPORT void VectorDotProd(const Array< OneD, const Array< OneD, NekDouble > > &v1, const Array< OneD, const Array< OneD, NekDouble > > &v2, Array< OneD, NekDouble > &v3)
Definition: MMFSystem.cpp:673
SOLVER_UTILS_EXPORT void ComputeCurl(const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
Definition: MMFSystem.cpp:731
Array< OneD, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > > m_dedxi_cdot_e
Definition: MMFSystem.h:217
Array< OneD, Array< OneD, NekDouble > > m_ZimFwd
Definition: MMFSystem.h:204
SOLVER_UTILS_EXPORT void BubbleSort(Array< OneD, NekDouble > &refarray, Array< OneD, NekDouble > &sortarray)
Definition: MMFSystem.cpp:2368
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimes_ntimesMFBwd
Definition: MMFSystem.h:202
SOLVER_UTILS_EXPORT void GetMaxwellFluxVector(const int var, const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &flux)
Definition: MMFSystem.cpp:1603
Array< OneD, Array< OneD, NekDouble > > m_DivMF
Definition: MMFSystem.h:192
SOLVER_UTILS_EXPORT void ComputeNtimesFz(const int dir, const Array< OneD, Array< OneD, NekDouble > > &Fwd, const Array< OneD, Array< OneD, NekDouble > > &Bwd, const Array< OneD, const NekDouble > &imFwd, const Array< OneD, const NekDouble > &imBwd, Array< OneD, NekDouble > &outarrayFwd, Array< OneD, NekDouble > &outarrayBwd)
Definition: MMFSystem.cpp:909
SOLVER_UTILS_EXPORT void NumericalMaxwellFluxTM(Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxFwd, Array< OneD, Array< OneD, NekDouble > > &numfluxBwd, const NekDouble time)
Definition: MMFSystem.cpp:1801
Array< OneD, Array< OneD, NekDouble > > m_nperpcdotMFFwd
Definition: MMFSystem.h:189
SOLVER_UTILS_EXPORT void GetMaxwellFlux1D(const int var, const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &flux)
Definition: MMFSystem.cpp:1633
Array< OneD, Array< OneD, NekDouble > > m_surfaceNormal
Definition: MMFSystem.h:184
SOLVER_UTILS_EXPORT void v_GenerateSummary(SummaryList &s) override
Virtual function for generating summary information.
Definition: MMFSystem.cpp:2463
SOLVER_UTILS_EXPORT NekDouble AbsIntegral(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2324
SOLVER_UTILS_EXPORT void DeriveCrossProductMF(Array< OneD, Array< OneD, NekDouble > > &CrossProductMF)
Definition: MMFSystem.cpp:568
SOLVER_UTILS_EXPORT void GetMaxwellFlux2D(const int var, const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &flux)
Definition: MMFSystem.cpp:1667
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimes_ntimesMFFwd
Definition: MMFSystem.h:201
SOLVER_UTILS_EXPORT void VectorCrossProd(const Array< OneD, const Array< OneD, NekDouble > > &v1, const Array< OneD, const Array< OneD, NekDouble > > &v2, Array< OneD, Array< OneD, NekDouble > > &v3)
Definition: MMFSystem.cpp:696
SOLVER_UTILS_EXPORT void NumericalMaxwellFlux(Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxFwd, Array< OneD, Array< OneD, NekDouble > > &numfluxBwd, const NekDouble time=0.0)
Definition: MMFSystem.cpp:1724
SOLVER_UTILS_EXPORT NekDouble AvgInt(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2292
SOLVER_UTILS_EXPORT void AdddedtMaxwell(const Array< OneD, const Array< OneD, NekDouble > > &physarray, Array< OneD, Array< OneD, NekDouble > > &outarray)
Definition: MMFSystem.cpp:1364
SOLVER_UTILS_EXPORT void ComputeZimYim(Array< OneD, Array< OneD, NekDouble > > &epsvec, Array< OneD, Array< OneD, NekDouble > > &muvec)
Definition: MMFSystem.cpp:1102
SOLVER_UTILS_EXPORT MMFSystem(const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph)
Definition: MMFSystem.cpp:41
SOLVER_UTILS_EXPORT void AverageMaxwellFlux1D(Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxFwd, Array< OneD, Array< OneD, NekDouble > > &numfluxBwd)
Definition: MMFSystem.cpp:1562
Array< OneD, Array< OneD, NekDouble > > m_nperpcdotMFBwd
Definition: MMFSystem.h:190
Array< OneD, Array< OneD, NekDouble > > m_YimBwd
Definition: MMFSystem.h:207
SOLVER_UTILS_EXPORT ~MMFSystem() override
Definition: MMFSystem.cpp:47
SOLVER_UTILS_EXPORT NekDouble VectorAvgMagnitude(const Array< OneD, const Array< OneD, NekDouble > > &inarray)
Definition: MMFSystem.cpp:2352
Array< OneD, Array< OneD, NekDouble > > m_muvec
Definition: MMFSystem.h:210
SpatialDomains::GeomMMF m_MMFdir
Definition: MMFSystem.h:219
SOLVER_UTILS_EXPORT NekDouble AvgAbsInt(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2307
Array< OneD, Array< OneD, NekDouble > > m_movingframes
Definition: MMFSystem.h:183
Array< OneD, NekDouble > m_MMFfactors
Definition: MMFSystem.h:157
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimesMFBwd
Definition: MMFSystem.h:200
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_MFtraceFwd
Definition: MMFSystem.h:196
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_MFtraceBwd
Definition: MMFSystem.h:197
SOLVER_UTILS_EXPORT Array< OneD, NekDouble > GetIncidentField(const int var, const NekDouble time)
Definition: MMFSystem.cpp:2005
void SetUpMovingFrames(const Array< OneD, const Array< OneD, NekDouble > > &Anisotropy, const int TangentXelem)
Definition: MMFSystem.cpp:118
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimesMFFwd
Definition: MMFSystem.h:199
SOLVER_UTILS_EXPORT void ComputeDivCurlMF()
Definition: MMFSystem.cpp:442
SOLVER_UTILS_EXPORT void GramSchumitz(const Array< OneD, const Array< OneD, NekDouble > > &v1, const Array< OneD, const Array< OneD, NekDouble > > &v2, Array< OneD, Array< OneD, NekDouble > > &outarray, bool KeepTheMagnitude=true)
Definition: MMFSystem.cpp:2399
Array< OneD, Array< OneD, NekDouble > > m_negepsvecminus1
Definition: MMFSystem.h:212
Array< OneD, Array< OneD, NekDouble > > m_ZimBwd
Definition: MMFSystem.h:205
SOLVER_UTILS_EXPORT Array< OneD, NekDouble > CartesianToMovingframes(const Array< OneD, const Array< OneD, NekDouble > > &uvec, unsigned int field)
Definition: MMFSystem.cpp:771
SOLVER_UTILS_EXPORT void ComputeNtimestimesdF12(const Array< OneD, Array< OneD, NekDouble > > &Fwd, const Array< OneD, Array< OneD, NekDouble > > &Bwd, const Array< OneD, const NekDouble > &im1Fwd, const Array< OneD, const NekDouble > &im1Bwd, const Array< OneD, const NekDouble > &im2Fwd, const Array< OneD, const NekDouble > &im2Bwd, Array< OneD, NekDouble > &outarrayFwd, Array< OneD, NekDouble > &outarrayBwd)
Definition: MMFSystem.cpp:1074
SOLVER_UTILS_EXPORT void CopyBoundaryTrace(const Array< OneD, const NekDouble > &Fwd, Array< OneD, NekDouble > &Bwd, const BoundaryCopyType BDCopyType, const int var=0, const std::string btype="NoUserDefined")
Definition: MMFSystem.cpp:835
Array< OneD, Array< OneD, NekDouble > > m_ncdotMFBwd
Definition: MMFSystem.h:187
SOLVER_UTILS_EXPORT void ComputeMFtrace()
Definition: MMFSystem.cpp:519
Array< OneD, Array< OneD, NekDouble > > m_YimFwd
Definition: MMFSystem.h:206
Array< OneD, Array< OneD, NekDouble > > m_epsvec
Definition: MMFSystem.h:209
SOLVER_UTILS_EXPORT void UpwindMaxwellFlux1D(Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxFwd, Array< OneD, Array< OneD, NekDouble > > &numfluxBwd)
Definition: MMFSystem.cpp:1455
SOLVER_UTILS_EXPORT void ComputencdotMF()
Definition: MMFSystem.cpp:317
SOLVER_UTILS_EXPORT void CartesianToSpherical(const NekDouble x0j, const NekDouble x1j, const NekDouble x2j, NekDouble &sin_varphi, NekDouble &cos_varphi, NekDouble &sin_theta, NekDouble &cos_theta)
Definition: MMFSystem.cpp:792
Array< OneD, Array< OneD, NekDouble > > m_negmuvecminus1
Definition: MMFSystem.h:213
SOLVER_UTILS_EXPORT void ComputeNtimestimesdFz(const int dir, const Array< OneD, Array< OneD, NekDouble > > &Fwd, const Array< OneD, Array< OneD, NekDouble > > &Bwd, const Array< OneD, const NekDouble > &imFwd, const Array< OneD, const NekDouble > &imBwd, Array< OneD, NekDouble > &outarrayFwd, Array< OneD, NekDouble > &outarrayBwd)
Definition: MMFSystem.cpp:1008
SOLVER_UTILS_EXPORT void NumericalMaxwellFluxTE(Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &numfluxFwd, Array< OneD, Array< OneD, NekDouble > > &numfluxBwd, const NekDouble time)
Definition: MMFSystem.cpp:1902
SOLVER_UTILS_EXPORT void ComputeNtimesMF()
Definition: MMFSystem.cpp:615
SOLVER_UTILS_EXPORT NekDouble RootMeanSquare(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2338
Array< OneD, Array< OneD, NekDouble > > m_ncdotMFFwd
Definition: MMFSystem.h:186
SOLVER_UTILS_EXPORT void MMFInitObject(const Array< OneD, const Array< OneD, NekDouble > > &Anisotropy, const int TangentXelem=-1)
Definition: MMFSystem.cpp:51
TestMaxwellType m_TestMaxwellType
Definition: MMFSystem.h:153
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_CurlMF
Definition: MMFSystem.h:193
SOLVER_UTILS_EXPORT void Computedemdxicdote()
Definition: MMFSystem.cpp:1274
Base class for unsteady solvers.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
const char *const UpwindTypeMap[]
Definition: MMFSystem.h:86
const char *const IncTypeMap[]
Definition: MMFSystem.h:136
const char *const BoundaryCopyTypeMap[]
Definition: MMFSystem.h:67
std::vector< std::pair< std::string, std::string > > SummaryList
Definition: Misc.h:46
std::shared_ptr< MMFSystem > MMFSystemSharedPtr
Definition: MMFSystem.h:381
@ SIZE_TestMaxwellType
Length of enum list.
Definition: MMFSystem.h:105
@ SIZE_UpwindType
Length of enum list.
Definition: MMFSystem.h:83
@ eAverage
averaged (or centred) flux
Definition: MMFSystem.h:77
@ eHLL
Harten-Lax-Leer flux.
Definition: MMFSystem.h:81
@ eLaxFriedrich
Lax-Friedrich flux.
Definition: MMFSystem.h:78
@ eNotSet
flux not defined
Definition: MMFSystem.h:76
@ eHLLC
Harten-Lax-Leer Contact wave flux.
Definition: MMFSystem.h:82
@ eRusanov
Upwind.
Definition: MMFSystem.h:80
const char *const TestMaxwellTypeMap[]
Definition: MMFSystem.h:108
const char *const SurfaceTypeMap[]
Definition: MMFSystem.h:54
const char *const PolTypeMap[]
Definition: MMFSystem.h:123
@ SIZE_BoundaryCopyType
Length of enum list.
Definition: MMFSystem.h:64
GeomMMF
Principle direction for MMF.
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
Definition: MeshGraph.h:174
double NekDouble