|
| FieldStepper () |
| Constructor – parses some input options.
|
|
virtual | ~FieldStepper () |
| Destructor (does nothing)
|
|
void | setupSolvers () override |
| Solver setup routine. This instantiates the FieldSolver and parses input options.
|
|
void | initialData () override |
| Set initial data – this sets the space and surface charges.
|
|
void | postInitialize () override |
| Post-initialization routine. This solves the Poisson equation.
|
|
void | allocate () override |
| Allocation method – allocates memory and internal data for solvers.
|
|
MFAMRCellData & | getPotential () |
| Get the potential.
|
|
void | postCheckpointSetup () override |
| Post-initialize operations to be performed – does nothing.
|
|
int | getNumberOfPlotVariables () const override |
| Get number of plot variables. More...
|
|
Vector< std::string > | getPlotVariableNames () const override |
| Get plot variable names.
|
|
void | writePlotData (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string a_outputRealm, const int a_level) const override |
| Write plot data to file. More...
|
|
Real | computeDt () override |
| Compute time step. More...
|
|
Real | advance (const Real a_dt) override |
| Perform a single time step with step a_dt. More...
|
|
void | synchronizeSolverTimes (const int a_step, const Real a_time, const Real a_dt) override |
| Synchronzie solver times and time steps. More...
|
|
void | printStepReport () override |
| Print step report – this does nothing.
|
|
void | registerRealms () override |
| Register simulation realms to be used for this simulation module.
|
|
void | registerOperators () override |
| Register operators for this simulation module.
|
|
void | preRegrid (const int a_lbase, const int a_finestLevel) override |
| Perform pre-regrid operations. More...
|
|
bool | loadBalanceThisRealm (const std::string a_realm) const override |
| Load balancing query for a specified realm. If this returns true for a_realm, load balancing routines will be called during regrids. More...
|
|
void | loadBalanceBoxes (Vector< Vector< int >> &a_procs, Vector< Vector< Box >> &a_boxes, const std::string a_realm, const Vector< DisjointBoxLayout > &a_grids, const int a_lmin, const int a_finestLevel) override |
| Load balance grid boxes for a specified realm. More...
|
|
void | regrid (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override |
| Regrid method – regrids the potential distribution in FieldSolver (but does not solve the Poisson equation, that is done in postRegrid()). More...
|
|
void | postRegrid () override |
| Perform post-regrid operations – this will resolve the Poisson equation. More...
|
|
void | setRho (const std::function< Real(const RealVect &a_pos)> &a_rho, const phase::which_phase a_phase) noexcept |
| Set space charge. More...
|
|
void | setSigma (const std::function< Real(const RealVect &a_pos)> &a_sigma) noexcept |
| Set surface charge. More...
|
|
| TimeStepper () |
| Default constructor (does nothing)
|
|
virtual | ~TimeStepper () |
| Default destructor (does nothing)
|
|
void | setAmr (const RefCountedPtr< AmrMesh > &a_amr) |
| Set AmrMesh. More...
|
|
void | setComputationalGeometry (const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
| Set the computational geometry. More...
|
|
virtual void | parseRuntimeOptions () |
| Parse runtime options. More...
|
|
virtual void | prePlot () |
| An option for calling special functions prior to plotting data. Called by Driver in the IMMEDIATELY before writing the plot file.
|
|
virtual void | postPlot () |
| An option for calling special functions prior to plotting data. Called by Driver in the IMMEDIATELY after writing the plot file.
|
|
virtual Vector< long int > | getCheckpointLoads (const std::string a_realm, const int a_level) const |
| Get computational loads to be checkpointed. More...
|
|
virtual bool | needToRegrid () |
| Fuction which can have Driver do regrids at arbitrary points in the simulation. More...
|
|
template<class T>
class Physics::Electrostatics::FieldStepper< T >
Implementation of TimeStepper for solving electrostatic problems. The template parameter is the FieldSolver implementation type.
This is just a one-step method – it currently does not feature adaptive mesh refinement but uses the static grid set up by Driver. If the user wants to add mesh refinement he/she can add a CellTagger which flags cells for refinement.
The voltage on electrodes/domain faces is set to one. If the user wants to set a different voltage he will need to fetch the FieldSolver from the FieldStepper and call FieldStepper::setVoltage(...).
The initial space charge is set to a Gaussian blob, specified in the input script. The initial surface charge is set to a constant value specified in the input script.