|
chombo-discharge
|
Lightweight tagging class which flags cells for refinement/coarsening using the electric field only. More...
#include <CD_CdrPlasmaFieldTagger.H>


Public Member Functions | |
| CdrPlasmaFieldTagger () | |
| Weak constructor, must subsequently call define. | |
| virtual | ~CdrPlasmaFieldTagger () |
| Destructor. | |
| void | computeTracers () const override final |
| Compute tracer fields. | |
| virtual void | parseOptions () override=0 |
| Parse options. Must be implemented by users. | |
Public Member Functions inherited from Physics::CdrPlasma::CdrPlasmaTagger | |
| CdrPlasmaTagger () | |
| Weak constructor. Must subsequently call define. | |
| CdrPlasmaTagger (const RefCountedPtr< CdrPlasmaPhysics > &a_physics, const RefCountedPtr< CdrPlasmaStepper > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr, const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) | |
| Full constructor. Leaves object in usable state. | |
| virtual | ~CdrPlasmaTagger () |
| Destructor. | |
| void | define (const RefCountedPtr< CdrPlasmaPhysics > &a_physics, const RefCountedPtr< CdrPlasmaStepper > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr, const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
| Define function constructor. Leaves object in usable state. | |
| virtual void | prePlot () const noexcept override |
| Pre-plot magic for Driver. | |
| virtual void | preRegrid () noexcept override |
| Perform pre-regrid operations. | |
| virtual void | regrid () override final |
| Regrid method – used for reallocating storage for the tracer fields. | |
| virtual bool | tagCells (EBAMRTags &a_tags) override final |
| Tag cells for refinement. | |
| virtual int | getNumberOfPlotVariables () const override final |
| Get number of plot variables. This is fetched by Driver and can be used. | |
| virtual Vector< std::string > | getPlotVariableNames () const override final |
| Get plot variable names. | |
| virtual void | writePlotData (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string a_outputRealm, const int a_level) const override final |
| Write plot data. | |
Public Member Functions inherited from CellTagger | |
| CellTagger () | |
| Weak constructor (does nothing) | |
| virtual | ~CellTagger () |
| Destructor (does nothing). | |
| virtual void | parseRuntimeOptions () |
| Parse runtime class options. | |
| virtual int | getBuffer () const |
| Get tag buffer. | |
Protected Attributes | |
| EBAMRCellData | m_scratch |
| Scratch storage. | |
| EBAMRCellData | m_electricField |
| Storage for electric field. | |
| EBAMRCellData | m_gradElectricField |
| Storage for electric field. | |
Protected Attributes inherited from Physics::CdrPlasma::CdrPlasmaTagger | |
| std::string | m_realm |
| Realm where this cell tagger allocates its data. | |
| phase::which_phase | m_phase |
| Phase where this cell tagger allocates its data. | |
| RefCountedPtr< CdrPlasmaPhysics > | m_physics |
| Plasma physics. | |
| RefCountedPtr< CdrPlasmaStepper > | m_timeStepper |
| Time stepper. | |
| RefCountedPtr< AmrMesh > | m_amr |
| AmrMesh. Needed for computing tracer stuff. | |
| RefCountedPtr< ComputationalGeometry > | m_computationalGeometry |
| Computational geometry. Not needed but useful to have. | |
| int | m_numTracers |
| Number of tracer fields. | |
| Vector< EBAMRCellData > | m_tracers |
| Tracer fields. | |
| Vector< EBAMRCellData > | m_gradTracers |
| 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< 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. | |
Lightweight tagging class which flags cells for refinement/coarsening using the electric field only.
This class fetches the point-wise electric field. The class is pure, so users must implement the actual tagging criterion themselves.
|
overrideprotectedpure virtual |
Coarsen a cell based on a tracer field.
| [in] | a_pos | Physical position |
| [in] | a_time | Current time |
| [in] | a_dx | Grid resolution |
| [in] | a_lvl | Grid level |
| [in] | a_tracers | Tracer fields |
| [in] | a_gradTracers | Gradient of tracer fields |
Implements Physics::CdrPlasma::CdrPlasmaTagger.
Implemented in Physics::CdrPlasma::CdrPlasmaStreamerTagger.
|
protectedvirtual |
Compute electric field onto the input data holders.
| [out] | a_electricField | Cell-centered electric field |
| [out] | a_gradientElectricField | Gradient of |E| where E is the electric field. |
|
finaloverridevirtual |
Compute tracer fields.
Implements parent class method but introduces a cell-wise method CdrPlasmaFieldTagger::tracer which is used on per-cell basis.
Implements Physics::CdrPlasma::CdrPlasmaTagger.
Parse options. Must be implemented by users.
Implements Physics::CdrPlasma::CdrPlasmaTagger.
Implemented in Physics::CdrPlasma::CdrPlasmaStreamerTagger.
|
overrideprotectedpure virtual |
Refine a cell based on a tracer field.
| [in] | a_pos | Physical position |
| [in] | a_time | Current time |
| [in] | a_dx | Grid resolution |
| [in] | a_lvl | Grid level |
| [in] | a_tracers | Tracer fields |
| [in] | a_gradTracers | Gradient of tracer fields |
Implements Physics::CdrPlasma::CdrPlasmaTagger.
Implemented in Physics::CdrPlasma::CdrPlasmaStreamerTagger.
|
protectedpure virtual |
Compute tracer field.
| [in] | a_pos | Physical coordinates |
| [in] | a_time | Time |
| [in] | a_electricField | Electric field (in SI units) |
| [in] | a_minElectricField | Minimum value of electric field |
| [in] | a_maxElectricField | Maximum value of electric field |
| [in] | a_gradElectricField | Gradient of |E|, i.e. grad(|E|) |
| [in] | a_minGradElectricField | Maximum value of |grad(|E|)| |
| [in] | a_maxGradElectricField | Maximum value of |grad(|E|)| |
Implemented in Physics::CdrPlasma::CdrPlasmaStreamerTagger.