Cantera  4.0.0a2
Loading...
Searching...
No Matches
EEDFTwoTermApproximation Class Reference

Boltzmann equation solver for the electron energy distribution function based on the two-term approximation. More...

#include <EEDFTwoTermApproximation.h>

Detailed Description

Boltzmann equation solver for the electron energy distribution function based on the two-term approximation.

This class implements a solver for the electron energy distribution function based on a steady-state solution to the Boltzmann equation using the classical two-term expansion, applicable to weakly ionized plasmas. The numerical approach and theory are primarily derived from the work of Hagelaar and Pitchford [14].

The two-term approximation assumes that the EEDF can be represented as:

\[ f(\epsilon, \mu) = f_0(\epsilon) + \mu f_1(\epsilon), \]

where \( \epsilon \) is the electron energy and \( \mu \) is the cosine of the angle between the electron velocity vector and the electric field. The Boltzmann equation is projected onto the zeroth moment over mu to obtain an equation for \( f_0(\epsilon) \) , the isotropic part of the distribution. The first-order anisotropic term \( f_1(\epsilon) \) is not solved directly, but is approximated and substituted into the drift and collision terms. This results in a second-order differential equation for \( f_0(\epsilon) \) alone.

The governing equation for \( f_0(\epsilon) \) is discretized on an energy grid using a finite difference method and solved using a tridiagonal matrix algorithm.

Since
New in Cantera 3.2.
Warning
This class is an experimental part of Cantera and may be changed without notice.

Definition at line 48 of file EEDFTwoTermApproximation.h.

Public Member Functions

 EEDFTwoTermApproximation (PlasmaPhase *s)
 Constructor combined with the initialization function.
 
int calculateDistributionFunction ()
 compute the EEDF given an electric field CQM The solver will take the species to consider and the set of cross-sections from the PlasmaPhase object.
 
void setLinearGrid (double kTe_max, size_t ncell)
 Sets a linear energy grid for the EEDF solver, defined by the maximum energy and the number of grid cells.
 
void setQuadraticGrid (double kTe_max, size_t ncell)
 Sets a quadratic energy grid for the EEDF solver, defined by the maximum energy and the number of grid cells.
 
void setGeometricGrid (double kTe_max, size_t ncell, double ratio=1.01)
 Sets a geometric energy grid for the EEDF solver, defined by the maximum energy and the number of grid cells.
 
void setCustomGrid (span< const double > levels)
 Sets a custom energy grid for the EEDF solver, defined by the user-provided vector of energy levels.
 
void setGridCache ()
 Build or rebuild the grid-dependent cache used for scattering matrices.
 
void setInitialGridParameters (double initialMaxEnergy, size_t nGridCells, const string &gridType)
 Set the initial grid parameters used by generated EEDF grids.
 
void enableGridAdaptation (bool enabled)
 Enable or disable automatic grid adaptation for the EEDF solver energy grid.
 
void setGridAdaptationParameters (double minDecayDecades, double maxDecayDecades, double updateFactor, size_t maxIterations, bool maxwellianReset)
 Set parameters controlling automatic adaptation of the EEDF energy grid.
 
span< const double > getGridEdge () const
 Return the electron energy grid edges [eV].
 
span< const double > getEEDFEdge () const
 Return the EEDF values interpolated at the electron energy grid edges.
 
double getElectronMobility () const
 Return the latest value of the computed electron mobility computed from the EEDF.
 
void setReducedElectricFieldThresholdForMaxwellian (double threshold)
 Sets the threshold in reduced electric field below which a Maxwellian is imposed instead of computing the EEDF.
 

Protected Member Functions

void converge (Eigen::VectorXd &f0)
 Iterate f0 (EEDF) until convergence.
 
Eigen::VectorXd iterate (const Eigen::VectorXd &f0, double delta)
 An iteration of solving electron energy distribution function.
 
