|
|
| CdrPlasmaStreamerTagger ()=delete |
| | Disallowed weak constructor.
|
| |
| | CdrPlasmaStreamerTagger (const RefCountedPtr< CdrPlasmaPhysics > &a_physics, const RefCountedPtr< CdrPlasmaStepper > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr, const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
| | Full constructor.
|
| |
|
virtual | ~CdrPlasmaStreamerTagger () |
| | Destructor.
|
| |
| virtual void | parseOptions () override |
| | Parse class options.
|
| |
| virtual void | parseRuntimeOptions () override |
| | Parse runtime options.
|
| |
| virtual Vector< Real > | tracer (const RealVect &a_pos, const Real a_time, const Real a_dx, const RealVect &a_electricField, const Real a_minElectricField, const Real a_maxElectricField, const RealVect &a_gradElectricField, const Real a_minGradElectricField, const Real a_maxGradElectricField) const override |
| | Compute tracer fields.
|
| |
| virtual bool | coarsenCell (const RealVect &a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > &a_tracers, const Vector< RealVect > &a_gradTracers) const override |
| | Cell-coarsening method.
|
| |
| virtual bool | refineCell (const RealVect &a_pos, const Real a_time, const Real a_dx, const int a_lvl, const Vector< Real > &a_tracers, const Vector< RealVect > &a_gradTracers) const override |
| | Cell-refinement method.
|
| |
|
| CdrPlasmaFieldTagger () |
| | Default constructor. Sets the tagger name.
|
| |
|
virtual | ~CdrPlasmaFieldTagger () |
| | Destructor.
|
| |
| void | computeTracers () const override final |
| | Compute tracer fields from the electric field on the AMR hierarchy.
|
| |
|
| CdrPlasmaTagger () |
| | Default constructor. Sets default realm and phase.
|
| |
| | CdrPlasmaTagger (const RefCountedPtr< CdrPlasmaPhysics > &a_physics, const RefCountedPtr< CdrPlasmaStepper > &a_timeStepper, const RefCountedPtr< AmrMesh > &a_amr, const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
| | Full constructor. Leaves the object in a 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. Leaves the object in a usable state.
|
| |
| virtual void | prePlot () const noexcept override |
| | Pre-plot hook. Computes tracer fields so they appear in plot output.
|
| |
| virtual void | preRegrid () noexcept override |
| | Pre-regrid hook. Clears tracer field storage before the grid changes.
|
| |
| virtual void | regrid () override final |
| | Regrid hook. Reallocates tracer field and gradient storage on the new mesh.
|
| |
| virtual bool | tagCells (EBAMRTags &a_tags) override final |
| | Flag cells for refinement and coarsening using the tracer-field approach.
|
| |
| virtual int | getNumberOfPlotVariables () const override final |
| | Return the number of plot variables (one per tracer field).
|
| |
| virtual Vector< std::string > | getPlotVariableNames () const override final |
| | Return the names of the tracer field plot variables.
|
| |
| virtual void | writePlotData (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string &a_outputRealm, const int a_level) const override final |
| | Write tracer field data into the output holder.
|
| |
|
| CellTagger () |
| | Weak constructor (does nothing)
|
| |
|
virtual | ~CellTagger () |
| | Destructor (does nothing).
|
| |
| virtual int | getBuffer () const |
| | Get tag buffer.
|
| |
|
|
Real | m_coarCurv |
| | Threshold for coarsening based on curvature.
|
| |
|
Real | m_refiCurv |
| | Threshold for refinement based on curvature.
|
| |
|
Real | m_refiAlpha |
| | Threshold for refinement based on Townsend ionization coefficient.
|
| |
|
Real | m_coarAlpha |
| | Threshold for coarsening based on the Townsend ionization coefficient.
|
| |
|
int | m_maxCoarsenLevel |
| | Maximum AMR level allowed to be coarsened.
|
| |
|
EBAMRCellData | m_scratch |
| | Scratch storage for scalar intermediate quantities.
|
| |
|
EBAMRCellData | m_electricField |
| | Cell-centered electric field vector (SpaceDim components).
|
| |
|
EBAMRCellData | m_gradElectricField |
| | Cell-centered gradient of the electric field magnitude, i.e., grad(|E|).
|
| |
|
std::string | m_realm |
| | Realm on which tracer field storage is allocated.
|
| |
|
phase::which_phase | m_phase |
| | Phase on which tracer field storage is allocated.
|
| |
|
RefCountedPtr< CdrPlasmaPhysics > | m_physics |
| | Plasma kinetics interface.
|
| |
|
RefCountedPtr< CdrPlasmaStepper > | m_timeStepper |
| | Time stepper providing access to solver data and electric field.
|
| |
|
RefCountedPtr< AmrMesh > | m_amr |
| | AMR mesh for grid iteration, gradient computation, and interpolation.
|
| |
|
RefCountedPtr< ComputationalGeometry > | m_computationalGeometry |
| | Computational geometry providing electrode and dielectric information.
|
| |
|
int | m_numTracers |
| | Number of scalar tracer fields used for tagging decisions.
|
| |
|
Vector< EBAMRCellData > | m_tracers |
| | Tracer fields on the AMR hierarchy. Allocated and filled by computeTracers().
|
| |
|
Vector< EBAMRCellData > | m_gradTracers |
| | Gradients of the tracer fields on the AMR hierarchy.
|
| |
|
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.
|
| |
|
|
virtual void | allocateStorage () const |
| | Allocate transient storage for the electric field, its gradient, and scratch.
|
| |
|
virtual void | deallocateStorage () const |
| | Release transient storage allocated by allocateStorage().
|
| |
| virtual void | computeElectricField (EBAMRCellData &a_electricField, EBAMRCellData &a_gradElectricField) const |
| | Compute the centroid-centered electric field and its gradient magnitude.
|
| |
| virtual void | refineCellsBox (DenseIntVectSet &a_refinedCells, const Vector< EBCellFAB * > &a_tracers, const Vector< EBCellFAB * > &a_gradTracers, 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) |
| | Flag cells for refinement within a single grid patch.
|
| |
| virtual void | coarsenCellsBox (DenseIntVectSet &a_coarsenedCells, const Vector< EBCellFAB * > &a_tracers, const Vector< EBCellFAB * > &a_gradTracers, 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) |
| | Flag cells for coarsening within a single grid patch.
|
| |
| 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.
|
| |
Concrete CdrPlasmaFieldTagger that tags cells based on streamer inception criteria.
Cells are flagged for refinement if either the ionization criterion alpha(E)*dx exceeds a user-specified threshold m_refiAlpha, or the electric field curvature |grad(|E|)|*dx/|E| exceeds m_refiCurv. Coarsening is the reverse of both criteria. Both thresholds are runtime-configurable via ParmParse.