[Transport] Add IonGasTransport::electricalConductivity

This commit is contained in:
bangshiuh 2018-10-24 14:07:13 -04:00 committed by Ray Speth
parent 7986046bdd
commit acd75e20fe
2 changed files with 24 additions and 0 deletions

View file

@ -73,6 +73,13 @@ public:
//! The binary transport between two charged species is neglected.
virtual void getMixDiffCoeffs(double* const d);
/*! The electrical conductivity (Siemens/m).
* \f[
* \sigma = \sum_k{\left|C_k\right| \mu_k \frac{X_k P}{k_b T}}
* \f]
*/
virtual double electricalConductivity();
protected:
//! setup parameters for n64 model
void setupN64();

View file

@ -127,6 +127,23 @@ double IonGasTransport::thermalConductivity()
return m_lambda;
}
double IonGasTransport::electricalConductivity()
{
vector_fp mobi(m_nsp);
getMobilities(&mobi[0]);
double p = m_thermo->pressure();
double sum = 0.0;
for (size_t k : m_kIon) {
double ND_k = m_molefracs[k] * p / m_kbt;
sum += ND_k * abs(m_speciesCharge[k]) * ElectronCharge * mobi[k];
}
if (m_kElectron != npos) {
sum += m_molefracs[m_kElectron] * p / m_kbt *
ElectronCharge * mobi[m_kElectron];
}
return sum;
}
void IonGasTransport::fitDiffCoeffs(MMCollisionInt& integrals)
{
GasTransport::fitDiffCoeffs(integrals);