|
|
| MeshODEStepper () |
| | Constructor. Does nothing.
|
| |
|
| MeshODEStepper (const MeshODEStepper< N > &)=delete |
| | Copy constructor. Disallowed.
|
| |
|
| MeshODEStepper (const MeshODEStepper< N > &&)=delete |
| | Move constructor. Disallowed.
|
| |
|
virtual | ~MeshODEStepper () |
| | Destructor.
|
| |
|
MeshODEStepper & | operator= (const MeshODEStepper< N > &)=delete |
| | Copy assignment operator. Disallowed.
|
| |
|
MeshODEStepper & | operator= (const MeshODEStepper< N > &&)=delete |
| | Move assignment operator. Disallowed.
|
| |
| void | setupSolvers () override |
| | Instantiate the ODE solver.
|
| |
| void | allocate () override |
| | Allocate storage for solvers and time stepper.
|
| |
| void | initialData () override |
| | Fill problem with initial data.
|
| |
| void | postInitialize () override |
| | Perform any post-initialization steps.
|
| |
| void | postCheckpointSetup () override |
| | Post checkpoint operations.
|
| |
| void | registerRealms () override |
| | Register realms. Primal is the only realm we need.
|
| |
| void | registerOperators () override |
| | Register operators.
|
| |
|
void | parseOptions () |
| | Parse options.
|
| |
| void | parseRuntimeOptions () override |
| | Parse runtime options.
|
| |
| virtual int | getNumberOfPlotVariables () const override |
| | Get the number of plot variables for this time stepper.
|
| |
| virtual Vector< std::string > | getPlotVariableNames () const override |
| | Get plot variable names.
|
| |
| virtual void | writePlotData (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string &a_outputRealm, const int a_level) const override |
| | Write plot data to output holder.
|
| |
| virtual Real | computeDt () override |
| | Compute a time step.
|
| |
| virtual Real | advance (const Real a_dt) override |
| | Advancement method. Swaps between various kernels.
|
| |
| virtual void | synchronizeSolverTimes (const int a_step, const Real a_time, const Real a_dt) override |
| | Synchronize solver times and time steps.
|
| |
| virtual void | printStepReport () override |
| | Print a step report.
|
| |
| virtual void | preRegrid (const int a_lmin, const int a_oldFinestLevel) override |
| | Perform pre-regrid operations.
|
| |
| virtual void | regrid (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override |
| | Time stepper regrid method.
|
| |
| virtual void | postRegrid () override |
| | Perform post-regrid operations.
|
| |
|
| TimeStepper () |
| | Default constructor (does nothing)
|
| |
|
virtual | ~TimeStepper () |
| | Default destructor (does nothing)
|
| |
|
| TimeStepper (const TimeStepper &)=delete |
| | Disallow copy construction.
|
| |
|
TimeStepper & | operator= (const TimeStepper &)=delete |
| | Disallow copy assignment.
|
| |
|
| TimeStepper (TimeStepper &&)=default |
| | Allow move construction.
|
| |
| TimeStepper & | operator= (TimeStepper &&)=default |
| | Allow move assignment.
|
| |
| void | setAmr (const RefCountedPtr< AmrMesh > &a_amr) |
| | Set AmrMesh.
|
| |
| void | setComputationalGeometry (const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
| | Set the computational geometry.
|
| |
| virtual void | prePlot () |
| | An option for calling special functions prior to plotting data. Called by Driver in the IMMEDIATELY before writing the plot file.
|
| |
| virtual void | postPlot () |
| | An option for calling special functions prior to plotting data. Called by Driver in the IMMEDIATELY after writing the plot file.
|
| |
| virtual Vector< long int > | getCheckpointLoads (const std::string &a_realm, int a_level) const |
| | Get computational loads to be checkpointed.
|
| |
| virtual bool | needToRegrid () |
| | Function which can have Driver do regrids at arbitrary points in the simulation.
|
| |
| bool | keepGoing () const |
| | Query whether the time stepper wants to continue stepping.
|
| |
| 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 will be called during regrids.
|
| |
| virtual void | loadBalanceBoxes (Vector< Vector< int > > &a_procs, Vector< Vector< Box > > &a_boxes, const std::string &a_realm, const Vector< DisjointBoxLayout > &a_grids, int a_lmin, int a_finestLevel) |
| | Load balance grid boxes for a specified realm.
|
| |
|
|
IntegrationAlgorithm | m_algorithm |
| | Integration algorithm.
|
| |
|
Real | m_dt |
| | Time step to use.
|
| |
|
std::string | m_realm |
| | Realm where solver and m_velocity lives.
|
| |
|
phase::which_phase | m_phase |
| | Phase (gas/solid) where the solver lives.
|
| |
|
RefCountedPtr< MeshODESolver< N > > | m_solver |
| | MeshODE solver holding the solution on the AMR hierarchy.
|
| |
|
std::function< std::array< Real, N >(const std::array< Real, N > y, Real t)> | m_rhsFunction |
| | Right-hand side function \( \mathbf{f}(\mathbf{y}, t) \) evaluated point-wise on the mesh.
|
| |
|
std::function< std::array< Real, N >(const RealVect &a_position)> | m_initialData |
| | Callable that returns the initial state \( \mathbf{y}_0(\mathbf{x}) \) at a given position.
|
| |
|
int | m_verbosity |
| | Class verbosity.
|
| |
|
int | m_timeStep |
| | Time step.
|
| |
|
Real | m_time |
| | TIme.
|
| |
|
Real | m_dt |
| | Previous time step size.
|
| |
| bool | m_keepGoing |
| | If false, Driver will stop the time loop after the current step.
|
| |
|
RefCountedPtr< AmrMesh > | m_amr |
| | AmrMesh.
|
| |
|
RefCountedPtr< ComputationalGeometry > | m_computationalGeometry |
| | Computational geometry.
|
| |
template<size_t N>
class Physics::MeshODE::MeshODEStepper< N >
TimeStepper for advancing a system of N coupled ODEs on an AMR mesh.
At each time step the right-hand side \( \mathbf{f}(\mathbf{y}, t) \) is evaluated point-wise on the mesh and the ODE \( \dot{\mathbf{y}} = \mathbf{f}(\mathbf{y},t) \) is integrated with the chosen algorithm (Euler, RK2, or RK4). The template parameter N sets the number of solution components stored per cell.
The RHS function and initial data function must be set by the derived application before Driver calls setupSolvers().