double integralPQ (double a, double b, double u0, double u1, double g, double x0)
 The integral in [a, b] of \(x u(x) \exp[g (x_0 - x)]\) assuming that u is linear with u(a) = u0 and u(b) = u1.
 
vector< double > vector_g (const Eigen::VectorXd &f0)
 Vector g is used by matrix_P() and matrix_Q().
 
Eigen::SparseMatrix< double > matrix_P (span< const double > g, size_t k)
 The matrix of scattering-out.
 
Eigen::SparseMatrix< double > matrix_Q (span< const double > g, size_t k)
 The matrix of scattering-in.
 
Eigen::SparseMatrix< double > matrix_A (const Eigen::VectorXd &f0)
 Matrix A (Ax = b) of the equation of EEDF, which is discretized by the exponential scheme of Scharfetter and Gummel,.
 
double netProductionFrequency (const Eigen::VectorXd &f0)
 Reduced net production frequency.
 
double electronDiffusivity (const Eigen::VectorXd &f0)
 Diffusivity.
 
double electronMobility (const Eigen::VectorXd &f0)
 Mobility.
 
void initSpeciesIndexCrossSections ()
 Initialize species indices associated with cross-section data.
 
void updateCrossSections ()
 Update the total cross sections based on the current state.
 
void updateMoleFractions ()
 Update the vector of species mole fractions.
 
void calculateTotalElasticCrossSection ()
 Compute the total elastic collision cross section.
 
void calculateTotalCrossSection ()
 Compute the total (elastic + inelastic) cross section.
 
double norm (const Eigen::VectorXd &f, const Eigen::VectorXd &grid)
 Compute the L1 norm of a function f defined over a given energy grid.
 
void updateGrid (double maxEnergy)
 Updates the grid according to the grid type and the new maximum energy when running grid adaptation.
 
void adaptEnergyGrid ()
 Runs the energy grid adaptation script when this feature is activated.
 
void setMaxwellianDistribution (double kTe)
 Sets a Maxwellian distribution with the specified electron temperature [eV].
 
void projectPreviousEEDFOnCurrentGrid (const Eigen::VectorXd &oldGridCenter, const Eigen::VectorXd &oldF0)
 Projects a previously converged EEDF onto the current energy grid.
 
double linearInterpBounded (double x, span< const double > xpts, span< const double > fpts, double below_value, double above_value)
 An extension of the linearInterp function that returns specified values when the input is out of bounds instead of returning one of the extremities of the list.
 

Protected Attributes

double m_delta0 = 1e14
 Formerly options for the EEDF solver.
 
size_t m_maxn = 200
 Maximum number of iterations.
 
double m_factorM = 4.0
 The factor for step size change.
 
size_t m_points = 150
 The number of points in the EEDF grid.
 
double m_rtol = 1e-5
 Error tolerance for convergence.
 
std::string m_growth = "temporal"
 The growth model of EEDF.
 
double m_moleFractionThreshold = 0.01
 The threshold for species mole fractions.
 
double m_init_kTe = 2.0
 The initial electron temperature [eV].
 
PlasmaPhasem_phase
 Pointer to the PlasmaPhase object used to initialize this object.
 
double m_electronMobility
 Electron mobility [m²/V·s].
 
Eigen::VectorXd m_gridCenter
 Grid of electron energy (cell center) [eV].
 
vector< double > m_gridEdge
 Grid of electron energy (cell boundary i-1/2) [eV].
 
vector< vector< size_t > > m_j
 Location of cell j for grid cache.
 
vector< vector< size_t > > m_i
 Location of cell i for grid cache.
 
vector< vector< vector< double > > > m_sigma
 Cross section at the boundaries of the overlap of cell i and j.
 
vector< vector< vector< double > > > m_eps
 The energy boundaries of the overlap of cell i and j.
 
Eigen::VectorXd m_f0
 Normalized electron energy distribution function.
 
vector< double > m_f0_edge
 EEDF at grid edges (cell boundaries)
 
vector< double > m_totalCrossSectionCenter
 Total electron cross section on the cell center of energy grid.
 
