Class for evolving plasma equations using implicit-explicit spectral deferred corrections.
More...
|
|
| CdrPlasmaImExSdcStepper ()=delete |
| | Disallowed constructor – use the full constructor.
|
| |
| | CdrPlasmaImExSdcStepper (RefCountedPtr< CdrPlasmaPhysics > &a_physics) |
| | Full constructor.
|
| |
|
virtual | ~CdrPlasmaImExSdcStepper () |
| | Destructor.
|
| |
| Real | advance (const Real a_dt) override |
| | Advance method. Implements the ImEx SDC algorithm.
|
| |
| void | allocateInternals () override |
| | Allocation method for setting up internal storage.
|
| |
| void | deallocateInternals () override |
| | De-allocation method for deleting run-time storage.
|
| |
| void | regridInternals (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override |
| | For regridding internal storage. Does nothing.
|
| |
| void | parseOptions () override |
| | Parse startup options.
|
| |
| void | parseRuntimeOptions () override |
| | Parse run-time options.
|
| |
|
| CdrPlasmaStepper () |
| | Empty constructor.
|
| |
| | CdrPlasmaStepper (RefCountedPtr< CdrPlasmaPhysics > &a_physics) |
| | Full constructor.
|
| |
|
| ~CdrPlasmaStepper () |
| | Destructor.
|
| |
| virtual void | setupSolvers () override |
| | Instantiate solvers.
|
| |
| virtual void | allocate () override |
| | Allocate data for the time stepper and solvers.
|
| |
| virtual void | initialData () override |
| | Fill all solvers with initial data.
|
| |
| virtual void | postInitialize () override |
| | Post-initialize operations to be performed after filling solvers with initialData.
|
| |
| virtual void | postCheckpointSetup () override |
| | Post-initialize operations to be performed after filling solvers with data read from checkpoint files.
|
| |
| virtual void | registerRealms () override |
| | Register realms to be used for the simulation.
|
| |
| virtual void | registerOperators () override |
| | Register operators to be used for the simulation.
|
| |
| virtual void | prePlot () override |
| | Compute some thing that go into plot files.
|
| |
| virtual int | getNumberOfPlotVariables () const override |
| | Get the number of plot variables for this time stepper.
|
| |
| virtual Vector< std::string > | getPlotVariableNames () const 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 override |
| | Write plot data to output holder.
|
| |
| virtual void | synchronizeSolverTimes (const int a_step, const Real a_time, const Real a_dt) override |
| | Synchronize solver times.
|
| |
| virtual void | printStepReport () override |
| | Print a step report.
|
| |
| virtual void | preRegrid (const int a_lmin, const int a_oldFinestLevel) override |
| | Pre-regrid function – this is the one called by Driver.
|
| |
| virtual void | preRegridInternals (const int a_lmin, const int a_oldFinestLevel) |
| | Do a preRegrid operation for internal storage (if needed).
|
| |
| virtual void | regrid (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override |
| | Regrid method.
|
| |
| virtual void | postRegrid () override |
| | Perform post-regrid operations.
|
| |
| virtual void | computeJ (EBAMRCellData &a_J) const |
| | Compute the current density.
|
| |
| virtual void | computeElectricField (MFAMRCellData &a_electricFieldCell, const MFAMRCellData &a_potential) const |
| | Compute the cell-centered electric field on both phases.
|
| |
| virtual void | computeElectricField (EBAMRCellData &a_electricFieldCell, const phase::which_phase a_phase) const |
| | Compute the cell-centered electric field on a specific phase using whatever is available in m_fieldSolver.
|
| |
| virtual void | computeElectricField (EBAMRCellData &a_E, const phase::which_phase a_phase, const MFAMRCellData &a_potential) const |
| | Compute the cell-centered electric field on a specific phase.
|
| |
| virtual void | computeElectricField (EBAMRFluxData &a_electricFieldFace, const phase::which_phase a_phase, const EBAMRCellData &a_electricFieldCell) const |
| | Compute the face-centered electric field. This will only do the normal component.
|
| |
| virtual void | computeElectricField (EBAMRIVData &a_electricFieldEB, const phase::which_phase a_phase, const EBAMRCellData &a_electricFieldCell) const |
| | Compute the EB-centered electric field.
|
| |
| virtual void | computeMaxElectricField (Real &a_maxElectricField, const phase::which_phase a_phase) |
| | Compute the maximum of the electric field.
|
| |
| virtual Real | getTime () const |
| | Return time.
|
| |
| virtual bool | stationaryRTE () |
| | Check if RTE solvers are stationary.
|
| |
|
virtual void | deallocate () |
| | Deallocation function. This will deallocate internal storage in the subclasses as well as the solvers.
|
| |
| virtual void | computeSpaceChargeDensity () |
| | Compute the centroid-centered space charge density by using the data inside the CDR solvers.
|
| |
| virtual void | computeSpaceChargeDensity (MFAMRCellData &a_rho, const Vector< EBAMRCellData * > &a_cdrDensities) |
| | Compute the centroid-centered space charge density.
|
| |
| virtual void | computeCellConductivity (EBAMRCellData &a_cellConductivity) const |
| | Compute the cell-centered conductivity.
|
| |
| virtual void | computeFaceConductivity (EBAMRFluxData &a_conductivityFace, EBAMRIVData &a_conductivityEB, const EBAMRCellData &a_conductivityCell) const |
| | Compute the face-centered conductivity from a cell-centered conductivity.
|
| |
| virtual void | setupSemiImplicitPoisson (const Real a_dt) |
| | Set up a semi-implicit Poisson solver.
|
| |
| virtual void | setupSemiImplicitPoisson (const EBAMRFluxData &a_conductivityFace, const EBAMRIVData &a_conductivityEB, const Real a_factor) |
| | Set up a semi-implicit Poisson solver.
|
| |
| virtual bool | solvePoisson () |
| | Solve the electrostatic Poisson equation.
|
| |
| virtual bool | solvePoisson (MFAMRCellData &a_potential, MFAMRCellData &a_rho, const Vector< EBAMRCellData * > a_cdrDensities, const EBAMRIVData &a_sigma) |
| | General electrostatic Poisson solver routine.
|
| |
| virtual void | advanceReactionNetwork (const Real a_time, const Real a_dt) |
| | Advance the reaction network. This will compute the electric field (on the appropriate phase) and call the other version.
|
| |
| virtual void | advanceReactionNetwork (Vector< EBAMRCellData * > &a_cdrSources, Vector< EBAMRCellData * > &a_rteSources, const Vector< EBAMRCellData * > &a_cdrDensities, const Vector< EBAMRCellData * > &a_rteDensities, const EBAMRCellData &a_E, const Real &a_time, const Real &a_dt) |
| | Compute reaction network source terms.
|
| |
| virtual void | advanceReactionNetwork (Vector< EBAMRCellData * > &a_cdrSources, Vector< EBAMRCellData * > &a_rteSources, const Vector< EBAMRCellData * > &a_cdrDensities, const Vector< EBAMRCellData * > &a_cdrGradients, const Vector< EBAMRCellData * > &a_rteDensities, const EBAMRCellData &a_E, const Real &a_time, const Real &a_dt) |
| | Compute reaction network source terms. This is the AMR version that does all levels.
|
| |
| virtual void | advanceReactionNetwork (Vector< LevelData< EBCellFAB > * > &a_cdrSources, Vector< LevelData< EBCellFAB > * > &a_rteSources, const Vector< LevelData< EBCellFAB > * > &a_cdrDensities, const Vector< LevelData< EBCellFAB > * > &a_cdrGradients, const Vector< LevelData< EBCellFAB > * > &a_rteDensities, const LevelData< EBCellFAB > &a_E, const Real &a_time, const Real &a_dt, const int a_level) |
| | Compute reaction network source terms. This is the level version.
|
| |
| virtual void | advanceReactionNetworkRegularCells (Vector< FArrayBox * > &a_cdrSources, Vector< FArrayBox * > &a_rteSources, const Vector< FArrayBox * > &a_cdrDensities, const Vector< FArrayBox * > &a_cdrGradients, const Vector< FArrayBox * > &a_rteDensities, const FArrayBox &a_E, const Real &a_time, const Real &a_dt, const Real &a_dx, const Box &a_cellBox) |
| | Compute reaction network sources. This is the regular version which does not do the cut-cells.
|
| |
| virtual void | advanceReactionNetworkIrreg (Vector< EBCellFAB * > &a_cdrSources, Vector< EBCellFAB * > &a_rteSources, const Vector< EBCellFAB * > &a_cdrDensities, const Vector< EBCellFAB * > &a_cdrGradients, const Vector< EBCellFAB * > &a_cdrVelocities, const Vector< EBCellFAB * > &a_rteDensities, const EBCellFAB &a_E, const Real &a_time, const Real &a_dt, const Real &a_dx, const Box &a_cellBox, const int a_lvl, const DataIndex &a_dit) |
| | Compute reaction network sources. This is the irregular version which only does the cut-cells.
|
| |
| virtual void | advanceReactionNetworkIrregInterp (Vector< EBCellFAB * > &a_cdrSources, Vector< EBCellFAB * > &a_rteSources, const Vector< EBCellFAB * > &a_cdrDensities, const Vector< EBCellFAB * > &a_cdrGradients, const Vector< EBCellFAB * > &a_cdrVelocities, const Vector< EBCellFAB * > &a_rteDensities, const EBCellFAB &a_E, const Real &a_time, const Real &a_dt, const Real &a_dx, const Box &a_box, const int a_lvl, const DataIndex &a_dit) |
| | Compute reaction network sources. This version interpolates everything to the centroid and runs with that data.
|
| |
| virtual void | advanceReactionNetworkIrregUpwind (Vector< EBCellFAB * > &a_cdrSources, Vector< EBCellFAB * > &a_rteSources, const Vector< EBCellFAB * > &a_cdrDensities, const Vector< EBCellFAB * > &a_cdrGradients, const Vector< EBCellFAB * > &a_cdrVelocities, const Vector< EBCellFAB * > &a_rteDensities, const EBCellFAB &a_E, const Real &a_time, const Real &a_dt, const Real &a_dx, const Box &a_box, const int a_lvl, const DataIndex &a_dit) |
| | Compute reaction network sources.
|
| |
| virtual void | computeCdrDiffusion () |
| | Compute diffusion things using whatever is available in the solvers.
|
| |
| virtual void | computeCdrDiffusion (const EBAMRCellData &a_electricFieldCell, const EBAMRIVData &a_electricFieldEB) |
| | Compute diffusion things using whatever is available in the solvers. This version uses the input electric fields.
|
| |
| virtual void | computeCdrDiffusionCell (Vector< EBAMRCellData > &a_cdrDcoCell, const Vector< EBAMRCellData * > &a_cdrDensities, const EBAMRCellData &a_electricFieldCell, const Real &a_time) |
| | Compute CDR diffusion coefficients on cell centers. This will call the level version.
|
| |
| virtual void | computeCdrDiffusionCell (Vector< LevelData< EBCellFAB > * > &a_cdrDcoCell, const Vector< LevelData< EBCellFAB > * > &a_cdrDensities, const LevelData< EBCellFAB > &a_electricFieldCell, const int a_lvl, const Real &a_time) |
| | Compute diffusion coefficients. This is the level version and it will iterate through grid patches.
|
| |
| virtual void | computeCdrDiffusionCellRegular (Vector< FArrayBox * > &a_cdrDcoCell, const Vector< FArrayBox * > &a_cdrDensities, const FArrayBox &a_electricFieldCell, const Box a_cellBox, const Real a_dx, const Real a_time) |
| | Compute diffusion coefficients on cell centers. This does all the regular cells.
|
| |
| virtual void | computeCdrDiffusionCellIrregular (Vector< EBCellFAB * > &a_cdrDcoCell, const Vector< EBCellFAB * > &a_cdrDensities, const EBCellFAB &a_electricFieldCell, const Real a_dx, const Real &a_time, const int a_lvl, const DataIndex &a_dit) |
| | Compute diffusion coefficients on cell centers. This version does the irregular cells.
|
| |
| virtual void | computeCdrDiffusionFace (Vector< EBAMRFluxData * > &a_cdrDcoFace, const Vector< EBAMRCellData * > &a_cdrDensities, const EBAMRCellData &a_electricFieldCell, const Real &a_time) |
| | Compute diffusion coefficients on face centers.
|
| |
| virtual void | computeCdrDiffusionEb (Vector< EBAMRIVData * > &a_cdrDcoEB, const Vector< EBAMRIVData * > &a_cdrDensitiesEB, const EBAMRIVData &a_electricFieldEB, const Real &a_time) |
| | Compute diffusion coefficients on the EB. This is the AMR version – it will call the level version.
|
| |
| virtual void | computeCdrDiffusionEb (Vector< LevelData< BaseIVFAB< Real > > * > &a_cdrDcoEB, const Vector< LevelData< BaseIVFAB< Real > > * > &a_cdrDensitiesEB, const LevelData< BaseIVFAB< Real > > &a_electricFieldEB, const Real &a_time, const int a_lvl) |
| | Compute diffusion coefficients on the EB. This is a level version but it will go through all patches.
|
| |
| virtual void | computeCdrDriftVelocities () |
| | Compute the CDR drift velocities.
|
| |
| virtual void | computeCdrDriftVelocities (Vector< EBAMRCellData * > &a_velocities, const Vector< EBAMRCellData * > &a_cdrDensities, const EBAMRCellData &a_E, const Real &a_time) |
| | Compute the cell-centered CDR velocities. This will call the level version.
|
| |
| virtual void | computeCdrDriftVelocities (Vector< LevelData< EBCellFAB > * > &a_cdrVelocities, const Vector< LevelData< EBCellFAB > * > &a_cdrDensities, const LevelData< EBCellFAB > &a_electricField, const int a_lvl, const Real &a_time) |
| | Compute the cell-centered CDR velocities.
|
| |
| virtual void | computeCdrDriftVelocitiesRegular (Vector< FArrayBox * > &a_cdrVelocities, const Vector< FArrayBox * > &a_cdrDensities, const FArrayBox &a_electricField, const Box &a_cellBox, const Real &a_time, const Real &a_dx) |
| | Compute the cell-centered CDR velocities.
|
| |
| virtual void | computeCdrDriftVelocitiesIrregular (Vector< EBCellFAB * > &a_velocities, const Vector< EBCellFAB * > &a_cdrDensities, const EBCellFAB &a_electricField, const Real &a_time, const Real &a_dx, const int a_lvl, const DataIndex &a_dit) |
| | Compute the cell-centered CDR velocities.
|
| |
| virtual void | computeCdrFluxes (Vector< EBAMRIVData * > &a_cdrFluxesEB, const Vector< EBAMRIVData * > &a_extrapCdrFluxes, const Vector< EBAMRIVData * > &a_extrapCdrDensities, const Vector< EBAMRIVData * > &a_extrapCdrVelocities, const Vector< EBAMRIVData * > &a_extrapCdrGradients, const Vector< EBAMRIVData * > &a_extrapRteFluxes, const EBAMRIVData &a_electricField, const Real &a_time) |
| | Compute CDR fluxes on the EB. This is the AMR version – it will call the level version.
|
| |
| virtual void | computeCdrFluxes (Vector< LevelData< BaseIVFAB< Real > > * > &a_cdrFluxesEB, const Vector< LevelData< BaseIVFAB< Real > > * > &a_extrapCdrFluxes, const Vector< LevelData< BaseIVFAB< Real > > * > &a_extrapCdrDensities, const Vector< LevelData< BaseIVFAB< Real > > * > &a_extrapCdrVelocities, const Vector< LevelData< BaseIVFAB< Real > > * > &a_extrapCdrGradients, const Vector< LevelData< BaseIVFAB< Real > > * > &a_extrapRteFluxes, const LevelData< BaseIVFAB< Real > > &a_electricField, const Real &a_time, const int a_lvl) |
| | Compute CDR fluxes on the EB. This is the level version which will fill EB fluxes on both electrode and dielectric cells.
|
| |
| virtual void | computeCdrDomainFluxes (Vector< EBAMRIFData * > &a_cdrFluxes, const Vector< EBAMRIFData * > &a_extrapCdrFluxes, const Vector< EBAMRIFData * > &a_extrapCdrDensities, const Vector< EBAMRIFData * > &a_extrapCdrVelocities, const Vector< EBAMRIFData * > &a_extrapCdrGradients, const Vector< EBAMRIFData * > &a_extrapRteFluxes, const EBAMRIFData &a_field, const Real &a_time) |
| | Compute CDR fluxes on domain faces for usage in boundary conditions. This is the AMR version.
|
| |
| virtual void | computeCdrDomainFluxes (Vector< LevelData< DomainFluxIFFAB > * > a_cdrFluxes, const Vector< LevelData< DomainFluxIFFAB > * > &a_extrapCdrFluxes, const Vector< LevelData< DomainFluxIFFAB > * > &a_extrapCdrDensities, const Vector< LevelData< DomainFluxIFFAB > * > &a_extrapCdrVelocities, const Vector< LevelData< DomainFluxIFFAB > * > &a_extrapCdrGradients, const Vector< LevelData< DomainFluxIFFAB > * > &a_extrapRteFluxes, const LevelData< DomainFluxIFFAB > &a_electricField, const Real &a_time, const int a_lvl) |
| | Compute CDR fluxes on domain faces for usage in boundary conditions. This is the level version.
|
| |
| virtual void | computeExtrapolatedFluxes (Vector< EBAMRIVData * > &a_extrapCdrFluxesEB, const Vector< EBAMRCellData * > a_cdrDensities, const Vector< EBAMRCellData * > a_cdrVelocities, const phase::which_phase a_phase) |
| | Extrapolate cell-centered fluxes to the EB centroid.
|
| |
| virtual void | computeExtrapolatedDomainFluxes (Vector< EBAMRIFData * > &a_cdrDomainFluxes, const Vector< EBAMRCellData * > a_cdrDensities, const Vector< EBAMRCellData * > a_cdrVelocities, const phase::which_phase a_phase) |
| | Extrapolate drift fluxes to domain faces.
|
| |
| virtual void | computeExtrapolatedVelocities (Vector< EBAMRIVData * > &a_cdrVelocitiesEB, const Vector< EBAMRCellData * > a_cdrVelocitiesCell, const phase::which_phase a_phase) |
| | Extrapolated cell-centered velocities to the EB.
|
| |
|
virtual void | deallocateSolverInternals () |
| | Deallocate internal solver storages.
|
| |
| virtual void | extrapolateToEb (Vector< EBAMRIVData * > &a_ebData, const phase::which_phase a_phase, const Vector< EBAMRCellData * > &a_cellData) |
| | Extrapolated cell-centered data to the EB. This is the AMR version for all species.
|
| |
| virtual void | extrapolateToEb (EBAMRIVData &a_ebData, const phase::which_phase a_phase, const EBAMRCellData &a_cellData) |
| | Extrapolated cell-centered data to the EB. This is the AMR version.
|
| |
| virtual void | extrapolateToEb (LevelData< BaseIVFAB< Real > > &a_ebData, const phase::which_phase a_phase, const LevelData< EBCellFAB > &a_cellData, const int a_lvl) |
| | Extrapolated cell-centered data to the EB. This is the level version.
|
| |
| virtual void | extrapolateToDomainFaces (Vector< EBAMRIFData * > &a_domainData, const phase::which_phase a_phase, const Vector< EBAMRCellData * > &a_cellData) |
| | Extrapolate cell-centered data to domain faces. This is the AMR version that does all species.
|
| |
| virtual void | extrapolateToDomainFaces (EBAMRIFData &a_domainData, const phase::which_phase a_phase, const EBAMRCellData &a_cellData) |
| | Extrapolate cell-centered data to domain faces. This is the AMR version.
|
| |
| virtual void | extrapolateToDomainFaces (LevelData< DomainFluxIFFAB > &a_domainData, const phase::which_phase a_phase, const LevelData< EBCellFAB > &a_cellData, const int a_lvl) |
| | Extrapolate cell-centered data to domain faces. This is the AMR version.
|
| |
| virtual void | extrapolateVectorToDomainFaces (Vector< EBAMRIFData * > &a_domainData, const phase::which_phase a_phase, const Vector< EBAMRCellData * > &a_cellData) |
| | Extrapolate vector data to domain faces. This is the AMR version that does all species.
|
| |
| virtual void | extrapolateVectorToDomainFaces (EBAMRIFData &a_domainData, const phase::which_phase a_phase, const EBAMRCellData &a_cellData) |
| | Extrapolate vector data to domain faces. This is the AMR version.
|
| |
| virtual void | extrapolateVelocitiesToDomainFaces (Vector< EBAMRIFData * > &a_domainVelocities, const phase::which_phase a_phase, const Vector< EBAMRCellData * > &a_cellVelocities) |
| | Extrapolate velocities data to domain faces. This is the AMR version that does all species.
|
| |
| virtual void | getCdrMax (Real &a_cdrMax, std::string &a_solverName) const |
| | Get maximum density in the CDR species. This will fetch both the value and the solver name.
|
| |
|
virtual void | initialSigma () |
| | Initialize the surface charge.
|
| |
| virtual void | projectFlux (EBAMRIVData &a_projectedFlux, const EBAMRIVData &a_flux) |
| | Project a flux onto the EB normal. This is the AMR version.
|
| |
| virtual void | projectFlux (LevelData< BaseIVFAB< Real > > &a_projectedFlux, const LevelData< BaseIVFAB< Real > > &a_flux, const int a_lvl) |
| | Project a flux onto the EB normal. This is the level version.
|
| |
| virtual void | projectDomain (EBAMRIFData &a_projectedFlux, const EBAMRIFData &a_flux) |
| | Project flux onto domain edges/faces.
|
| |
| virtual void | regridSolvers (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) |
| | Regrid all of our solvers.
|
| |
| virtual void | resetDielectricCells (EBAMRIVData &a_data) const |
| | Set data defined over dielectric cells to zero.
|
| |
|
virtual void | sanityCheck () const |
| | Do a sanity check. Only works when DEBUG=TRUE.
|
| |
|
virtual void | setupCdr () |
| | Setup the CDR solvers.
|
| |
|
virtual void | setupPoisson () |
| | Setup the field solver.
|
| |
|
virtual void | setupRadiativeTransfer () |
| | Setup the RTE solvers.
|
| |
|
virtual void | setupSigma () |
| | Set up the surface charge solver.
|
| |
| virtual void | setSolverVerbosity () |
| | Set solver verbosity.
|
| |
|
virtual void | solverDump () |
| | All solvers writes plot files. These are not the same as the plot files written by Driver.
|
| |
| virtual void | setVoltage (std::function< Real(const Real a_time)> a_voltage) |
| | Set voltage curve.
|
| |
| virtual void | solveRadiativeTransfer (const Real a_dt) |
| | Solve the radiative transfer problem.
|
| |
| virtual void | setCdrSolvers (RefCountedPtr< CdrLayout< CdrSolver > > &a_cdr) |
| | Set the CDR layout.
|
| |
| virtual void | setFieldSolver (RefCountedPtr< FieldSolver > &a_fieldSolver) |
| | Set the field solver.
|
| |
| virtual void | setRadiativeTransferSolvers (RefCountedPtr< RtLayout< RtSolver > > &a_rte) |
| | Set the RTE solvers.
|
| |
| virtual Real | computeElectrodeCurrent () |
| | Compute the ohmic current on electrodes.
|
| |
| virtual Real | computeDielectricCurrent () |
| | Compute the ohmic current on dielectrics.
|
| |
| virtual Real | computeDomainCurrent () |
| | Compute the ohmic current through the domain faces.
|
| |
| virtual Real | computeOhmicInductionCurrent () |
| | Compute induced current in external circuit due to ohmic conduction.
|
| |
|
virtual Real | computeRelaxationTime () |
| | Compute the relaxation time as dt = eps0/conductivity.
|
| |
|
virtual Real | getDt () |
| | Get dt.
|
| |
|
| TimeStepper () |
| | Default constructor (does nothing)
|
| |
|
virtual | ~TimeStepper () |
| | Default destructor (does nothing)
|
| |
| void | setAmr (const RefCountedPtr< AmrMesh > &a_amr) |
| | Set AmrMesh.
|
| |
| void | setComputationalGeometry (const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
| | Set the computational geometry.
|
| |
| 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.
|
| |
| virtual bool | needToRegrid () |
| | Fuction which can have Driver do regrids at arbitrary points in the simulation.
|
| |
| virtual bool | loadBalanceThisRealm (const std::string a_realm) const |
| | Load balancing query for a specified realm. If this returns true for a_realm, load balancing routines will be called during regrids.
|
| |
| virtual 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) |
| | Load balance grid boxes for a specified realm.
|
| |
|
|
RefCountedPtr< CdrStorage > & | getCdrStorage (const CdrIterator< CdrSolver > &a_solverit) |
| |
|
RefCountedPtr< RtStorage > & | getRtStorage (const RtIterator< RtSolver > &a_solverit) |
| |
|
void | allocateCdrStorage () |
| |
|
void | allocateFieldStorage () |
| |
|
void | allocateRtStorage () |
| |
|
void | allocateSigmaStorage () |
| |
|
Vector< EBAMRCellData * > | getCdrSolversPhiK (const int a_m) |
| |
|
EBAMRIVData & | getSigmaSolverK (const int a_m) |
| |
|
void | setupQuadratureNodes (const int a_p) |
| |
|
void | setupUniformNodes (const int a_p) |
| |
|
void | setupLobattoNodes (const int a_p) |
| |
|
void | setupChebyshevNodes (const int a_p) |
| |
|
void | setupQmj (const int a_p) |
| |
|
void | setupSubintervals (const Real a_time, const Real a_dt) |
| |
|
void | quad (EBAMRCellData &a_quad, const Vector< EBAMRCellData > &a_integrand, const int a_m) |
| |
|
void | quad (EBAMRIVData &a_quad, const Vector< EBAMRIVData > &a_integrand, const int a_m) |
| |
|
void | copyCdrToPhiM0 () |
| |
|
void | copySigmaToM0 () |
| |
|
void | copyPhiPToCdr () |
| |
|
void | copySigmaPToSigma () |
| |
|
void | integrateRtTransient (const Real a_dt) |
| |
|
void | integrateRtStationary () |
| |
|
void | integrate (const Real a_dt, const Real a_time, const bool a_lagged_terms) |
| |
|
void | integrateAdvectionReaction (const Real a_dt, const int a_m, const bool a_lagged_terms) |
| |
|
void | integrateAdvection (const Real a_dt, const int a_m, const bool a_lagged_terms) |
| |
|
void | integrateDiffusion (const Real a_dt, const int a_m, const bool a_lagged_terms) |
| |
|
Vector< EBAMRCellData * > | getCdrErrors () |
| | Get errors for CDR equations.
|
| |
|
void | reconcileIntegrands () |
| |
|
void | computeFD0 () |
| |
|
void | initializeErrors () |
| |
|
void | finalizeErrors () |
| |
|
void | computeNewDt (bool &a_accept_step, const Real a_dt, const int a_num_corrections) |
| |
|
void | adaptiveReport (const Real a_first_dt, const Real a_dt, const Real a_new_dt, const int a_corr, const int a_rej, const Real a_max_err) |
| |
|
void | updateField () |
| |
|
void | updateField (const Vector< EBAMRCellData * > &a_densities, const EBAMRIVData &a_sigma) |
| |
|
void | updateDiffusionCoefficients () |
| |
|
void | storeSolvers () |
| |
|
void | restoreSolvers () |
| |
|
void | computeReactionNetwork (const int a_m, const Real a_time, const Real a_dt) |
| |
|
void | computeElectricFieldIntoScratch () |
| |
|
void | computeCdrEbStates () |
| |
|
void | computeCdrEbStates (const Vector< EBAMRCellData * > &a_phis) |
| |
|
void | computeCdrDomainStates () |
| |
|
void | computeCdrDomainStates (const Vector< EBAMRCellData * > &a_phis) |
| |
|
void | computeCdrGradients () |
| |
|
void | computeCdrGradients (const Vector< EBAMRCellData * > &a_phis) |
| |
|
void | computeCdrFluxes (const Real a_time) |
| |
|
void | computeCdrFluxes (const Vector< EBAMRCellData * > &a_phis, const Real a_time) |
| |
|
void | computeCdrDomainFluxes (const Real a_time) |
| |
|
void | computeCdrDomainFluxes (const Vector< EBAMRCellData * > &a_phis, const Real a_time) |
| |
|
void | computeCdrVelo (const Real a_time) |
| |
|
void | computeCdrVelo (const Vector< EBAMRCellData * > &a_phis, const Real a_time) |
| |
| Real | computeDt () override |
| | Compute the time step.
|
| |
|
void | computeSigmaFlux () |
| |
|
Real | getMaxError () |
| |
|
Real | getMaxNodeDistance () |
| |
|
void | writeStepProfile (const Real a_dt, const Real a_error, const int a_substeps, const int a_corrections, const int a_rejections) |
| |
|
void | parseNodes () |
| |
|
void | parseDiffusionCoupling () |
| |
|
void | parseAdaptiveOptions () |
| |
|
void | parseDebugOptions () |
| |
|
void | parseAdvectionOptions () |
| |
|
virtual void | parseVerbosity () |
| | Parse class verbosity.
|
| |
|
virtual void | parseSolverVerbosity () |
| | Parse solver verbosities.
|
| |
|
virtual void | parseCFL () |
| | Parse the CFL number.
|
| |
|
virtual void | parseRelaxationTime () |
| | Parse the relaxation time restriction.
|
| |
|
virtual void | parseMinDt () |
| | Parse the minimum allowed time step.
|
| |
|
virtual void | parseMaxDt () |
| | Parse the maximum allowed time step.
|
| |
|
virtual void | parseFastPoisson () |
| | Parse the "fast poisson" method, i.e. how often we solve the Poisson equation.
|
| |
|
virtual void | parseFastRadiativeTransfer () |
| | Parse the "fast rte" method, i.e. how often we solve the Poisson equation.
|
| |
| virtual void | parseSourceComputation () |
| | Parse how we compute the source terms.
|
| |
| virtual void | writeJ (LevelData< EBCellFAB > &a_output, int &a_comp, const std::string a_outputRealm, const int a_level) const |
| | Compute and put the current density in output data holder.
|
| |
|
virtual void | computePhysicsPlotVars (EBAMRCellData &a_physicsPlotVars) const noexcept |
| | Calculate the user-supplied plot variables.
|
| |
| virtual void | writeData (LevelData< EBCellFAB > &a_output, int &a_comp, const EBAMRCellData &a_data, const std::string a_outputRealm, const int a_level, const bool a_interpToCentroids, const bool a_interpGhost) const noexcept |
| | Write data to output. Convenience function.
|
| |