From 67fe50953dffd97c1a1d421a58891105d9e600dd Mon Sep 17 00:00:00 2001 From: ignis Date: Sun, 10 Jun 2018 03:09:35 +0900 Subject: [PATCH] Coulomb interaction collision integral fit coeffs now constexpr and removed reference to ion objects --- diffusivityModel/Coulomb/Coulomb.C | 32 +++++++++++++++++++++++++---- diffusivityModel/Coulomb/Coulomb.H | 7 +------ diffusivityModel/Coulomb/CoulombI.H | 18 ++++++++-------- 3 files changed, 38 insertions(+), 19 deletions(-) diff --git a/diffusivityModel/Coulomb/Coulomb.C b/diffusivityModel/Coulomb/Coulomb.C index 138a6eb..7aea49b 100644 --- a/diffusivityModel/Coulomb/Coulomb.C +++ b/diffusivityModel/Coulomb/Coulomb.C @@ -43,14 +43,38 @@ License Foam::Coulomb::Coulomb(const Ion& a, const Ion& b) : - a_(a), - b_(b), - eij_(abs(a_.z()*b_.z())*sqr(a_.e)/(4.0*a_.pi*a_.eps0*a_.k)), - Wij_(1.0/(1.0/a_.W() + 1.0/b_.W())) + eij_(abs(a.z()*b.z())*sqr(a.e)/(4.0*Foam::Ion::pi*Foam::Ion::eps0*Foam::Ion::k)), + Wij_(inv(inv(a.W()) + inv(b.W()))) { } +/* +Foam::Coulomb::Coulomb(const Electron& a, const Ion& b) +: + // a_(a), + // b_(b), + // eij_(abs(a_.z()*b_.z())*sqr(a_.e)/(4.0*a_.pi*a_.eps0*a_.k)), + // Wij_(1.0/(1.0/a_.W() + 1.0/b_.W())) + eij_(abs(a.z()*b.z())*sqr(a.e)/(4.0*a.pi*a.eps0*a.k)), + Wij_(1.0/(1.0/a.W() + 1.0/b.W())) +{ +} + + +Foam::Coulomb::Coulomb(const Electron& a, const Electron& b) +: + // a_(a), + // b_(b), + // eij_(abs(a_.z()*b_.z())*sqr(a_.e)/(4.0*a_.pi*a_.eps0*a_.k)), + // Wij_(1.0/(1.0/a_.W() + 1.0/b_.W())) + eij_(abs(a.z()*b.z())*sqr(a.e)/(4.0*a.pi*a.eps0*a.k)), + Wij_(1.0/(1.0/a.W() + 1.0/b.W())) +{ +} +*/ + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::Coulomb::~Coulomb() diff --git a/diffusivityModel/Coulomb/Coulomb.H b/diffusivityModel/Coulomb/Coulomb.H index bd5c179..2279478 100644 --- a/diffusivityModel/Coulomb/Coulomb.H +++ b/diffusivityModel/Coulomb/Coulomb.H @@ -39,6 +39,7 @@ SourceFiles #include "scalar.H" #include "scalarField.H" #include "Ion.H" +// #include "Electron.H" #include "Interaction.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -65,12 +66,6 @@ class Coulomb { // Private data - //- Collision participant a - const Ion &a_; - - //- Collision participant b - const Ion &b_; - //- Combined well depth (depend on Debye Length) scalar eij_; diff --git a/diffusivityModel/Coulomb/CoulombI.H b/diffusivityModel/Coulomb/CoulombI.H index fa842cb..f8b472e 100644 --- a/diffusivityModel/Coulomb/CoulombI.H +++ b/diffusivityModel/Coulomb/CoulombI.H @@ -39,34 +39,34 @@ License inline Foam::scalar Foam::Coulomb::Omega11(const scalar Tstar) { - const scalar A = 0.5; - const scalar B = -0.129; + constexpr scalar A = 0.5; + constexpr scalar B = -0.129; return (A * loge (Tstar) + B) / sqr(Tstar); } inline Foam::scalar Foam::Coulomb::Omega22(const scalar Tstar) { - const scalar A = 0.5; - const scalar B = 0.1165; + constexpr scalar A = 0.5; + constexpr scalar B = 0.1165; return (A * loge (Tstar) + B) / sqr(Tstar); } inline Foam::scalar Foam::Coulomb::D(const scalar p, const scalar T, const scalar rhoQc2) { - scalar sigmaij_ = sqrt(a_.eps0 * a_.k * T / (rhoQc2 + ROOTVSMALL)); // Debye length + scalar sigmaij_ = sqrt(Foam::Ion::eps0 * Foam::Ion::k * T / (rhoQc2 + ROOTVSMALL)); // Debye length - return (3.0/8.0) * sqrt(2.0*a_.pi*a_.NA*pow3(a_.k*T)/Wij_) - / (a_.pi * sqr(sigmaij_) * p * Omega11(sigmaij_*T/eij_)); + return (3.0/8.0) * sqrt(2.0*Foam::Ion::pi*Foam::Ion::NA*pow3(Foam::Ion::k*T)/Wij_) + / (Foam::Ion::pi * sqr(sigmaij_) * p * Omega11(sigmaij_*T/eij_)); } inline Foam::scalar Foam::Coulomb::mu(const scalar p, const scalar T, const scalar rhoQc2) { - scalar sigmaij_ = sqrt(a_.eps0 * a_.k * T / (rhoQc2 + ROOTVSMALL)); // Debye length + scalar sigmaij_ = sqrt(Foam::Ion::eps0 * Foam::Ion::k * T / (rhoQc2 + ROOTVSMALL)); // Debye length - return (5.0/16.0) * sqrt(2.0*Wij_*a_.k*T/(a_.pi*a_.NA)) + return (5.0/16.0) * sqrt(2.0*Wij_*Foam::Ion::k*T/(Foam::Ion::pi*Foam::Ion::NA)) / (sqr(sigmaij_) * Omega22(sigmaij_*T/eij_)); }