|
|
| 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.
|
| |
| void | registerRealms () override |
| | Register realms. Primal is the only realm we need.
|
| |
| void | registerOperators () override |
| | Register operators.
|
| |
|
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.
|
| |
| 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 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.
|
| |
| 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.
|
| |
| 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.
|
| |
| virtual void | regrid (const int a_lmin, const int a_oldFinestLevel, const int a_newFinestLevel) override |
| | Time stepper regrid method.
|
| |
| virtual void | postRegrid () override |
| | Perform post-regrid operations.
|
| |
| virtual void | setVoltageCurve (const std::function< Real(const Real &a_time)> &a_voltageCurve) noexcept |
| | Set the voltage curve (used for transient mode)
|
| |
| virtual void | setRho (const std::function< Real(const RealVect &x)> &a_rho) noexcept |
| | Set space charge distribution.
|
| |
| virtual void | setSigma (const std::function< Real(const RealVect &x)> &a_sigma) noexcept |
| | Set surface charge distribution.
|
| |
| virtual void | setIonDensity (const std::function< Real(const RealVect x)> &a_density) noexcept |
| | Set the negative ion density.
|
| |
| virtual void | setIonMobility (const std::function< Real(const Real E)> &a_mobility) noexcept |
| | Set the negative ion mobility (field-dependent)
|
| |
| virtual void | setIonDiffusion (const std::function< Real(const Real E)> &a_diffCo) noexcept |
| | Set the negative ion diffusion coefficient (field-dependent)
|
| |
| virtual void | setAlpha (const std::function< Real(const Real &E, const RealVect &x)> &a_alpha) noexcept |
| | Set the ionization coefficient.
|
| |
| virtual void | setEta (const std::function< Real(const Real &E, const RealVect &x)> &a_eta) noexcept |
| | Set the attachment coefficient.
|
| |
| 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).
|
| |
| virtual void | setDetachmentRate (const std::function< Real(const Real &E, const RealVect &x)> &a_detachmentRate) noexcept |
| | Set the detachment rate for negative ions.
|
| |
| virtual void | setFieldEmission (const std::function< Real(const Real &E, const RealVect &x)> &a_currentDensity) noexcept |
| | Set the field emission current.
|
| |
| virtual void | setSecondaryEmission (const std::function< Real(const Real &E, const RealVect &x)> &a_coeff) noexcept |
| | Set the secondary emission coefficient.
|
| |
| 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)
|
| |
|
| TimeStepper (const TimeStepper &)=delete |
| | Disallow copy construction.
|
| |
|
TimeStepper & | operator= (const TimeStepper &)=delete |
| | Disallow copy assignment.
|
| |
|
| TimeStepper (TimeStepper &&)=default |
| | Allow move construction.
|
| |
| TimeStepper & | operator= (TimeStepper &&)=default |
| | Allow move assignment.
|
| |
| void | setAmr (const RefCountedPtr< AmrMesh > &a_amr) |
| | Set AmrMesh.
|
| |
| void | setComputationalGeometry (const RefCountedPtr< ComputationalGeometry > &a_computationalGeometry) |
| | Set the computational geometry.
|
| |
| 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, int a_level) const |
| | Get computational loads to be checkpointed.
|
| |
| virtual bool | needToRegrid () |
| | Function which can have Driver do regrids at arbitrary points in the simulation.
|
| |
| bool | keepGoing () const |
| | Query whether the time stepper wants to continue stepping.
|
| |
| 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, int a_lmin, int a_finestLevel) |
| | Load balance grid boxes for a specified realm.
|
| |
|
|
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.
|
| |
| virtual void | computeInceptionIntegral (EBAMRCellData &a_inceptionIntegral, const Real a_voltage) noexcept |
| | Compute the inception integral for the input voltage.
|
| |
| virtual void | computeInceptionIntegralStationary () noexcept |
| | Solve streamer inception integral for each particle in each voltage and store K values in m_inceptionIntegral.
|
| |
| virtual void | computeInceptionIntegralTransient (const Real &a_voltage) noexcept |
| | Solve streamer inception integral.
|
| |
| 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.
|
| |
|
virtual void | interpolateGradAlphaToParticles () noexcept |
| | Interpolate alpha/|grad(alpha)| onto some scratch particle storage.
|
| |
| virtual void | computeTownsendCriterionStationary () noexcept |
| | Solve for the Townsend criterion for each particle in each voltage.
|
| |
| virtual void | computeTownsendCriterionTransient (const Real &a_voltage) noexcept |
| | Solve for the Townsend criterion for each particle in each voltage.
|
| |
| virtual void | townsendTrackEuler (const Real &a_voltage) noexcept |
| | Track particles (positive ions) using an Euler rule and check if the collide with a cathode.
|
| |
| virtual void | townsendTrackTrapezoidal (const Real &a_voltage) noexcept |
| | Track particles (positive ions) using a trapezoidal rule and check if the collide with a cathode.
|
| |
| virtual Real | computeRdot (const Real &a_voltage) const noexcept |
| | Compute integral_Vcr(done/dt * (1 - eta/alpha) dV)
|
| |
|
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.
|
| |
| virtual void | computeDetachmentStationary () noexcept |
| | Compute the detachment ionization rate for all voltages.
|
| |
| virtual void | computeFieldEmissionStationary () noexcept |
| | Compute field emission rates.
|
| |
| virtual void | computeFieldEmission (EBAMRCellData &a_emissionRate, const Real &a_voltage) const noexcept |
| | Compute field emission rates.
|
| |
| 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.
|
| |
| 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.
|
| |
| virtual void | computeInceptionVoltageVolume () noexcept |
| | Interpolate between K values to find voltage giving K_inception and store values in m_inceptionVoltage.
|
| |
| virtual std::pair< Real, RealVect > | computeMinimumInceptionVoltage (const EBAMRCellData &a_Uinc) const noexcept |
| | Compute the minimum inception voltage and the starting electron position.
|
| |
| virtual void | computeCriticalVolumeStationary () noexcept |
| | Compute the critical volume of the K values for each voltage.
|
| |
| virtual Real | computeCriticalVolumeTransient () const noexcept |
| | Compute the critical volume of the K values for each voltage.
|
| |
| virtual void | computeCriticalAreaStationary () noexcept |
| | Compute the critical area of the K values for each voltage.
|
| |
| virtual Real | computeCriticalAreaTransient () const noexcept |
| | Compute the critical area of the K values for each voltage.
|
| |
| virtual void | computeIonizationVolumeStationary () noexcept |
| | Compute the ionization volume for each voltage.
|
| |
| virtual Real | computeIonizationVolumeTransient (const Real &a_voltage) const noexcept |
| | Compute the ionization volume for each voltage.
|
| |
| virtual void | writeReportStationary () const noexcept |
| | Print report to the terminal.
|
| |
| virtual void | writeReportTransient () const noexcept |
| | Print report to the terminal.
|
| |
| 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.
|
| |
| 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.
|
| |
| bool | particleOutsideGrid (const RealVect &a_pos, const RealVect &a_probLo, const RealVect &a_probHi) const noexcept |
| | Check if particle is outside grid boundaries.
|
| |
| bool | particleInsideEB (const RealVect &a_pos) const noexcept |
| | Check if particle is inside electrode.
|
| |
| void | computeIonVelocity (const Real &a_voltage) noexcept |
| | Set the negative ion velocity. Note.
|
| |
| void | computeIonDiffusion (const Real &a_voltage) noexcept |
| | Set the negative ion diffusion coefficient.
|
| |
|
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.
|
| |
| void | superposition (EBAMRCellData &a_sumField, const Real a_voltage) const noexcept |
| | Update the input field with the scaled voltage.
|
| |
| 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.
|
| |
| virtual void | getMaxValueAndLocation (Real &a_maxVal, RealVect &a_maxPos, const EBAMRCellData &a_data) const noexcept |
| | Get the maximum value and location corresponding to the maximum value in the input data holder.
|
| |
| virtual Real | getCriticalField () const noexcept |
| | Get the breakdown field.
|
| |
|
|
Mode | m_mode |
| | Mode.
|
| |
|
IntegrationAlgorithm | m_inceptionAlgorithm |
| | Integration algorithm for K-value.
|
| |
|
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.
|
| |
| Vector< EBAMRCellData > | m_inceptionIntegralPlus |
| | Inception integral values.
|
| |
| Vector< EBAMRCellData > | m_inceptionIntegralMinu |
| | Inception integral values.
|
| |
| Vector< EBAMRCellData > | m_backgroundIonizationStationary |
| | Background ionization rates.
|
| |
| Vector< EBAMRCellData > | m_detachmentStationary |
| | Detachment rates.
|
| |
| Vector< EBAMRCellData > | m_emissionRatesPlus |
| | Field emission rates.
|
| |
| Vector< EBAMRCellData > | m_emissionRatesMinu |
| | Field emission rates.
|
| |
| Vector< EBAMRCellData > | m_townsendCriterionPlus |
| | Townsend criterion for starting positive ions.
|
| |
| Vector< EBAMRCellData > | m_townsendCriterionMinu |
| | Townsend criterion for starting negative ions (electrons arriving at anode).
|
| |
| EBAMRCellData | m_emissionRate |
| | Field emission rates.
|
| |
| EBAMRCellData | m_inceptionVoltagePlus |
| | Computed inception voltage.
|
| |
| EBAMRCellData | m_inceptionVoltageMinu |
| | Computed inception voltage.
|
| |
| EBAMRCellData | m_streamerInceptionVoltagePlus |
| | Computed streamer inception voltage.
|
| |
| EBAMRCellData | m_streamerInceptionVoltageMinu |
| | Computed streamer inception voltage.
|
| |
| EBAMRCellData | m_townsendInceptionVoltagePlus |
| | Computed Townsend inception voltage.
|
| |
| EBAMRCellData | m_townsendInceptionVoltageMinu |
| | Computed Townsend inception voltage.
|
| |
| EBAMRCellData | m_townsendCriterion |
| | Townsend criterion.
|
| |
| EBAMRCellData | m_detachment |
| | Detachment factor.
|
| |
| EBAMRCellData | m_backgroundIonization |
| | Background ionization.
|
| |
|
EBAMRCellData | m_gradAlpha |
| | Calculated version of alpha/(|grad(alpha)|) on the mesh.
|
| |
| std::vector< std::tuple< Real, Real, RealVect > > | m_KPlusValues |
| | Max K value for every voltage.
|
| |
| std::vector< std::tuple< Real, Real, RealVect > > | m_KMinuValues |
| | Max K value for every voltage.
|
| |
| std::vector< std::tuple< Real, Real, RealVect > > | m_TPlusValues |
| | Max T value for every voltage.
|
| |
| std::vector< std::tuple< Real, Real, RealVect > > | m_TMinuValues |
| | Max T value for every voltage.
|
| |
| std::vector< std::pair< Real, Real > > | m_maxK |
| | Max K value for every time step.
|
| |
| std::vector< std::pair< Real, Real > > | m_maxT |
| | Max Townsend value for every time step.
|
| |
| std::vector< Real > | m_criticalVolumePlus |
| | Critical volumes of K values for each voltage.
|
| |
| std::vector< Real > | m_criticalVolumeMinu |
| | Critical volumes of K values for each voltage.
|
| |
| std::vector< Real > | m_criticalAreaPlus |
| | Critical area of K values for each voltage.
|
| |
| std::vector< Real > | m_criticalAreaMinu |
| | Critical area of K values for each voltage.
|
| |
| std::vector< Real > | m_ionizationVolume |
| | Ionization volumes for each voltage.
|
| |
| std::vector< Real > | m_RdotPlus |
| | Rate of appearance of first electron (in critical volume)
|
| |
| std::vector< Real > | m_RdotMinu |
| | Rate of appearance of first electron (in critical volume)
|
| |
| std::vector< Real > | m_voltageSweeps |
| | Voltage sweeps.
|
| |
| std::vector< std::pair< Real, Real > > | m_Rdot |
| | Integral factor for cumulative integration.
|
| |
| std::vector< std::pair< Real, Real > > | m_inceptionProbability |
| | Cumulative probability of breakdown by time t.
|
| |
| std::vector< std::pair< Real, Real > > | m_criticalVolume |
| | Critical volume at various time instances.
|
| |
| std::vector< std::pair< Real, Real > > | m_criticalArea |
| | Critical area at various time instances.
|
| |
| std::vector< std::pair< Real, Real > > | m_ionizationVolumeTransient |
| | Ionization volume at various time instances.
|
| |
| Real | m_relativeDeltaU |
| | Maximum relative voltage increase.
|
| |
| Real | m_deltaK |
| | Maximum targeted increase in K-value.
|
| |
|
Real | m_maxKLimit |
| | Maximum K-value that is calculated in stationary mode.
|
| |
|
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_minPhysDx |
| | Minimum spatial step (physical dimensions)
|
| |
|
Real | m_maxPhysDx |
| | Maximum spatial step (physical dimensions)
|
| |
|
Real | m_minGridDx |
| | Minimum spatial step (relative to grid resolution)
|
| |
|
Real | m_maxGridDx |
| | Maximum spatial step (relative to grid resolution)
|
| |
|
Real | m_alphaDx |
| | Space step size relative to 1/alpha.
|
| |
|
Real | m_townsendGridDx |
| | Space step size used for ion tracking.
|
| |
|
Real | m_gradAlphaDx |
| | Space step size relative to alpha/|grad(alpha)|.
|
| |
|
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. done/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 |
| | File name for the tabular data output (inception voltages, K-values, etc.).
|
| |
|
std::string | m_outputFile |
| | File name prefix for HDF5 plot output.
|
| |
|
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.
|
| |
| bool | m_keepGoing |
| | If false, Driver will stop the time loop after the current step.
|
| |
|
RefCountedPtr< AmrMesh > | m_amr |
| | AmrMesh.
|
| |
|
RefCountedPtr< ComputationalGeometry > | m_computationalGeometry |
| | Computational geometry.
|
| |
template<
typename P = TracerParticle<2, 3>,
typename F = FieldSolverGMG,
typename C = CdrCTU>
class Physics::DischargeInception::DischargeInceptionStepper< P, F, C >
TimeStepper for evaluating the streamer inception criterion in static or transient electric fields.
This class solves for the streamer inception voltage (stationary mode) or the time-dependent inception probability (transient mode) by tracing the paths of seed electrons through the electric field and integrating the effective ionization coefficient along those paths.
The class is templated on three solver types:
P: Tracer particle type (default TracerParticle<2,3>). Each particle carries the inception integral K and additional per-particle state.
F: Field solver type (default FieldSolverGMG). Solves the Poisson equation for the electric potential, decomposed into homogeneous (V=1 on live electrodes, no charges) and inhomogeneous (V=0 on all electrodes, space/surface charges) contributions that are superimposed at run time.
C: CDR solver type (default CdrCTU). Advances the negative ion density in transient mode.
In stationary mode the class sweeps over a user-supplied voltage range, computes the inception integral K for each seed position and voltage, and derives the inception voltage map and the critical volume/area. In transient mode the voltage follows a user-supplied curve and the inception probability is accumulated over time together with ion transport.