12#ifndef CD_RtLayoutImplem_H
13#define CD_RtLayoutImplem_H
21#include <CD_NamespaceHeader.H>
26 CH_TIME(
"RtLayout<T>::RtLayout(Vector)");
37 CH_TIME(
"RtLayout<T>::~RtLayout");
76 CH_TIME(
"RtLayout<T>::parseOptions");
78 pout() <<
"RtLayout<T>::parseOptions" <<
endl;
91 CH_TIME(
"RtLayout<T>::parseRuntimeOptions");
93 pout() <<
"RtLayout<T>::parseRuntimeOptions" <<
endl;
106 CH_TIME(
"RtLayout<T>::allocate");
108 pout() <<
"RtLayout<T>::allocate" <<
endl;
121 CH_TIME(
"RtLayout<T>::preRegrid");
123 pout() <<
"RtLayout<T>::preRegrid" <<
endl;
136 CH_TIME(
"RtLayout<T>::deallocate");
138 pout() <<
"RtLayout<T>::deallocate" <<
endl;
151 CH_TIME(
"RtLayout<T>::setAmr");
153 pout() <<
"RtLayout<T>::setAmr" <<
endl;
166 CH_TIME(
"RtLayout<T>::setComputationalGeometry");
168 pout() <<
"RtLayout<T>::setComputationalGeometry" <<
endl;
181 CH_TIME(
"RtLayout<T>::setPhase");
183 pout() <<
"RtLayout<T>::setPhase" <<
endl;
198 CH_TIME(
"RtLayout<T>::setVerbosity");
202 pout() <<
"RtLayout<T>::setVerbosity" <<
endl;
215 CH_TIME(
"RtLayout<T>::sanityCheck");
217 pout() <<
"RtLayout<T>::sanityCheck" <<
endl;
230 CH_TIME(
"RtLayout<T>::setTime");
232 pout() <<
"RtLayout<T>::setTime" <<
endl;
245 CH_TIME(
"RtLayout<T>::regrid");
247 pout() <<
"RtLayout<T>::regrid" <<
endl;
260 CH_TIME(
"RtLayout<T>::registerOperators");
262 pout() <<
"RtLayout<T>::registerOperators" <<
endl;
275 CH_TIME(
"RtLayout<T>::setSource(ebamrcell)");
277 pout() <<
"RtLayout<T>::setSource(ebamrcell)" <<
endl;
290 CH_TIME(
"RtLayout<T>::setSource(constant)");
292 pout() <<
"RtLayout<T>::setSource(constant)" <<
endl;
305 CH_TIME(
"RtLayout<T>::setStationary");
307 pout() <<
"RtLayout<T>::setStationary" <<
endl;
320 CH_TIME(
"RtLayout<T>::writePlotFile");
322 pout() <<
"RtLayout<T>::writePlotFile" <<
endl;
335 CH_TIME(
"RtLayout<T>::advance");
337 pout() <<
"RtLayout<T>::advance" <<
endl;
350 CH_TIME(
"RtLayout<T>::initialData");
352 pout() <<
"RtLayout<T>::initialData" <<
endl;
365 CH_TIME(
"RtLayout<T>::isStationary");
367 pout() <<
"RtLayout<T>::isStationary" <<
endl;
375 if (
solver->isStationary() ==
false) {
387 CH_TIME(
"RtLayout<T>::getPhase");
389 pout() <<
"RtLayout<T>::getPhase" <<
endl;
413 CH_TIME(
"RtLayout<T>::getSources");
415 pout() <<
"RtLayout<T>::getSources" <<
endl;
432 CH_TIME(
"RtLayout<T>::getPhis");
434 pout() <<
"RtLayout<T>::getPhis" <<
endl;
447template <
class T,
class S>
451template <
class T,
class S>
455template <
class T,
class S>
475#include <CD_NamespaceFooter.H>
Iterator class for RtLayout.
Declaration of a class that holds a set of RtSolvers.
RefCountedPtr< RtLayout< T > > newLayout(const Vector< RefCountedPtr< RtSpecies > > &a_species) const
Get a new Layout. This will cast S to a specific class (T)
Definition CD_RtLayoutImplem.H:457
~RtFactory()
Destructor (does nothing)
Definition CD_RtLayoutImplem.H:452
RtFactory()
Constructor (does nothing)
Definition CD_RtLayoutImplem.H:448
virtual void setVerbosity(const int a_verbosity)
Set verbosity.
Definition CD_RtLayoutImplem.H:196
virtual void setComputationalGeometry(const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry)
Set the computational geometry.
Definition CD_RtLayoutImplem.H:164
virtual const std::string getRealm() const
Get realm where the solvers are allocated.
Definition CD_RtLayoutImplem.H:49
virtual Vector< RefCountedPtr< T > > & getSolvers()
Get solvers.
Definition CD_RtLayoutImplem.H:397
virtual void parseOptions()
Parse options.
Definition CD_RtLayoutImplem.H:74
virtual void setStationary(const bool a_stationary)
Turn on/off stationary.
Definition CD_RtLayoutImplem.H:303
virtual void sanityCheck()
Do a sanity check.
Definition CD_RtLayoutImplem.H:213
virtual void setTime(const int a_step, const Real a_time, const Real a_dt)
Set time.
Definition CD_RtLayoutImplem.H:228
virtual Vector< EBAMRCellData * > getSources()
Get all source terms.
Definition CD_RtLayoutImplem.H:411
virtual void registerOperators()
Register operators.
Definition CD_RtLayoutImplem.H:258
virtual void setSource(const EBAMRCellData &a_source)
Convenience function. Set source terms for all species. Mostly used for debugging.
Definition CD_RtLayoutImplem.H:273
virtual bool isStationary()
Check if solvers are stationary.
Definition CD_RtLayoutImplem.H:363
virtual Vector< EBAMRCellData * > getPhis()
Get all states.
Definition CD_RtLayoutImplem.H:430
virtual void deallocate()
Deallocate internal storage for solvers.
Definition CD_RtLayoutImplem.H:134
virtual void setAmr(const RefCountedPtr< AmrMesh > &a_amr)
Set amr.
Definition CD_RtLayoutImplem.H:149
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel)
Regrid all solvers.
Definition CD_RtLayoutImplem.H:243
virtual void addSolver(RefCountedPtr< T > a_solver)
Add a new solver to the solver layout.
Definition CD_RtLayoutImplem.H:67
virtual void parseRuntimeOptions()
Parse runtime options.
Definition CD_RtLayoutImplem.H:89
virtual Vector< RefCountedPtr< RtSpecies > > & getSpecies()
Get species.
Definition CD_RtLayoutImplem.H:404
virtual RtIterator< T > iterator()
Get iterator.
Definition CD_RtLayoutImplem.H:42
RtLayout(const Vector< RefCountedPtr< RtSpecies > > &a_RtSpecies)
Full constructor.
Definition CD_RtLayoutImplem.H:24
virtual ~RtLayout()
Destructor (does nothing)
Definition CD_RtLayoutImplem.H:35
virtual void setRealm(const std::string a_realm)
Set realm for solvers.
Definition CD_RtLayoutImplem.H:56
virtual void writePlotFile()
Convenience function. All solvers write plot files.
Definition CD_RtLayoutImplem.H:318
virtual void preRegrid(const int a_base, const int a_oldFinestLevel)
Pre regrid stuff.
Definition CD_RtLayoutImplem.H:119
virtual void initialData()
Fill with initial data.
Definition CD_RtLayoutImplem.H:348
virtual void advance(const Real a_dt)
Convenience function. Call advance method for each solver.
Definition CD_RtLayoutImplem.H:333
virtual phase::which_phase getPhase()
Get phase.
Definition CD_RtLayoutImplem.H:385
virtual void allocate()
Allocate internal storage for solvers.
Definition CD_RtLayoutImplem.H:104
virtual void setPhase(phase::which_phase a_phase=phase::gas)
Set phase.
Definition CD_RtLayoutImplem.H:179
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
virtual void setRealm(const std::string &a_realm)
Set the solver realm.
Definition CD_TracerParticleSolverImplem.H:233
virtual void registerOperators() const
Register operators needed for AMR core functionality.
Definition CD_TracerParticleSolverImplem.H:174
phase::which_phase m_phase
Phase where this solver lives.
Definition CD_TracerParticleSolver.H:343
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25
virtual void setTime(const int a_step, const Real a_time, const Real a_dt)
Set the time for this solver.
Definition CD_TracerParticleSolverImplem.H:257
std::string m_realm
Realm where this solver lives.
Definition CD_TracerParticleSolver.H:328
virtual void preRegrid(const int a_lbase, const int a_oldFinestLevel)
Perform pre-regrid operations.
Definition CD_TracerParticleSolverImplem.H:307
int m_verbosity
Verbosity level.
Definition CD_TracerParticleSolver.H:363
virtual void parseRuntimeOptions()
Parse solver run-time options.
Definition CD_TracerParticleSolverImplem.H:77
virtual void writePlotFile()
Write plot file.
Definition CD_TracerParticleSolverImplem.H:404
virtual void setPhase(const phase::which_phase &a_phase)
Set the solver phase.
Definition CD_TracerParticleSolverImplem.H:245
virtual void allocate()
Allocate storage for this solver.
Definition CD_TracerParticleSolverImplem.H:195
virtual void setComputationalGeometry(const RefCountedPtr< ComputationalGeometry > &a_compGeom)
Set the computational geometry.
Definition CD_TracerParticleSolverImplem.H:283
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel)
Regrid this solver.
Definition CD_TracerParticleSolverImplem.H:322
virtual void parseOptions()
Parse solver options.
Definition CD_TracerParticleSolverImplem.H:63
virtual void setAmr(const RefCountedPtr< AmrMesh > &a_amrMesh)
Set AmrMesh.
Definition CD_TracerParticleSolverImplem.H:271