chombo-discharge
|
Class for holding a set of CdrSolvers. More...
#include <CD_CdrLayout.H>
Public Member Functions | |
CdrLayout ()=delete | |
Disallowed weak constructor. Use the full constructor. | |
CdrLayout (const Vector< RefCountedPtr< CdrSpecies >> &a_species) | |
Full constructor, setting the number of solvers to be instantiated. More... | |
virtual | ~CdrLayout () |
Destructor. | |
virtual phase::which_phase | getPhase () const |
Get phase. More... | |
virtual CdrIterator< T > | iterator () |
Get an iterator which can iterate through the various Cdr solvers. | |
virtual std::string | getRealm () const |
Get the realm where the Cdr solvers live. More... | |
virtual void | setRealm (const std::string a_realm) |
Set realm for all CdrSolvers. More... | |
virtual void | parseOptions () |
Parse class options. | |
virtual void | parseRuntimeOptions () |
Parse runtime options. | |
virtual void | addSolver (RefCountedPtr< T > &a_solver) |
Add solver. This appends a_solver to m_solvers. More... | |
virtual void | allocate () |
Allocate internal storage for solvers. | |
virtual void | deallocate () |
Deallocate solver internals. | |
virtual void | preRegrid (const int a_lbase, const int a_oldFinestLevel) |
Call preRegrid(...) method for all the CdrSolvers. More... | |
virtual void | initialData () |
Initial data. Fill all solvers with initial data. | |
virtual void | regrid (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) |
Regrid method. Calls regrid(...) for every CdrSolver. More... | |
virtual void | registerOperators () |
Register operators. | |
virtual void | setAmr (const RefCountedPtr< AmrMesh > &a_amrMesh) |
Set AmrMesh for all CdrSolvers. More... | |
virtual void | setComputationalGeometry (const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
Set the computational geometry for all CdrSolvers. More... | |
virtual void | setPhase (const phase::which_phase a_phase=phase::gas) |
Set phase. More... | |
virtual void | setVerbosity (const int a_verbosity) |
Set verbosity for all CdrSolvers. More... | |
virtual void | setTime (const int a_step, const Real a_time, const Real a_dt) |
Set time. More... | |
virtual void | writePlotFile () |
Convenience function. All solvers write plot files (for debugging purposes) | |
virtual Real | computeAdvectionDt () |
Get CFL time for advection. More... | |
virtual Real | computeDiffusionDt () |
Get time step for explicit diffusion. More... | |
virtual Real | computeAdvectionDiffusionDt () |
Get the time step for explicit advection-diffusion. More... | |
virtual Vector< RefCountedPtr< T > > & | getSolvers () |
Get solvers. More... | |
virtual Vector< RefCountedPtr< CdrSpecies > > & | getSpecies () |
Get species. | |
virtual Vector< EBAMRCellData * > | getSources () |
Get all source terms. | |
virtual Vector< EBAMRCellData * > | getPhis () |
Get all cell-centered states. | |
virtual Vector< EBAMRCellData * > | getVelocities () |
Get all cell-centered velocities. | |
virtual Vector< EBAMRCellData * > | getCellCenteredDiffusionCoefficients () |
Get all cell-centered diffusion coefficients. | |
virtual Vector< EBAMRFluxData * > | getFaceCenteredDiffusionCoefficient () |
Get all face-centered diffusion coefficients. | |
virtual Vector< EBAMRIVData * > | getEbCenteredDiffusionCoefficient () |
Get all EB-centered diffusion coefficients. | |
virtual Vector< EBAMRIVData * > | getEbFlux () |
Get all EB flux data holders. | |
virtual Vector< EBAMRIFData * > | getDomainFlux () |
Get domain flux data holders. | |
Protected Attributes | |
std::string | m_realm |
Realm where solvers live. | |
phase::which_phase | m_phase |
Phase where solvers live. | |
int | m_verbosity |
Verbosity. | |
Vector< RefCountedPtr< CdrSolver > > | m_solvers |
Solver instantiations. | |
Vector< RefCountedPtr< CdrSpecies > > | m_species |
Cdr species. | |
Class for holding a set of CdrSolvers.
This is primarily a utility class that just cuts down on typing when there are multiple species are being advected/diffused. This class simply stores a set of CdrSolvers, and it contains an "iterator" for iterating through them. This is simply meant to cut down on typing. Note that a TimeStepper can keep an instance this class rather than e.g. a Vector<RefCountedPtr<CdrSolver> >, but fundamentally there is no difference between the two. The CdrLayout can be constructed through a factory method, i.e. the user can do a quick-generation of a set of CdrSolvers by using the factory method for instantiating an arbitrary number of CdrSolvers.
CdrLayout< T >::CdrLayout | ( | const Vector< RefCountedPtr< CdrSpecies >> & | a_species | ) |
Full constructor, setting the number of solvers to be instantiated.
[in] | a_species | List of species that defines this solver. |
|
virtual |
Add solver. This appends a_solver to m_solvers.
[in] | a_solver | Solver to add to the layout. |
|
virtual |
Get the time step for explicit advection-diffusion.
|
virtual |
Get CFL time for advection.
|
virtual |
Get time step for explicit diffusion.
|
virtual |
Get phase.
|
virtual |
Get the realm where the Cdr solvers live.
|
virtual |
Get solvers.
|
virtual |
Call preRegrid(...) method for all the CdrSolvers.
[in] | a_lbase | Coarsest level which changes during regrid |
[in] | a_oldFinestLevel | Finest level before the regrid (i.e., the current finest level) |
|
virtual |
Regrid method. Calls regrid(...) for every CdrSolver.
[in] | a_lmin | Coarsest level that changed during the regrid. |
[in] | a_oldFinestLevel | Finest level before the regrid |
[in] | a_newFinestLevel | Finest level after the regrid |
|
virtual |
Set the computational geometry for all CdrSolvers.
[in] | a_computationalGeometry | Computational geometry |
|
virtual |
Set phase.
[i] | a_phase Phase |
|
virtual |
Set realm for all CdrSolvers.
[in] | a_realm | Realm name |
|
virtual |
Set time.
[in] | a_step | Time step |
[in] | a_time | Time |
[in] | a_dt | Time increment |
|
virtual |
Set verbosity for all CdrSolvers.
[in] | a_verbosity | Verbosity |