12 #ifndef CD_CdrPlasmaFieldTagger_H
13 #define CD_CdrPlasmaFieldTagger_H
17 #include <CD_NamespaceHeader.H>
105 const RealVect a_electricField,
106 const Real a_minElectricField,
107 const Real a_maxElectricField,
108 const RealVect a_gradElectricField,
109 const Real a_minGradElectricField,
110 const Real a_maxGradElectricField)
const = 0;
127 const Vector<Real> a_tracers,
128 const Vector<RealVect> a_gradTracers)
const override = 0;
145 const Vector<Real> a_tracers,
146 const Vector<RealVect> a_gradTracers)
const override = 0;
151 #include <CD_NamespaceFooter.H>
Declearation of an abstract class for tagging cells in a Physics/CdrPlasma context.
Lightweight tagging class which flags cells for refinement/coarsening using the electric field only.
Definition: CD_CdrPlasmaFieldTagger.H:28
virtual ~CdrPlasmaFieldTagger()
Destructor.
Definition: CD_CdrPlasmaFieldTagger.cpp:32
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=0
Refine a cell based on a tracer field.
virtual void allocateStorage() const
Allocate memory for electric field and scratch.
Definition: CD_CdrPlasmaFieldTagger.cpp:36
void computeTracers() const override final
Compute tracer fields.
Definition: CD_CdrPlasmaFieldTagger.cpp:87
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 =0
Compute tracer field.
EBAMRCellData m_electricField
Storage for electric field.
Definition: CD_CdrPlasmaFieldTagger.H:62
CdrPlasmaFieldTagger()
Weak constructor, must subsequently call define.
Definition: CD_CdrPlasmaFieldTagger.cpp:22
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=0
Coarsen a cell based on a tracer field.
EBAMRCellData m_gradElectricField
Storage for electric field.
Definition: CD_CdrPlasmaFieldTagger.H:67
virtual void computeElectricField(EBAMRCellData &a_electricField, EBAMRCellData &a_gradientElectricField) const
Compute electric field onto the input data holders.
Definition: CD_CdrPlasmaFieldTagger.cpp:62
virtual void parseOptions() override=0
Parse options. Must be implemented by users.
virtual void deallocateStorage() const
Deallocate memory for electric field and scratch.
Definition: CD_CdrPlasmaFieldTagger.cpp:49
EBAMRCellData m_scratch
Scratch storage.
Definition: CD_CdrPlasmaFieldTagger.H:57
Abstract Class which implements CellTagger for the CDR plasma physics module.
Definition: CD_CdrPlasmaTagger.H:35
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15