chombo-discharge
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Physics::DischargeInception::DischargeInceptionStepper< P, F, C > Class Template Reference

Class for streamer inception integral evaluations. More...

#include <CD_DischargeInceptionStepper.H>

Inheritance diagram for Physics::DischargeInception::DischargeInceptionStepper< P, F, C >:
Inheritance graph
[legend]
Collaboration diagram for Physics::DischargeInception::DischargeInceptionStepper< P, F, C >:
Collaboration graph
[legend]

Public Member Functions

 DischargeInceptionStepper ()
 Default constructor.
 
 DischargeInceptionStepper (const DischargeInceptionStepper &)=delete
 Disallowed constructor.
 
 DischargeInceptionStepper (const DischargeInceptionStepper &&)=delete
 Disallowed constructor.
 
virtual ~DischargeInceptionStepper ()
 Destructor.
 
DischargeInceptionStepperoperator= (const DischargeInceptionStepper &)=delete
 Disallowed assignment.
 
DischargeInceptionStepperoperator= (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 EBAMRCellDatagetElectricField () const noexcept
 Get the electric field.
 
- Public Member Functions inherited from TimeStepper
 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...
 

Protected Member Functions

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...
 

Protected Attributes

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< FieldSolverm_fieldSolver
 Field solver.
 
RefCountedPtr< CdrSolverm_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.
 
- Protected Attributes inherited from TimeStepper
int m_verbosity
 Class verbosity.
 
int m_timeStep
 Time step.
 
Real m_time
 TIme.
 
Real m_dt
 Previous time step size.
 
RefCountedPtr< AmrMeshm_amr
 AmrMesh.
 
RefCountedPtr< ComputationalGeometrym_computationalGeometry
 Computational geometry.
 

Detailed Description

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.

Member Function Documentation

◆ advance()

template<typename P , typename F , typename C >
Real DischargeInceptionStepper::advance ( const Real  a_dt)
overridevirtual

Advancement method. Swaps between various kernels.

Parameters
[in]a_dtTime step to be used for advancement
Returns
Returns the time step that was used (equal to a_dt in this case).

Implements TimeStepper.

◆ computeBackgroundIonizationStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeBackgroundIonizationStationary
protectedvirtualnoexcept

Compute the background ionization rate for all voltages.

Note
For stationary simulations.

◆ computeCriticalAreaStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeCriticalAreaStationary
protectedvirtualnoexcept

Compute the critical area of the K values for each voltage.

Note
For the stationary method

◆ computeCriticalAreaTransient()

template<typename P , typename F , typename C >
Real DischargeInceptionStepper::computeCriticalAreaTransient
protectedvirtualnoexcept

Compute the critical area of the K values for each voltage.

Note
For the transient method

◆ computeCriticalVolumeStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeCriticalVolumeStationary
protectedvirtualnoexcept

Compute the critical volume of the K values for each voltage.

Note
For the stationary method

◆ computeCriticalVolumeTransient()

template<typename P , typename F , typename C >
Real DischargeInceptionStepper::computeCriticalVolumeTransient
protectedvirtualnoexcept

Compute the critical volume of the K values for each voltage.

Note
Transient approach.

◆ computeDetachmentStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeDetachmentStationary
protectedvirtualnoexcept

Compute the detachment ionization rate for all voltages.

Note
For stationary simulations.

◆ computeFieldEmission()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeFieldEmission ( EBAMRCellData a_emissionRate,
const Real &  a_voltage 
) const
protectedvirtualnoexcept

Compute field emission rates.

Parameters
[out]a_emissionRateField emission rate.
[in]a_voltageVoltage multiplier
Note
For plotting the emission rate in transient simulations.

◆ computeFieldEmissionStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeFieldEmissionStationary
protectedvirtualnoexcept

Compute field emission rates.

Note
For stationary simulations.

◆ computeInceptionIntegralStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeInceptionIntegralStationary
protectedvirtualnoexcept

Solve streamer inception integral for each particle in each voltage and store K values in m_inceptionIntegral.

This is called in postInitialize() only.

Note
For stationary mode only.

◆ computeInceptionIntegralTransient()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeInceptionIntegralTransient ( const Real &  a_voltage)
protectedvirtualnoexcept

Solve streamer inception integral.

Called in postInitialize and the advance method

Note
Transient mode only.
Parameters
[in]a_voltageVoltage multiplier

◆ computeInceptionVoltageVolume()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeInceptionVoltageVolume
protectedvirtualnoexcept

Interpolate between K values to find voltage giving K_inception and store values in m_inceptionVoltage.

This is the volumetric version.

◆ computeIonDiffusion()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeIonDiffusion ( const Real &  a_voltage)
inlineprotectednoexcept

Set the negative ion diffusion coefficient.

Parameters
[in]a_voltageCurrent voltage

◆ computeIonizationVolumeStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeIonizationVolumeStationary
protectedvirtualnoexcept

Compute the ionization volume for each voltage.

Note
For the stationary method

◆ computeIonizationVolumeTransient()

template<typename P , typename F , typename C >
Real DischargeInceptionStepper::computeIonizationVolumeTransient ( const Real &  a_voltage) const
protectedvirtualnoexcept

Compute the ionization volume for each voltage.

Note
For the transient method

◆ computeIonVelocity()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeIonVelocity ( const Real &  a_voltage)
inlineprotectednoexcept

Set the negative ion velocity. Note.

Parameters
[in]a_voltageCurrent voltage

◆ computeMinimumInceptionVoltage()

template<typename P , typename F , typename C >
std::pair< Real, RealVect > DischargeInceptionStepper::computeMinimumInceptionVoltage ( const EBAMRCellData a_Uinc) const
protectedvirtualnoexcept

Compute the minimum inception voltage and the starting electron position.

Parameters
[in]a_UincInception voltage for all starting positions.

◆ computeRdot()

template<typename P , typename F , typename C >
Real DischargeInceptionStepper::computeRdot ( const Real &  a_voltage) const
protectedvirtualnoexcept

Compute integral_Vcr(dne/dt * (1 - eta/alpha) dV)

Parameters
[in]a_voltageVoltage multiplier.

◆ computeTownsendCriterionStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeTownsendCriterionStationary
protectedvirtualnoexcept

Solve for the Townsend criterion for each particle in each voltage.

This is called in postInitialize() only.

Note
For stationary mode only.

◆ computeTownsendCriterionTransient()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::computeTownsendCriterionTransient ( const Real &  a_voltage)
protectedvirtualnoexcept

Solve for the Townsend criterion for each particle in each voltage.

Parameters
[in]a_voltageVoltage multiplier
Note
For transient mode

◆ evaluateFunction() [1/2]

template<typename P , typename F , typename C >
void DischargeInceptionStepper::evaluateFunction ( EBAMRCellData a_data,
const Real &  a_voltage,
const std::function< Real(const Real E, const RealVect x)> &  a_func 
) const
protectedvirtualnoexcept

Evaluate a function f = f(E, x) in a volume.

Parameters
[out]a_dataMesh data
[in]a_voltageVoltage multiplier
[in]a_funcFunction to evaluate
Note
For plotting the emission rate in transient simulations.

◆ evaluateFunction() [2/2]

template<typename P , typename F , typename C >
void DischargeInceptionStepper::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
protectedvirtualnoexcept

Evaluate a function f = f(E,x) in a volume.

Parameters
[out]a_dataMesh data
[in]a_voltageVoltage multiplier
[in]a_funcFunction to evaluate
[in]a_levelGrid level
Note
For plotting the emission rate in transient simulations.

◆ getNumberOfPlotVariables()

template<typename P , typename F , typename C >
int DischargeInceptionStepper::getNumberOfPlotVariables
overridevirtual

Get the number of plot variables for this time stepper.

This is necessary because Driver, not TimeStepper, is responsible for allocating the necessary memory.

Returns
Returns number of plot variables that will be written during writePlotData

Implements TimeStepper.

◆ inceptionIntegrateTrapezoidal()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::inceptionIntegrateTrapezoidal ( const Real &  a_voltage)
protectedvirtualnoexcept

K integral: Add integration parts after particles move.

Parameters
[in]a_voltageVoltage multiplier

◆ particleInsideEB()

template<typename P , typename F , typename C >
bool DischargeInceptionStepper::particleInsideEB ( const RealVect  a_pos) const
inlineprotectednoexcept

Check if particle is inside electrode.

Parameters
[in]a_posParticle position
Returns
true if particle inside electrode, false elsewise

◆ particleOutsideGrid()

template<typename P , typename F , typename C >
bool DischargeInceptionStepper::particleOutsideGrid ( const RealVect &  a_pos,
const RealVect &  a_probLo,
const RealVect &  a_probHi 
) const
inlineprotectednoexcept

Check if particle is outside grid boundaries.

Parameters
[in]a_posParticle position
[in]a_probLoLower left boundary of grid
[in]a_probHiUpper right boundary of grid
Returns
true if particle outside boundary, false elsewise

◆ postCheckpointSetup()

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
void Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::postCheckpointSetup ( )
inlineoverridevirtual

Post checkpoint operations.

Note
Not needed for this time stepper beacuse checkpoint-restart is not supported.

Implements TimeStepper.

◆ postRegrid()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::postRegrid
overridevirtual

Perform post-regrid operations.

This includes all operations to be done AFTER interpolating data to new grids.

Implements TimeStepper.

◆ preRegrid()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::preRegrid ( const int  a_lmin,
const int  a_oldFinestLevel 
)
overridevirtual

Perform pre-regrid operations.

Parameters
[in]a_lminThe coarsest level that changes
[in]a_oldFinestLevelThe finest level before the regrid.

Implements TimeStepper.

◆ registerOperators()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::registerOperators
overridevirtual

Register operators.

Only need the solver's operators.

Implements TimeStepper.

◆ regrid()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::regrid ( const int  a_lmin,
const int  a_oldFinestLevel,
const int  a_newFinestLevel 
)
overridevirtual

Time stepper regrid method.

Parameters
[in]a_lminThe coarsest level that changed.
[in]a_oldFinestLevelThe finest level before the regrid.
[in]a_newFinestLevelThe finest level after the regrid.

Implements TimeStepper.

◆ seedIonizationParticles()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::seedIonizationParticles ( const Real  a_voltage)
protectedvirtualnoexcept

Add particles to every cell where alpha - eta > 0.0.

Parameters
[in]a_voltageInput voltage

◆ setAlpha()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setAlpha ( const std::function< Real(const Real &E, const RealVect &x)> &  a_alpha)
virtualnoexcept

Set the ionization coefficient.

Parameters
[in]a_alphaTownsend ionization coefficient. E is the field in SI units.

◆ setBackgroundRate()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setBackgroundRate ( const std::function< Real(const Real &E, const RealVect &x)> &  a_backgroundRate)
virtualnoexcept

Set the background ionization rate (e.g. from cosmic radiation etc).

Parameters
[in]a_backgroundRateBackground ionization rate (units of 1/m^3 s).

◆ setDetachmentRate()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setDetachmentRate ( const std::function< Real(const Real &E, const RealVect &x)> &  a_detachmentRate)
virtualnoexcept

Set the detachment rate for negative ions.

The total detachment rate is dn_e/dt = k*n_ion; this sets the constant k.

Parameters
[in]a_detachmentRateDetachment rate (in units of 1/s).

◆ setEta()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setEta ( const std::function< Real(const Real &E, const RealVect &x)> &  a_eta)
virtualnoexcept

Set the attachment coefficient.

Parameters
[in]a_etaTownsend attachment coefficient. E is the field in SI units.

◆ setFieldEmission()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setFieldEmission ( const std::function< Real(const Real &E, const RealVect &x)> &  a_currentDensity)
virtualnoexcept

Set the field emission current.

Parameters
[in]a_fieldEmissionField emission current density.

◆ setIonDensity()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setIonDensity ( const std::function< Real(const RealVect x)> &  a_density)
virtualnoexcept

Set the negative ion density.

Parameters
[in]a_densityNegative ion density

◆ setIonDiffusion()

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
void DischargeInceptionStepper::setIonDiffusion ( const std::function< Real(const Real E)> &  a_diffCo)
virtualnoexcept

Set the negative ion diffusion coefficient (field-dependent)

Parameters
[in]a_diffCoNegative ion diffusion coefficient

◆ setIonMobility()

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
void DischargeInceptionStepper::setIonMobility ( const std::function< Real(const Real E)> &  a_mobility)
virtualnoexcept

Set the negative ion mobility (field-dependent)

Parameters
[in]a_mobilityNegative ion mobility

◆ setRho()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setRho ( const std::function< Real(const RealVect &x)> &  a_rho)
virtualnoexcept

Set space charge distribution.

Parameters
[in]a_rhoSpace charge distribution

◆ setSecondaryEmission()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setSecondaryEmission ( const std::function< Real(const Real &E, const RealVect &x)> &  a_coeff)
virtualnoexcept

Set the secondary emission coefficient.

Parameters
[in]a_coeffSecondary emission coefficient.

◆ setSigma()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::setSigma ( const std::function< Real(const RealVect &x)> &  a_sigma)
virtualnoexcept

Set surface charge distribution.

Parameters
[in]a_sigmaSurface charge distribution

◆ setVoltageCurve()

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
void DischargeInceptionStepper::setVoltageCurve ( const std::function< Real(const Real &a_time)> &  a_voltageCurve)
virtualnoexcept

Set the voltage curve (used for transient mode)

Parameters
[in]a_voltageCurveVoltage curve

◆ superposition() [1/2]

template<typename P , typename F , typename C >
void DischargeInceptionStepper::superposition ( EBAMRCellData a_sumField,
const MFAMRCellData a_inhomogeneousField,
const MFAMRCellData a_homogeneousField,
const Real  a_voltage 
) const
inlineprotectednoexcept

Calculate the total electric field = inhomogeneous + V * homogeneous.

Parameters
[in]a_sumFieldSum of contributions
[in]a_inhomogeneousFieldInhomogeneous field contribution
[in]a_homogeneousHomogeneous field contribution
[in]a_voltageElectrode voltage

◆ superposition() [2/2]

template<typename P , typename F , typename C >
void DischargeInceptionStepper::superposition ( EBAMRCellData a_sumField,
const Real  a_voltage 
) const
inlineprotectednoexcept

Update the input field with the scaled voltage.

Parameters
[out]a_sumFieldSum of fields
[in]a_voltageElectrode voltage

◆ synchronizeSolverTimes()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::synchronizeSolverTimes ( const int  a_step,
const Real  a_time,
const Real  a_dt 
)
overridevirtual

Synchronize solver times and time steps.

Parameters
[in]a_stepTime step
[in]a_timeTime (in seconds)
[in]a_dtTime step that was used.

Implements TimeStepper.

◆ townsendTrackEuler()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::townsendTrackEuler ( const Real &  a_voltage)
protectedvirtualnoexcept

Track particles (positive ions) using an Euler rule and check if the collide with a cathode.

Parameters
[in]a_voltageVoltage multiplier

◆ townsendTrackTrapezoidal()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::townsendTrackTrapezoidal ( const Real &  a_voltage)
protectedvirtualnoexcept

Track particles (positive ions) using a trapezoidal rule and check if the collide with a cathode.

Parameters
[in]a_voltageVoltage multiplier

◆ writeData()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::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
protectedvirtualnoexcept

Write data to output. Convenience function used for IO.

Parameters
[in,out]a_outputOutput data holder.
[in,out]a_icompStarting component where this solver begins writing the output.
[in]a_dataData to write.
[in]a_outputRealmRealm where a_output belongs
[in]a_levelGrid level
[in]a_interpToCentroidsIf true, a_data will be interpolated to cell centroids before writing to a_output.
[in]a_interpGhostIf true, interpolate ghost cells

◆ writePlotData()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::writePlotData ( LevelData< EBCellFAB > &  a_output,
int &  a_icomp,
const std::string  a_outputRealm,
const int  a_level 
) const
overridevirtual

Write plot data to output holder.

Parameters
[in,out]a_outputOutput data holder.
[in,out]a_icompStarting component in a_output to begin at.
[in]a_outputRealmRealm where a_output belongs
[in]a_levelGrid level

Implements TimeStepper.

◆ writePlotDataStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::writePlotDataStationary ( LevelData< EBCellFAB > &  a_output,
int &  a_icomp,
const std::string  a_outputRealm,
const int  a_level 
) const
protectedvirtualnoexcept

Write plot data for the 'stationary' mode.

Parameters
[in,out]a_outputOutput data holder.
[in,out]a_icompStarting component in a_output to begin at.
[in]a_outputRealmRealm where a_output belongs
[in]a_levelGrid level

◆ writePlotDataTransient()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::writePlotDataTransient ( LevelData< EBCellFAB > &  a_output,
int &  a_icomp,
const std::string  a_outputRealm,
const int  a_level 
) const
protectedvirtualnoexcept

Write plot data for the 'transient' mode.

Parameters
[in,out]a_outputOutput data holder.
[in]a_plotVariableNamesPlot variable names.
[in]a_outputRealmRealm where a_output belongs
[in,out]a_icompStarting component in a_output to begin at.

◆ writeReportStationary()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::writeReportStationary
protectedvirtualnoexcept

Print report to the terminal.

Note
For stationary runs

◆ writeReportTransient()

template<typename P , typename F , typename C >
void DischargeInceptionStepper::writeReportTransient
protectedvirtualnoexcept

Print report to the terminal.

Note
For transient runs. Called in the constructor.

Member Data Documentation

◆ m_backgroundIonization

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_backgroundIonization
protected

Background ionization rates.

Note
Both modes.

◆ m_criticalArea

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<std::pair<Real, Real> > Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_criticalArea
protected

Critical area at various time instances.

First parameter is time, second parameter is the critical area.

◆ m_criticalAreaMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_criticalAreaMinu
protected

Critical area of K values for each voltage.

Note
Stationary mode, negative polarity

◆ m_criticalAreaPlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_criticalAreaPlus
protected

Critical area of K values for each voltage.

Note
Stationary mode, positive polarity

◆ m_criticalVolume

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<std::pair<Real, Real> > Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_criticalVolume
protected

Critical volume at various time instances.

First parameter is time, second parameter is the critical volume.

◆ m_criticalVolumeMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_criticalVolumeMinu
protected

Critical volumes of K values for each voltage.

Note
Stationary mode, negative polarity

◆ m_criticalVolumePlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_criticalVolumePlus
protected

Critical volumes of K values for each voltage.

Note
Stationary mode, positive polarity

◆ m_detachment

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_detachment
protected

Detachment rates.

Note
Both modes.

◆ m_emissionRate

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_emissionRate
protected

Field emission rates.

Note
Used for transient mode.

◆ m_emissionRatesMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_emissionRatesMinu
protected

Field emission rates.

Note
Stationary mode, negative polarity

◆ m_emissionRatesPlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_emissionRatesPlus
protected

Field emission rates.

Note
Stationary mode, positive polarity

◆ m_inceptionIntegral

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_inceptionIntegral
protected

Inception integral values.

Note
Transient mode.

◆ m_inceptionIntegralMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_inceptionIntegralMinu
protected

Inception integral values.

Note
Stationary mode, negative polarity

◆ m_inceptionIntegralPlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_inceptionIntegralPlus
protected

Inception integral values.

Note
Stationary mode, positive polarity

◆ m_inceptionProbability

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<std::pair<Real, Real> > Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_inceptionProbability
protected

Cumulative probability of breakdown by time t.

First parameter is time, second parameter is breakdown probability.

◆ m_inceptionVoltageMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_inceptionVoltageMinu
protected

Computed inception voltage.

Note
Stationary mode, negative polarity

◆ m_inceptionVoltagePlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_inceptionVoltagePlus
protected

Computed inception voltage.

Note
Stationary mode, positive polarity

◆ m_ionizationVolume

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_ionizationVolume
protected

Ionization volumes for each voltage.

Note
Stationary mode

◆ m_ionizationVolumeTransient

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<std::pair<Real, Real> > Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_ionizationVolumeTransient
protected

Ionization volume at various time instances.

First parameter is time, second parameter is the ionization volume.

◆ m_maxK

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<std::pair<Real, Real> > Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_maxK
protected

Max K value for every time step.

Note
For transient runs

◆ m_maxKMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_maxKMinu
protected

Max K value for every voltage.

Note
Stationary mode, negative polarity

◆ m_maxKPlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_maxKPlus
protected

Max K value for every voltage.

Note
Stationary mode, positive polarity

◆ m_maxT

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<std::pair<Real, Real> > Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_maxT
protected

Max Townsend value for every time step.

Note
For transient runs

◆ m_maxTMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_maxTMinu
protected

Max Townsend value (exp(K)/gamma) for every voltage.

Note
Stationary mode, negative polarity

◆ m_maxTPlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_maxTPlus
protected

Max Townsend value (exp(K)/gamma) for every voltage.

Note
Stationary mode, positive polarity

◆ m_Rdot

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<std::pair<Real, Real> > Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_Rdot
protected

Integral factor for cumulative integration.

This is the integral_Vcr dne/dt * (1 - eta/alpha) dV + integral(j/e*dS) stored at each time step.

Note
Only for transient mode.

◆ m_RdotMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_RdotMinu
protected

Rate of appearance of first electron (in critical volume)

Note
Stationary mode, negative polarity.

◆ m_RdotPlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_RdotPlus
protected

Rate of appearance of first electron (in critical volume)

Note
Stationary mode, positive polarity.

◆ m_stepSizeFactor

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
Real Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_stepSizeFactor
protected

Fixed step size (physical dimensions)

Step size factor

◆ m_streamerInceptionVoltageMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_streamerInceptionVoltageMinu
protected

Computed streamer inception voltage.

Note
Stationary mode, negative polarity

◆ m_streamerInceptionVoltagePlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_streamerInceptionVoltagePlus
protected

Computed streamer inception voltage.

Note
Stationary mode, positive polarity

◆ m_townsendCriterion

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_townsendCriterion
protected

Townsend criterion.

Note
Transient mode.

◆ m_townsendInceptionVoltageMinu

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_townsendInceptionVoltageMinu
protected

Computed Townsend inception voltage.

Note
Stationary mode, negative polarity

◆ m_townsendInceptionVoltagePlus

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
EBAMRCellData Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_townsendInceptionVoltagePlus
protected

Computed Townsend inception voltage.

Note
Stationary mode, positive polarity

◆ m_voltageSweeps

template<typename P = TracerParticle<2, 2>, typename F = FieldSolverMultigrid, typename C = CdrCTU>
std::vector<Real> Physics::DischargeInception::DischargeInceptionStepper< P, F, C >::m_voltageSweeps
protected

Voltage sweeps.

Note
Stationary mode

The documentation for this class was generated from the following files: