chombo-discharge
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
Physics::AdvectionDiffusion::AdvectionDiffusionTagger Class Reference

Cell tagger for the advection-diffusion physics module. More...

#include <CD_AdvectionDiffusionTagger.H>

Inheritance diagram for Physics::AdvectionDiffusion::AdvectionDiffusionTagger:
Inheritance graph
[legend]
Collaboration diagram for Physics::AdvectionDiffusion::AdvectionDiffusionTagger:
Collaboration graph
[legend]

Public Member Functions

 AdvectionDiffusionTagger ()=delete
 Disallowed default constructor.
 
 AdvectionDiffusionTagger (RefCountedPtr< CdrSolver > &a_solver, RefCountedPtr< AmrMesh > &a_amr)
 Full constructor.
 
virtual ~AdvectionDiffusionTagger ()
 Destructor.
 
void regrid () override
 Regrid hook. No operations are performed.
 
void parseOptions () override
 Parse tagging thresholds from ParmParse.
 
bool tagCells (EBAMRTags &a_tags) override
 Flag cells for refinement based on curvature and magnitude of the scalar field.
 
- Public Member Functions inherited from CellTagger
 CellTagger ()
 Weak constructor (does nothing)
 
virtual ~CellTagger ()
 Destructor (does nothing).
 
virtual void preRegrid () noexcept
 Pre-regrid function for cell-tagger.
 
virtual void parseRuntimeOptions ()
 Parse runtime class options.
 
virtual void prePlot () const noexcept
 Perform pre-plotting operations (if necessary)
 
virtual int getNumberOfPlotVariables () const
 Get number of plot variables that will be written to file (by Driver).
 
virtual Vector< std::stringgetPlotVariableNames () const
 Get plot variable names.
 
virtual void writePlotData (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string &a_outputRealm, const int a_level) const
 Write plot data.
 
virtual int getBuffer () const
 Get tag buffer.
 

Protected Attributes

std::string m_realm
 Name of the realm on which the solver is registered.
 
RefCountedPtr< CdrSolverm_solver
 CDR solver providing the scalar field used for tagging.
 
RefCountedPtr< AmrMeshm_amr
 AMR mesh used for gradient computation and grid iteration.
 
Real m_refCurv
 Curvature refinement threshold. Cells with |grad(phi)|*dx/phi above this value are flagged.
 
Real m_refMagn
 Magnitude refinement threshold. Only cells where |phi| exceeds this value are eligible for flagging.
 
- 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.
 

Additional Inherited Members

- Protected Member Functions inherited from CellTagger
bool insideTagBox (const RealVect &a_pos) const
 Check if a point is inside a tagging box.
 
int getManualRefinementLevel (const RealVect &a_pos) const
 Get the specified level for this position when doing manual refinement.
 
virtual void parseTagBoxes ()
 Parse boxes.
 
virtual void parseRefinementBoxes ()
 Parse refinement boxes.
 
virtual void parseBuffer ()
 Parse refinement buffer.
 
virtual void parseVerbosity ()
 Parse the verbosity from the input file or command line.
 

Detailed Description

Cell tagger for the advection-diffusion physics module.

Flags cells for refinement based on two criteria applied to the scalar field phi:

Constructor & Destructor Documentation

◆ AdvectionDiffusionTagger()

AdvectionDiffusionTagger::AdvectionDiffusionTagger ( RefCountedPtr< CdrSolver > &  a_solver,
RefCountedPtr< AmrMesh > &  a_amr 
)

Full constructor.

Parameters
[in]a_solverCDR solver whose scalar field is used for tagging decisions.
[in]a_amrAMR mesh used for gradient computation and level iteration.

Member Function Documentation

◆ parseOptions()

void AdvectionDiffusionTagger::parseOptions ( )
overridevirtual

Parse tagging thresholds from ParmParse.

Reads m_refCurv (curvature threshold) and m_refMagn (magnitude threshold).

Implements CellTagger.

◆ regrid()

void AdvectionDiffusionTagger::regrid ( )
overridevirtual

Regrid hook. No operations are performed.

Implements CellTagger.

◆ tagCells()

bool AdvectionDiffusionTagger::tagCells ( EBAMRTags a_tags)
overridevirtual

Flag cells for refinement based on curvature and magnitude of the scalar field.

Parameters
[in,out]a_tagsCell tags across the AMR hierarchy.
Returns
True if at least one cell was tagged on any MPI rank.

Implements CellTagger.


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