From d7cdb188201202705d659c89e5d22e62f604efed Mon Sep 17 00:00:00 2001 From: ignis Date: Tue, 16 May 2017 14:10:45 +0900 Subject: [PATCH] substitute cell loop to field operations --- createFields.H | 4 +++- neEqn.H | 27 ++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/createFields.H b/createFields.H index 85d39a1..29906c2 100644 --- a/createFields.H +++ b/createFields.H @@ -585,4 +585,6 @@ forAll (csSpecies, isp) Info<< csSpeciesW << endl; -scalarField sigma_m (Te); +scalarField sigma_m (Te.internalField().size(), 0.0); +scalarField Xsum (Te.internalField().size(), 0.0); +scalarField meanEps (Te.internalField().size(), 0.0); diff --git a/neEqn.H b/neEqn.H index 6dcc746..c8e0dba 100644 --- a/neEqn.H +++ b/neEqn.H @@ -6,24 +6,25 @@ Te = T; Te.correctBoundaryConditions(); - scalarField X (csSpecies.size(), 0.0); scalarField &W (csSpeciesW); - forAll (Te, cid) - { - scalar eEps = (3./2.) * kB.value() * Te[cid] - / eCharge.value(); + Xsum = 0.0; + sigma_m = 0.0; + meanEps = (3./2.) * kB.value() / eCharge.value() * Te.internalField(); - sigma_m[cid] = 0; - forAll (csSpecies, isp) - { - X[isp] = Y[csSpeciesI[isp]][cid]/W[isp]; - sigma_m[cid] += - X[isp] * csList[isp].value(eEps); - } - sigma_m[cid] /= sum(X); + forAll (csSpecies, isp) + { + label k = csSpeciesI[isp]; + + scalarField X (Y[k].internalField() / W[isp]); + + Xsum += X; + + sigma_m += X * csList[isp].value(meanEps); } + sigma_m /= Xsum; + Info << min(sigma_m) << " / " << max(sigma_m) << endl; /*