17#ifndef RIZER_REACTOR_RHS_H
18#define RIZER_REACTOR_RHS_H
98 const std::shared_ptr<Cantera::Solution>&
solution()
const {
return m_sol; }
114 const std::vector<double>&
speciesCp()
const {
return m_cp_mass; }
133 void rates(
double Tg,
double Te,
const double* Y,
double rho,
double E,
double& dTg,
134 double& dTe,
double* dY,
double& lhs_Tg,
double& lhs_Te,
135 Diagnostics* diag =
nullptr)
const;
142 double conductivity(
double Tg,
double Te,
const double* Y,
double rho)
const;
148 double electronDensity(
double Tg,
double Te,
const double* Y,
double rho)
const;
162 void setState(
double Tg,
double Te,
const double* Y,
double rho,
double& P,
163 double& Xe,
double& Tmean,
double& n_e)
const;
175 void transport(
double Te,
double n_e,
double P,
double Tmean,
double& sigma,
176 double& nu_E,
double& cond_maxwell_2)
const;
178 std::shared_ptr<Cantera::Solution> m_sol;
187 std::vector<double> m_wt;
188 std::vector<char> m_is_electron_rxn;
189 mutable std::vector<double> m_Yc, m_wdot, m_uk, m_cpR, m_dU, m_rop, m_X, m_nk;
191 mutable std::vector<double> m_cp_mass;
Composition-resolved electron-heavy momentum-transfer collision model.
double conductivity(double Tg, double Te, const double *Y, double rho) const
Electrical conductivity [S/m] at a node state.
std::string speciesName(std::size_t k) const
Name of species k in the mechanism.
ReactorRHS(std::shared_ptr< Cantera::Solution > sol, Config cfg)
Construct a ReactorRHS for a given plasma Solution and configuration.
double electronDensity(double Tg, double Te, const double *Y, double rho) const
Electron number density [1/m^3], .
void rates(double Tg, double Te, const double *Y, double rho, double E, double &dTg, double &dTe, double *dY, double &lhs_Tg, double &lhs_Te, Diagnostics *diag=nullptr) const
Single-cell RHS (no transport, no volume work).
std::size_t nSpecies() const
const std::shared_ptr< Cantera::Solution > & solution() const
std::size_t electronIndex() const
const std::vector< double > & speciesCp() const
Mass-basis species heat capacity at constant pressure c_p,k [J/kg/K], length nSpecies(),...
const std::vector< double > & molecularWeights() const
bool reacting
Include finite-rate chemistry source terms (true) or freeze composition (false) [-].
std::vector< double > sigma_v
sigma(Te) table: electrical conductivity values at sigma_T [S/m]
CollisionModel collision
Composition-resolved sigma/nu_E (preferred).
std::vector< double > nu_m_T
nu_m(Te) table: electron-temperature grid points [K], strictly increasing
double nu_m
Scalar electron momentum-transfer frequency, used when nu_m_T/nu_m_v are empty [1/s].
std::vector< double > nu_m_v
nu_m(Te) table: electron momentum-transfer frequency values at nu_m_T [1/s]
double nu_E
Scalar elastic electron-heavy energy-exchange frequency, used when collision is empty [1/s].
std::vector< double > sigma_T
sigma(Te) table: electron-temperature grid points [K], strictly increasing
Optional power / Maxwellian-condition breakdown filled by rates() when a non-null pointer is passed.
double cond_maxwell_1
nu_ee/m_e [1/kg/s] (Mitchner VIII-3.8, term 1)
double P_Joule
Joule heating power [W/m^3].
double P_chemical_e
Electron chemical power [W/m^3].
double P_chemical
Heavy-species chemical power [W/m^3].
double P_inelastic
Inelastic electron-impact-reaction power [W/m^3].
double P_elastic
Elastic electron-heavy exchange power [W/m^3].
double cond_maxwell_2
sum_h nu_eh/m_h [1/kg/s] (Mitchner VIII-3.8, term 2)