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 // #include <SolverUtils/Advection/Advection.h>
40 
41 namespace Nektar
42 {
43 namespace SolverUtils
44 {
45 
47 {
55 };
56 
57 const char *const SurfaceTypeMap[] = {
58  "Plane", "Sphere", "TRSphere", "Irregular", "Nonconvex", "Cube",
59 };
60 
62 {
67  SIZE_BoundaryCopyType ///< Length of enum list
68 };
69 
70 const char *const BoundaryCopyTypeMap[] = {
71  "Dirichlet",
72  "Neumann",
73  "FwdEQBwd",
74  "FwdEQNegBwd",
75 };
76 
78 {
79  eNotSet, ///< flux not defined
80  eAverage, ///< averaged (or centred) flux
81  eLaxFriedrich, ///< Lax-Friedrich flux
82  eUpwind, /// Upwind
83  eRusanov, ///< Rusanov flux
84  eHLL, ///< Harten-Lax-Leer flux
85  eHLLC, ///< Harten-Lax-Leer Contact wave flux
86  SIZE_UpwindType ///< Length of enum list
87 };
88 
89 const char *const UpwindTypeMap[] = {
90  "NoSet", "Average", "LaxFriedrich", "Upwind", "Rusanov", "HLL", "HLLC",
91 };
92 
94 {
108  SIZE_TestMaxwellType ///< Length of enum list
109 };
110 
111 const char *const TestMaxwellTypeMap[] = {
112  "Maxwell1D", "TestMaxwell2DPEC", "TestMaxwell2DPECAVGFLUX",
113  "TestMaxwell2DPMC", "Maxwell3D", "ScatField1D",
114  "ScatField2D", "ScatField3D", "TotField1D",
115  "TotField2D", "TotField3D", "MaxwellSphere",
116  "ELF2DSurface",
117 };
118 
120 {
124 };
125 
126 const char *const PolTypeMap[] = {
127  "TransMagnetic",
128  "TransElectric",
129 };
130 
132 {
137 };
138 
139 const char *const IncTypeMap[] = {
140  "PlaneWave",
141  "PlaneWaveImag",
142  "CylindricalWave",
143 };
144 
145 /// A base class for PDEs which include an advection component
146 class MMFSystem : virtual public UnsteadySystem
147 {
148 public:
150 
152 
155 
159 
161 
163  const LibUtilities::SessionReaderSharedPtr &pSession,
164  const SpatialDomains::MeshGraphSharedPtr &pGraph);
165 
167 
168  SOLVER_UTILS_EXPORT virtual void v_GenerateSummary(SummaryList &s) override;
169 
171  const Array<OneD, const Array<OneD, NekDouble>> &Anisotropy,
172  const int TangentXelem = -1);
173 
176  const BoundaryCopyType BDCopyType, const int var = 0,
177  const std::string btype = "NoUserDefined");
178 
179 protected:
181 
185 
188 
191 
194 
197 
198  // MFdim \times spacedim \times npts
201 
206 
211 
214 
217 
218  // m_dedxi_cdot_e[m][j][n][] = de^m / d \xi^j \cdot e^n
221 
223 
225 
226  void SetUpMovingFrames(
227  const Array<OneD, const Array<OneD, NekDouble>> &Anisotropy,
228  const int TangentXelem);
229 
230  void CheckMovingFrames(
231  const Array<OneD, const Array<OneD, NekDouble>> &movingframes);
232 
234 
236 
238 
240  const Array<OneD, const Array<OneD, NekDouble>> &v1,
241  const Array<OneD, const Array<OneD, NekDouble>> &v2,
243 
245  const Array<OneD, const Array<OneD, NekDouble>> &v1,
246  const Array<OneD, const Array<OneD, NekDouble>> &v2,
248 
250  const Array<OneD, NekDouble> &v2,
252 
254  const Array<OneD, const Array<OneD, NekDouble>> &inarray,
255  Array<OneD, Array<OneD, NekDouble>> &outarray);
256 
258  const Array<OneD, const Array<OneD, NekDouble>> &uvec,
259  unsigned int field);
260 
262  Array<OneD, Array<OneD, NekDouble>> &CrossProductMF);
264 
266  const int dir, const Array<OneD, Array<OneD, NekDouble>> &Fwd,
267  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
268  const Array<OneD, const NekDouble> &imFwd,
269  const Array<OneD, const NekDouble> &imBwd,
270  Array<OneD, NekDouble> &outarrayFwd,
271  Array<OneD, NekDouble> &outarrayBwd);
272 
274  const Array<OneD, Array<OneD, NekDouble>> &Fwd,
275  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
276  const Array<OneD, const NekDouble> &im1Fwd,
277  const Array<OneD, const NekDouble> &im1Bwd,
278  const Array<OneD, const NekDouble> &im2Fwd,
279  const Array<OneD, const NekDouble> &im2Bwd,
280  Array<OneD, NekDouble> &outarrayFwd,
281  Array<OneD, NekDouble> &outarrayBwd);
282 
284  const int dir, const Array<OneD, Array<OneD, NekDouble>> &Fwd,
285  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
286  const Array<OneD, const NekDouble> &imFwd,
287  const Array<OneD, const NekDouble> &imBwd,
288  Array<OneD, NekDouble> &outarrayFwd,
289  Array<OneD, NekDouble> &outarrayBwd);
290 
292  const Array<OneD, Array<OneD, NekDouble>> &Fwd,
293  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
294  const Array<OneD, const NekDouble> &im1Fwd,
295  const Array<OneD, const NekDouble> &im1Bwd,
296  const Array<OneD, const NekDouble> &im2Fwd,
297  const Array<OneD, const NekDouble> &im2Bwd,
298  Array<OneD, NekDouble> &outarrayFwd,
299  Array<OneD, NekDouble> &outarrayBwd);
300 
302  const NekDouble x0j, const NekDouble x1j, const NekDouble x2j,
303  NekDouble &sin_varphi, NekDouble &cos_varphi, NekDouble &sin_theta,
304  NekDouble &cos_theta);
305 
309 
311  const Array<OneD, const Array<OneD, NekDouble>> &physarray,
312  Array<OneD, Array<OneD, NekDouble>> &outarray);
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  const int var,
326  const Array<OneD, const Array<OneD, NekDouble>> &physfield,
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 
345  Array<OneD, Array<OneD, NekDouble>> &physfield,
346  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
347  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd,
348  const NekDouble time = 0.0);
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  Array<OneD, Array<OneD, NekDouble>> &physfield,
357  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
358  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd, const NekDouble time);
359 
361  const int var, const NekDouble time);
363 
365  AvgInt(const Array<OneD, const NekDouble> &inarray);
367  AvgAbsInt(const Array<OneD, const NekDouble> &inarray);
373  const Array<OneD, const Array<OneD, NekDouble>> &inarray);
374 
376  const Array<OneD, const Array<OneD, NekDouble>> &v1,
377  const Array<OneD, const Array<OneD, NekDouble>> &v2,
378  Array<OneD, Array<OneD, NekDouble>> &outarray,
379  bool KeepTheMagnitude = true);
380 
382  Array<OneD, NekDouble> &sortarray);
383 };
384 
385 // Shared pointer to an MMFSystem class
386 typedef std::shared_ptr<MMFSystem> MMFSystemSharedPtr;
387 } // namespace SolverUtils
388 } // namespace Nektar
389 
390 #endif
#define SOLVER_UTILS_EXPORT
A base class for PDEs which include an advection component.
Definition: MMFSystem.h:147
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:1673
SOLVER_UTILS_EXPORT Array< OneD, NekDouble > CartesianToMovingframes(const Array< OneD, const Array< OneD, NekDouble >> &uvec, unsigned int field)
Definition: MMFSystem.cpp:774
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:1730
Array< OneD, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > > m_dedxi_cdot_e
Definition: MMFSystem.h:220
Array< OneD, Array< OneD, NekDouble > > m_ZimFwd
Definition: MMFSystem.h:207
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:2405
SOLVER_UTILS_EXPORT void BubbleSort(Array< OneD, NekDouble > &refarray, Array< OneD, NekDouble > &sortarray)
Definition: MMFSystem.cpp:2374
SOLVER_UTILS_EXPORT void ComputeZimYim(Array< OneD, Array< OneD, NekDouble >> &epsvec, Array< OneD, Array< OneD, NekDouble >> &muvec)
Definition: MMFSystem.cpp:1108
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimes_ntimesMFBwd
Definition: MMFSystem.h:205
Array< OneD, Array< OneD, NekDouble > > m_DivMF
Definition: MMFSystem.h:195
Array< OneD, Array< OneD, NekDouble > > m_nperpcdotMFFwd
Definition: MMFSystem.h:192
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:699
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:1609
Array< OneD, Array< OneD, NekDouble > > m_surfaceNormal
Definition: MMFSystem.h:187
virtual SOLVER_UTILS_EXPORT void v_GenerateSummary(SummaryList &s) override
Print a summary of time stepping parameters.
Definition: MMFSystem.cpp:2469
SOLVER_UTILS_EXPORT NekDouble AbsIntegral(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2330
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimes_ntimesMFFwd
Definition: MMFSystem.h:204
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:1014
SOLVER_UTILS_EXPORT NekDouble AvgInt(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2298
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:1807
SOLVER_UTILS_EXPORT MMFSystem(const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph)
Definition: MMFSystem.cpp:43
Array< OneD, Array< OneD, NekDouble > > m_nperpcdotMFBwd
Definition: MMFSystem.h:193
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:676
void CheckMovingFrames(const Array< OneD, const Array< OneD, NekDouble >> &movingframes)
Definition: MMFSystem.cpp:233
Array< OneD, Array< OneD, NekDouble > > m_YimBwd
Definition: MMFSystem.h:210
SOLVER_UTILS_EXPORT void DeriveCrossProductMF(Array< OneD, Array< OneD, NekDouble >> &CrossProductMF)
Definition: MMFSystem.cpp:571
Array< OneD, Array< OneD, NekDouble > > m_muvec
Definition: MMFSystem.h:213
SpatialDomains::GeomMMF m_MMFdir
Definition: MMFSystem.h:222
SOLVER_UTILS_EXPORT NekDouble AvgAbsInt(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2313
Array< OneD, Array< OneD, NekDouble > > m_movingframes
Definition: MMFSystem.h:186
Array< OneD, NekDouble > m_MMFfactors
Definition: MMFSystem.h:160
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimesMFBwd
Definition: MMFSystem.h:203
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_MFtraceFwd
Definition: MMFSystem.h:199
SOLVER_UTILS_EXPORT NekDouble VectorAvgMagnitude(const Array< OneD, const Array< OneD, NekDouble >> &inarray)
Definition: MMFSystem.cpp:2358
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_MFtraceBwd
Definition: MMFSystem.h:200
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:1080
void SetUpMovingFrames(const Array< OneD, const Array< OneD, NekDouble >> &Anisotropy, const int TangentXelem)
Definition: MMFSystem.cpp:120
SOLVER_UTILS_EXPORT Array< OneD, NekDouble > GetIncidentField(const int var, const NekDouble time)
Definition: MMFSystem.cpp:2011
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimesMFFwd
Definition: MMFSystem.h:202
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:1908
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:1568
SOLVER_UTILS_EXPORT void MMFInitObject(const Array< OneD, const Array< OneD, NekDouble >> &Anisotropy, const int TangentXelem=-1)
Definition: MMFSystem.cpp:53
virtual SOLVER_UTILS_EXPORT ~MMFSystem()
Definition: MMFSystem.cpp:49
SOLVER_UTILS_EXPORT void ComputeDivCurlMF()
Definition: MMFSystem.cpp:445
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:1639
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:1515
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:951
Array< OneD, Array< OneD, NekDouble > > m_negepsvecminus1
Definition: MMFSystem.h:215
Array< OneD, Array< OneD, NekDouble > > m_ZimBwd
Definition: MMFSystem.h:208
SOLVER_UTILS_EXPORT void AdddedtMaxwell(const Array< OneD, const Array< OneD, NekDouble >> &physarray, Array< OneD, Array< OneD, NekDouble >> &outarray)
Definition: MMFSystem.cpp:1370
Array< OneD, NekDouble > m_MFlength
Definition: MMFSystem.h:224
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:838
Array< OneD, Array< OneD, NekDouble > > m_ncdotMFBwd
Definition: MMFSystem.h:190
SOLVER_UTILS_EXPORT void ComputeMFtrace()
Definition: MMFSystem.cpp:522
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:1461
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:915
Array< OneD, Array< OneD, NekDouble > > m_YimFwd
Definition: MMFSystem.h:209
Array< OneD, Array< OneD, NekDouble > > m_epsvec
Definition: MMFSystem.h:212
SOLVER_UTILS_EXPORT void ComputencdotMF()
Definition: MMFSystem.cpp:320
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:795
SOLVER_UTILS_EXPORT void ComputeCurl(const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray)
Definition: MMFSystem.cpp:734
Array< OneD, Array< OneD, NekDouble > > m_negmuvecminus1
Definition: MMFSystem.h:216
SOLVER_UTILS_EXPORT void ComputeNtimesMF()
Definition: MMFSystem.cpp:618
SOLVER_UTILS_EXPORT NekDouble RootMeanSquare(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2344
Array< OneD, Array< OneD, NekDouble > > m_ncdotMFFwd
Definition: MMFSystem.h:189
TestMaxwellType m_TestMaxwellType
Definition: MMFSystem.h:156
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_CurlMF
Definition: MMFSystem.h:196
SOLVER_UTILS_EXPORT void Computedemdxicdote()
Definition: MMFSystem.cpp:1280
Base class for unsteady solvers.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
const char *const UpwindTypeMap[]
Definition: MMFSystem.h:89
const char *const IncTypeMap[]
Definition: MMFSystem.h:139
const char *const BoundaryCopyTypeMap[]
Definition: MMFSystem.h:70
std::vector< std::pair< std::string, std::string > > SummaryList
Definition: Misc.h:48
std::shared_ptr< MMFSystem > MMFSystemSharedPtr
Definition: MMFSystem.h:386
@ SIZE_TestMaxwellType
Length of enum list.
Definition: MMFSystem.h:108
@ SIZE_UpwindType
Length of enum list.
Definition: MMFSystem.h:86
@ eAverage
averaged (or centred) flux
Definition: MMFSystem.h:80
@ eHLL
Harten-Lax-Leer flux.
Definition: MMFSystem.h:84
@ eLaxFriedrich
Lax-Friedrich flux.
Definition: MMFSystem.h:81
@ eNotSet
flux not defined
Definition: MMFSystem.h:79
@ eHLLC
Harten-Lax-Leer Contact wave flux.
Definition: MMFSystem.h:85
@ eRusanov
Upwind.
Definition: MMFSystem.h:83
const char *const TestMaxwellTypeMap[]
Definition: MMFSystem.h:111
const char *const SurfaceTypeMap[]
Definition: MMFSystem.h:57
const char *const PolTypeMap[]
Definition: MMFSystem.h:126
@ SIZE_BoundaryCopyType
Length of enum list.
Definition: MMFSystem.h:67
GeomMMF
Principle direction for MMF.
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
Definition: MeshGraph.h:172
The above copyright notice and this permission notice shall be included.
Definition: CoupledSolver.h:2
double NekDouble