12 #ifndef CD_ItoPlasmaTagger_H
13 #define CD_ItoPlasmaTagger_H
19 #include <CD_NamespaceHeader.H>
39 const RefCountedPtr<ItoPlasmaStepper>& a_timeStepper,
40 const RefCountedPtr<AmrMesh>& a_amr,
41 const RefCountedPtr<ComputationalGeometry>& a_computationalGeometry);
56 define(
const RefCountedPtr<ItoPlasmaPhysics>& a_physics,
57 const RefCountedPtr<ItoPlasmaStepper>& a_timeStepper,
58 const RefCountedPtr<AmrMesh>& a_amr,
59 const RefCountedPtr<ComputationalGeometry>& a_computationalGeometry);
83 getNumberOfPlotVariables();
101 setPhase(
const phase::which_phase a_phase);
106 virtual Vector<EBAMRCellData>&
166 const Vector<EBCellFAB*>& a_tracers,
167 const Vector<EBCellFAB*>& a_grad_tracers,
170 const EBISBox& a_ebisbox,
173 const RealVect a_origin);
180 const Vector<EBCellFAB*>& a_tracers,
181 const Vector<EBCellFAB*>& a_grad_tracers,
184 const EBISBox& a_ebisbox,
187 const RealVect a_origin);
197 const Vector<Real> a_tracer,
198 const Vector<RealVect> a_grad_tracer) = 0;
208 const Vector<Real> a_tracer,
209 const Vector<RealVect> a_grad_tracer) = 0;
214 #include <CD_NamespaceFooter.H>
Declaration of a base class for tagging cells across an AMR hierarchy.
Main file for describing Ito-based plasma physics.
Abstract class for integrating the Ito plasma equations.
Base class for tagging cells across an AMR hierarchy.
Definition: CD_CellTagger.H:31
Abstract class for tagging cells across an AMR hierarchy.
Definition: CD_ItoPlasmaTagger.H:28
virtual void setPhase(const phase::which_phase a_phase)
Set phase.
Definition: CD_ItoPlasmaTagger.cpp:85
RefCountedPtr< ItoPlasmaPhysics > m_physics
Plasma kinetics.
Definition: CD_ItoPlasmaTagger.H:129
Vector< EBAMRCellData > m_grad_tracer
Gradient of tracer fields.
Definition: CD_ItoPlasmaTagger.H:159
virtual bool coarsenCell(const RealVect a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > a_tracer, const Vector< RealVect > a_grad_tracer)=0
Coarsen a cell based on a tracer field.
virtual Vector< EBAMRCellData > & getTracerFields()
Tracer fields.
Definition: CD_ItoPlasmaTagger.cpp:107
virtual bool refineCell(const RealVect a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > a_tracer, const Vector< RealVect > a_grad_tracer)=0
Refine a cell based on a tracer field.
ItoPlasmaTagger()
Weak constructor, must subsequently call define.
Definition: CD_ItoPlasmaTagger.cpp:25
RefCountedPtr< ItoPlasmaStepper > m_timeStepper
Time stepper.
Definition: CD_ItoPlasmaTagger.H:134
virtual void define(const RefCountedPtr< ItoPlasmaPhysics > &a_physics, const RefCountedPtr< ItoPlasmaStepper > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr, const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry)
Define function.
Definition: CD_ItoPlasmaTagger.cpp:50
virtual void parseRuntimeOptions()=0
Parse class options.
std::string m_realm
Realm.
Definition: CD_ItoPlasmaTagger.H:119
virtual void refineCellsBox(DenseIntVectSet &a_refined_tags, const Vector< EBCellFAB * > &a_tracers, const Vector< EBCellFAB * > &a_grad_tracers, const int a_lvl, const Box a_box, const EBISBox &a_ebisbox, const Real a_time, const Real a_dx, const RealVect a_origin)
Per-box refinement tags.
Definition: CD_ItoPlasmaTagger.cpp:223
RefCountedPtr< ComputationalGeometry > m_computationalGeometry
Computational geometry. Needed for what exactly?
Definition: CD_ItoPlasmaTagger.H:144
virtual ~ItoPlasmaTagger()
Destructor.
Definition: CD_ItoPlasmaTagger.cpp:47
virtual void writePlotData(EBAMRCellData &a_output, Vector< std::string > &a_plotVariableNames, int &a_icomp)
Write plot data.
Definition: CD_ItoPlasmaTagger.cpp:113
int m_num_tracers
Number of tracer fields.
Definition: CD_ItoPlasmaTagger.H:149
virtual void parseOptions()=0
Parse class options.
RefCountedPtr< AmrMesh > m_amr
AmrMesh. Needed for computing tracer stuff.
Definition: CD_ItoPlasmaTagger.H:139
virtual void coarsenCellsBox(DenseIntVectSet &a_refined_tags, const Vector< EBCellFAB * > &a_tracers, const Vector< EBCellFAB * > &a_grad_tracers, const int a_lvl, const Box a_box, const EBISBox &a_ebisbox, const Real a_time, const Real a_dx, const RealVect a_origin)
Per-box coarsen.
Definition: CD_ItoPlasmaTagger.cpp:298
virtual bool tagCells(EBAMRTags &a_tags)
Tag cells.
Definition: CD_ItoPlasmaTagger.cpp:141
virtual void regrid()
Regrid storage for tracer field.
Definition: CD_ItoPlasmaTagger.cpp:67
virtual void computeTracers()=0
Compute tracer fields.
phase::which_phase m_phase
Phase.
Definition: CD_ItoPlasmaTagger.H:124
Vector< EBAMRCellData > m_tracer
Tracer fields.
Definition: CD_ItoPlasmaTagger.H:154
Name containing various physics models for running chombo-discharge code.
Definition: CD_AdvectionDiffusion.H:15