vector< double > m_totalCrossSectionEdge
 Total electron cross section on the cell boundary (i-1/2) of energy grid.
 
vector< double > m_sigmaElastic
 Vector of total elastic cross section weighted with mass ratio.
 
vector< size_t > m_kTargets
 List of target species indices in global Cantera numbering (1 index per cs)
 
vector< size_t > m_klocTargets
 List of target species indices in local X EEDF numbering (1 index per cs)
 
vector< size_t > m_kOthers
 Indices of species which has no cross-section data.
 
vector< size_t > m_k_lg_Targets
 Local to global indices.
 
vector< double > m_X_targets
 Mole fraction of targets.
 
vector< double > m_X_targets_prev
 Previous mole fraction of targets used to compute eedf.
 
vector< int > m_inFactor
 In factor.
 
double m_gamma
 Defined by the formula: pow(2.0 * ElectronCharge / ElectronMass, 0.5) and comupted during phase initialization.
 
bool m_has_EEDF
 Flag of having an EEDF.
 
bool m_first_call
 First call to calculateDistributionFunction.
 
string m_gridType = "linear"
 Energy grid spacing type. Can be linear, quadratic or geometric.
 
double m_kTeMax = 60.0
 Maximum value of the energy grid [eV].
 
size_t m_initialGridCells = 301
 Number of cells for the starting energy grid.
 
bool m_adaptGrid = false
 Flag activating or deactivating automatic grid adaptation.
 
double m_minEedfDecay = 10
 Minimum amount of decades decay at the tail of the EEDF when grid adaptation is on.
 
double m_maxEedfDecay = 12.0
 Maximum amount of decades decay at the tail of the EEDF when grid adaptation is on.
 
double m_gridUpdateFactor = 0.1
 Factor by which the EEDF grid maximum energy is increased of shrunk when grid adaptation is on.
 
size_t m_maxGridAdaptIterations = 1000
 Maximum number of iterations on the maximum energy accepted for grid adaptation.
 
double m_thresholdToMaxwellian = 1
 The threshold in reduced electric field [townsend, Td] below which no EEDF will be computed, but a Maxwellian at the gas temperature will be imposed instead.
 
double m_geometricRatio = 1.01
 In the case where a geometric grid is employed, this stores the corresponding geometric ratio.
 
bool m_maxwellianReset = true
 Boolean flag to reset the EEDF to a Maxwellian distribution at the gas temperature when the grid is adapted.
 

Constructor & Destructor Documentation

◆ EEDFTwoTermApproximation()

Constructor combined with the initialization function.

This constructor initializes the EEDFTwoTermApproximation object with everything it needs to start solving EEDF.

Parameters
sPlasmaPhase object that will be used in the solver calls.

Definition at line 23 of file EEDFTwoTermApproximation.cpp.

Member Function Documentation

◆ calculateDistributionFunction()

int calculateDistributionFunction ( )

compute the EEDF given an electric field CQM The solver will take the species to consider and the set of cross-sections from the PlasmaPhase object.

It will write the EEDF and its grid into the PlasmaPhase object. Successful returns are indicated by a return value of 0.

Definition at line 176 of file EEDFTwoTermApproximation.cpp.

◆ setLinearGrid()

void setLinearGrid ( double  kTe_max,
size_t  ncell 
)

Sets a linear energy grid for the EEDF solver, defined by the maximum energy and the number of grid cells.

Since
New in Cantera 4.0
Parameters
kTe_maxmaximum grid energy in eV
ncellnumber of cell to discretize the grid.

Definition at line 32 of file EEDFTwoTermApproximation.cpp.

◆ setQuadraticGrid()

void setQuadraticGrid ( double  kTe_max,
size_t  ncell 
)

Sets a quadratic energy grid for the EEDF solver, defined by the maximum energy and the number of grid cells.

Since
New in Cantera 4.0
Parameters
kTe_maxmaximum grid energy in eV
ncellnumber of cell to discretize the grid.

