Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
c879d6b
[YAML] Grid specification: Linear, Quadratic and Geometric now availa…
Gaetanosaure May 6, 2026
361122b
[thermo] Correct the instrinsic heating expression in PlasmaPhase: th…
Gaetanosaure May 6, 2026
8addba9
[thermo] include the option to have the eedf grid adapting it's maxim…
Gaetanosaure May 12, 2026
7f5002a
[thermo] Verify plasma EEDF input data are acceptable and correct
Gaetanosaure May 12, 2026
ef15c01
[thermo] Initialize plasma EEDF solver before loading input (PlasmaPh…
Gaetanosaure May 12, 2026
e3ffdb8
[thermo] Update electron temperature after solving Boltzmann EEDF if …
Gaetanosaure May 12, 2026
50db42b
[thermo] Impose Maxwellian distribution with T_e = T_gas at low E/N (…
Gaetanosaure May 12, 2026
46a5075
[thermo] check electron mobility value before returning it
Gaetanosaure May 12, 2026
72f882c
[thermo] Exclude attachment collisions from elastic power loss
Gaetanosaure May 12, 2026
5e98196
[thermo] change vector handling in electronEnergyLevelChanged
Gaetanosaure May 12, 2026
ccc7b36
[YAML] Change the YAML input file format. Compatibility is retained w…
Gaetanosaure May 13, 2026
af76eb2
[YAML] added parameter "reduced_field_threshold_before_maxwellian_Td"…
Gaetanosaure May 13, 2026
5f4f19e
[thermo] changed the name of electronMobility to computeElectronMobil…
Gaetanosaure May 13, 2026
5c046ce
[general] ElectronCollisionPlasmaRate, EEDFTwoTermApproximation and P…
Gaetanosaure May 13, 2026
b9d1f3b
[Kinetics] Added the class DetailedVVVTRate to be able to compute the…
Gaetanosaure May 14, 2026
7cff7fe
[python] Adding the access to reading the electronMobility of the gas
Gaetanosaure May 14, 2026
01f7900
[thermo] Allowing collapsed inelastic channels entries in the YAML
Gaetanosaure May 15, 2026
bce57c6
cleaning the code from debug messages + adding an optional parameter …
Gaetanosaure May 15, 2026
9ae9e5c
[Kinetics] Enlarge DetailedVVVTRate into VibrationalRelaxationRate to…
Gaetanosaure May 18, 2026
47ac25d
Added some details in the header of the VibrationalRelaxationRate cla…
Gaetanosaure May 21, 2026
6add62d
more comments
Gaetanosaure May 22, 2026
76f07ef
[thermo] Fixed the EEDF calculation - as shoown on the official websi…
Gaetanosaure May 22, 2026
4763ca8
[thermo] Added function checkSpeciesNoCrossSections for additional er…
Gaetanosaure May 22, 2026
adfb4c8
[thermo] added some routines to check for the potential declaration o…
Gaetanosaure May 22, 2026
fb7afbe
cleaned code and added some comments
Gaetanosaure May 22, 2026
be497df
[yaml] Added the possibility to control the geometric grid ratio from…
Gaetanosaure May 22, 2026
3ce0330
[thermo] Corrected the extension of cross-sections using the new func…
Gaetanosaure May 25, 2026
e314098
[kinetics] changed the subtype name in the class VibrationalRelaxatio…
Gaetanosaure May 26, 2026
8db9a91
[YAML] Updated the format of air-plasma.yaml and of oxygen-plasma.yaml
Gaetanosaure Jun 4, 2026
499e16c
[test] Fixed the test crash on the 0D test suite
Gaetanosaure Jun 4, 2026
e505e35
[test] fixed the crashes occuring in test_kinetics.py
Gaetanosaure Jun 4, 2026
e3c4b96
[test] solved the tests relative to the eedf calculation
Gaetanosaure Jun 4, 2026
c98b64f
[tests] all tests fails solved
Gaetanosaure Jun 5, 2026
0213997
[lxcat2yaml] Updtate lxcat2yaml routine to match the new YAML format
Gaetanosaure Jun 8, 2026
06b85e7
[tests] update test_convert accordingly to the new lxcat2yaml routine
Gaetanosaure Jun 8, 2026
dc691cb
[authors] add myself to the list of authors
Gaetanosaure Jun 8, 2026
8cc9033
[kinetics] Fixed indentation of lines 99 and 100 in TwoTempPlasmaRate.h
Gaetanosaure Jun 9, 2026
9c77e76
[kinetics] Made the comment for the description of parameter b in Two…
Gaetanosaure Jun 9, 2026
8296550
[thermo] Clarified misleading comments in PlasmaPhase.cpp
Gaetanosaure Jun 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ update, please report on Cantera's
- **Philip Berndt**
- **Guus Bertens** [@guusbertens](https://github.com/guusbertens) - Eindhoven University of Technology
- **Wolfgang Bessler** [@wbessler](https://github.com/wbessler) - Offenburg University of Applied Science
- **Gaétan Bizot** [@Gaetanosaure] (https://github.com/Gaetanosaure) - University of Florence
- **Paul Blum** [@paulblum](https://github.com/paulblum)
- **Tilman Bremer**
- **Victor Brunini** [@vbrunini](https://github.com/vbrunini) - Sandia National Laboratory
Expand Down
30 changes: 25 additions & 5 deletions include/cantera/kinetics/ElectronCollisionPlasmaRate.h
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,18 @@ class ElectronCollisionPlasmaRate : public ReactionRate
//! Update the value of #m_crossSectionsInterpolated [m2]
void updateInterpolatedCrossSection(span<const double>);

//! Returns the name of the collision linking the reaction to the data stored in electron-collision
const string& collisionName() const;

//! Return whether this rate object has tabulated cross-section data.
bool hasCrossSectionData() const;

//! Enters the collision data found in the YAML when it is given in the old (still accepted but deprecated) format.
void applyCollisionData(const AnyMap& node);

//! Checks the validity of the YAML entry.
void validateCollisionData(const AnyMap& node) const;

private:
//! The name of the kind of electron collision
string m_kind;
Expand All @@ -222,7 +234,7 @@ class ElectronCollisionPlasmaRate : public ReactionRate
string m_product;

//! The energy threshold of electron collision
double m_threshold;
double m_threshold = 0;

//! electron energy levels [eV]
vector<double> m_energyLevels;
Expand All @@ -240,11 +252,19 @@ class ElectronCollisionPlasmaRate : public ReactionRate
//! collision cross sections [m2] after interpolation
vector<double> m_crossSectionsInterpolated;

//! collision cross section [m2] interpolated on #m_energyLevels offset by the
//! threshold energy (the first energy level).
//! This is used for the calculation of the super-elastic collision reaction
//! rate coefficient.
//! Super-elastic cross sections [m²] interpolated on the shared EEDF grid
//! after shifting the tabulated energy levels by #m_threshold.
Eigen::ArrayXd m_crossSectionsOffset;

//! The name of the collision field in the new YAML PlasmaPhase implementation
string m_collisionName;

//! Check whether a YAML node entry offers some cross section data
bool m_hasCrossSectionData = false;

//! Get the energy threshold for the reaction from the energy levels and cross sections data if threshold is not given in the reaction
void setDefaultThreshold();

};

}
Expand Down
20 changes: 14 additions & 6 deletions include/cantera/kinetics/TwoTempPlasmaRate.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,14 @@ struct TwoTempPlasmaData : public ReactionData
* activation energy for electron is included.
*
* @f[
* k_f = A T_e^b \exp (-E_{a,g}/RT) \exp (E_{a,e} (T_e - T)/(R T T_e))
* k_f = A T^{b_g} T_e^b * exp(-E_{a,g}/RT) * exp(E_{a,e}(T_e - T)/(R T T_e))
* @f]
*
* where @f$ T_e @f$ is the electron temperature, @f$ E_{a,g} @f$ is the activation
* energy for gas, and @f$ E_{a,e} @f$ is the activation energy for electron, see
* Kossyi, et al. @cite kossyi1992.
* The optional gas temperature exponent b_g defaults to zero, which stricly corresponds to @cite kossyi1992.
* If b_g is non-zero, a generalisation is used.
*
* @ingroup arrheniusGroup
*/
Expand All @@ -66,10 +68,13 @@ class TwoTempPlasmaRate : public ArrheniusBase
/*!
* @param A Pre-exponential factor. The unit system is (kmol, m, s); actual units
* depend on the reaction order and the dimensionality (surface or bulk).
* @param b Temperature exponent (non-dimensional)
* @param b Electron temperature exponent (non-dimensional)
* @param Ea Activation energy in energy units [J/kmol]
* @param EE Activation electron energy in energy units [J/kmol]
* @param bg Gas temperature exponent (non-dimensional). If not specified, defaults to 0.
*/
TwoTempPlasmaRate(double A, double b, double Ea, double EE, double bg);

TwoTempPlasmaRate(double A, double b, double Ea=0.0, double EE=0.0);

TwoTempPlasmaRate(const AnyMap& node, const UnitStack& rate_units={});
Expand All @@ -90,12 +95,12 @@ class TwoTempPlasmaRate : public ArrheniusBase
*/
double evalFromStruct(const TwoTempPlasmaData& shared_data) const {
// m_E4_R is the electron activation (in temperature units)
return m_A * std::exp(m_b * shared_data.logTe -
m_Ea_R * shared_data.recipT +
m_E4_R * (shared_data.electronTemp - shared_data.temperature)
* shared_data.recipTe * shared_data.recipT);
return m_A * std::exp(m_bg * shared_data.logT + m_b * shared_data.logTe
- m_Ea_R * shared_data.recipT + m_E4_R * (shared_data.electronTemp - shared_data.temperature)
* shared_data.recipTe * shared_data.recipT);
}


//! Evaluate derivative of reaction rate with respect to temperature
//! divided by reaction rate
/*!
Expand All @@ -109,6 +114,9 @@ class TwoTempPlasmaRate : public ArrheniusBase
double activationElectronEnergy() const {
return m_E4_R * GasConstant;
}

protected:
double m_bg = 0.0; //!< Gas temperature exponent
};

}
Expand Down
Loading
Loading