[Transport] Add use Blancs law to calculate mobilities

This commit is contained in:
bangshiuh 2018-05-18 16:01:19 -04:00 committed by Ray Speth
parent eeb27d84a9
commit f7852ad84c
2 changed files with 28 additions and 2 deletions

View file

@ -55,6 +55,14 @@ public:
//! Only Neutral species contribute to therrmal conductivity.
virtual double thermalConductivity();
//! The mobilities for ions in gas.
//! The ion mobilities are calculated by Blanc's law.
virtual void getMobilities(double* const mobi);
//! The mixture transport for ionized gas.
//! The binary transport between two charged species is neglected.
virtual void getMixDiffCoeffs(double* const d);
protected:
//! setup parameters for n64 model
void setupN64();
@ -72,8 +80,6 @@ protected:
*/
double omega11_n64(const double tstar, const double gamma);
virtual void getMixDiffCoeffs(doublereal* const d);
//! electrical properties
vector_int m_speciesCharge;

View file

@ -332,5 +332,25 @@ void IonGasTransport::getMixDiffCoeffs(double* const d)
}
}
void IonGasTransport::getMobilities(double* const mobi)
{
double p = m_thermo->pressure();
for (size_t k = 0; k < m_nsp; k++) {
if (k == m_kElectron) {
mobi[k] = 0.4;
} else {
mobi[k] = 0.0;
}
}
for (size_t k : m_kIon) {
double sum = 0.0;
for (size_t j : m_kNeutral) {
double bmobi = m_bdiff(k,j) * ElectronCharge / m_kbt;
sum += m_molefracs[j] / bmobi;
}
mobi[k] = 1.0 / sum / p;
}
}
}