chombo-discharge
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Physics::ItoPlasma::ItoPlasmaFieldTagger Class Referenceabstract

Lightweight tagging class. Only tags cells based on electric field. More...

#include <CD_ItoPlasmaFieldTagger.H>

Inheritance diagram for Physics::ItoPlasma::ItoPlasmaFieldTagger:
Inheritance graph
[legend]
Collaboration diagram for Physics::ItoPlasma::ItoPlasmaFieldTagger:
Collaboration graph
[legend]

Public Member Functions

 ItoPlasmaFieldTagger ()
 Weak constructor, must subsequently call define.
 
 ~ItoPlasmaFieldTagger ()
 Destructor.
 
void computeTracers ()
 Compute tracer fields.
 
virtual void parseOptions ()=0
 Parse options.
 
virtual void parseRuntimeOptions ()=0
 Parse options.
 
- Public Member Functions inherited from Physics::ItoPlasma::ItoPlasmaTagger
 ItoPlasmaTagger ()
 Weak constructor, must subsequently call define.
 
 ItoPlasmaTagger (const RefCountedPtr< ItoPlasmaPhysics > &a_physics, const RefCountedPtr< ItoPlasmaStepper > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr, const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry)
 Full constructor.
 
virtual ~ItoPlasmaTagger ()
 Destructor.
 
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. More...
 
virtual int getNumberOfPlotVariables ()
 
virtual void regrid ()
 Regrid storage for tracer field.
 
virtual bool tagCells (EBAMRTags &a_tags)
 Tag cells.
 
virtual void setPhase (const phase::which_phase a_phase)
 Set phase.
 
virtual Vector< EBAMRCellData > & getTracerFields ()
 Tracer fields.
 
virtual void writePlotData (EBAMRCellData &a_output, Vector< std::string > &a_plotVariableNames, int &a_icomp)
 Write plot data.
 
- Public Member Functions inherited from CellTagger
 CellTagger ()
 Weak constructor (does nothing)
 
virtual ~CellTagger ()
 Destructor (does nothing).
 
virtual int getNumberOfPlotVariables () const
 Get number of plot variables that will be written to file (by Driver). More...
 
virtual void writePlotData (EBAMRCellData &a_output, Vector< std::string > &a_plotVariableNames, int &a_icomp) const
 Write plot data. More...
 
virtual int getBuffer () const
 Get tag buffer. More...
 

Protected Member Functions

void allocateStorage ()
 Allocate memory.
 
void deallocateStorage ()
 Deallocate memory.
 
void computeElectricField (EBAMRCellData &a_E, EBAMRCellData &a_grad_E)
 Compute electric field.
 
virtual Vector< Real > tracer (const RealVect a_pos, const Real a_time, const Real a_dx, const RealVect a_E, const Real a_min_E, const Real a_max_E, const RealVect a_grad_E, const Real a_min_grad_E, const Real a_max_grad_E)=0
 Compute tracer field.
 
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 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.
 
- Protected Member Functions inherited from Physics::ItoPlasma::ItoPlasmaTagger
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.
 
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.
 
- Protected Member Functions inherited from CellTagger
bool insideTagBox (const RealVect a_pos) const
 Check if a point is inside a tagging box. More...
 
int getManualRefinementLevel (const RealVect a_pos) const
 Get the specified level for this position when doing manual refinement.
 
virtual void parseTagBoxes ()
 Parse boxes. More...
 
virtual void parseRefinementBoxes ()
 Parse refinement boxes.
 
virtual void parseBuffer ()
 Parse refinement buffer. More...
 
virtual void parseVerbosity ()
 Parse the verbosity from the input file or command line. More...
 

Protected Attributes

EBAMRCellData m_scratch
 Scratch storage.
 
EBAMRCellData m_E
 Storage for electric field.
 
EBAMRCellData m_grad_E
 Storage for electric field.
 
- Protected Attributes inherited from Physics::ItoPlasma::ItoPlasmaTagger
std::string m_realm
 Realm.
 
phase::which_phase m_phase
 Phase.
 
RefCountedPtr< ItoPlasmaPhysicsm_physics
 Plasma kinetics.
 
RefCountedPtr< ItoPlasmaStepperm_timeStepper
 Time stepper.
 
RefCountedPtr< AmrMeshm_amr
 AmrMesh. Needed for computing tracer stuff.
 
RefCountedPtr< ComputationalGeometrym_computationalGeometry
 Computational geometry. Needed for what exactly?
 
int m_num_tracers
 Number of tracer fields.
 
Vector< EBAMRCellDatam_tracer
 Tracer fields.
 
Vector< EBAMRCellDatam_grad_tracer
 Gradient of tracer fields.
 
- Protected Attributes inherited from CellTagger
std::string m_name
 Cell tagger class name (default is CellTagger).
 
int m_verbosity
 Class verbosity.
 
int m_buffer
 Tag buffer. Grow tags by this amount (finest level only)
 
Vector< RealBoxm_tagBoxes
 Boxes that can be used to restrict tagging.
 
std::vector< std::pair< RealBox, int > > m_refBoxes
 Refinement boxes for adding manual refinement.
 

Detailed Description

Lightweight tagging class. Only tags cells based on electric field.

This class fetches the point-wise electric field. The class is pure, so users must implement the actual tagging criterion themselves.


The documentation for this class was generated from the following files: