chombo-discharge
Loading...
Searching...
No Matches
CD_CdrPlasmaStreamerTagger.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_CDRPLASMASTREAMERTAGGER_H
14#define CD_CDRPLASMASTREAMERTAGGER_H
15
16// Our includes
18#include <CD_NamespaceHeader.H>
19
20namespace Physics {
21namespace CdrPlasma {
22
31{
32public:
37
45 CdrPlasmaStreamerTagger(const RefCountedPtr<CdrPlasmaPhysics>& a_physics,
46 const RefCountedPtr<CdrPlasmaStepper>& a_timeStepper,
47 const RefCountedPtr<AmrMesh>& a_amr,
48 const RefCountedPtr<ComputationalGeometry>& a_computationalGeometry);
49
54
58 virtual void
59 parseOptions() override;
60
64 virtual void
65 parseRuntimeOptions() override;
66
81 virtual Vector<Real>
82 tracer(const RealVect& a_pos,
83 const Real a_time,
84 const Real a_dx,
85 const RealVect& a_electricField,
86 const Real a_minElectricField,
87 const Real a_maxElectricField,
88 const RealVect& a_gradElectricField,
89 const Real a_minGradElectricField,
90 const Real a_maxGradElectricField) const override;
91
102 virtual bool
103 coarsenCell(const RealVect& a_pos,
104 const Real a_time,
105 const Real a_dx,
106 const int a_lvl,
107 const Vector<Real>& a_tracers,
108 const Vector<RealVect>& a_gradTracers) const override;
109
120 virtual bool
121 refineCell(const RealVect& a_pos,
122 const Real a_time,
123 const Real a_dx,
124 const int a_lvl,
125 const Vector<Real>& a_tracers,
126 const Vector<RealVect>& a_gradTracers) const override;
127
128protected:
133
138
143
148
153};
154} // namespace CdrPlasma
155} // namespace Physics
156
157#include <CD_NamespaceFooter.H>
158
159#endif
Declaration of the Physics::CdrPlasma::CdrPlasmaFieldTagger class.
Intermediate CdrPlasmaTagger subclass that computes tracer fields from the electric field only.
Definition CD_CdrPlasmaFieldTagger.H:31
Concrete CdrPlasmaFieldTagger that tags cells based on streamer inception criteria.
Definition CD_CdrPlasmaStreamerTagger.H:31
Real m_coarCurv
Threshold for coarsening based on curvature.
Definition CD_CdrPlasmaStreamerTagger.H:132
virtual Vector< Real > tracer(const RealVect &a_pos, const Real a_time, const Real a_dx, const RealVect &a_electricField, const Real a_minElectricField, const Real a_maxElectricField, const RealVect &a_gradElectricField, const Real a_minGradElectricField, const Real a_maxGradElectricField) const override
Compute tracer fields.
Definition CD_CdrPlasmaStreamerTagger.cpp:80
Real m_coarAlpha
Threshold for coarsening based on the Townsend ionization coefficient.
Definition CD_CdrPlasmaStreamerTagger.H:147
virtual ~CdrPlasmaStreamerTagger()
Destructor.
Definition CD_CdrPlasmaStreamerTagger.cpp:22
virtual void parseRuntimeOptions() override
Parse runtime options.
Definition CD_CdrPlasmaStreamerTagger.cpp:70
Real m_refiAlpha
Threshold for refinement based on Townsend ionization coefficient.
Definition CD_CdrPlasmaStreamerTagger.H:142
CdrPlasmaStreamerTagger()=delete
Disallowed weak constructor.
int m_maxCoarsenLevel
Maximum AMR level allowed to be coarsened.
Definition CD_CdrPlasmaStreamerTagger.H:152
virtual bool refineCell(const RealVect &a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > &a_tracers, const Vector< RealVect > &a_gradTracers) const override
Cell-refinement method.
Definition CD_CdrPlasmaStreamerTagger.cpp:130
virtual bool coarsenCell(const RealVect &a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > &a_tracers, const Vector< RealVect > &a_gradTracers) const override
Cell-coarsening method.
Definition CD_CdrPlasmaStreamerTagger.cpp:105
virtual void parseOptions() override
Parse class options.
Definition CD_CdrPlasmaStreamerTagger.cpp:48
Real m_refiCurv
Threshold for refinement based on curvature.
Definition CD_CdrPlasmaStreamerTagger.H:137
Namespace containing physics models for use with chombo-discharge.
Definition CD_AdvectionDiffusion.H:16