12 #ifndef CD_TimeStepper_H
13 #define CD_TimeStepper_H
22 #include <CD_NamespaceHeader.H>
47 setAmr(
const RefCountedPtr<AmrMesh>& a_amr);
112 readCheckpointHeader(HDF5HeaderData& a_header);
121 writeCheckpointHeader(HDF5HeaderData& a_header)
const;
132 writeCheckpointData(HDF5Handle& a_handle,
const int a_lvl)
const = 0;
143 readCheckpointData(HDF5Handle& a_handle,
const int a_lvl) = 0;
157 virtual Vector<std::string>
170 const std::string a_outputRealm,
171 const int a_level)
const = 0;
201 virtual Vector<long int>
243 preRegrid(
const int a_lmin,
const int a_oldFinestLevel) = 0;
252 regrid(
const int a_lmin,
const int a_oldFinestLevel,
const int a_newFinestLevel) = 0;
291 Vector<Vector<Box>>& a_boxes,
292 const std::string a_realm,
293 const Vector<DisjointBoxLayout>& a_grids,
295 const int a_finestLevel);
329 #include <CD_NamespaceFooter.H>
Declaration of core class for handling AMR-related operations (with embedded boundaries)
Declaration of base class for defining geometries.
Base class for advancing equations.
Definition: CD_TimeStepper.H:30
virtual Vector< long int > getCheckpointLoads(const std::string a_realm, const int a_level) const
Get computational loads to be checkpointed.
Definition: CD_TimeStepper.cpp:70
virtual void synchronizeSolverTimes(const int a_step, const Real a_time, const Real a_dt)=0
Synchronzie solver times and time steps.
virtual void setupSolvers()=0
Set up solvers.
virtual void prePlot()
An option for calling special functions prior to plotting data. Called by Driver in the IMMEDIATELY b...
Definition: CD_TimeStepper.cpp:144
virtual void writePlotData(LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string a_outputRealm, const int a_level) const =0
Write plot data to output holder.
virtual ~TimeStepper()
Default destructor (does nothing)
Definition: CD_TimeStepper.cpp:20
void setComputationalGeometry(const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry)
Set the computational geometry.
Definition: CD_TimeStepper.cpp:37
Real m_time
TIme.
Definition: CD_TimeStepper.H:311
virtual void loadBalanceBoxes(Vector< Vector< int >> &a_procs, Vector< Vector< Box >> &a_boxes, const std::string a_realm, const Vector< DisjointBoxLayout > &a_grids, const int a_lmin, const int a_finestLevel)
Load balance grid boxes for a specified realm.
Definition: CD_TimeStepper.cpp:100
int m_verbosity
Class verbosity.
Definition: CD_TimeStepper.H:301
virtual Real computeDt()=0
Compute a time step to be used by Driver.
virtual void preRegrid(const int a_lmin, const int a_oldFinestLevel)=0
Perform pre-regrid operations.
virtual void printStepReport()=0
Print a step report.
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel)=0
Time stepper regrid method.
virtual void registerOperators()=0
Register operators to be used for the simulation.
virtual void registerRealms()=0
Register realms to be used for the simulation.
RefCountedPtr< ComputationalGeometry > m_computationalGeometry
Computational geometry.
Definition: CD_TimeStepper.H:326
TimeStepper()
Default constructor (does nothing)
Definition: CD_TimeStepper.cpp:17
virtual int getNumberOfPlotVariables() const =0
Get the number of plot variables for this time stepper.
virtual void postRegrid()=0
Perform post-regrid operations.
virtual bool loadBalanceThisRealm(const std::string a_realm) const
Load balancing query for a specified realm. If this returns true for a_realm, load balancing routines...
Definition: CD_TimeStepper.cpp:89
int m_timeStep
Time step.
Definition: CD_TimeStepper.H:306
virtual void initialData()=0
Fill solvers with initial data.
virtual void postInitialize()=0
Post-initialize operations to be performed at end of setup stage.
virtual Vector< std::string > getPlotVariableNames() const =0
Get plot variable names.
Real m_dt
Previous time step size.
Definition: CD_TimeStepper.H:316
virtual void allocate()=0
Allocate data for the time stepper and solvers.
virtual Real advance(const Real a_dt)=0
Advancement method. The implementation of this method should advance all equations of motion.
virtual bool needToRegrid()
Fuction which can have Driver do regrids at arbitrary points in the simulation.
Definition: CD_TimeStepper.cpp:50
RefCountedPtr< AmrMesh > m_amr
AmrMesh.
Definition: CD_TimeStepper.H:321
virtual void postCheckpointSetup()=0
Post-initialize operations to be performed after filling solvers with data read from checkpoint files...
virtual void postPlot()
An option for calling special functions prior to plotting data. Called by Driver in the IMMEDIATELY a...
Definition: CD_TimeStepper.cpp:148
void setAmr(const RefCountedPtr< AmrMesh > &a_amr)
Set AmrMesh.
Definition: CD_TimeStepper.cpp:24
virtual void parseRuntimeOptions()
Parse runtime options.
Definition: CD_TimeStepper.cpp:61