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", "Neumann", "FwdEQBwd", "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 
86 const char *const UpwindTypeMap[] = {
87  "NoSet", "Average", "LaxFriedrich", "Upwind", "Rusanov", "HLL", "HLLC",
88 };
89 
91 {
105  SIZE_TestMaxwellType ///< Length of enum list
106 };
107 
108 const char *const TestMaxwellTypeMap[] = {
109  "Maxwell1D", "TestMaxwell2DPEC", "TestMaxwell2DPECAVGFLUX",
110  "TestMaxwell2DPMC", "Maxwell3D", "ScatField1D",
111  "ScatField2D", "ScatField3D", "TotField1D",
112  "TotField2D", "TotField3D", "MaxwellSphere",
113  "ELF2DSurface",
114 };
115 
117 {
121 };
122 
123 const char *const PolTypeMap[] = {
124  "TransMagnetic", "TransElectric",
125 };
126 
128 {
133 };
134 
135 const char *const IncTypeMap[] = {
136  "PlaneWave", "PlaneWaveImag", "CylindricalWave",
137 };
138 
139 /// A base class for PDEs which include an advection component
140 class MMFSystem : virtual public UnsteadySystem
141 {
142 public:
144 
146 
149 
153 
155 
157  const LibUtilities::SessionReaderSharedPtr &pSession,
158  const SpatialDomains::MeshGraphSharedPtr& pGraph);
159 
161 
163 
165  const Array<OneD, const Array<OneD, NekDouble>> &Anisotropy,
166  const int TangentXelem = -1);
167 
170  const BoundaryCopyType BDCopyType, const int var = 0,
171  const std::string btype = "NoUserDefined");
172 
173 protected:
175 
179 
182 
185 
188 
191 
192  // MFdim \times spacedim \times npts
195 
200 
205 
208 
211 
212  // m_dedxi_cdot_e[m][j][n][] = de^m / d \xi^j \cdot e^n
215 
217 
219 
220  void SetUpMovingFrames(
221  const Array<OneD, const Array<OneD, NekDouble>> &Anisotropy,
222  const int TangentXelem);
223 
224  void CheckMovingFrames(
225  const Array<OneD, const Array<OneD, NekDouble>> &movingframes);
226 
228 
230 
232 
234  const Array<OneD, const Array<OneD, NekDouble>> &v1,
235  const Array<OneD, const Array<OneD, NekDouble>> &v2,
237 
239  const Array<OneD, const Array<OneD, NekDouble>> &v1,
240  const Array<OneD, const Array<OneD, NekDouble>> &v2,
242 
244  const Array<OneD, NekDouble> &v2,
246 
248  const Array<OneD, const Array<OneD, NekDouble>> &inarray,
249  Array<OneD, Array<OneD, NekDouble>> &outarray);
250 
252  const Array<OneD, const Array<OneD, NekDouble>> &uvec,
253  unsigned int field);
254 
256  Array<OneD, Array<OneD, NekDouble>> &CrossProductMF);
258 
260  const int dir, const Array<OneD, Array<OneD, NekDouble>> &Fwd,
261  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
262  const Array<OneD, const NekDouble> &imFwd,
263  const Array<OneD, const NekDouble> &imBwd,
264  Array<OneD, NekDouble> &outarrayFwd,
265  Array<OneD, NekDouble> &outarrayBwd);
266 
268  const Array<OneD, Array<OneD, NekDouble>> &Fwd,
269  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
270  const Array<OneD, const NekDouble> &im1Fwd,
271  const Array<OneD, const NekDouble> &im1Bwd,
272  const Array<OneD, const NekDouble> &im2Fwd,
273  const Array<OneD, const NekDouble> &im2Bwd,
274  Array<OneD, NekDouble> &outarrayFwd,
275  Array<OneD, NekDouble> &outarrayBwd);
276 
278  const int dir, const Array<OneD, Array<OneD, NekDouble>> &Fwd,
279  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
280  const Array<OneD, const NekDouble> &imFwd,
281  const Array<OneD, const NekDouble> &imBwd,
282  Array<OneD, NekDouble> &outarrayFwd,
283  Array<OneD, NekDouble> &outarrayBwd);
284 
286  const Array<OneD, Array<OneD, NekDouble>> &Fwd,
287  const Array<OneD, Array<OneD, NekDouble>> &Bwd,
288  const Array<OneD, const NekDouble> &im1Fwd,
289  const Array<OneD, const NekDouble> &im1Bwd,
290  const Array<OneD, const NekDouble> &im2Fwd,
291  const Array<OneD, const NekDouble> &im2Bwd,
292  Array<OneD, NekDouble> &outarrayFwd,
293  Array<OneD, NekDouble> &outarrayBwd);
294 
296  const NekDouble x0j, const NekDouble x1j, const NekDouble x2j,
297  NekDouble &sin_varphi, NekDouble &cos_varphi, NekDouble &sin_theta,
298  NekDouble &cos_theta);
299 
303 
305  const Array<OneD, const Array<OneD, NekDouble>> &physarray,
306  Array<OneD, Array<OneD, NekDouble>> &outarray);
307 
309  const int var,
310  const Array<OneD, const Array<OneD, NekDouble>> &physfield,
312 
314  const int var,
315  const Array<OneD, const Array<OneD, NekDouble>> &physfield,
317 
319  const int var,
320  const Array<OneD, const Array<OneD, NekDouble>> &physfield,
322 
324  Array<OneD, Array<OneD, NekDouble>> &physfield,
325  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
326  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd);
327 
329  Array<OneD, Array<OneD, NekDouble>> &physfield,
330  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
331  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd);
332 
334  Array<OneD, Array<OneD, NekDouble>> &physfield,
335  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
336  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd);
337 
339  Array<OneD, Array<OneD, NekDouble>> &physfield,
340  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
341  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd,
342  const NekDouble time = 0.0);
343 
345  Array<OneD, Array<OneD, NekDouble>> &physfield,
346  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
347  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd, const NekDouble time);
348 
350  Array<OneD, Array<OneD, NekDouble>> &physfield,
351  Array<OneD, Array<OneD, NekDouble>> &numfluxFwd,
352  Array<OneD, Array<OneD, NekDouble>> &numfluxBwd, const NekDouble time);
353 
355  const int var, const NekDouble time);
357 
359  AvgInt(const Array<OneD, const NekDouble> &inarray);
361  AvgAbsInt(const Array<OneD, const NekDouble> &inarray);
367  const Array<OneD, const Array<OneD, NekDouble>> &inarray);
368 
370  const Array<OneD, const Array<OneD, NekDouble>> &v1,
371  const Array<OneD, const Array<OneD, NekDouble>> &v2,
372  Array<OneD, Array<OneD, NekDouble>> &outarray,
373  bool KeepTheMagnitude = true);
374 
376  Array<OneD, NekDouble> &sortarray);
377 };
378 
379 // Shared pointer to an MMFSystem class
380 typedef std::shared_ptr<MMFSystem> MMFSystemSharedPtr;
381 }
382 }
383 
384 #endif
averaged (or centred) flux
Definition: MMFSystem.h:77
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
Definition: MeshGraph.h:163
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:950
Array< OneD, Array< OneD, NekDouble > > m_ncdotMFBwd
Definition: MMFSystem.h:184
SOLVER_UTILS_EXPORT void ComputeCurl(const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray)
Definition: MMFSystem.cpp:734
SOLVER_UTILS_EXPORT void AdddedtMaxwell(const Array< OneD, const Array< OneD, NekDouble >> &physarray, Array< OneD, Array< OneD, NekDouble >> &outarray)
Definition: MMFSystem.cpp:1369
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:1079
Array< OneD, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > > m_dedxi_cdot_e
Definition: MMFSystem.h:214
Array< OneD, NekDouble > m_MFlength
Definition: MMFSystem.h:218
A base class for PDEs which include an advection component.
Definition: MMFSystem.h:140
SOLVER_UTILS_EXPORT void ComputencdotMF()
Definition: MMFSystem.cpp:320
flux not defined
Definition: MMFSystem.h:76
SOLVER_UTILS_EXPORT Array< OneD, NekDouble > GetIncidentField(const int var, const NekDouble time)
Definition: MMFSystem.cpp:2034
Array< OneD, Array< OneD, NekDouble > > m_negepsvecminus1
Definition: MMFSystem.h:209
std::vector< std::pair< std::string, std::string > > SummaryList
Definition: Misc.h:46
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:2428
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_CurlMF
Definition: MMFSystem.h:190
void SetUpMovingFrames(const Array< OneD, const Array< OneD, NekDouble >> &Anisotropy, const int TangentXelem)
Definition: MMFSystem.cpp:120
Lax-Friedrich flux.
Definition: MMFSystem.h:78
const char *const IncTypeMap[]
Definition: MMFSystem.h:135
Harten-Lax-Leer Contact wave flux.
Definition: MMFSystem.h:82
const char *const SurfaceTypeMap[]
Definition: MMFSystem.h:57
SOLVER_UTILS_EXPORT void DeriveCrossProductMF(Array< OneD, Array< OneD, NekDouble >> &CrossProductMF)
Definition: MMFSystem.cpp:571
SOLVER_UTILS_EXPORT void ComputeZimYim(Array< OneD, Array< OneD, NekDouble >> &epsvec, Array< OneD, Array< OneD, NekDouble >> &muvec)
Definition: MMFSystem.cpp:1107
GeomMMF
Principle direction for MMF.
SOLVER_UTILS_EXPORT void ComputeDivCurlMF()
Definition: MMFSystem.cpp:445
SOLVER_UTILS_EXPORT void Computedemdxicdote()
Definition: MMFSystem.cpp:1279
SOLVER_UTILS_EXPORT NekDouble VectorAvgMagnitude(const Array< OneD, const Array< OneD, NekDouble >> &inarray)
Definition: MMFSystem.cpp:2381
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:1013
Array< OneD, Array< OneD, NekDouble > > m_epsvec
Definition: MMFSystem.h:206
virtual SOLVER_UTILS_EXPORT ~MMFSystem()
Definition: MMFSystem.cpp:49
Array< OneD, Array< OneD, NekDouble > > m_movingframes
Definition: MMFSystem.h:180
Array< OneD, Array< OneD, NekDouble > > m_YimFwd
Definition: MMFSystem.h:203
Array< OneD, Array< OneD, NekDouble > > m_DivMF
Definition: MMFSystem.h:189
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimes_ntimesMFBwd
Definition: MMFSystem.h:199
void CheckMovingFrames(const Array< OneD, const Array< OneD, NekDouble >> &movingframes)
Definition: MMFSystem.cpp:233
TestMaxwellType m_TestMaxwellType
Definition: MMFSystem.h:150
const char *const TestMaxwellTypeMap[]
Definition: MMFSystem.h:108
Array< OneD, Array< OneD, NekDouble > > m_muvec
Definition: MMFSystem.h:207
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 ComputeMFtrace()
Definition: MMFSystem.cpp:522
const char *const UpwindTypeMap[]
Definition: MMFSystem.h:86
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:1571
Array< OneD, Array< OneD, NekDouble > > m_nperpcdotMFFwd
Definition: MMFSystem.h:186
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:697
Base class for unsteady solvers.
SOLVER_UTILS_EXPORT NekDouble RootMeanSquare(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2367
Array< OneD, Array< OneD, NekDouble > > m_ZimFwd
Definition: MMFSystem.h:201
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimes_ntimesMFFwd
Definition: MMFSystem.h:198
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:1678
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:674
const char *const PolTypeMap[]
Definition: MMFSystem.h:123
SOLVER_UTILS_EXPORT void ComputeNtimesMF()
Definition: MMFSystem.cpp:618
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:1735
Array< OneD, Array< OneD, NekDouble > > m_surfaceNormal
Definition: MMFSystem.h:181
double NekDouble
SOLVER_UTILS_EXPORT void MMFInitObject(const Array< OneD, const Array< OneD, NekDouble >> &Anisotropy, const int TangentXelem=-1)
Definition: MMFSystem.cpp:53
Array< OneD, Array< OneD, NekDouble > > m_ZimBwd
Definition: MMFSystem.h:202
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:1812
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:1516
Array< OneD, Array< OneD, NekDouble > > m_ncdotMFFwd
Definition: MMFSystem.h:183
Array< OneD, NekDouble > m_MMFfactors
Definition: MMFSystem.h:154
Array< OneD, Array< OneD, NekDouble > > m_nperpcdotMFBwd
Definition: MMFSystem.h:187
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 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:1922
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_MFtraceBwd
Definition: MMFSystem.h:194
Array< OneD, Array< OneD, NekDouble > > m_negmuvecminus1
Definition: MMFSystem.h:210
SOLVER_UTILS_EXPORT NekDouble AbsIntegral(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2353
SOLVER_UTILS_EXPORT NekDouble AvgAbsInt(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2336
const char *const BoundaryCopyTypeMap[]
Definition: MMFSystem.h:70
#define SOLVER_UTILS_EXPORT
SOLVER_UTILS_EXPORT NekDouble AvgInt(const Array< OneD, const NekDouble > &inarray)
Definition: MMFSystem.cpp:2321
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
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:1614
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimesMFBwd
Definition: MMFSystem.h:197
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:1460
Harten-Lax-Leer flux.
Definition: MMFSystem.h:81
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_ntimesMFFwd
Definition: MMFSystem.h:196
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:1644
Array< OneD, Array< OneD, NekDouble > > m_YimBwd
Definition: MMFSystem.h:204
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > m_MFtraceFwd
Definition: MMFSystem.h:193
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:914
std::shared_ptr< MMFSystem > MMFSystemSharedPtr
Definition: MMFSystem.h:380
virtual SOLVER_UTILS_EXPORT void v_GenerateSummary(SummaryList &s)
Print a summary of time stepping parameters.
Definition: MMFSystem.cpp:2492
std::shared_ptr< SessionReader > SessionReaderSharedPtr
SOLVER_UTILS_EXPORT MMFSystem(const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph)
Definition: MMFSystem.cpp:43
SpatialDomains::GeomMMF m_MMFdir
Definition: MMFSystem.h:216
SOLVER_UTILS_EXPORT void BubbleSort(Array< OneD, NekDouble > &refarray, Array< OneD, NekDouble > &sortarray)
Definition: MMFSystem.cpp:2397