Class for tagging grid cells using the Ito-KMC-Poisson module. Note that S is the time integrator type that is used.
More...
#include <CD_ItoKMCTagger.H>
|
| 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 | computeTagFields () const noexcept=0 |
| Compute tagging fields.
|
|
virtual void | parseOptions () override=0 |
| Parse class options.
|
|
virtual void | parseRuntimeOptions () override=0 |
| Parse run-time configurable class options.
|
|
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 | 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...
|
|
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=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=0 |
| Determine if a particular cell should be refined or not. 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::ItoKMCTagger< S >
Class for tagging grid cells using the Ito-KMC-Poisson module. Note that S is the time integrator type that is used.
◆ ItoKMCTagger()
template<typename S >
ItoKMCTagger::ItoKMCTagger |
( |
const RefCountedPtr< ItoKMCPhysics > & |
a_physics, |
|
|
const RefCountedPtr< S > & |
a_timeStepper, |
|
|
const RefCountedPtr< AmrMesh > & |
a_amr |
|
) |
| |
|
noexcept |
Full constructor.
- Parameters
-
[in] | a_physics | Physics implementation. |
[in] | a_timeStepper | Time integrator. |
[in] | a_amr | Reference to AmrMesh |
◆ coarsenCell()
template<typename S >
virtual bool Physics::ItoKMC::ItoKMCTagger< S >::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 |
|
protectedpure virtualnoexcept |
◆ define()
template<typename S >
void ItoKMCTagger::define |
( |
const RefCountedPtr< ItoKMCPhysics > & |
a_physics, |
|
|
const RefCountedPtr< S > & |
a_timeStepper, |
|
|
const RefCountedPtr< AmrMesh > & |
a_amr |
|
) |
| |
|
virtualnoexcept |
Define function.
- Parameters
-
[in] | a_physics | Physics implementation. |
[in] | a_timeStepper | Time integrator. |
[in] | a_amr | Reference to AmrMesh |
◆ getNumberOfPlotVariables()
template<typename S >
int ItoKMCTagger::getNumberOfPlotVariables |
|
overridevirtualnoexcept |
Get number of plot variables that will be written to file (by Driver).
- Returns
- Returns number of plot variables that Driver will write to plot files.
Reimplemented from CellTagger.
◆ refineCell()
template<typename S >
virtual bool Physics::ItoKMC::ItoKMCTagger< S >::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 |
|
protectedpure virtualnoexcept |
◆ setPhase()
template<typename S >
void ItoKMCTagger::setPhase |
( |
const phase::which_phase |
a_phase | ) |
|
|
virtualnoexcept |
Set the phase where we do the tagging.
- Parameters
-
◆ tagCells()
template<typename S >
bool ItoKMCTagger::tagCells |
( |
EBAMRTags & |
a_tags | ) |
|
|
overridevirtualnoexcept |
Tag cells for refinement and coarsening.
- Parameters
-
[in,out] | a_tags | Cell tags that become the new grids. |
Implements CellTagger.
◆ tagCellsBox()
template<typename S >
void ItoKMCTagger::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 |
|
protectedvirtualnoexcept |
Per-box refinement tagging routine.
- Parameters
-
[out] | a_refinedCells | Cells to be refined |
[out] | a_coarsenedCells | Cells to be coarsened |
[in] | a_tagFields | Tagging fields |
[in] | a_gradTagFields | Gradient of tagging fields |
[in] | a_lvl | Grid level |
[in] | a_dit | Grid index |
[in] | a_box | Cell-centered box |
[in] | a_ebisbox | EBIS box |
[in] | a_time | Current time |
[in] | a_dx | Grid resolution |
[in] | a_probLo | Lower-left corner of physical domain |
◆ writePlotData()
template<typename S >
void ItoKMCTagger::writePlotData |
( |
LevelData< EBCellFAB > & |
a_output, |
|
|
int & |
a_icomp, |
|
|
const std::string |
a_outputRealm, |
|
|
const int |
a_level |
|
) |
| const |
|
overridevirtualnoexcept |
Write plot data.
- Parameters
-
[in,out] | a_output | Output data holder |
[in,out] | a_icomp | Starting variable in a_output where we begin appending data. |
[in] | a_level | Grid level |
Reimplemented from CellTagger.
The documentation for this class was generated from the following files: