|
chombo-discharge
|
TimeStepper for advancing tracer particles in a prescribed velocity field on an AMR mesh. More...
#include <CD_TracerParticleStepper.H>


Public Member Functions | |
| TracerParticleStepper () | |
| Constructor. Does nothing. | |
| TracerParticleStepper (const TracerParticleStepper< P > &a_other)=delete | |
| Copy constructor. Disallowed. | |
| TracerParticleStepper (const TracerParticleStepper< P > &&a_other)=delete | |
| Move constructor. Disallowed. | |
| virtual | ~TracerParticleStepper () |
| Destructor. | |
| TracerParticleStepper & | operator= (const TracerParticleStepper< P > &a_other)=delete |
| Copy assignment operator. Disallowed. | |
| TracerParticleStepper & | operator= (const TracerParticleStepper< P > &&a_other)=delete |
| Move assignment operator. Disallowed. | |
| void | setupSolvers () override |
| Instantiate the tracer particle 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. Not needed for this time stepper. | |
| void | postCheckpointSetup () override |
| Post checkpoint operations. Not needed for this time stepper. | |
| 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. | |
| int | getNumberOfPlotVariables () const override |
| Get number of plot variables for this physics module. | |
| Vector< std::string > | getPlotVariableNames () const override |
| Get plot variable names. | |
| void | writePlotData (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string &a_realm, 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) | |
| 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. | |
Protected Member Functions | |
| virtual void | initialParticles () |
| Fill initial particles. | |
| virtual void | setVelocity () |
| Set the velocity on the mesh. | |
| virtual void | parseIntegrator () |
| Parse integration algorithm from input script. | |
| virtual void | parseVelocityField () |
| Parse velocity field. | |
| virtual void | parseInitialConditions () |
| Parse initial conditions. | |
| virtual void | advanceParticlesEuler (const Real a_dt) |
| Advance particles using explicit Euler rule. | |
| virtual void | advanceParticlesRK2 (const Real a_dt) |
| Advance particles using second order Runge-Kutta. | |
| virtual void | advanceParticlesRK4 (const Real a_dt) |
| Advance particles using fourth order Runge-Kutta. | |
Protected Attributes | |
| IntegrationAlgorithm | m_algorithm |
| Integration algorithm. | |
| VelocityField | m_velocityField |
| Velocity field type. | |
| std::string | m_realm |
| Realm where solver and m_velocity lives. | |
| phase::which_phase | m_phase |
| Phase (gas/solid) where the solver lives. | |
| RefCountedPtr< TracerParticleSolver< P > > | m_solver |
| Tracer particle solver holding particle positions and weights on the AMR hierarchy. | |
| EBAMRCellData | m_velocity |
| Cell-centred velocity field used to advect particles. | |
| Real | m_cfl |
| CFL number used to compute the advective time step. | |
| size_t | m_numInitialParticles |
| Number of particles placed uniformly at initialization. | |
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. | |
| 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. | |
TimeStepper for advancing tracer particles in a prescribed velocity field on an AMR mesh.
The template parameter P is the SoA payload type. In addition to the velocity columns required by TracerParticleSolver (D_DECL(v_x, v_y, v_z)), it must provide the Runge-Kutta scratch columns xk/k1/k2/k3 (each per-component). TracerParticle is the canonical choice.
A built-in velocity field (diagonal or rotational) is set via the input script; user applications can override setVelocity() to supply an arbitrary field.
|
delete |
Copy constructor. Disallowed.
| [in] | a_other | Other |
|
delete |
Move constructor. Disallowed.
| [in] | a_other | Other |
|
inlineoverridevirtual |
Advancement method. Swaps between various kernels.
| [in] | a_dt | Time step to be used for advancement |
Implements TimeStepper.
|
inlineprotectedvirtual |
Advance particles using explicit Euler rule.
| [in] | a_dt | Advanced time step |
|
inlineprotectedvirtual |
Advance particles using second order Runge-Kutta.
| [in] | a_dt | Advanced time step |
|
inlineprotectedvirtual |
Advance particles using fourth order Runge-Kutta.
| [in] | a_dt | Advanced time step |
|
inlineoverridevirtual |
Allocate storage for solvers and time stepper.
Implements TimeStepper.
|
inlineoverridevirtual |
Compute a time step to be used by Driver.
Implements TimeStepper.
|
inlineoverridevirtual |
Get number of plot variables for this physics module.
Implements TimeStepper.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Fill problem with initial data.
Implements TimeStepper.
|
delete |
Move assignment operator. Disallowed.
| [in] | a_other | Other |
|
delete |
Copy assignment operator. Disallowed.
| [in] | a_other | Other |
|
inlineoverridevirtual |
Parse runtime options.
Reimplemented from TimeStepper.
|
inlineoverridevirtual |
Post checkpoint operations. Not needed for this time stepper.
Implements TimeStepper.
|
inlineoverridevirtual |
Perform any post-initialization steps. Not needed for this time stepper.
Implements TimeStepper.
|
inlineoverridevirtual |
Perform post-regrid operations.
This includes all operations to be done AFTER interpolating data to new grids.
Implements TimeStepper.
|
inlineoverridevirtual |
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.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Register realms. Primal is the only realm we need.
Implements TimeStepper.
|
inlineoverridevirtual |
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.
|
inlineoverridevirtual |
Instantiate the tracer particle solver.
Implements TimeStepper.
|
inlineoverridevirtual |
Synchronize solver times and time steps.
| [in] | a_step | Current time step number. |
| [in] | a_time | Current simulation time in seconds. |
| [in] | a_dt | Time step that was used. |
Implements TimeStepper.
|
inlineoverridevirtual |
Write plot data to output holder.
| [in,out] | a_output | Output data holder. |
| [in,out] | a_icomp | Starting component in a_output; incremented on exit. |
| [in] | a_realm | Realm where a_output lives. |
| [in] | a_level | Grid level. |
Implements TimeStepper.