[Transport] Add use Blancs law to calculate mobilities
This commit is contained in:
parent
eeb27d84a9
commit
f7852ad84c
2 changed files with 28 additions and 2 deletions
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue