chombo-discharge
Loading...
Searching...
No Matches
CD_ItoKMCStreamerTagger.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_ITOKMCSTREAMERTAGGER_H
14#define CD_ITOKMCSTREAMERTAGGER_H
15
16// Our includes
18#include <CD_NamespaceHeader.H>
19
20namespace Physics {
21 namespace ItoKMC {
22
29 template <typename S>
31 {
32 public:
36 ItoKMCStreamerTagger() noexcept;
37
46 const RefCountedPtr<AmrMesh>& a_amr) noexcept;
47
51 virtual ~ItoKMCStreamerTagger() noexcept;
52
56 virtual void
57 parseOptions() noexcept override;
58
62 virtual void
63 parseRuntimeOptions() noexcept override;
64
65 protected:
70
75
80
85
90
104 virtual Vector<Real>
106 const Real a_time,
107 const Real a_dx,
108 const RealVect& a_E,
109 const Real a_minE,
110 const Real a_maxE,
111 const RealVect& a_gradE,
112 const Real a_minGradE,
113 const Real a_maxGradE) const noexcept override;
114
125 virtual bool
127 const Real a_time,
128 const Real a_dx,
129 const int a_lvl,
131 const Vector<RealVect>& a_gradTagFields) const noexcept override;
132
143 virtual bool
145 const Real a_time,
146 const Real a_dx,
147 const int a_lvl,
149 const Vector<RealVect>& a_gradTagFields) const noexcept override;
150 };
151 } // namespace ItoKMC
152} // namespace Physics
153
154#include <CD_NamespaceFooter.H>
155
157
158#endif
Declaration of the Physics::ItoKMC::ItoKMCFieldTagger abstract CellTagger.
Implementation of CD_ItoKMCStreamerTagger.H.
Lightweight tagging class. Only tags cells based on the electric field.
Definition CD_ItoKMCFieldTagger.H:31
virtual void computeTagFields() const noexcept override
Compute tagging fields.
Definition CD_ItoKMCFieldTaggerImplem.H:99
CellTagger for the ItoKMC module that refines on the ionization coefficient and field curvature.
Definition CD_ItoKMCStreamerTagger.H:31
int m_maxCoarsenLevel
Set coarsening level.
Definition CD_ItoKMCStreamerTagger.H:89
ItoKMCStreamerTagger() noexcept
Constructor. Must subsequently call the define function.
Definition CD_ItoKMCStreamerTaggerImplem.H:26
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.
Definition CD_ItoKMCStreamerTaggerImplem.H:158
Real m_refineAlpha
Threshold for ionization refinement.
Definition CD_ItoKMCStreamerTagger.H:79
Real m_refineCurvature
Threshold for refinement based on curvature.
Definition CD_ItoKMCStreamerTagger.H:74
virtual void parseRuntimeOptions() noexcept override
Parse runtime-configurable class options.
Definition CD_ItoKMCStreamerTaggerImplem.H:76
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.
Definition CD_ItoKMCStreamerTaggerImplem.H:125
Real m_coarsenCurvature
Threshold for coarsening based on curvature.
Definition CD_ItoKMCStreamerTagger.H:69
Real m_coarsenAlpha
Threshold for ionization coarsening.
Definition CD_ItoKMCStreamerTagger.H:84
virtual ~ItoKMCStreamerTagger() noexcept
Destructor.
Definition CD_ItoKMCStreamerTaggerImplem.H:35
virtual void parseOptions() noexcept override
Parse class options.
Definition CD_ItoKMCStreamerTaggerImplem.H:54
Base class for a tracer particle solver. This solver can advance particles in a pre-defined velocity ...
Definition CD_TracerParticleSolver.H:38
Namespace containing physics models for use with chombo-discharge.
Definition CD_AdvectionDiffusion.H:16