13#ifndef CD_SURFACEODESOLVER_H
14#define CD_SURFACEODESOLVER_H
21#include <CD_NamespaceHeader.H>
31 static_assert(
N > 0,
"SurfaceODESolver<N> must have N > 0");
512#include <CD_NamespaceFooter.H>
Declaration of core class for handling AMR-related operations (with embedded boundaries)
Implementation of CD_SurfaceODESolver.H.
Class for handling spatial operations.
Definition CD_AmrMesh.H:43
Two-fluid index space.
Definition CD_MultiFluidIndexSpace.H:49
Surface ODE solver.
Definition CD_SurfaceODESolver.H:29
Real m_dt
Time increment.
Definition CD_SurfaceODESolver.H:485
virtual int getVerbosity() const noexcept
Get verbosity.
Definition CD_SurfaceODESolverImplem.H:248
virtual EBAMRIVData & getRHS()
Get internal state.
Definition CD_SurfaceODESolverImplem.H:469
void parseVerbosity() noexcept
Parse verbosity.
Definition CD_SurfaceODESolverImplem.H:91
virtual EBAMRIVData & getPhi() noexcept
Get internal state.
Definition CD_SurfaceODESolverImplem.H:407
virtual void setRHS(const Real a_rhs)
Convenience function for setting m_rhs.
Definition CD_SurfaceODESolverImplem.H:431
virtual phase::which_phase getPhase() const noexcept
Get phase.
Definition CD_SurfaceODESolverImplem.H:224
std::string m_name
Solver name.
Definition CD_SurfaceODESolver.H:409
virtual void resetElectrodes(const Real a_value) noexcept
Reset m_phi on electrode cells.
Definition CD_SurfaceODESolverImplem.H:623
virtual int getStep() const noexcept
Get current time step.
Definition CD_SurfaceODESolverImplem.H:333
virtual void parseOptions() noexcept
Parse solver options.
Definition CD_SurfaceODESolverImplem.H:63
void parsePlotVariables() noexcept
Parse plot variables.
Definition CD_SurfaceODESolverImplem.H:131
virtual void setPhase(const phase::which_phase a_phase) noexcept
Set phase.
Definition CD_SurfaceODESolverImplem.H:212
SurfaceODESolver(const SurfaceODESolver &)=delete
Disallowed copy constructor.
EBAMRIVData m_cache
Cached state used during regridding.
Definition CD_SurfaceODESolver.H:460
virtual void setAmr(const RefCountedPtr< AmrMesh > &a_amrMesh) noexcept
Set the amr object.
Definition CD_SurfaceODESolverImplem.H:162
SurfaceODESolver()
Default constructor. Must subsequently set AmrMesh.
Definition CD_SurfaceODESolverImplem.H:26
void parseRegrid() noexcept
Parse regrid method.
Definition CD_SurfaceODESolverImplem.H:105
virtual void allocate() noexcept
Allocate internal storage for this class.
Definition CD_SurfaceODESolverImplem.H:493
virtual Real getDt() const noexcept
Get last time step.
Definition CD_SurfaceODESolverImplem.H:357
std::string getRealm() const noexcept
Get the realm where the solver is registered.
Definition CD_SurfaceODESolverImplem.H:200
int m_step
Time step.
Definition CD_SurfaceODESolver.H:475
Real m_time
Current time.
Definition CD_SurfaceODESolver.H:480
bool m_plotRHS
Plot rhs or not.
Definition CD_SurfaceODESolver.H:429
RefCountedPtr< AmrMesh > m_amr
AMR; needed for grid stuff.
Definition CD_SurfaceODESolver.H:439
virtual void preRegrid(const int a_lbase, const int a_oldFinestLevel) noexcept
Pre-regrid function.
Definition CD_SurfaceODESolverImplem.H:586
std::string m_className
Class name.
Definition CD_SurfaceODESolver.H:404
SurfaceODESolver & operator=(const SurfaceODESolver &)=delete
Disallowed assignment operator.
SurfaceODESolver & operator=(const SurfaceODESolver &&)=delete
Disallowed assignment operator.
bool m_plotPhi
Plot phi or not.
Definition CD_SurfaceODESolver.H:424
virtual ~SurfaceODESolver()
Destructor (does nothing).
Definition CD_SurfaceODESolverImplem.H:53
virtual void setRealm(const std::string &a_realm) noexcept
Set the realm.
Definition CD_SurfaceODESolverImplem.H:176
virtual Real getTime() const noexcept
Get current time.
Definition CD_SurfaceODESolverImplem.H:345
virtual void setVerbosity(const int a_verbosity) noexcept
Set verbosity.
Definition CD_SurfaceODESolverImplem.H:236
virtual void setPhi(const Real a_phi)
Convenience function for setting m_phi.
Definition CD_SurfaceODESolverImplem.H:369
virtual void writePlotData(LevelData< EBCellFAB > &a_output, int &a_comp, const std::string &a_outputRealm, const int a_level) const noexcept
Write output data to a_output.
Definition CD_SurfaceODESolverImplem.H:820
EBAMRIVData m_phi
State. Stored on cut-cells.
Definition CD_SurfaceODESolver.H:455
bool m_conservativeRegrid
Conservative regrid or not.
Definition CD_SurfaceODESolver.H:419
std::string m_realm
Realm where this solver is registered.
Definition CD_SurfaceODESolver.H:399
RefCountedPtr< MultiFluidIndexSpace > m_mfis
Index spaces.
Definition CD_SurfaceODESolver.H:434
virtual void setName(const std::string &a_name) noexcept
Set the solver name.
Definition CD_SurfaceODESolverImplem.H:188
virtual Real computeMass(const int a_comp=0) const noexcept
Compute the total mass for component a_comp in m_phi.
Definition CD_SurfaceODESolverImplem.H:274
virtual Vector< std::string > getPlotVariableNames() const noexcept
Get output plot names.
Definition CD_SurfaceODESolverImplem.H:893
Vector< RefCountedPtr< LayoutData< VoFIterator > > > m_dielectricVoFs
Cut-cells that are also dielectric cells. This does not include ghost cells.
Definition CD_SurfaceODESolver.H:450
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) noexcept
Regrid function.
Definition CD_SurfaceODESolverImplem.H:604
virtual void registerOperators() noexcept
Register operators.
Definition CD_SurfaceODESolverImplem.H:572
EBAMRIVData m_rhs
Right-hand side.
Definition CD_SurfaceODESolver.H:465
int m_verbosity
Solver verbosity.
Definition CD_SurfaceODESolver.H:470
virtual void deallocate() noexcept
Deallocate internal storage.
Definition CD_SurfaceODESolverImplem.H:510
virtual void parseRuntimeOptions() noexcept
Parse runtime solver options.
Definition CD_SurfaceODESolverImplem.H:77
SurfaceODESolver(const SurfaceODESolver &&)=delete
Disallowed move constructor.
virtual void writePlotFile() const noexcept
Write a plot file.
Definition CD_SurfaceODESolverImplem.H:767
phase::which_phase m_phase
Phase where the data lives.
Definition CD_SurfaceODESolver.H:414
virtual void setTime(const int a_step, const Real a_time, const Real a_dt) noexcept
Set the time.
Definition CD_SurfaceODESolverImplem.H:260
void defineVoFIterators() noexcept
Define iterators for iterating over cell subsets.
Definition CD_SurfaceODESolverImplem.H:523
virtual int getNumberOfPlotVariables() const noexcept
Get number of variables to be plotted.
Definition CD_SurfaceODESolverImplem.H:871
Vector< RefCountedPtr< LayoutData< VoFIterator > > > m_electrodeVoFs
Cut-cells that are electrode cells. This does not include ghost cells.
Definition CD_SurfaceODESolver.H:445
virtual void resetDielectrics(const Real a_value) noexcept
Reset m_phi on dielectric cells.
Definition CD_SurfaceODESolverImplem.H:668
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
Phase names namespace.
Definition CD_MultiFluidIndexSpace.H:28