diff --git a/src/thermophysicalModels/specie/transport/const/constTransport.H b/src/thermophysicalModels/specie/transport/const/constTransport.H index c1e3120000c6a541fec680e8da07e744fddd1276..ec6bb6573732b1890023bfed41b23a0a06e6ba19 100644 --- a/src/thermophysicalModels/specie/transport/const/constTransport.H +++ b/src/thermophysicalModels/specie/transport/const/constTransport.H @@ -161,10 +161,13 @@ public: // Member operators - inline constTransport& operator= - ( - const constTransport& - ); + inline constTransport& operator=(const constTransport&); + + inline void operator+=(const constTransport&); + + inline void operator-=(const constTransport&); + + inline void operator*=(const scalar); // Friend operators diff --git a/src/thermophysicalModels/specie/transport/const/constTransportI.H b/src/thermophysicalModels/specie/transport/const/constTransportI.H index e58aa79efa95828f2525b1349de8360ae48fcb0b..1581de144ef9d8324272aeb5d1fddb7985d7cff2 100644 --- a/src/thermophysicalModels/specie/transport/const/constTransportI.H +++ b/src/thermophysicalModels/specie/transport/const/constTransportI.H @@ -143,6 +143,52 @@ inline Foam::constTransport<Thermo>& Foam::constTransport<Thermo>::operator= } +template<class Thermo> +inline void Foam::constTransport<Thermo>::operator+= +( + const constTransport<Thermo>& st +) +{ + scalar molr1 = this->nMoles(); + + Thermo::operator+=(st); + + molr1 /= this->nMoles(); + scalar molr2 = st.nMoles()/this->nMoles(); + + mu_ = molr1*mu_ + molr2*st.mu_; + rPr_ = molr1*rPr_ + molr2*st.rPr_; +} + + +template<class Thermo> +inline void Foam::constTransport<Thermo>::operator-= +( + const constTransport<Thermo>& st +) +{ + scalar molr1 = this->nMoles(); + + Thermo::operator-=(st); + + molr1 /= this->nMoles(); + scalar molr2 = st.nMoles()/this->nMoles(); + + mu_ = molr1*mu_ - molr2*st.mu_; + rPr_ = molr1*rPr_ - molr2*st.rPr_; +} + + +template<class Thermo> +inline void Foam::constTransport<Thermo>::operator*= +( + const scalar s +) +{ + Thermo::operator*=(s); +} + + // * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // template<class Thermo> diff --git a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H index f8ac0722dd6178efda9d62653d2c218c1b68c1fd..55f5f27e5a27bc0222b83bd2d5f2386f874e1ec0 100644 --- a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H +++ b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransport.H @@ -180,10 +180,13 @@ public: // Member operators - inline sutherlandTransport& operator= - ( - const sutherlandTransport& - ); + inline sutherlandTransport& operator=(const sutherlandTransport&); + + inline void operator+=(const sutherlandTransport&); + + inline void operator-=(const sutherlandTransport&); + + inline void operator*=(const scalar); // Friend operators diff --git a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransportI.H b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransportI.H index ac79418ed34435d4ca2c16857ef03316a5c8d897..56fcaf6e8f080530b2f4d96be0914360daf92bfe 100644 --- a/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransportI.H +++ b/src/thermophysicalModels/specie/transport/sutherland/sutherlandTransportI.H @@ -180,6 +180,52 @@ Foam::sutherlandTransport<Thermo>::operator= } +template<class Thermo> +inline void Foam::sutherlandTransport<Thermo>::operator+= +( + const sutherlandTransport<Thermo>& st +) +{ + scalar molr1 = this->nMoles(); + + Thermo::operator+=(st); + + molr1 /= this->nMoles(); + scalar molr2 = st.nMoles()/this->nMoles(); + + As_ = molr1*As_ + molr2*st.As_; + Ts_ = molr1*Ts_ + molr2*st.Ts_; +} + + +template<class Thermo> +inline void Foam::sutherlandTransport<Thermo>::operator-= +( + const sutherlandTransport<Thermo>& st +) +{ + scalar molr1 = this->nMoles(); + + Thermo::operator-=(st); + + molr1 /= this->nMoles(); + scalar molr2 = st.nMoles()/this->nMoles(); + + As_ = molr1*As_ - molr2*st.As_; + Ts_ = molr1*Ts_ - molr2*st.Ts_; +} + + +template<class Thermo> +inline void Foam::sutherlandTransport<Thermo>::operator*= +( + const scalar s +) +{ + Thermo::operator*=(s); +} + + // * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * // template<class Thermo>