|
| ItoKMCFieldTagger () noexcept |
| Weak constructor. User MUST subsequently call define.
|
|
virtual | ~ItoKMCFieldTagger () noexcept |
| Destructor.
|
|
virtual void | computeTagFields () const noexcept override |
| Compute tagging fields.
|
|
virtual void | parseOptions () override=0 |
| Parse options.
|
|
virtual void | parseRuntimeOptions () override=0 |
| Parse run-time configurable options.
|
|
| ItoKMCTagger () |
| Weak constructor. User MUST subsequently call the define function.
|
|
| ItoKMCTagger (const RefCountedPtr< ItoKMCPhysics > &a_physics, const RefCountedPtr< S > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr) noexcept |
| Full constructor. More...
|
|
virtual | ~ItoKMCTagger () noexcept |
| Destructor.
|
|
virtual void | define (const RefCountedPtr< ItoKMCPhysics > &a_physics, const RefCountedPtr< S > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr) noexcept |
| Define function. More...
|
|
virtual int | getNumberOfPlotVariables () const noexcept override |
| Get number of plot variables that will be written to file (by Driver). More...
|
|
virtual Vector< std::string > | getPlotVariableNames () const noexcept override |
| Get plot variable names.
|
|
virtual void | writePlotData (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string a_outputRealm, const int a_level) const noexcept override |
| Write plot data. More...
|
|
virtual void | regrid () noexcept override |
| Regrid this class. Note that there is no preRegrid method.
|
|
virtual bool | tagCells (EBAMRTags &a_tags) noexcept override |
| Tag cells for refinement and coarsening. More...
|
|
virtual void | setPhase (const phase::which_phase a_phase) noexcept |
| Set the phase where we do the tagging. More...
|
|
virtual Vector< EBAMRCellData > & | getTagFields () noexcept |
| Get tag fields. This is data that live on the primal realm and specified input phase.
|
|
| CellTagger () |
| Weak constructor (does nothing)
|
|
virtual | ~CellTagger () |
| Destructor (does nothing).
|
|
virtual void | preRegrid () noexcept |
| Pre-regrid function for cell-tagger.
|
|
virtual void | prePlot () const noexcept |
| Perform pre-plotting operations (if necessary)
|
|
virtual int | getBuffer () const |
| Get tag buffer. More...
|
|
|
virtual void | allocateStorage () const noexcept |
| Allocate memory for scratch, electric field, and gradient of electric field.
|
|
virtual void | deallocateStorage () const noexcept |
| Deallocate memory.
|
|
virtual void | computeElectricField (EBAMRCellData &a_E, EBAMRCellData &a_gradE) const noexcept |
| Compute electric field. More...
|
|
virtual Vector< Real > | computeTagFields (const RealVect a_pos, const Real a_time, const Real a_dx, const RealVect a_E, const Real a_minE, const Real a_maxE, const RealVect a_gradE, const Real a_minGradE, const Real a_maxGradE) const noexcept=0 |
| Compute tracer field. More...
|
|
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=0 |
| Determine if a particular cell should be coarsened or not. More...
|
|
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=0 |
| Determine if a particular cell should be refined or not. More...
|
|
virtual void | tagCellsBox (DenseIntVectSet &a_refinedCells, DenseIntVectSet &a_coarsenedCells, const Vector< EBCellFAB * > &a_tagFields, const Vector< EBCellFAB * > &a_gradTagFields, const int a_lvl, const DataIndex a_dit, const Box a_box, const EBISBox &a_ebisbox, const Real a_time, const Real a_dx, const RealVect a_probLo) const noexcept |
| Per-box refinement tagging routine. More...
|
|
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...
|
|
template<typename S>
class Physics::ItoKMC::ItoKMCFieldTagger< S >
Lightweight tagging class. Only tags cells based on the electric field.
This class fetches the point-wise electric field. The class is pure, so users must still implement the actual tagging criterion themselves. However, this class at the very least exposes the per-cell refinement/coarsening in terms of the electric field only.