Definition at line 48 of file EEDFTwoTermApproximation.cpp.

◆ setGeometricGrid()

void setGeometricGrid ( double  kTe_max,
size_t  ncell,
double  ratio = 1.01 
)

Sets a geometric energy grid for the EEDF solver, defined by the maximum energy and the number of grid cells.

Since
New in Cantera 4.0
Parameters
kTe_maxmaximum grid energy in eV
ncellnumber of cell to discretize the grid.
ratiothe geometric growth ratio.

Definition at line 71 of file EEDFTwoTermApproximation.cpp.

◆ setCustomGrid()

void setCustomGrid ( span< const double >  levels)

Sets a custom energy grid for the EEDF solver, defined by the user-provided vector of energy levels.

Definition at line 141 of file EEDFTwoTermApproximation.cpp.

◆ setGridCache()

void setGridCache ( )

Build or rebuild the grid-dependent cache used for scattering matrices.

Definition at line 772 of file EEDFTwoTermApproximation.cpp.

◆ setInitialGridParameters()

void setInitialGridParameters ( double  initialMaxEnergy,
size_t  nGridCells,
const string &  gridType 
)

Set the initial grid parameters used by generated EEDF grids.

These values are used when creating linear, quadratic, or geometric grids, and are also reused during grid adaptation.

Parameters
initialMaxEnergyMaximum electron energy of the initial grid [eV].
nGridCellsNumber of grid cells. The number of grid edges is nGridCells + 1.
gridTypeType of grid spacing to use when generating or adapting the electron energy grid. Supported values are "linear", "quadratic", and "geometric".
Since
New in Cantera 4.0

Definition at line 854 of file EEDFTwoTermApproximation.cpp.

◆ enableGridAdaptation()

void enableGridAdaptation ( bool  enabled)

Enable or disable automatic grid adaptation for the EEDF solver energy grid.

Since
New in Cantera 4.0

Definition at line 880 of file EEDFTwoTermApproximation.cpp.

◆ setGridAdaptationParameters()

void setGridAdaptationParameters ( double  minDecayDecades,
double  maxDecayDecades,
double  updateFactor,
size_t  maxIterations,
bool  maxwellianReset 
)

Set parameters controlling automatic adaptation of the EEDF energy grid.

Grid adaptation adjusts the maximum grid energy based on the number of decades by which the EEDF decays between the low- and high-energy ends of the grid. The number of grid cells is kept fixed.

Parameters
minDecayDecadesMinimum acceptable EEDF tail decay in decades. If the decay is smaller, the maximum grid energy is increased.
maxDecayDecadesMaximum acceptable EEDF tail decay in decades. If the decay is larger, the maximum grid energy is decreased.
updateFactorRelative factor used to increase or decrease the maximum grid energy during adaptation.
maxIterationsMaximum number of grid adaptation iterations per EEDF solve.
maxwellianResetBoolean flag to reset the EEDF to a Maxwellian distribution at the gas temperature when grid adaptation is activated.
Since
New in Cantera 4.0

Definition at line 885 of file EEDFTwoTermApproximation.cpp.

◆ getGridEdge()

span< const double > getGridEdge ( ) const
inline

Return the electron energy grid edges [eV].

The returned span contains m_points + 1 values corresponding to cell boundaries.

Since
New in Cantera 4.0

Definition at line 148 of file EEDFTwoTermApproximation.h.

◆ getEEDFEdge()

span< const double > getEEDFEdge ( ) const
inline

Return the EEDF values interpolated at the electron energy grid edges.

These values are copied back to PlasmaPhase after a successful Boltzmann-two-term EEDF solve.

Since
New in Cantera 4.0

Definition at line 158 of file EEDFTwoTermApproximation.h.

◆ getElectronMobility()

double getElectronMobility ( ) const
inline

Return the latest value of the computed electron mobility computed from the EEDF.

Since
New in Cantera 4.0

Definition at line 164 of file EEDFTwoTermApproximation.h.

