Added missing operators in const and Sutherland Transport: bug fix vanilla
This commit is contained in:
parent
9b52ac2156
commit
5027a4fdce
4 changed files with 106 additions and 8 deletions
|
@ -143,10 +143,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
|
||||
|
|
|
@ -134,6 +134,52 @@ inline constTransport<thermo>& 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 = 1.0/(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 = 1.0/(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>
|
||||
|
|
|
@ -165,10 +165,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
|
||||
|
|
|
@ -173,6 +173,52 @@ inline sutherlandTransport<thermo>& 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>
|
||||
|
|
Reference in a new issue