12#ifndef CD_MeshODESolver_H
13#define CD_MeshODESolver_H
20#include <CD_NamespaceHeader.H>
26template <
size_t N = 1>
396#include <CD_NamespaceFooter.H>
Declaration of core class for handling AMR-related operations (with embedded boundaries)
Implementation of CD_MeshODESolver.H.
Class for solving dy/dt = f on an AMR hierarchy.
Definition CD_MeshODESolver.H:28
MeshODESolver(const MeshODESolver &&)=delete
Disallowed move constructor.
virtual std::string getRealm() const noexcept
Get the realm where this solver is registered.
Definition CD_MeshODESolverImplem.H:429
int m_verbosity
Chattiness.
Definition CD_MeshODESolver.H:302
virtual void writePlotData(LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string a_outputRealm, const int a_level) const noexcept
Write plot data to output holder.
Definition CD_MeshODESolverImplem.H:628
virtual Vector< std::string > getPlotVariableNames() const noexcept
Get output plot names.
Definition CD_MeshODESolverImplem.H:602
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) noexcept
Regrid this solver.
Definition CD_MeshODESolverImplem.H:407
virtual void writePlotFile() const noexcept
Write plot file.
Definition CD_MeshODESolverImplem.H:531
bool m_regridSlopes
Use slopes when regridding.
Definition CD_MeshODESolver.H:332
std::function< std::array< Real, N >(const std::array< Real, N > &, const Real)> RHSFunction
Alias for right-hand side.
Definition CD_MeshODESolver.H:33
bool m_plotPhi
Plot solution vector or not.
Definition CD_MeshODESolver.H:322
virtual void setName(const std::string &a_name) noexcept
Set solver name.
Definition CD_MeshODESolverImplem.H:453
MeshODESolver(const MeshODESolver &)=delete
Disallowed copy constructor.
virtual void preRegrid(const int a_lbase, const int a_oldFinestLevel) noexcept
Perform pre-regrid operations.
Definition CD_MeshODESolverImplem.H:392
bool m_plotRHS
Plot source term or not.
Definition CD_MeshODESolver.H:327
virtual void setPhi(const std::function< Real(const RealVect &a_pos)> &a_phiFunc, const size_t a_comp) noexcept
Set phi for a specific component.
Definition CD_MeshODESolverImplem.H:182
virtual void parseRuntimeOptions() noexcept
Parse run-time configurable class options.
Definition CD_MeshODESolverImplem.H:87
MeshODESolver()
Default constructor. Must subsequently set everything through public member functions.
Definition CD_MeshODESolverImplem.H:27
EBAMRCellData m_cache
Cache storage when doing regrids.
Definition CD_MeshODESolver.H:368
virtual void registerOperators() const noexcept
Register operators for AMR operations.
Definition CD_MeshODESolverImplem.H:465
virtual void setVerbosity(const int a_verbosity) noexcept
Set verbosity.
Definition CD_MeshODESolverImplem.H:505
std::string m_name
Solver name.
Definition CD_MeshODESolver.H:337
virtual void setRHS(const std::function< Real(const RealVect &a_pos)> &a_srcFunc, const size_t a_comp) noexcept
Set right-hand side for specified component.
Definition CD_MeshODESolverImplem.H:267
std::string m_className
Class name.
Definition CD_MeshODESolver.H:343
Real m_dt
Last time step increment.
Definition CD_MeshODESolver.H:317
RefCountedPtr< AmrMesh > m_amr
Write checkpoint data into HDF5 file. @paramo[out] a_handle HDF5 file.
Definition CD_MeshODESolver.H:297
virtual void setRealm(const std::string a_realm) noexcept
Set the realm for this solver.
Definition CD_MeshODESolverImplem.H:481
MeshODESolver & operator=(const MeshODESolver &&)=delete
Disallowed move assignement operator.
EBAMRCellData & getPhi() noexcept
Get the solution vector (left-hand side of equation).
Definition CD_MeshODESolverImplem.H:134
EBAMRCellData m_rhs
Source term (right-hand side of equation).
Definition CD_MeshODESolver.H:363
virtual ~MeshODESolver()
Destructor.
Definition CD_MeshODESolverImplem.H:50
std::string m_realm
Realm where solver is registered.
Definition CD_MeshODESolver.H:348
virtual int getNumberOfPlotVariables() const noexcept
Get number of output fields.
Definition CD_MeshODESolverImplem.H:580
virtual void parseOptions() noexcept
Parse class options.
Definition CD_MeshODESolverImplem.H:69
Real m_time
Current time.
Definition CD_MeshODESolver.H:312
int m_timeStep
Time step.
Definition CD_MeshODESolver.H:307
virtual void parsePlotVariables() noexcept
Parse plot variables.
Definition CD_MeshODESolverImplem.H:104
MeshODESolver & operator=(const MeshODESolver &)=delete
Disallowed assignment operator.
EBAMRCellData & getRHS() noexcept
Get the solution vector (left-hand side of equation).
Definition CD_MeshODESolverImplem.H:158
virtual void setAmr(const RefCountedPtr< AmrMesh > &a_amrMesh) noexcept
Set AmrMesh.
Definition CD_MeshODESolverImplem.H:57
EBAMRCellData m_phi
Solution vector (left hand side of equation).
Definition CD_MeshODESolver.H:358
virtual void setPhase(phase::which_phase a_phase) noexcept
Set phase.
Definition CD_MeshODESolverImplem.H:493
virtual void allocate() noexcept
Allocate internal storage.
Definition CD_MeshODESolverImplem.H:379
virtual void setTime(const int a_step, const Real a_time, const Real a_dt) noexcept
Set the time for this solver.
Definition CD_MeshODESolverImplem.H:517
phase::which_phase m_phase
Phase where solver data lives.
Definition CD_MeshODESolver.H:353
virtual std::string getName() const noexcept
Get solver name.
Definition CD_MeshODESolverImplem.H:441
virtual void computeRHS(const RHSFunction &a_rhsFunction) noexcept
Compute right-hand side from left-hand side. I.e. compute f = f(y,t).
Definition CD_MeshODESolverImplem.H:279
virtual void writeData(LevelData< EBCellFAB > &a_output, int &a_comp, const EBAMRCellData &a_data, const std::string a_outputRealm, const int a_level, const bool a_interpToCentroids, const bool a_interpGhost) const noexcept
Write data to output. Convenience function.
Definition CD_MeshODESolverImplem.H:649
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:25
phase names
Definition CD_MultiFluidIndexSpace.H:27