◆ setReducedElectricFieldThresholdForMaxwellian()

void setReducedElectricFieldThresholdForMaxwellian ( double  threshold)
inline

Sets the threshold in reduced electric field below which a Maxwellian is imposed instead of computing the EEDF.

Parameters
thresholdThe threshold in Td.
Since
New in Cantera 4.0

Definition at line 171 of file EEDFTwoTermApproximation.h.

◆ converge()

void converge ( Eigen::VectorXd &  f0)
protected

Iterate f0 (EEDF) until convergence.

Definition at line 339 of file EEDFTwoTermApproximation.cpp.

◆ iterate()

Eigen::VectorXd iterate ( const Eigen::VectorXd &  f0,
double  delta 
)
protected

An iteration of solving electron energy distribution function.

Definition at line 378 of file EEDFTwoTermApproximation.cpp.

◆ integralPQ()

double integralPQ ( double  a,
double  b,
double  u0,
double  u1,
double  g,
double  x0 
)
protected

The integral in [a, b] of \(x u(x) \exp[g (x_0 - x)]\) assuming that u is linear with u(a) = u0 and u(b) = u1.

Definition at line 429 of file EEDFTwoTermApproximation.cpp.

◆ vector_g()

vector< double > vector_g ( const Eigen::VectorXd &  f0)
protected

Vector g is used by matrix_P() and matrix_Q().

\[ g_i = \frac{1}{\epsilon_{i+1} - \epsilon_{i-1}} \ln(\frac{F_{0, i+1}}{F_{0, i-1}}) \]

Definition at line 456 of file EEDFTwoTermApproximation.cpp.

◆ matrix_P()

SparseMat matrix_P ( span< const double >  g,
size_t  k 
)
protected

The matrix of scattering-out.

\[ P_{i,k} = \gamma \int_{\epsilon_i - 1/2}^{\epsilon_i + 1/2} \epsilon \sigma_k exp[(\epsilon_i - \epsilon)g_i] d \epsilon \]

Definition at line 481 of file EEDFTwoTermApproximation.cpp.

◆ matrix_Q()

SparseMat matrix_Q ( span< const double >  g,
size_t  k 
)
protected

The matrix of scattering-in.

\[ Q_{i,j,k} = \gamma \int_{\epsilon_1}^{\epsilon_2} \epsilon \sigma_k exp[(\epsilon_j - \epsilon)g_j] d \epsilon \]

where the interval \([\epsilon_1, \epsilon_2]\) is the overlap of cell j, and cell i shifted by the threshold energy:

\[ \epsilon_1 = \min(\max(\epsilon_{i-1/2}+u_k, \epsilon_{j-1/2}),\epsilon_{j+1/2}), \]

\[ \epsilon_2 = \min(\max(\epsilon_{i+1/2}+u_k, \epsilon_{j-1/2}),\epsilon_{j+1/2}) \]

Definition at line 500 of file EEDFTwoTermApproximation.cpp.

◆ matrix_A()

SparseMat matrix_A ( const Eigen::VectorXd &  f0)
protected

Matrix A (Ax = b) of the equation of EEDF, which is discretized by the exponential scheme of Scharfetter and Gummel,.

\[ \left[ \tilde{W} F_0 - \tilde{D} \frac{d F_0}{\epsilon} \right]_{i+1/2} = \frac{\tilde{W}_{i+1/2} F_{0,i}}{1 - \exp[-z_{i+1/2}]} + \frac{\tilde{W}_{i+1/2} F_{0,i+1}}{1 - \exp[z_{i+1/2}]} \]

where \( z_{i+1/2} = \tilde{w}_{i+1/2} / \tilde{D}_{i+1/2} \) (Peclet number).

Definition at line 520 of file EEDFTwoTermApproximation.cpp.

◆ netProductionFrequency()

double netProductionFrequency ( const Eigen::VectorXd &  f0)
protected

Reduced net production frequency.

Equation (10) of ref. [1] divided by N.

