chombo-discharge
CD_CdrGodunov.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_CdrGodunov_H
13 #define CD_CdrGodunov_H
14 
15 // Chombo includes
16 #include <EBAdvectLevelIntegrator.H>
17 
18 // Our includes
19 #include <CD_CdrMultigrid.H>
20 #include <CD_NamespaceHeader.H>
21 
30 class CdrGodunov : public CdrMultigrid
31 {
32 public:
36  CdrGodunov();
37 
41  virtual ~CdrGodunov();
42 
46  virtual void
47  parseOptions() override;
48 
52  virtual void
53  parseRuntimeOptions() override;
54 
58  virtual void
59  allocate() override;
60 
66  virtual Real
67  computeAdvectionDt() override;
68 
69 protected:
73  Vector<RefCountedPtr<EBAdvectLevelIntegrator>> m_levelAdvect;
74 
79 
84 
88  virtual void
90 
94  virtual void
96 
104  virtual void
105  advectToFaces(EBAMRFluxData& a_facePhi, const EBAMRCellData& a_phi, const Real a_extrapDt) override;
106 };
107 
108 #include <CD_NamespaceFooter.H>
109 
110 #endif
Extensions of CdrSolver which use EBHelmholtzOp for diffusion solves.
Godunov implementation for advection.
Definition: CD_CdrGodunov.H:31
virtual void parseSlopeLimiter()
Parses slope limiter options.
Definition: CD_CdrGodunov.cpp:159
virtual void parseExtrapolateSourceTerm()
Definition: CD_CdrGodunov.cpp:146
bool m_extrapolateSourceTerm
Turn on/off source terms when time-extrapolating.
Definition: CD_CdrGodunov.H:83
bool m_limitSlopes
If true, slopes are limited (always use limiting).
Definition: CD_CdrGodunov.H:78
virtual ~CdrGodunov()
Destructor (does nothing)
Definition: CD_CdrGodunov.cpp:32
CdrGodunov()
Constructor.
Definition: CD_CdrGodunov.cpp:23
virtual Real computeAdvectionDt() override
Compute the largest possible advective time step (for explicit methods)
Definition: CD_CdrGodunov.cpp:74
Vector< RefCountedPtr< EBAdvectLevelIntegrator > > m_levelAdvect
Advection object – this implements the Graves/Trebotich discretization.
Definition: CD_CdrGodunov.H:73
virtual void parseRuntimeOptions() override
Parse runtime options.
Definition: CD_CdrGodunov.cpp:56
virtual void advectToFaces(EBAMRFluxData &a_facePhi, const EBAMRCellData &a_phi, const Real a_extrapDt) override
Godunov face extrapolation method for advection.
Definition: CD_CdrGodunov.cpp:220
virtual void parseOptions() override
Parse class options to put object in usable state.
Definition: CD_CdrGodunov.cpp:38
virtual void allocate() override
Allocate internal data holders in class object.
Definition: CD_CdrGodunov.cpp:172
Extension class of CdrSolver that uses multigrid for diffusion part. Can also solve for stochastic di...
Definition: CD_CdrMultigrid.H:35