|
| DischargeInceptionStepper () |
| Default constructor.
|
|
| DischargeInceptionStepper (const DischargeInceptionStepper &)=delete |
| Disallowed constructor.
|
|
| DischargeInceptionStepper (const DischargeInceptionStepper &&)=delete |
| Disallowed constructor.
|
|
virtual | ~DischargeInceptionStepper () |
| Destructor.
|
|
DischargeInceptionStepper & | operator= (const DischargeInceptionStepper &)=delete |
| Disallowed assignment.
|
|
DischargeInceptionStepper & | operator= (const DischargeInceptionStepper &&)=delete |
| Disallowed assignment.
|
|
void | setupSolvers () override |
| Instantiate the tracer particle solver.
|
|
void | allocate () override |
| Allocate storage for solvers and time stepper.
|
|
void | initialData () override |
| Fill problem with initial data.
|
|
void | postInitialize () override |
| Perform any post-initialization steps.
|
|
void | postCheckpointSetup () override |
| Post checkpoint operations. More...
|
|
void | registerRealms () override |
| Register realms. Primal is the only realm we need.
|
|
void | registerOperators () override |
| Register operators. More...
|
|
void | parseOptions () |
| Parse options.
|
|
void | parseRuntimeOptions () override |
| Parse runtime options.
|
|
virtual int | getNumberOfPlotVariables () const override |
| Get the number of plot variables for this time stepper. More...
|
|
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. More...
|
|
virtual Vector< std::string > | getStationaryPlotVariableNames () const noexcept |
| Get plot variable names for stationary mode.
|
|
virtual Vector< std::string > | getTransientPlotVariableNames () const noexcept |
| Get plot variable names for transient mode.
|
|
virtual Real | computeDt () override |
| Compute a time step to be used by Driver.
|
|
virtual Real | advance (const Real a_dt) override |
| Advancement method. Swaps between various kernels. More...
|
|
virtual void | advanceIons (const Real a_dt) noexcept |
| Advance negative ions.
|
|
virtual void | synchronizeSolverTimes (const int a_step, const Real a_time, const Real a_dt) override |
| Synchronize solver times and time steps. More...
|
|
virtual void | printStepReport () override |
| Print a step report. Used in transient simulations.
|
|
virtual void | preRegrid (const int a_lmin, const int a_oldFinestLevel) override |
| Perform pre-regrid operations. More...
|
|
virtual void | regrid (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override |
| Time stepper regrid method. More...
|
|
virtual void | postRegrid () override |
| Perform post-regrid operations. More...
|
|
virtual void | setVoltageCurve (const std::function< Real(const Real &a_time)> &a_voltageCurve) noexcept |
| Set the voltage curve (used for transient mode) More...
|
|
virtual void | setRho (const std::function< Real(const RealVect &x)> &a_rho) noexcept |
| Set space charge distribution. More...
|
|
virtual void | setSigma (const std::function< Real(const RealVect &x)> &a_sigma) noexcept |
| Set surface charge distribution. More...
|
|
virtual void | setIonDensity (const std::function< Real(const RealVect x)> &a_density) noexcept |
| Set the negative ion density. More...
|
|
virtual void | setIonMobility (const std::function< Real(const Real E)> &a_mobility) noexcept |
| Set the negative ion mobility (field-dependent) More...
|
|
virtual void | setIonDiffusion (const std::function< Real(const Real E)> &a_diffCo) noexcept |
| Set the negative ion diffusion coefficient (field-dependent) More...
|
|
virtual void | setAlpha (const std::function< Real(const Real &E, const RealVect &x)> &a_alpha) noexcept |
| Set the ionization coefficient. More...
|
|
virtual void | setEta (const std::function< Real(const Real &E, const RealVect &x)> &a_eta) noexcept |
| Set the attachment coefficient. More...
|
|
virtual const std::function< Real(const Real &E, const RealVect &x)> & | getAlpha () const noexcept |
| Get ionization coefficient.
|
|
virtual const std::function< Real(const Real &E, const RealVect &x)> & | getEta () const noexcept |
| Get attachment coefficient.
|
|
virtual void | setBackgroundRate (const std::function< Real(const Real &E, const RealVect &x)> &a_backgroundRate) noexcept |
| Set the background ionization rate (e.g. from cosmic radiation etc). More...
|
|
virtual void | setDetachmentRate (const std::function< Real(const Real &E, const RealVect &x)> &a_detachmentRate) noexcept |
| Set the detachment rate for negative ions. More...
|
|
virtual void | setFieldEmission (const std::function< Real(const Real &E, const RealVect &x)> &a_currentDensity) noexcept |
| Set the field emission current. More...
|
|
virtual void | setSecondaryEmission (const std::function< Real(const Real &E, const RealVect &x)> &a_coeff) noexcept |
| Set the secondary emission coefficient. More...
|
|
virtual Mode | getMode () const noexcept |
| Get the solver mode.
|
|
virtual const EBAMRCellData * | getElectricField () const noexcept |
| Get the electric field.
|
|
| 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 | 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...
|
|
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. More...
|
|
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. More...
|
|
|
virtual void | seedUniformParticles () noexcept |
| Distribute particles in every grid cell.
|
|
virtual void | seedIonizationParticles (const Real a_voltage) noexcept |
| Add particles to every cell where alpha - eta > 0.0. More...
|
|
virtual void | computeInceptionIntegralStationary () noexcept |
| Solve streamer inception integral for each particle in each voltage and store K values in m_inceptionIntegral. More...
|
|
virtual void | computeInceptionIntegralTransient (const Real &a_voltage) noexcept |
| Solve streamer inception integral. More...
|
|
virtual void | inceptionIntegrateEuler (const Real &a_voltage) noexcept |
| Integrate the inception integral using the Euler rule.
|
|
virtual void | inceptionIntegrateTrapezoidal (const Real &a_voltage) noexcept |
| K integral: Add integration parts after particles move. More...
|
|
virtual void | computeTownsendCriterionStationary () noexcept |
| Solve for the Townsend criterion for each particle in each voltage. More...
|
|
virtual void | computeTownsendCriterionTransient (const Real &a_voltage) noexcept |
| Solve for the Townsend criterion for each particle in each voltage. More...
|
|
virtual void | townsendTrackEuler (const Real &a_voltage) noexcept |
| Track particles (positive ions) using an Euler rule and check if the collide with a cathode. More...
|
|
virtual void | townsendTrackTrapezoidal (const Real &a_voltage) noexcept |
| Track particles (positive ions) using a trapezoidal rule and check if the collide with a cathode. More...
|
|
virtual Real | computeRdot (const Real &a_voltage) const noexcept |
| Compute integral_Vcr(dne/dt * (1 - eta/alpha) dV) More...
|
|
virtual void | rewindTracerParticles () noexcept |
| Move particles back to their original position.
|
|
virtual void | resetTracerParticles () noexcept |
| Reset particles.
|
|
virtual void | computeBackgroundIonizationStationary () noexcept |
| Compute the background ionization rate for all voltages. More...
|
|
virtual void | computeDetachmentStationary () noexcept |
| Compute the detachment ionization rate for all voltages. More...
|
|
virtual void | computeFieldEmissionStationary () noexcept |
| Compute field emission rates. More...
|
|
virtual void | computeFieldEmission (EBAMRCellData &a_emissionRate, const Real &a_voltage) const noexcept |
| Compute field emission rates. More...
|
|
virtual void | evaluateFunction (EBAMRCellData &a_data, const Real &a_voltage, const std::function< Real(const Real E, const RealVect x)> &a_func) const noexcept |
| Evaluate a function f = f(E, x) in a volume. More...
|
|
virtual void | evaluateFunction (LevelData< EBCellFAB > &a_data, const Real &a_voltage, const std::function< Real(const Real E, const RealVect x)> &a_func, const int a_level) const noexcept |
| Evaluate a function f = f(E,x) in a volume. More...
|
|
virtual void | computeInceptionVoltageVolume () noexcept |
| Interpolate between K values to find voltage giving K_inception and store values in m_inceptionVoltage. More...
|
|
virtual std::pair< Real, RealVect > | computeMinimumInceptionVoltage (const EBAMRCellData &a_Uinc) const noexcept |
| Compute the minimum inception voltage and the starting electron position. More...
|
|
virtual void | computeCriticalVolumeStationary () noexcept |
| Compute the critical volume of the K values for each voltage. More...
|
|
virtual Real | computeCriticalVolumeTransient () const noexcept |
| Compute the critical volume of the K values for each voltage. More...
|
|
virtual void | computeCriticalAreaStationary () noexcept |
| Compute the critical area of the K values for each voltage. More...
|
|
virtual Real | computeCriticalAreaTransient () const noexcept |
| Compute the critical area of the K values for each voltage. More...
|
|
virtual void | computeIonizationVolumeStationary () noexcept |
| Compute the ionization volume for each voltage. More...
|
|
virtual Real | computeIonizationVolumeTransient (const Real &a_voltage) const noexcept |
| Compute the ionization volume for each voltage. More...
|
|
virtual void | writeReportStationary () const noexcept |
| Print report to the terminal. More...
|
|
virtual void | writeReportTransient () const noexcept |
| Print report to the terminal. More...
|
|
virtual void | writePlotDataStationary (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string a_outputRealm, const int a_level) const noexcept |
| Write plot data for the 'stationary' mode. More...
|
|
virtual void | writePlotDataTransient (LevelData< EBCellFAB > &a_output, int &a_icomp, const std::string a_outputRealm, const int a_level) const noexcept |
| Write plot data for the 'transient' mode. More...
|
|
bool | particleOutsideGrid (const RealVect &a_pos, const RealVect &a_probLo, const RealVect &a_probHi) const noexcept |
| Check if particle is outside grid boundaries. More...
|
|
bool | particleInsideEB (const RealVect a_pos) const noexcept |
| Check if particle is inside electrode. More...
|
|
void | computeIonVelocity (const Real &a_voltage) noexcept |
| Set the negative ion velocity. Note. More...
|
|
void | computeIonDiffusion (const Real &a_voltage) noexcept |
| Set the negative ion diffusion coefficient. More...
|
|
void | parseMode () noexcept |
| Parse simulation mode.
|
|
void | parseVoltages () noexcept |
| Parse voltage levels.
|
|
void | parseOutput () noexcept |
| Parse output settings.
|
|
void | parseVerbosity () noexcept |
| Parse class verbosity.
|
|
void | parseInceptionAlgorithm () noexcept |
| Parse the inception algorithm.
|
|
void | parseTransportAlgorithm () noexcept |
| Parse the transport algorithm.
|
|
void | parsePlotVariables () noexcept |
| Parse plot variables.
|
|
void | solvePoisson () noexcept |
| Solve the Poisson equation.
|
|
void | superposition (EBAMRCellData &a_sumField, const MFAMRCellData &a_inhomogeneousField, const MFAMRCellData &a_homogeneousField, const Real a_voltage) const noexcept |
| Calculate the total electric field = inhomogeneous + V * homogeneous. More...
|
|
void | superposition (EBAMRCellData &a_sumField, const Real a_voltage) const noexcept |
| Update the input field with the scaled voltage. More...
|
|
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 used for IO. More...
|
|
|
Mode | m_mode |
| Mode.
|
|
IntegrationAlgorithm | m_inceptionAlgorithm |
| Integration algorithm for K-value.
|
|
StepSizeMethod | m_stepSizeMethod |
| Step size selection method.
|
|
TransportAlgorithm | m_transportAlgorithm |
| Transport algorithm for advancing negative ions in the transient mode.
|
|
TimeStepRestriction | m_timeStepRestriction |
| Time step restriction.
|
|
RefCountedPtr< TracerParticleSolver< P > > | m_tracerParticleSolver |
| Tracer particle solver.
|
|
RefCountedPtr< FieldSolver > | m_fieldSolver |
| Field solver.
|
|
RefCountedPtr< CdrSolver > | m_ionSolver |
| Negative ion solver.
|
|
MFAMRCellData | m_potential |
| Electric potential.
|
|
MFAMRCellData | m_potentialHomo |
| Electric potential without charges.
|
|
MFAMRCellData | m_potentialInho |
| Electric potential with charges.
|
|
MFAMRCellData | m_scratchHomo |
| Scratch storage used during regrids.
|
|
MFAMRCellData | m_scratchInho |
| Scratch storage used during regrids.
|
|
MFAMRCellData | m_electricField |
| Electric field.
|
|
MFAMRCellData | m_electricFieldHomo |
| Electric field without space/surface charge and V = 1 on live electrodes.
|
|
MFAMRCellData | m_electricFieldInho |
| Electric field with space/surface charge and V = 0 on all electrodes.
|
|
EBAMRCellData | m_homogeneousFieldGas |
| Gas-phase homogeneous field.
|
|
EBAMRCellData | m_inceptionIntegral |
| Inception integral values. More...
|
|
EBAMRCellData | m_inceptionIntegralPlus |
| Inception integral values. More...
|
|
EBAMRCellData | m_inceptionIntegralMinu |
| Inception integral values. More...
|
|
EBAMRCellData | m_backgroundIonization |
| Background ionization rates. More...
|
|
EBAMRCellData | m_detachment |
| Detachment rates. More...
|
|
EBAMRCellData | m_emissionRatesPlus |
| Field emission rates. More...
|
|
EBAMRCellData | m_emissionRatesMinu |
| Field emission rates. More...
|
|
EBAMRCellData | m_emissionRate |
| Field emission rates. More...
|
|
EBAMRCellData | m_inceptionVoltagePlus |
| Computed inception voltage. More...
|
|
EBAMRCellData | m_inceptionVoltageMinu |
| Computed inception voltage. More...
|
|
EBAMRCellData | m_streamerInceptionVoltagePlus |
| Computed streamer inception voltage. More...
|
|
EBAMRCellData | m_streamerInceptionVoltageMinu |
| Computed streamer inception voltage. More...
|
|
EBAMRCellData | m_townsendInceptionVoltagePlus |
| Computed Townsend inception voltage. More...
|
|
EBAMRCellData | m_townsendInceptionVoltageMinu |
| Computed Townsend inception voltage. More...
|
|
EBAMRCellData | m_townsendCriterion |
| Townsend criterion. More...
|
|
EBAMRCellData | m_townsendCriterionPlus |
| Townsend criterion for starting positive ions.
|
|
EBAMRCellData | m_townsendCriterionMinu |
| Townsend criterion for starting positive ions.
|
|
std::vector< Real > | m_maxKPlus |
| Max K value for every voltage. More...
|
|
std::vector< Real > | m_maxKMinu |
| Max K value for every voltage. More...
|
|
std::vector< Real > | m_maxTPlus |
| Max Townsend value (exp(K)/gamma) for every voltage. More...
|
|
std::vector< Real > | m_maxTMinu |
| Max Townsend value (exp(K)/gamma) for every voltage. More...
|
|
std::vector< std::pair< Real, Real > > | m_maxK |
| Max K value for every time step. More...
|
|
std::vector< std::pair< Real, Real > > | m_maxT |
| Max Townsend value for every time step. More...
|
|
std::vector< Real > | m_criticalVolumePlus |
| Critical volumes of K values for each voltage. More...
|
|
std::vector< Real > | m_criticalVolumeMinu |
| Critical volumes of K values for each voltage. More...
|
|
std::vector< Real > | m_criticalAreaPlus |
| Critical area of K values for each voltage. More...
|
|
std::vector< Real > | m_criticalAreaMinu |
| Critical area of K values for each voltage. More...
|
|
std::vector< Real > | m_ionizationVolume |
| Ionization volumes for each voltage. More...
|
|
std::vector< Real > | m_RdotPlus |
| Rate of appearance of first electron (in critical volume) More...
|
|
std::vector< Real > | m_RdotMinu |
| Rate of appearance of first electron (in critical volume) More...
|
|
std::vector< Real > | m_voltageSweeps |
| Voltage sweeps. More...
|
|
std::vector< std::pair< Real, Real > > | m_Rdot |
| Integral factor for cumulative integration. More...
|
|
std::vector< std::pair< Real, Real > > | m_inceptionProbability |
| Cumulative probability of breakdown by time t. More...
|
|
std::vector< std::pair< Real, Real > > | m_criticalVolume |
| Critical volume at various time instances. More...
|
|
std::vector< std::pair< Real, Real > > | m_criticalArea |
| Critical area at various time instances. More...
|
|
std::vector< std::pair< Real, Real > > | m_ionizationVolumeTransient |
| Ionization volume at various time instances. More...
|
|
Real | m_cfl |
| CFL-step for negative ions.
|
|
Real | m_firstDt |
| First time step.
|
|
Real | m_maxDt |
| Maximum permitted time step.
|
|
Real | m_minDt |
| Minimum permitted time step.
|
|
Real | m_epsVoltage |
| Permitted relative deviation in V(t) when computing voltage-curve based time steps.
|
|
Real | m_maxDtGrowth |
| Maximum permitted time step growth.
|
|
Real | m_stepSizeFactor |
| Fixed step size (physical dimensions) More...
|
|
Real | m_inceptionK |
| Inception criteria (read from input)
|
|
bool | m_profile |
| Profile calculation or not.
|
|
bool | m_debug |
| Debug or not.
|
|
bool | m_evaluateTownsend |
| Evaluate secondary emission.
|
|
bool | m_fullIntegration |
| Use full reconstruction of critical volume or not.
|
|
bool | m_ionTransport |
| Ion transport on/off.
|
|
bool | m_plotField |
| Plot field.
|
|
bool | m_plotPoisson |
| Plot Poisson solver or not.
|
|
bool | m_plotTracer |
| Plot tracer particle solver or not.
|
|
bool | m_plotNegativeIons |
| Plot negative ions or not.
|
|
bool | m_plotInceptionIntegral |
| If true, plot the K-values.
|
|
bool | m_plotInceptionVoltage |
| If true, plot the inception voltage.
|
|
bool | m_plotBackgroundIonization |
| If true, plot the background ionization rates.
|
|
bool | m_plotDetachment |
| If true, plot electron detachment rate, i.e. dne/dt due to detachment from negative ions.
|
|
bool | m_plotFieldEmission |
| If true, plot the field emission.
|
|
bool | m_plotAlpha |
| If true, plot alpha.
|
|
bool | m_plotEta |
| If true, plot eta.
|
|
bool | m_plotTownsend |
| Plot the Townsend-criterion for initiatory ions.
|
|
std::function< Real(const Real a_time)> | m_voltageCurve |
| Time-dependent voltage.
|
|
std::string | m_realm |
| Realm where the solver lives.
|
|
std::string | m_dataOutputFile |
| output data file
|
|
std::string | m_outputFile |
| Output file.
|
|
phase::which_phase | m_phase |
| Phase (gas/solid) where the solver lives.
|
|
std::function< Real(const RealVect &x)> | m_rho |
| Space charge distribution.
|
|
std::function< Real(const RealVect &x)> | m_sigma |
| Surface charge distribution.
|
|
std::function< Real(const RealVect &x)> | m_initialIonDensity |
| Negative ion density.
|
|
std::function< Real(const Real &E)> | m_ionMobility |
| Negative ion mobility.
|
|
std::function< Real(const Real &E)> | m_ionDiffusion |
| Negative ion diffusion coefficient.
|
|
std::function< Real(const Real &E, const RealVect &x)> | m_alpha |
| Ionization coefficient.
|
|
std::function< Real(const Real &E, const RealVect &x)> | m_eta |
| Attachment coefficient.
|
|
std::function< Real(const Real &E, const RealVect &x)> | m_detachmentRate |
| Detachment probability for negative ion.
|
|
std::function< Real(const Real &E, const RealVect &x)> | m_backgroundRate |
| Background ionization rate expression.
|
|
std::function< Real(const Real &E, const RealVect &x)> | m_fieldEmission |
| Field emission current.
|
|
std::function< Real(const Real &E, const RealVect &x)> | m_secondaryEmission |
| Secondary emission coefficient.
|
|
int | m_verbosity |
| Class verbosity.
|
|
int | m_timeStep |
| Time step.
|
|
Real | m_time |
| TIme.
|
|
Real | m_dt |
| Previous time step size.
|
|
RefCountedPtr< AmrMesh > | m_amr |
| AmrMesh.
|
|
RefCountedPtr< ComputationalGeometry > | m_computationalGeometry |
| Computational geometry.
|
|
template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
class Physics::DischargeInception::DischargeInceptionStepper< P, F, C >
Class for streamer inception integral evaluations.
P is the tracer particle type F is the field solver type. C is the convection-diffusion-reaction solver type.