Parameters
f0EEDF

Definition at line 617 of file EEDFTwoTermApproximation.cpp.

◆ electronDiffusivity()

double electronDiffusivity ( const Eigen::VectorXd &  f0)
protected

Diffusivity.

Definition at line 636 of file EEDFTwoTermApproximation.cpp.

◆ electronMobility()

double electronMobility ( const Eigen::VectorXd &  f0)
protected

Mobility.

Definition at line 652 of file EEDFTwoTermApproximation.cpp.

◆ initSpeciesIndexCrossSections()

void initSpeciesIndexCrossSections ( )
protected

Initialize species indices associated with cross-section data.

Definition at line 668 of file EEDFTwoTermApproximation.cpp.

◆ updateCrossSections()

void updateCrossSections ( )
protected

Update the total cross sections based on the current state.

Definition at line 714 of file EEDFTwoTermApproximation.cpp.

◆ updateMoleFractions()

void updateMoleFractions ( )
protected

Update the vector of species mole fractions.

Definition at line 722 of file EEDFTwoTermApproximation.cpp.

◆ calculateTotalElasticCrossSection()

void calculateTotalElasticCrossSection ( )
protected

Compute the total elastic collision cross section.

Definition at line 755 of file EEDFTwoTermApproximation.cpp.

◆ calculateTotalCrossSection()

void calculateTotalCrossSection ( )
protected

Compute the total (elastic + inelastic) cross section.

Definition at line 736 of file EEDFTwoTermApproximation.cpp.

◆ norm()

double norm ( const Eigen::VectorXd &  f,
const Eigen::VectorXd &  grid 
)
protected

Compute the L1 norm of a function f defined over a given energy grid.

Parameters
fVector representing the function values (EEDF)
gridVector representing the energy grid corresponding to f

Definition at line 844 of file EEDFTwoTermApproximation.cpp.

◆ updateGrid()

void updateGrid ( double  maxEnergy)
protected

Updates the grid according to the grid type and the new maximum energy when running grid adaptation.

Definition at line 912 of file EEDFTwoTermApproximation.cpp.

◆ adaptEnergyGrid()

void adaptEnergyGrid ( )
protected

Runs the energy grid adaptation script when this feature is activated.

Definition at line 269 of file EEDFTwoTermApproximation.cpp.

◆ setMaxwellianDistribution()

void setMaxwellianDistribution ( double  kTe)
protected

Sets a Maxwellian distribution with the specified electron temperature [eV].

Definition at line 316 of file EEDFTwoTermApproximation.cpp.

◆ projectPreviousEEDFOnCurrentGrid()

void projectPreviousEEDFOnCurrentGrid ( const Eigen::VectorXd &  oldGridCenter,
const Eigen::VectorXd &  oldF0 
)
protected

Projects a previously converged EEDF onto the current energy grid.

Used as first guess after grid adaptation when Maxwellian reset is disabled.

Since
New in Cantera 4.0

Definition at line 238 of file EEDFTwoTermApproximation.cpp.

◆ linearInterpBounded()

double linearInterpBounded ( double  x,
span< const double >  xpts,
span< const double >  fpts,
double  below_value,
double  above_value 
)
protected

An extension of the linearInterp function that returns specified values when the input is out of bounds instead of returning one of the extremities of the list.

Definition at line 218 of file EEDFTwoTermApproximation.cpp.

Member Data Documentation

◆ m_delta0

double m_delta0 = 1e14
protected

Formerly options for the EEDF solver.

The first step size

Definition at line 180 of file EEDFTwoTermApproximation.h.

◆ m_maxn

size_t m_maxn = 200
protected

Maximum number of iterations.

Definition at line 183 of file EEDFTwoTermApproximation.h.

◆ m_factorM

double m_factorM = 4.0
protected

The factor for step size change.

Definition at line 186 of file EEDFTwoTermApproximation.h.

◆ m_points

size_t m_points = 150
protected

The number of points in the EEDF grid.

