chombo-discharge
Loading...
Searching...
No Matches
CD_RtLayout.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_RTLAYOUT_H
14#define CD_RTLAYOUT_H
15
16// Our includes
17#include <CD_RtSolver.H>
18#include <CD_NamespaceHeader.H>
19
20template <class T>
21class RtIterator;
22
26template <class T>
28{
29public:
35
39 virtual ~RtLayout();
40
45 virtual RtIterator<T>
46 iterator();
47
52 virtual const std::string
53 getRealm() const;
54
59 virtual void
61
66 virtual void
68
72 virtual void
74
78 virtual void
80
84 virtual void
85 allocate();
86
92 virtual void
93 preRegrid(const int a_base, const int a_oldFinestLevel);
94
98 virtual void
99 deallocate();
100
107 virtual void
108 regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel);
109
113 virtual void
115
120 virtual void
122
127 virtual void
129
133 virtual void
134 sanityCheck();
135
141 virtual void
143
148 virtual void
149 setVerbosity(const int a_verbosity);
150
158 virtual void
159 setTime(const int a_step, const Real a_time, const Real a_dt);
160
165 virtual void
167
172 virtual void
173 setSource(const Real a_source);
174
179 virtual void
180 setStationary(const bool a_stationary);
181
185 virtual void
187
192 virtual void
193 advance(const Real a_dt);
194
199 virtual void
200 initialData();
201
206 virtual bool
207 isStationary();
208
213 virtual phase::which_phase
214 getPhase();
215
221 getSolvers();
222
228 getSpecies();
229
235 getSources();
236
242 getPhis();
243
244protected:
249
254
259
264
269};
270
276template <class T, class S>
278{
279public:
283 RtFactory();
284
288 ~RtFactory();
289
297};
298
299#include <CD_NamespaceFooter.H>
300
301#include <CD_RtLayoutImplem.H>
302
303#endif
Implementation of CD_RtLayout.H.
Abstract parent class for various radiative transfer solvers.
Factory class for RtLayout.
Definition CD_RtLayout.H:278
RefCountedPtr< RtLayout< T > > newLayout(const Vector< RefCountedPtr< RtSpecies > > &a_species) const
Get a new Layout. This will cast S to a specific class (T)
Definition CD_RtLayoutImplem.H:458
~RtFactory()
Destructor (does nothing)
Definition CD_RtLayoutImplem.H:453
RtFactory()
Constructor (does nothing)
Definition CD_RtLayoutImplem.H:449
Iterator class for RtLayout.
Definition CD_RtIterator.H:25
Class for holding a set of RtSolvers. T must derive from RtSolver.
Definition CD_RtLayout.H:28
Vector< RefCountedPtr< T > > m_solvers
Solvers.
Definition CD_RtLayout.H:258
virtual void setVerbosity(const int a_verbosity)
Set verbosity.
Definition CD_RtLayoutImplem.H:197
virtual void setComputationalGeometry(const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry)
Set the computational geometry.
Definition CD_RtLayoutImplem.H:165
int m_verbosity
Verbosity.
Definition CD_RtLayout.H:268
virtual const std::string getRealm() const
Get realm where the solvers are allocated.
Definition CD_RtLayoutImplem.H:50
virtual Vector< RefCountedPtr< T > > & getSolvers()
Get solvers.
Definition CD_RtLayoutImplem.H:398
virtual void parseOptions()
Parse options.
Definition CD_RtLayoutImplem.H:75
virtual void setStationary(const bool a_stationary)
Turn on/off stationary.
Definition CD_RtLayoutImplem.H:304
virtual void sanityCheck()
Do a sanity check.
Definition CD_RtLayoutImplem.H:214
virtual void setTime(const int a_step, const Real a_time, const Real a_dt)
Set time.
Definition CD_RtLayoutImplem.H:229
virtual void setRealm(const std::string &a_realm)
Set realm for solvers.
Definition CD_RtLayoutImplem.H:57
Vector< RefCountedPtr< RtSpecies > > m_species
Species.
Definition CD_RtLayout.H:263
virtual Vector< EBAMRCellData * > getSources()
Get all source terms.
Definition CD_RtLayoutImplem.H:412
virtual void registerOperators()
Register operators.
Definition CD_RtLayoutImplem.H:259
virtual void setSource(const EBAMRCellData &a_source)
Convenience function. Set source terms for all species. Mostly used for debugging.
Definition CD_RtLayoutImplem.H:274
virtual bool isStationary()
Check if solvers are stationary.
Definition CD_RtLayoutImplem.H:364
virtual Vector< EBAMRCellData * > getPhis()
Get all states.
Definition CD_RtLayoutImplem.H:431
virtual void deallocate()
Deallocate internal storage for solvers.
Definition CD_RtLayoutImplem.H:135
virtual void setAmr(const RefCountedPtr< AmrMesh > &a_amr)
Set amr.
Definition CD_RtLayoutImplem.H:150
virtual void regrid(const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel)
Regrid all solvers.
Definition CD_RtLayoutImplem.H:244
virtual void addSolver(RefCountedPtr< T > a_solver)
Add a new solver to the solver layout.
Definition CD_RtLayoutImplem.H:68
virtual void parseRuntimeOptions()
Parse runtime options.
Definition CD_RtLayoutImplem.H:90
virtual Vector< RefCountedPtr< RtSpecies > > & getSpecies()
Get species.
Definition CD_RtLayoutImplem.H:405
virtual RtIterator< T > iterator()
Get iterator.
Definition CD_RtLayoutImplem.H:43
virtual ~RtLayout()
Destructor (does nothing)
Definition CD_RtLayoutImplem.H:36
phase::which_phase m_phase
Phase.
Definition CD_RtLayout.H:253
std::string m_realm
Realm.
Definition CD_RtLayout.H:248
virtual void writePlotFile()
Convenience function. All solvers write plot files.
Definition CD_RtLayoutImplem.H:319
virtual void preRegrid(const int a_base, const int a_oldFinestLevel)
Pre regrid stuff.
Definition CD_RtLayoutImplem.H:120
virtual void initialData()
Fill with initial data.
Definition CD_RtLayoutImplem.H:349
virtual void advance(const Real a_dt)
Convenience function. Call advance method for each solver.
Definition CD_RtLayoutImplem.H:334
virtual phase::which_phase getPhase()
Get phase.
Definition CD_RtLayoutImplem.H:386
virtual void allocate()
Allocate internal storage for solvers.
Definition CD_RtLayoutImplem.H:105
virtual void setPhase(phase::which_phase a_phase=phase::gas)
Set phase.
Definition CD_RtLayoutImplem.H:180
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
which_phase
Enumeration of supported phases.
Definition CD_MultiFluidIndexSpace.H:38
@ gas
Gas phase.
Definition CD_MultiFluidIndexSpace.H:39