diff --git a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C index d3ed9805..b39f0c9d 100644 --- a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C +++ b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.C @@ -30,15 +30,10 @@ Description #include "PengRobinsonGas.H" #include "IOstreams.H" -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -namespace Foam -{ - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template -PengRobinsonGas::PengRobinsonGas(Istream& is) +Foam::PengRobinsonGas::PengRobinsonGas(Istream& is) : Specie(is), Tc_(readScalar(is)), @@ -62,83 +57,10 @@ Foam::PengRobinsonGas::PengRobinsonGas {} -// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // - -template -PengRobinsonGas operator+ -( - const PengRobinsonGas& pg1, - const PengRobinsonGas& pg2 -) -{ - scalar nMoles = pg1.nMoles() + pg2.nMoles(); - scalar molr1 = pg1.nMoles()/nMoles; - scalar molr2 = pg2.nMoles()/nMoles; - - return PengRobinsonGas - ( - static_cast(pg1) - + static_cast(pg2), - molr1*pg1.Tc_ + molr2*pg2.Tc_, - molr1*pg1.Pc_ + molr2*pg2.Pc_, - molr1*pg1.omega_ + molr2*pg2.omega_ - ); -} - - -template -PengRobinsonGas operator- -( - const PengRobinsonGas& pg1, - const PengRobinsonGas& pg2 -) -{ - scalar nMoles = pg1.nMoles() + pg2.nMoles(); - scalar molr1 = pg1.nMoles()/nMoles; - scalar molr2 = pg2.nMoles()/nMoles; - - return PengRobinsonGas - ( - static_cast(pg1) - - static_cast(pg2), - molr1*pg1.Tc_ - molr2*pg2.Tc_, - molr1*pg1.Pc_ - molr2*pg2.Pc_, - molr1*pg1.omega_ - molr2*pg2.omega_ - ); -} - - -template -PengRobinsonGas operator* -( - const scalar s, - const PengRobinsonGas& pg -) -{ - return PengRobinsonGas - ( - s*static_cast(pg), - pg.Tc_, - pg.Pc_, - pg.omega_ - ); -} - - -template -PengRobinsonGas operator== -( - const PengRobinsonGas& pg1, - const PengRobinsonGas& pg2 -) -{ - return pg2 - pg1; -} - // * * * * * * * * * * * * * * * Ostream Operator * * * * * * * * * * * * * // template -Ostream& operator<< +Foam::Ostream& Foam::operator<< ( Ostream& os, const PengRobinsonGas& pg @@ -157,8 +79,4 @@ Ostream& operator<< } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - // ************************************************************************* // diff --git a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H index 926b308b..fd141117 100644 --- a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H +++ b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGas.H @@ -93,10 +93,9 @@ class PengRobinsonGas : public Specie { -private: // Private data - //- Critical Temperature [K] + //- Critical Temperature [K] scalar Tc_; //- Critical Pressure [Pa] @@ -221,10 +220,6 @@ public: }; -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // - -} // End namespace Foam - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "PengRobinsonGasI.H" diff --git a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H index 55ac419c..861f2e09 100644 --- a/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H +++ b/src/thermophysicalModels/specie/equationOfState/PengRobinsonGas/PengRobinsonGasI.H @@ -27,13 +27,10 @@ License #include "PengRobinsonGas.H" #include "mathematicalConstants.H" -namespace Foam -{ - // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // template -inline PengRobinsonGas::PengRobinsonGas +inline Foam::PengRobinsonGas::PengRobinsonGas ( const Specie& sp, const scalar& Tc, @@ -51,7 +48,7 @@ inline PengRobinsonGas::PengRobinsonGas // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template -inline PengRobinsonGas::PengRobinsonGas +inline Foam::PengRobinsonGas::PengRobinsonGas ( const word& name, const PengRobinsonGas& pg @@ -65,7 +62,8 @@ inline PengRobinsonGas::PengRobinsonGas template -inline autoPtr > PengRobinsonGas::clone() const +inline Foam::autoPtr > +Foam::PengRobinsonGas::clone() const { return autoPtr > ( @@ -75,7 +73,8 @@ inline autoPtr > PengRobinsonGas::clone() const template -inline autoPtr > PengRobinsonGas::New +inline Foam::autoPtr > +Foam::PengRobinsonGas::New ( Istream& is ) @@ -100,7 +99,11 @@ Foam::PengRobinsonGas::New // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template -inline scalar PengRobinsonGas::rho(scalar p, scalar T) const +inline Foam::scalar Foam::PengRobinsonGas::rho +( + scalar p, + scalar T +) const { scalar z = Z(p, T); return p/(z*this->R()*T); @@ -108,7 +111,11 @@ inline scalar PengRobinsonGas::rho(scalar p, scalar T) const template -inline scalar PengRobinsonGas::psi(scalar p, scalar T) const +inline Foam::scalar Foam::PengRobinsonGas::psi +( + scalar p, + scalar T +) const { scalar z = Z(p, T); return 1.0/(z*this->R()*T); @@ -116,7 +123,11 @@ inline scalar PengRobinsonGas::psi(scalar p, scalar T) const template -inline scalar PengRobinsonGas::Z(scalar p, scalar T) const +inline Foam::scalar Foam::PengRobinsonGas::Z +( + scalar p, + scalar T +) const { scalar a = 0.45724*sqr(this->R())*sqr(Tc_)/Pc_; scalar b = 0.07780*this->R()*Tc_/Pc_; @@ -191,7 +202,7 @@ inline Foam::scalar Foam::PengRobinsonGas::cpMcv // * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * // template -inline void PengRobinsonGas::operator+= +inline void Foam::PengRobinsonGas::operator+= ( const PengRobinsonGas& pg ) @@ -208,7 +219,7 @@ inline void PengRobinsonGas::operator+= } template -inline void PengRobinsonGas::operator-= +inline void Foam::PengRobinsonGas::operator-= ( const PengRobinsonGas& pg ) @@ -226,14 +237,85 @@ inline void PengRobinsonGas::operator-= } template -inline void PengRobinsonGas::operator*=(const scalar s) +inline void Foam::PengRobinsonGas::operator*=(const scalar s) { Specie::operator*=(s); } -// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // + + +template +Foam::PengRobinsonGas Foam::operator+ +( + const PengRobinsonGas& pg1, + const PengRobinsonGas& pg2 +) +{ + scalar nMoles = pg1.nMoles() + pg2.nMoles(); + scalar molr1 = pg1.nMoles()/nMoles; + scalar molr2 = pg2.nMoles()/nMoles; + + return PengRobinsonGas + ( + static_cast(pg1) + + static_cast(pg2), + molr1*pg1.Tc_ + molr2*pg2.Tc_, + molr1*pg1.Pc_ + molr2*pg2.Pc_, + molr1*pg1.omega_ + molr2*pg2.omega_ + ); +} + + +template +Foam::PengRobinsonGas Foam::operator- +( + const PengRobinsonGas& pg1, + const PengRobinsonGas& pg2 +) +{ + scalar nMoles = pg1.nMoles() + pg2.nMoles(); + scalar molr1 = pg1.nMoles()/nMoles; + scalar molr2 = pg2.nMoles()/nMoles; + + return PengRobinsonGas + ( + static_cast(pg1) + - static_cast(pg2), + molr1*pg1.Tc_ - molr2*pg2.Tc_, + molr1*pg1.Pc_ - molr2*pg2.Pc_, + molr1*pg1.omega_ - molr2*pg2.omega_ + ); +} + + +template +Foam::PengRobinsonGas Foam::operator* +( + const scalar s, + const PengRobinsonGas& pg +) +{ + return PengRobinsonGas + ( + s*static_cast(pg), + pg.Tc_, + pg.Pc_, + pg.omega_ + ); +} + + +template +Foam::PengRobinsonGas Foam::operator== +( + const PengRobinsonGas& pg1, + const PengRobinsonGas& pg2 +) +{ + return pg2 - pg1; +} -} // End namespace Foam // ************************************************************************* //