Definition at line 189 of file EEDFTwoTermApproximation.h.

◆ m_rtol

double m_rtol = 1e-5
protected

Error tolerance for convergence.

Definition at line 192 of file EEDFTwoTermApproximation.h.

◆ m_growth

std::string m_growth = "temporal"
protected

The growth model of EEDF.

Definition at line 195 of file EEDFTwoTermApproximation.h.

◆ m_moleFractionThreshold

double m_moleFractionThreshold = 0.01
protected

The threshold for species mole fractions.

Definition at line 198 of file EEDFTwoTermApproximation.h.

◆ m_init_kTe

double m_init_kTe = 2.0
protected

The initial electron temperature [eV].

Definition at line 201 of file EEDFTwoTermApproximation.h.

◆ m_phase

PlasmaPhase* m_phase
protected

Pointer to the PlasmaPhase object used to initialize this object.

This PlasmaPhase object provides species, element, and cross-section data used by the EEDF solver. It is set during construction and is not modified afterwards. All subsequent calls to compute functions must use the same PlasmaPhase context.

Definition at line 210 of file EEDFTwoTermApproximation.h.

◆ m_electronMobility

double m_electronMobility
protected

Electron mobility [m²/V·s].

Definition at line 304 of file EEDFTwoTermApproximation.h.

◆ m_gridCenter

Eigen::VectorXd m_gridCenter
protected

Grid of electron energy (cell center) [eV].

Definition at line 307 of file EEDFTwoTermApproximation.h.

◆ m_gridEdge

vector<double> m_gridEdge
protected

Grid of electron energy (cell boundary i-1/2) [eV].

Definition at line 310 of file EEDFTwoTermApproximation.h.

◆ m_j

vector<vector<size_t> > m_j
protected

Location of cell j for grid cache.

Definition at line 313 of file EEDFTwoTermApproximation.h.

◆ m_i

vector<vector<size_t> > m_i
protected

Location of cell i for grid cache.

Definition at line 316 of file EEDFTwoTermApproximation.h.

◆ m_sigma

vector<vector<vector<double> > > m_sigma
protected

Cross section at the boundaries of the overlap of cell i and j.

Definition at line 319 of file EEDFTwoTermApproximation.h.

◆ m_eps

vector<vector<vector<double> > > m_eps
protected

The energy boundaries of the overlap of cell i and j.

Definition at line 322 of file EEDFTwoTermApproximation.h.

◆ m_f0

Eigen::VectorXd m_f0
protected

Normalized electron energy distribution function.

Definition at line 325 of file EEDFTwoTermApproximation.h.

◆ m_f0_edge

vector<double> m_f0_edge
protected

EEDF at grid edges (cell boundaries)

Definition at line 328 of file EEDFTwoTermApproximation.h.

◆ m_totalCrossSectionCenter

vector<double> m_totalCrossSectionCenter
protected

Total electron cross section on the cell center of energy grid.

Definition at line 331 of file EEDFTwoTermApproximation.h.

◆ m_totalCrossSectionEdge

vector<double> m_totalCrossSectionEdge
protected

Total electron cross section on the cell boundary (i-1/2) of energy grid.

Definition at line 335 of file EEDFTwoTermApproximation.h.

◆ m_sigmaElastic

vector<double> m_sigmaElastic
protected

Vector of total elastic cross section weighted with mass ratio.

Definition at line 338 of file EEDFTwoTermApproximation.h.

◆ m_kTargets

vector<size_t> m_kTargets
protected

List of target species indices in global Cantera numbering (1 index per cs)

Definition at line 341 of file EEDFTwoTermApproximation.h.

◆ m_klocTargets

vector<size_t> m_klocTargets
protected

List of target species indices in local X EEDF numbering (1 index per cs)

Definition at line 344 of file EEDFTwoTermApproximation.h.

◆ m_kOthers

vector<size_t> m_kOthers
protected

Indices of species which has no cross-section data.

Definition at line 347 of file EEDFTwoTermApproximation.h.

