|
chombo-discharge
|
Implementation of TimeStepper for advancing tracer particles in a fixed velocity field. 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) | |
| 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 | initialParticles () |
| Fill initial particles. | |
| virtual void | setVelocity () |
| Set the velocity on the mesh. | |
| virtual void | parseIntegrator () |
| Parse reactive integrator. | |
| 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 solvers. | |
| EBAMRCellData | m_velocity |
| Tracer particle velocity field. | |
| Real | m_cfl |
| Particle "CFL" time step. | |
| size_t | m_numInitialParticles |
| Number of particles. | |
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 advancing tracer particles in a fixed velocity field.
The template requirements on the particle type P are the same as for TracerParticleSolver with the addition of templated functions of the type RealVect& P::vector<size_t>() which returns a RealVect. This is used for the Runge-Kutta particle advection kernels. This class will work fine with TracerParticle<0, M> where M >= 4.
|
delete |
Copy constructor. Disallowed.
| [in] | a_other | Other |
|
delete |
Move constructor. Disallowed.
| [in] | a_other | Other |
Advancement method. Swaps between various kernels.
| [in] | a_dt | Time step to be used for advancement |
Implements TimeStepper.
Advance particles using explicit Euler rule.
| [in] | a_dt | Advanced time step |
Advance particles using second order Runge-Kutta.
| [in] | a_dt | Advanced time step |
Advance particles using fourth order Runge-Kutta.
| [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.
|
inlineoverridevirtual |
Get number of plot variables for this physics module.
Implements TimeStepper.
|
inlineoverridevirtual |
Get plot variable names.
Implements TimeStepper.
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 |
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.
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.
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.
Instantiate the tracer particle solver.
Implements TimeStepper.
|
inlineoverridevirtual |
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.
|
inlineoverridevirtual |
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. |
| [in] | a_outputRealm | Realm where a_output belongs |
| [in] | a_level | Grid level |
Implements TimeStepper.