chombo-discharge
CD_CdrPlasmaStreamerTagger.H
Go to the documentation of this file.
1 /* chombo-discharge
2  * Copyright © 2021 SINTEF Energy Research.
3  * Please refer to Copyright.txt and LICENSE in the chombo-discharge root directory.
4  */
5 
12 #ifndef CD_CdrPlasmaStreamerTagger_H
13 #define CD_CdrPlasmaStreamerTagger_H
14 
15 // Our includes
17 #include <CD_NamespaceHeader.H>
18 
19 namespace Physics {
20  namespace CdrPlasma {
21 
27  {
28  public:
33 
41  CdrPlasmaStreamerTagger(const RefCountedPtr<CdrPlasmaPhysics>& a_physics,
42  const RefCountedPtr<CdrPlasmaStepper>& a_timeStepper,
43  const RefCountedPtr<AmrMesh>& a_amr,
44  const RefCountedPtr<ComputationalGeometry>& a_computationalGeometry);
45 
49  virtual ~CdrPlasmaStreamerTagger();
50 
54  virtual void
55  parseOptions() override;
56 
60  virtual void
61  parseRuntimeOptions() override;
62 
75  virtual Vector<Real>
76  tracer(const RealVect a_pos,
77  const Real a_time,
78  const Real a_dx,
79  const RealVect a_electricField,
80  const Real a_minElectricField,
81  const Real a_maxElectricField,
82  const RealVect a_gradElectricField,
83  const Real a_minGradElectricField,
84  const Real a_maxGradElectricField) const override;
85 
96  virtual bool
97  coarsenCell(const RealVect a_pos,
98  const Real a_time,
99  const Real a_dx,
100  const int a_lvl,
101  const Vector<Real> a_tracers,
102  const Vector<RealVect> a_gradTracers) const override;
103 
114  virtual bool
115  refineCell(const RealVect a_pos,
116  const Real a_time,
117  const Real a_dx,
118  const int a_lvl,
119  const Vector<Real> a_tracers,
120  const Vector<RealVect> a_gradTracers) const override;
121 
122  protected:
127 
132 
137 
142 
147  };
148  } // namespace CdrPlasma
149 } // namespace Physics
150 
151 #include <CD_NamespaceFooter.H>
152 
153 #endif
Cell tagger class for Physics/CdrPlasma.
Lightweight tagging class which flags cells for refinement/coarsening using the electric field only.
Definition: CD_CdrPlasmaFieldTagger.H:28
Class which implements CdrPlasmaFieldTagger and refines cells based on the criterion alpha*dx > thres...
Definition: CD_CdrPlasmaStreamerTagger.H:27
Real m_coarCurv
Threshold for coarsening based on curvature.
Definition: CD_CdrPlasmaStreamerTagger.H:126
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:126
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:104
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:79
Real m_coarAlpha
Threshold for refinement based on Townsend ionization coefficient.
Definition: CD_CdrPlasmaStreamerTagger.H:141
virtual ~CdrPlasmaStreamerTagger()
Destructor.
Definition: CD_CdrPlasmaStreamerTagger.cpp:21
virtual void parseRuntimeOptions() override
Parse runtime options.
Definition: CD_CdrPlasmaStreamerTagger.cpp:69
Real m_refiAlpha
Threshold for refinement based on Townsend ionization coefficient.
Definition: CD_CdrPlasmaStreamerTagger.H:136
CdrPlasmaStreamerTagger()=delete
Disallowed weak constructor.
int m_maxCoarsenLevel
Set coarsening level.
Definition: CD_CdrPlasmaStreamerTagger.H:146
virtual void parseOptions() override
Parse class options.
Definition: CD_CdrPlasmaStreamerTagger.cpp:47
Real m_refiCurv
Threshold for refinement based on curvature.
Definition: CD_CdrPlasmaStreamerTagger.H:131
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15