From c6dcfeb5d7e0bb13bd32d9bbef348d6506e01b25 Mon Sep 17 00:00:00 2001 From: ignis Date: Mon, 29 Oct 2018 08:34:51 +0900 Subject: [PATCH] added nonzero polarizability test and changed thermal conductivity formula --- diffusivityModel/Neutral/Neutral.C | 7 +++-- diffusivityModel/Particle/Particle.C | 2 +- .../diffusivityModel/diffusivityModel.C | 28 ++++++++++--------- 3 files changed, 21 insertions(+), 16 deletions(-) diff --git a/diffusivityModel/Neutral/Neutral.C b/diffusivityModel/Neutral/Neutral.C index a2bb4eb..ac700ea 100644 --- a/diffusivityModel/Neutral/Neutral.C +++ b/diffusivityModel/Neutral/Neutral.C @@ -85,8 +85,11 @@ Foam::Neutral::Neutral(const dictionary& dict) Zrot_ = readScalar(dict.lookup("rotationalRelaxation")); } - C6_ = exp(1.8846 * log(alpha_) - 0.4737); // * sqr(e); - alphaQ_ = 2 * C6_; + if (alpha_ > 0.0) + { + C6_ = exp(1.8846 * log(alpha_) - 0.4737); // * sqr(e); + alphaQ_ = 2 * C6_; + } } diff --git a/diffusivityModel/Particle/Particle.C b/diffusivityModel/Particle/Particle.C index be1ece6..76522d7 100644 --- a/diffusivityModel/Particle/Particle.C +++ b/diffusivityModel/Particle/Particle.C @@ -34,7 +34,7 @@ License // const dataType Foam::Particle::staticData(); -//- Universal gas constant (default in [J/(kmol K)]) +//- Universal gas constant (default in [J/(mol K)]) const Foam::scalar Foam::Particle::RR = constant::physicoChemical::R.value()*1000; //- Elementary charge (default in [C]) diff --git a/diffusivityModel/diffusivityModel/diffusivityModel.C b/diffusivityModel/diffusivityModel/diffusivityModel.C index cc78d98..a254469 100644 --- a/diffusivityModel/diffusivityModel/diffusivityModel.C +++ b/diffusivityModel/diffusivityModel/diffusivityModel.C @@ -642,7 +642,8 @@ void Foam::diffusivityModel::correct() const scalar WbarI = Wbar[celli]; const scalar rhoQc2i = rhoQc2[celli]; - thermo_.composition().Cv(localCv,pi,Ti); + thermo_.composition().Cv(localCv,pi,Ti); // J / kg / K + localCv *= Wpure; // convert to J / kmol / K forAll (species_, i) { @@ -680,22 +681,22 @@ void Foam::diffusivityModel::correct() // Pure Thermal conductivity forAll (species_, i) { - const scalar R = Neutral::RR / Wpure[i]; - const scalar CvTrans = (3./2.)*R; - const scalar CvRot = (dof[i]/2.)*R; + const scalar R = Neutral::RR; // J / kmol / K + const scalar CvTrans = (3./2.) * R; + const scalar CvRot = (dof[i]/2.) * R; const scalar CvVib = localCv[i] - CvTrans - CvRot; const scalar rSc = rhoi * Dii[i] / muI[i]; const scalar A = 5./2. - rSc; - const scalar B = Zrot[i] + (2./Neutral::pi) * ((5./3.)*CvRot + rSc); + const scalar B = Zrot[i] + (2./Neutral::pi) * ((5./3.)*(dof[i]/2.) + rSc); const scalar AB = (2./Neutral::pi)*(A/B); const scalar fTrans = (5./2.) * (1.0 - AB * CvRot / CvTrans); - const scalar fRot = rSc*(1.0+AB); + const scalar fRot = rSc*(1.0 + AB); const scalar fVib = rSc; - kI[i] = muI[i]*(fTrans*CvTrans + fRot*CvRot + fVib*CvVib); + kI[i] = (muI[i]/Wpure[i])*(fTrans*CvTrans + fRot*CvRot + fVib*CvVib); } @@ -729,6 +730,7 @@ void Foam::diffusivityModel::correct() const scalar rhoQc2i = rhoQc2p[facei]; thermo_.composition().Cv(localCv,pi,Ti); + localCv /= Wpure; forAll (species_, i) { @@ -767,22 +769,22 @@ void Foam::diffusivityModel::correct() // Pure Thermal conductivity forAll (species_, i) { - const scalar R = Neutral::RR / Wpure[i]; - const scalar CvTrans = (3./2.)*R; - const scalar CvRot = (dof[i]/2.)*R; + const scalar R = Neutral::RR; + const scalar CvTrans = (3./2.) * R; + const scalar CvRot = (dof[i]/2.) * R; const scalar CvVib = localCv[i] - CvTrans - CvRot; const scalar rSc = rhoi * Dii[i] / muI[i]; const scalar A = 5./2. - rSc; - const scalar B = Zrot[i] + (2./Neutral::pi) * ((5./3.)*CvRot + rSc); + const scalar B = Zrot[i] + (2./Neutral::pi) * ((5./3.)*(dof[i]/2.) + rSc); const scalar AB = (2./Neutral::pi)*(A/B); const scalar fTrans = (5./2.) * (1.0 - AB * CvRot / CvTrans); - const scalar fRot = rSc*(1.0+AB); + const scalar fRot = rSc*(1.0 + AB); const scalar fVib = rSc; - kI[i] = muI[i]*(fTrans*CvTrans + fRot*CvRot + fVib*CvVib); + kI[i] = (muI[i]/Wpure[i])*(fTrans*CvTrans + fRot*CvRot + fVib*CvVib); }