From de8600e4a7d187f6cb223fee836c16d75eaac202 Mon Sep 17 00:00:00 2001 From: ignis Date: Wed, 17 May 2017 20:44:45 +0900 Subject: [PATCH] added constant mobility mode --- createFields.H | 12 ++++++++++++ neEqn.H | 47 +++++++++++++++++++++++++---------------------- 2 files changed, 37 insertions(+), 22 deletions(-) diff --git a/createFields.H b/createFields.H index 85d39a1..7ad359c 100644 --- a/createFields.H +++ b/createFields.H @@ -14,6 +14,11 @@ IOdictionary physicalProperties ) ); +Switch constETransport +( + physicalProperties.lookupOrDefault("constETransport", false) +); + scalar relaxDrift ( physicalProperties.lookupOrDefault("relaxDrift", 1.0) @@ -586,3 +591,10 @@ Info<< csSpeciesW << endl; scalarField sigma_m (Te); + + +if (constETransport) +{ + mue.internalField() = mueNFac * mueN.value(0.0); + mue.correctBoundaryConditions(); +} diff --git a/neEqn.H b/neEqn.H index 54f051b..a7b794e 100644 --- a/neEqn.H +++ b/neEqn.H @@ -6,34 +6,37 @@ Te = T; Te.correctBoundaryConditions(); - scalarField &W (csSpeciesW); - - forAll (Te, cid) + if (!constETransport) { - scalar eEps = (3./2.) * kB.value() * Te[cid] / eCharge.value(); - scalar sumX = 0.0; + scalarField &W (csSpeciesW); - sigma_m[cid] = 0; - forAll (csSpecies, isp) + forAll (Te, cid) { - scalar Xi = Y[csSpeciesI[isp]][cid]/W[isp]; - sumX += Xi; - sigma_m[cid] += Xi * csList[isp].value(eEps); + scalar eEps = (3./2.) * kB.value() * Te[cid] / eCharge.value(); + scalar sumX = 0.0; + + sigma_m[cid] = 0; + forAll (csSpecies, isp) + { + scalar Xi = Y[csSpeciesI[isp]][cid]/W[isp]; + sumX += Xi; + sigma_m[cid] += Xi * csList[isp].value(eEps); + } + sigma_m[cid] /= sumX; } - sigma_m[cid] /= sumX; + + Info << min(sigma_m) << " / " << max(sigma_m) << endl; + + /* + mue.internalField() = eCharge.value() + / (sqrt(eMass.value() * kB.value() * Te) * sigma_m); + mue.correctBoundaryConditions(); + */ + mue.internalField() = mueNFac * eCharge.value() / 3.0 + / (sqrt(pi * eMass.value() * kB.value() * Te / 8.0) * sigma_m); + mue.correctBoundaryConditions(); } - Info << min(sigma_m) << " / " << max(sigma_m) << endl; - -/* - mue.internalField() = eCharge.value() - / (sqrt(eMass.value() * kB.value() * Te) * sigma_m); - mue.correctBoundaryConditions(); -*/ - mue.internalField() = mueNFac * eCharge.value() / 3.0 - / (sqrt(pi * eMass.value() * kB.value() * Te / 8.0) * sigma_m); - mue.correctBoundaryConditions(); - De = mue * Te * (kB / eCharge); De.correctBoundaryConditions();