chombo-discharge
Loading...
Searching...
No Matches
CD_ItoKMCStreamerTagger.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_ItoKMCStreamerTagger_H
13#define CD_ItoKMCStreamerTagger_H
14
15// Our includes
17#include <CD_NamespaceHeader.H>
18
19namespace Physics {
20 namespace ItoKMC {
21
25 template <typename S>
27 {
28 public:
32 ItoKMCStreamerTagger() noexcept;
33
42 const RefCountedPtr<AmrMesh>& a_amr) noexcept;
43
47 virtual ~ItoKMCStreamerTagger() noexcept;
48
52 virtual void
53 parseOptions() noexcept override;
54
58 virtual void
59 parseRuntimeOptions() noexcept override;
60
61 protected:
66
71
76
81
86
99 virtual Vector<Real>
101 const Real a_time,
102 const Real a_dx,
103 const RealVect a_E,
104 const Real a_minE,
105 const Real a_maxE,
106 const RealVect a_gradE,
107 const Real a_minGradE,
108 const Real a_maxGradE) const noexcept override;
109
119 virtual bool
121 const Real a_time,
122 const Real a_dx,
123 const int a_lvl,
125 const Vector<RealVect> a_gradTagFields) const noexcept override;
126
136 virtual bool
138 const Real a_time,
139 const Real a_dx,
140 const int a_lvl,
142 const Vector<RealVect> a_gradTagFields) const noexcept override;
143 };
144 } // namespace ItoKMC
145} // namespace Physics
146
147#include <CD_NamespaceFooter.H>
148
150
151#endif
Declaration of an abstract field-only tagging class for ito plasmas.
Implementation CD_ItoKMCStreamerTagger.H.
Lightweight tagging class. Only tags cells based on the electric field.
Definition CD_ItoKMCFieldTagger.H:30
virtual void computeTagFields() const noexcept override
Compute tagging fields.
Definition CD_ItoKMCFieldTaggerImplem.H:95
Cell tagging class for streamers.
Definition CD_ItoKMCStreamerTagger.H:27
virtual bool refineCell(const RealVect a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > a_tagFields, const Vector< RealVect > a_gradTagFields) const noexcept override
Determine if a particular cell should be refined or not.
Definition CD_ItoKMCStreamerTaggerImplem.H:157
int m_maxCoarsenLevel
Set coarsening level.
Definition CD_ItoKMCStreamerTagger.H:85
ItoKMCStreamerTagger() noexcept
Constructor. Must subsequently call the define function.
Definition CD_ItoKMCStreamerTaggerImplem.H:25
virtual bool coarsenCell(const RealVect a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > a_tagFields, const Vector< RealVect > a_gradTagFields) const noexcept override
Determine if a particular cell should be coarsened or not.
Definition CD_ItoKMCStreamerTaggerImplem.H:124
Real m_refineAlpha
Threshold for ionization refinement.
Definition CD_ItoKMCStreamerTagger.H:75
Real m_refineCurvature
Threshold for refinement based on curvature.
Definition CD_ItoKMCStreamerTagger.H:70
virtual void parseRuntimeOptions() noexcept override
Parse class options.
Definition CD_ItoKMCStreamerTaggerImplem.H:75
Real m_coarsenCurvature
Threshold for coarsening based on curvature.
Definition CD_ItoKMCStreamerTagger.H:65
Real m_coarsenAlpha
Threshold for ionization coarsening.
Definition CD_ItoKMCStreamerTagger.H:80
virtual ~ItoKMCStreamerTagger() noexcept
Destructor.
Definition CD_ItoKMCStreamerTaggerImplem.H:34
virtual void parseOptions() noexcept override
Parse class options.
Definition CD_ItoKMCStreamerTaggerImplem.H:53
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:37
Name containing various physics models for running chombo-discharge code.
Definition CD_AdvectionDiffusion.H:15