/*---------------------------------------------------------------------------*\ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License This file is part of OpenFOAM. OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see . \*---------------------------------------------------------------------------*/ #include "Stockmayer.H" #include "error.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // /* const Foam::scalarField Foam::Stockmayer::a( autoPtr( new IStringStream( "6 (1.0548 0.15504 0.55909 2.1705 0.093193 1.5)" ) )() ); const Foam::scalarField Foam::Stockmayer::b( autoPtr( new IStringStream( "6 (1.0413 0.11930 0.43628 1.6041 0.095661 2.0)" ) )() ); */ // * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::Stockmayer::Stockmayer(const Neutral& a, const Neutral& b) : a_(a.dipoleMoment() > 0.0 ? b : a), b_(a.dipoleMoment() > 0.0 ? a : b), eij_(Foam::sqrt(a_.wellDepth()*b_.wellDepth())), sigmaij_((a_.diameter()+b_.diameter())/2.0), piSigmaSqr_(Foam::Particle::pi * sqr(sigmaij_)), Wij_(1.0/(1.0/a_.W() + 1.0/b_.W())), deltaij_(a_.dipoleMoment()*b_.dipoleMoment()/2.0/(eij_*a_.k)/pow3(sigmaij_)) { if (b_.dipoleMoment() > 0.0 && deltaij_ > 0.0) { scalar alphaStar = a_.alpha() / a_.diameter() / a_.diameter() / a_.diameter(); scalar muStar = b_.dipoleMoment() / Foam::sqrt(b_.wellDepth()*b_.diameter()*b_.diameter()*b_.diameter()); scalar ksi = 1.0 + alphaStar * muStar * Foam::sqrt(b_.wellDepth()/a_.wellDepth()); eij_ *= ksi * ksi; sigmaij_ *= Foam::pow(ksi, -1.0/6.0); } } // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::Stockmayer::~Stockmayer() {} // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * * // void Foam::Stockmayer::operator=(const Stockmayer& rhs) { // Check for assignment to self if (this == &rhs) { FatalErrorInFunction << "Attempted assignment to self" << abort(FatalError); } } // * * * * * * * * * * * * * * Friend Functions * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * * // // ************************************************************************* //