◆ m_k_lg_Targets

vector<size_t> m_k_lg_Targets
protected

Local to global indices.

Definition at line 350 of file EEDFTwoTermApproximation.h.

◆ m_X_targets

vector<double> m_X_targets
protected

Mole fraction of targets.

Definition at line 353 of file EEDFTwoTermApproximation.h.

◆ m_X_targets_prev

vector<double> m_X_targets_prev
protected

Previous mole fraction of targets used to compute eedf.

Definition at line 356 of file EEDFTwoTermApproximation.h.

◆ m_inFactor

vector<int> m_inFactor
protected

In factor.

This is used for calculating the Q matrix of scattering-in processes.

Definition at line 360 of file EEDFTwoTermApproximation.h.

◆ m_gamma

double m_gamma
protected

Defined by the formula: pow(2.0 * ElectronCharge / ElectronMass, 0.5) and comupted during phase initialization.

Definition at line 364 of file EEDFTwoTermApproximation.h.

◆ m_has_EEDF

bool m_has_EEDF
protected

Flag of having an EEDF.

Definition at line 367 of file EEDFTwoTermApproximation.h.

◆ m_first_call

bool m_first_call
protected

First call to calculateDistributionFunction.

Definition at line 370 of file EEDFTwoTermApproximation.h.

◆ m_gridType

string m_gridType = "linear"
protected

Energy grid spacing type. Can be linear, quadratic or geometric.

Definition at line 373 of file EEDFTwoTermApproximation.h.

◆ m_kTeMax

double m_kTeMax = 60.0
protected

Maximum value of the energy grid [eV].

Definition at line 376 of file EEDFTwoTermApproximation.h.

◆ m_initialGridCells

size_t m_initialGridCells = 301
protected

Number of cells for the starting energy grid.

Definition at line 379 of file EEDFTwoTermApproximation.h.

◆ m_adaptGrid

bool m_adaptGrid = false
protected

Flag activating or deactivating automatic grid adaptation.

Definition at line 382 of file EEDFTwoTermApproximation.h.

◆ m_minEedfDecay

double m_minEedfDecay = 10
protected

Minimum amount of decades decay at the tail of the EEDF when grid adaptation is on.

Definition at line 386 of file EEDFTwoTermApproximation.h.

◆ m_maxEedfDecay

double m_maxEedfDecay = 12.0
protected

Maximum amount of decades decay at the tail of the EEDF when grid adaptation is on.

Definition at line 390 of file EEDFTwoTermApproximation.h.

◆ m_gridUpdateFactor

double m_gridUpdateFactor = 0.1
protected

Factor by which the EEDF grid maximum energy is increased of shrunk when grid adaptation is on.

Definition at line 394 of file EEDFTwoTermApproximation.h.

◆ m_maxGridAdaptIterations

size_t m_maxGridAdaptIterations = 1000
protected

Maximum number of iterations on the maximum energy accepted for grid adaptation.

Definition at line 397 of file EEDFTwoTermApproximation.h.

◆ m_thresholdToMaxwellian

double m_thresholdToMaxwellian = 1
protected

The threshold in reduced electric field [townsend, Td] below which no EEDF will be computed, but a Maxwellian at the gas temperature will be imposed instead.

Definition at line 423 of file EEDFTwoTermApproximation.h.

◆ m_geometricRatio

double m_geometricRatio = 1.01
protected

In the case where a geometric grid is employed, this stores the corresponding geometric ratio.

Definition at line 427 of file EEDFTwoTermApproximation.h.

◆ m_maxwellianReset

bool m_maxwellianReset = true
protected

Boolean flag to reset the EEDF to a Maxwellian distribution at the gas temperature when the grid is adapted.

This is a base parameter for the non-pro user for code solidity. It can be disabled by the user and in this case the previous EEDF will be projected onto the new grid instead of being reset to a Maxwellian.

Definition at line 434 of file EEDFTwoTermApproximation.h.


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