12 #ifndef CD_TracerParticleStepper_H
13 #define CD_TracerParticleStepper_H
19 #include <CD_NamespaceHeader.H>
153 writeCheckpointData(HDF5Handle& a_handle,
const int a_lvl)
const override;
163 readCheckpointData(HDF5Handle& a_handle,
const int a_lvl)
override;
188 const std::string a_realm,
189 const int a_level)
const override;
203 advance(
const Real a_dt)
override;
228 preRegrid(
const int a_lmin,
const int a_oldFinestLevel)
override;
237 regrid(
const int a_lmin,
const int a_oldFinestLevel,
const int a_newFinestLevel)
override;
341 #include <CD_NamespaceFooter.H>
Declaration of main (abstract) time stepper class.
Documentation of Physics/TracerParticle namespace.
Declaration of a solver class that advances tracer particles.
Implementation of CD_TracerParticleStepper.H.
Implementation of TimeStepper for advancing tracer particles in a fixed velocity field.
Definition: CD_TracerParticleStepper.H:51
std::string m_realm
Realm where solver and m_velocity lives.
Definition: CD_TracerParticleStepper.H:260
void registerRealms() override
Register realms. Primal is the only realm we need.
Definition: CD_TracerParticleStepperImplem.H:93
virtual void parseInitialConditions()
Parse initial conditions.
Definition: CD_TracerParticleStepperImplem.H:200
TracerParticleStepper(const TracerParticleStepper< P > &a_other)=delete
Copy constructor. Disallowed.
RefCountedPtr< TracerParticleSolver< P > > m_solver
Tracer particle solvers.
Definition: CD_TracerParticleStepper.H:270
void parseRuntimeOptions() override
Parse runtime options.
Definition: CD_TracerParticleStepperImplem.H:131
void initialData() override
Fill problem with initial data.
Definition: CD_TracerParticleStepperImplem.H:77
void registerOperators() override
Register operators.
Definition: CD_TracerParticleStepperImplem.H:105
virtual Real computeDt() override
Compute a time step to be used by Driver.
Definition: CD_TracerParticleStepperImplem.H:287
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.
Definition: CD_TracerParticleStepperImplem.H:269
phase::which_phase m_phase
Phase (gas/solid) where the solver lives.
Definition: CD_TracerParticleStepper.H:265
EBAMRCellData m_velocity
Tracer particle velocity field.
Definition: CD_TracerParticleStepper.H:275
int getNumberOfPlotVariables() const override
Get number of plot variables for this physics module.
Definition: CD_TracerParticleStepperImplem.H:245
virtual void advanceParticlesEuler(const Real a_dt)
Advance particles using explicit Euler rule.
Definition: CD_TracerParticleStepperImplem.H:478
virtual void preRegrid(const int a_lmin, const int a_oldFinestLevel) override
Perform pre-regrid operations.
Definition: CD_TracerParticleStepperImplem.H:348
void allocate() override
Allocate storage for solvers and time stepper.
Definition: CD_TracerParticleStepperImplem.H:64
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override
Time stepper regrid method.
Definition: CD_TracerParticleStepperImplem.H:360
virtual Real advance(const Real a_dt) override
Advancement method. Swaps between various kernels.
Definition: CD_TracerParticleStepperImplem.H:299
VelocityField m_velocityField
Velocity field type.
Definition: CD_TracerParticleStepper.H:255
TracerParticleStepper(const TracerParticleStepper< P > &&a_other)=delete
Move constructor. Disallowed.
size_t m_numInitialParticles
Number of particles.
Definition: CD_TracerParticleStepper.H:285
void postCheckpointSetup() override
Post checkpoint operations. Not needed for this time stepper.
Definition: CD_TracerParticleStepper.H:118
void parseOptions()
Parse options.
Definition: CD_TracerParticleStepperImplem.H:117
virtual void synchronizeSolverTimes(const int a_step, const Real a_time, const Real a_dt) override
Synchronize solver times and time steps.
Definition: CD_TracerParticleStepperImplem.H:332
void postInitialize() override
Perform any post-initialization steps. Not needed for this time stepper.
Definition: CD_TracerParticleStepper.H:111
TracerParticleStepper & operator=(const TracerParticleStepper< P > &a_other)=delete
Copy assignment operator. Disallowed.
virtual void advanceParticlesRK2(const Real a_dt)
Advance particles using second order Runge-Kutta.
Definition: CD_TracerParticleStepperImplem.H:517
Real m_cfl
Particle "CFL" time step.
Definition: CD_TracerParticleStepper.H:280
void setupSolvers() override
Instantiate the tracer particle solver.
Definition: CD_TracerParticleStepperImplem.H:48
virtual void printStepReport() override
Print a step report.
Definition: CD_TracerParticleStepper.H:219
virtual ~TracerParticleStepper()
Destructor.
Definition: CD_TracerParticleStepperImplem.H:38
virtual void advanceParticlesRK4(const Real a_dt)
Advance particles using fourth order Runge-Kutta.
Definition: CD_TracerParticleStepperImplem.H:587
Vector< std::string > getPlotVariableNames() const override
Get plot variable names.
Definition: CD_TracerParticleStepperImplem.H:257
IntegrationAlgorithm m_algorithm
Integration algorithm.
Definition: CD_TracerParticleStepper.H:250
virtual void parseVelocityField()
Parse velocity field.
Definition: CD_TracerParticleStepperImplem.H:175
virtual void parseIntegrator()
Parse reactive integrator.
Definition: CD_TracerParticleStepperImplem.H:145
virtual void postRegrid() override
Perform post-regrid operations.
Definition: CD_TracerParticleStepperImplem.H:377
TracerParticleStepper & operator=(const TracerParticleStepper< P > &&a_other)=delete
Move assignment operator. Disallowed.
virtual void initialParticles()
Fill initial particles.
Definition: CD_TracerParticleStepperImplem.H:428
TracerParticleStepper()
Constructor. Does nothing.
Definition: CD_TracerParticleStepperImplem.H:27
virtual void setVelocity()
Set the velocity on the mesh.
Definition: CD_TracerParticleStepperImplem.H:391
Base class for advancing equations.
Definition: CD_TimeStepper.H:30
A tracer particle class. This is templated for holding extra storage (useful for kernels).
Definition: CD_TracerParticle.H:33
IntegrationAlgorithm
Various supported integration algorithms.
Definition: CD_TracerParticleStepper.H:28
VelocityField
Enum for handling various velocity fields.
Definition: CD_TracerParticleStepper.H:38
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15