chombo-discharge
Loading...
Searching...
No Matches
CD_RadiativeTransferStepper.H
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2021-2026 SINTEF Energy Research
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
13#ifndef CD_RADIATIVETRANSFERSTEPPER_H
14#define CD_RADIATIVETRANSFERSTEPPER_H
15
16// Our includes
17#include <CD_TimeStepper.H>
18#include <CD_RtSolver.H>
19#include <CD_NamespaceHeader.H>
20
21namespace Physics {
22
26 namespace RadiativeTransfer {
27
35 template <class T>
37 {
38 public:
43
48
52 void
53 setupSolvers() override;
54
58 void
59 initialData() override;
60
64 void
65 allocate() override;
66
70 void
71 postInitialize() override;
72
73#ifdef CH_USE_HDF5
79 void
80 writeCheckpointData(HDF5Handle& a_handle, const int a_lvl) const override;
81#endif
82
83#ifdef CH_USE_HDF5
89 void
90 readCheckpointData(HDF5Handle& a_handle, const int a_lvl) override;
91#endif
92
96 void
97 postCheckpointSetup() override;
98
103 int
104 getNumberOfPlotVariables() const override;
105
111 getPlotVariableNames() const override;
112
120 void
122 int& a_icomp,
124 const int a_level) const override;
125
130 Real
131 computeDt() override;
132
138 Real
139 advance(const Real a_dt) override;
140
147 void
148 synchronizeSolverTimes(const int a_step, const Real a_time, const Real a_dt) override;
149
154 void
155 printStepReport() override;
156
160 void
161 parseRuntimeOptions() override;
162
166 void
167 registerRealms() override;
168
172 void
173 registerOperators() override;
174
180 void
181 preRegrid(const int a_lmin, const int a_oldFinestLevel) override;
182
189 void
190 regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override;
191
195 void
196 postRegrid() override;
197
203 void
204 forceDt(const Real a_dt);
205
210 Real
211 getDt() const;
212
217 const EBAMRCellData&
218 getPhi() const;
219
220 protected:
225
230
236
241
246
252 void
254 };
255 } // namespace RadiativeTransfer
256} // namespace Physics
257
258#include <CD_NamespaceFooter.H>
259
261
262#endif
Implementation of CD_RadiativeTransferStepper.H.
Abstract parent class for various radiative transfer solvers.
Declaration of main (abstract) time stepper class.
TimeStepper for advancing a single radiative transfer species on an AMR mesh.
Definition CD_RadiativeTransferStepper.H:37
void registerOperators() override
Register operators – calls the solver registration routine.
Definition CD_RadiativeTransferStepperImplem.H:294
void postCheckpointSetup() override
Perform post-checkpoint setup routines (sets the source in the solver)
Definition CD_RadiativeTransferStepperImplem.H:173
void registerRealms() override
Register realms.
Definition CD_RadiativeTransferStepperImplem.H:282
void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override
Regrid function. Calls the solver function.
Definition CD_RadiativeTransferStepperImplem.H:318
void allocate() override
Allocate necessary memory for solvers.
Definition CD_RadiativeTransferStepperImplem.H:94
RadiativeTransferStepper()
Constructor. Reads a couple of input options.
Definition CD_RadiativeTransferStepperImplem.H:29
Real m_forceDt
Forced time step.
Definition CD_RadiativeTransferStepper.H:235
void postInitialize() override
Post-initialization functionality – sets the source term.
Definition CD_RadiativeTransferStepperImplem.H:123
Real m_dt
Time step to use.
Definition CD_RadiativeTransferStepper.H:229
Real advance(const Real a_dt) override
Advancement method. Calls the solver function.
Definition CD_RadiativeTransferStepperImplem.H:242
Vector< std::string > getPlotVariableNames() const override
Get plot variable names.
Definition CD_RadiativeTransferStepperImplem.H:197
int getNumberOfPlotVariables() const override
Get number of plot variables for this physics module.
Definition CD_RadiativeTransferStepperImplem.H:185
void preRegrid(const int a_lmin, const int a_oldFinestLevel) override
Perform pre-regrid operations — calls the solver function.
Definition CD_RadiativeTransferStepperImplem.H:306
void parseRuntimeOptions() override
Parse runtime options.
Definition CD_RadiativeTransferStepperImplem.H:77
RefCountedPtr< RtSpecies > m_species
Reference to species.
Definition CD_RadiativeTransferStepper.H:245
Real computeDt() override
Compute a time step to be used by Driver.
Definition CD_RadiativeTransferStepperImplem.H:224
std::string m_realm
Realm where solver lives.
Definition CD_RadiativeTransferStepper.H:224
void setGaussianSource()
Set a Gaussian source term in the RtSolver.
Definition CD_RadiativeTransferStepperImplem.H:354
void forceDt(const Real a_dt)
Force usage of a time step.
Definition CD_RadiativeTransferStepperImplem.H:133
void writePlotData(LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string &a_outputRealm, const int a_level) const override
Write plot data to output holder.
Definition CD_RadiativeTransferStepperImplem.H:209
void printStepReport() override
Print a step report (does nothing)
Definition CD_RadiativeTransferStepperImplem.H:272
void setupSolvers() override
Set up the solver.
Definition CD_RadiativeTransferStepperImplem.H:55
RefCountedPtr< RtSolver > m_solver
Reference to solver.
Definition CD_RadiativeTransferStepper.H:240
void postRegrid() override
Post-regrid function. Sets a Gaussian source.
Definition CD_RadiativeTransferStepperImplem.H:330
void initialData() override
Fill simulation with initial data.
Definition CD_RadiativeTransferStepperImplem.H:106
void synchronizeSolverTimes(const int a_step, const Real a_time, const Real a_dt) override
Synchronize solver times and time steps.
Definition CD_RadiativeTransferStepperImplem.H:256
virtual ~RadiativeTransferStepper()
Destructor (does nothing)
Definition CD_RadiativeTransferStepperImplem.H:45
const EBAMRCellData & getPhi() const
Get the solver solution.
Definition CD_RadiativeTransferStepperImplem.H:342
Base class for advancing equations.
Definition CD_TimeStepper.H:31
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
TracerParticleSolver()
Default constructor.
Definition CD_TracerParticleSolverImplem.H:26
Namespace containing physics models for use with chombo-discharge.
Definition CD_AdvectionDiffusion.H:16