|
chombo-discharge
|
Abstract CellTagger for the Ito-KMC-Poisson physics module. More...
#include <CD_ItoKMCTagger.H>


Public Member Functions | |
| 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. | |
| 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. | |
| virtual int | getNumberOfPlotVariables () const noexcept override |
| Get number of plot variables that will be written to file (by Driver). | |
| 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. | |
| 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. | |
| virtual void | setPhase (const phase::which_phase a_phase) noexcept |
| Set the phase where we do the tagging. | |
| virtual Vector< EBAMRCellData > & | getTagFields () noexcept |
| Get the tagging fields (mutable reference). | |
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 | prePlot () const noexcept |
| Perform pre-plotting operations (if necessary) | |
| virtual int | getBuffer () const |
| Get tag buffer. | |
Protected Attributes | |
| bool | m_isDefined |
| Defined or not. | |
| bool | m_plotData |
| Plot data or not. | |
| std::string | m_realm |
| Realm where data is allocated. | |
| phase::which_phase | m_phase |
| Phase where data is allocated. | |
| RefCountedPtr< ItoKMCPhysics > | m_physics |
| Physics implementation. | |
| RefCountedPtr< S > | m_timeStepper |
| Time stepper. | |
| RefCountedPtr< AmrMesh > | m_amr |
| AmrMesh. Needed for allocating memory and things like that. | |
| int | m_numTagFields |
| Number of tagging fields. | |
| Vector< EBAMRCellData > | m_tagFields |
| Tagging fields. | |
| Vector< EBAMRCellData > | m_gradTagFields |
| Gradient of tagging 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< RealBox > | m_tagBoxes |
| Boxes that can be used to restrict tagging. | |
| std::vector< std::pair< RealBox, int > > | m_refBoxes |
| Refinement boxes for adding manual refinement. | |
Abstract CellTagger for the Ito-KMC-Poisson physics module.
The template parameter S is the concrete ItoKMCStepper type. Subclasses implement computeTagFields(), refineCell(), and coarsenCell() to define the refinement criterion. Tag fields are computed on the Primal realm and live on the phase set by setPhase().
|
noexcept |
|
protectedpure virtualnoexcept |
Determine if a particular cell should be coarsened or not.
| [in] | a_pos | Physical position. |
| [in] | a_time | Current time |
| [in] | a_dx | Grid resolution |
| [in] | a_lvl | Grid level |
| [in] | a_tagFields | Cell tagging fields |
| [in] | a_gradTagFields | Gradient of cell tagging fields |
Implemented in Physics::ItoKMC::ItoKMCStreamerTagger< S >, and Physics::ItoKMC::ItoKMCFieldTagger< S >.
|
pure virtualnoexcept |
Compute tagging fields.
Implemented in Physics::ItoKMC::ItoKMCFieldTagger< S >.
|
virtualnoexcept |
Get number of plot variables that will be written to file (by Driver).
Reimplemented from CellTagger.
|
overridevirtualnoexcept |
Get plot variable names.
Reimplemented from CellTagger.
|
virtualnoexcept |
Get the tagging fields (mutable reference).
|
overridepure virtual |
Parse class options.
Implements CellTagger.
Implemented in Physics::ItoKMC::ItoKMCStreamerTagger< S >, and Physics::ItoKMC::ItoKMCFieldTagger< S >.
|
overridepure virtual |
Parse run-time configurable class options.
Reimplemented from CellTagger.
Implemented in Physics::ItoKMC::ItoKMCStreamerTagger< S >, and Physics::ItoKMC::ItoKMCFieldTagger< S >.
|
protectedpure virtualnoexcept |
Determine if a particular cell should be refined or not.
| [in] | a_pos | Physical position. |
| [in] | a_time | Current time |
| [in] | a_dx | Grid resolution |
| [in] | a_lvl | Grid level |
| [in] | a_tagFields | Cell tagging fields |
| [in] | a_gradTagFields | Gradient of cell tagging fields |
Implemented in Physics::ItoKMC::ItoKMCStreamerTagger< S >, and Physics::ItoKMC::ItoKMCFieldTagger< S >.
Regrid this class. Note that there is no preRegrid method.
Implements CellTagger.
|
virtualnoexcept |
Set the phase where we do the tagging.
| [in] | a_phase | Phase |
Tag cells for refinement and coarsening.
| [in,out] | a_tags | Cell tags that become the new grids. |
Implements CellTagger.
|
protectedvirtualnoexcept |
Per-box refinement tagging routine.
| [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 |
|
overridevirtualnoexcept |
Write plot data.
| [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 |
| [in] | a_outputRealm | Description |
Reimplemented from CellTagger.