|
chombo-discharge
|
Implementation of TimeStepper for solving an ODE on a mesh. N is the number of variables. More...
#include <CD_MeshODEStepper.H>


Public Member Functions | |
| 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 to be used by Driver. | |
| 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. | |
Public Member Functions inherited from TimeStepper | |
| TimeStepper () | |
| Default constructor (does nothing) | |
| virtual | ~TimeStepper () |
| Default destructor (does nothing) | |
| 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, const int a_level) const |
| Get computational loads to be checkpointed. | |
| virtual bool | needToRegrid () |
| Fuction which can have Driver do regrids at arbitrary points in the simulation. | |
| 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, const int a_lmin, const int a_finestLevel) |
| Load balance grid boxes for a specified realm. | |
Protected Member Functions | |
| virtual void | parseIntegrator () |
| Parse integrator. | |
| virtual void | parseVerbosity () |
| Parse chattiness. | |
| virtual void | parseProblem () |
| Parse the problem type. | |
| virtual void | advanceEuler (const Real a_dt) |
| Advance using the explicit Euler rule. | |
| virtual void | advanceRK2 (const Real a_dt) |
| Advance using a second-order Runge-Kutta method. | |
| virtual void | advanceRK4 (const Real a_dt) |
| Advance using a fourth order Runge-Kutta method. | |
Protected Attributes | |
| 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 |
| Tracer particle solvers. | |
| std::function< std::array< Real, N >(const std::array< Real, N > y, Real t)> | m_rhsFunction |
| Encapsulation of f = f(y,t) | |
| std::function< std::array< Real, N >(const RealVect &a_position)> | m_initialData |
| Initial data function. | |
Protected Attributes inherited from TimeStepper | |
| int | m_verbosity |
| Class verbosity. | |
| int | m_timeStep |
| Time step. | |
| Real | m_time |
| TIme. | |
| Real | m_dt |
| Previous time step size. | |
| RefCountedPtr< AmrMesh > | m_amr |
| AmrMesh. | |
| RefCountedPtr< ComputationalGeometry > | m_computationalGeometry |
| Computational geometry. | |
Implementation of TimeStepper for solving an ODE on a mesh. N is the number of variables.
Advancement method. Swaps between various kernels.
| [in] | a_dt | Time step to be used for advancement |
Implements TimeStepper.
Advance using the explicit Euler rule.
| [in] | a_dt | Advanced time step |
Advance using a second-order Runge-Kutta method.
| [in] | a_dt | Advanced time step |
Advance using a fourth order Runge-Kutta method.
| [in] | a_dt | Advanced time step |
Allocate storage for solvers and time stepper.
Implements TimeStepper.
Compute a time step to be used by Driver.
Implements TimeStepper.
Get the number of plot variables for this time stepper.
This is necessary because Driver, not TimeStepper, is responsible for allocating the necessary memory.
Implements TimeStepper.
|
overridevirtual |
Get plot variable names.
Implements TimeStepper.
Fill problem with initial data.
Implements TimeStepper.
Parse runtime options.
Reimplemented from TimeStepper.
Post checkpoint operations.
Implements TimeStepper.
Perform any post-initialization steps.
Implements TimeStepper.
Perform post-regrid operations.
This includes all operations to be done AFTER interpolating data to new grids.
Implements TimeStepper.
|
overridevirtual |
Perform pre-regrid operations.
| [in] | a_lmin | The coarsest level that changes |
| [in] | a_oldFinestLevel | The finest level before the regrid. |
Implements TimeStepper.
|
inlineoverridevirtual |
Print a step report.
This is called by Driver after time step. The routine can be used to display use information about the simulation progress. Not used by this class.
Implements TimeStepper.
Register realms. Primal is the only realm we need.
Implements TimeStepper.
|
overridevirtual |
Time stepper regrid method.
| [in] | a_lmin | The coarsest level that changed. |
| [in] | a_oldFinestLevel | The finest level before the regrid. |
| [in] | a_newFinestLevel | The finest level after the regrid. |
Implements TimeStepper.
Instantiate the ODE solver.
Implements TimeStepper.
|
overridevirtual |
Synchronize solver times and time steps.
| [in] | a_step | Time step |
| [in] | a_time | Time (in seconds) |
| [in] | a_dt | Time step that was used. |
Implements TimeStepper.
|
overridevirtual |
Write plot data to output holder.
| [in,out] | a_output | Output data holder. |
| [in,out] | a_icomp | Starting component in a_output to begin at. @Ď€param[in] a_outputRealm Realm where a_output belongs |
| [in] | a_level | Grid level |
Implements TimeStepper.