Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
5a4e09c7
Commit
5a4e09c7
authored
Jul 24, 2008
by
henry
Browse files
Added += and -= operators.
parent
898742e6
Changes
6
Hide whitespace changes
Inline
Side-by-side
src/thermophysicalModels/specie/thermo/eConst/eConstThermo.H
View file @
5a4e09c7
...
...
@@ -128,7 +128,7 @@ public:
// Member Functions
//
f
undamaental properties
//
F
undamaental properties
//- Heat capacity at constant pressure [J/(kmol K)]
inline
scalar
cp
(
const
scalar
T
)
const
;
...
...
@@ -152,10 +152,8 @@ public:
// Member operators
inline
eConstThermo
&
operator
=
(
const
eConstThermo
&
);
inline
void
operator
+=
(
const
hConstThermo
&
);
inline
void
operator
-=
(
const
hConstThermo
&
);
// Friend operators
...
...
src/thermophysicalModels/specie/thermo/eConst/eConstThermoI.H
View file @
5a4e09c7
...
...
@@ -24,15 +24,9 @@ License
\*---------------------------------------------------------------------------*/
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// Construct from components
inline
eConstThermo
::
eConstThermo
inline
Foam
::
eConstThermo
::
eConstThermo
(
const
specieThermo
&
st
,
const
scalar
cv
,
...
...
@@ -47,8 +41,11 @@ inline eConstThermo::eConstThermo
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
//- Construct as named copy
inline
eConstThermo
::
eConstThermo
(
const
word
&
name
,
const
eConstThermo
&
ct
)
inline
Foam
::
eConstThermo
::
eConstThermo
(
const
word
&
name
,
const
eConstThermo
&
ct
)
:
specieThermo
(
name
,
ct
),
CV
(
ct
.
CV
),
...
...
@@ -56,10 +53,9 @@ inline eConstThermo::eConstThermo(const word& name, const eConstThermo& ct)
{}
// Construct and return a clone
template
<
class
equationOfState
>
inline
autoPtr
<
eConstThermo
<
equationOfState
>
>
eConstThermo
<
equationOfState
>::
clone
()
const
inline
Foam
::
autoPtr
<
eConstThermo
<
equationOfState
>
>
Foam
::
eConstThermo
<
equationOfState
>::
clone
()
const
{
return
autoPtr
<
eConstThermo
<
equationOfState
>
>
(
...
...
@@ -68,10 +64,9 @@ clone() const
}
// Selector from Istream
template
<
class
equationOfState
>
inline
autoPtr
<
eConstThermo
<
equationOfState
>
>
eConstThermo
<
equationOfState
>::
New
(
Istream
&
is
)
inline
autoPtr
<
eConstThermo
<
equationOfState
>
>
Foam
::
eConstThermo
<
equationOfState
>::
New
(
Istream
&
is
)
{
return
autoPtr
<
eConstThermo
<
equationOfState
>
>
(
...
...
@@ -82,37 +77,40 @@ New(Istream& is)
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
//- Heat capacity at constant pressure [J/(kmol K)]
inline
scalar
eConstThermo
::
cp
(
const
scalar
)
const
inline
Foam
::
scalar
Foam
::
eConstThermo
::
cp
(
const
scalar
)
const
{
return
CV
*
W
()
+
RR
;
}
//- Enthalpy [J/kmol]
inline
scalar
eConstThermo
::
h
(
const
scalar
T
)
const
inline
Foam
::
scalar
Foam
::
eConstThermo
::
h
(
const
scalar
T
)
const
{
return
cp
(
T
)
*
T
+
Hf
*
W
();
}
//- Entropy [J/(kmol K)]
inline
scalar
eConstThermo
::
s
(
const
scalar
T
)
const
inline
Foam
::
scalar
Foam
::
eConstThermo
::
s
(
const
scalar
T
)
const
{
notImplemented
(
"scalar eConstThermo::s(const scalar T) const"
);
return
T
;
}
//- Temperature from Enthalpy given an initial temperature T0
inline
scalar
eConstThermo
::
TH
(
const
scalar
h
,
const
scalar
T0
)
const
inline
Foam
::
scalar
Foam
::
eConstThermo
::
TH
(
const
scalar
h
,
const
scalar
T0
)
const
{
return
(
h
-
Hf
)
/
Cp
(
T0
);
}
//- Temperature from internal energy given an initial temperature T0
inline
scalar
eConstThermo
::
TE
(
const
scalar
e
,
const
scalar
)
const
inline
Foam
::
scalar
Foam
::
eConstThermo
::
TE
(
const
scalar
e
,
const
scalar
)
const
{
return
(
e
-
Hf
)
/
CV
;
}
...
...
@@ -120,7 +118,7 @@ inline scalar eConstThermo::TE(const scalar e, const scalar) const
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
inline
eConstThermo
&
eConstThermo
::
operator
=
inline
Foam
::
eConstThermo
&
Foam
::
eConstThermo
::
operator
=
(
const
eConstThermo
&
ct
)
...
...
@@ -136,7 +134,7 @@ inline eConstThermo& eConstThermo::operator=
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
inline
eConstThermo
operator
+
inline
Foam
::
eConstThermo
Foam
::
operator
+
(
const
eConstThermo
&
ct1
,
const
eConstThermo
&
ct2
...
...
@@ -153,7 +151,7 @@ inline eConstThermo operator+
}
inline
eConstThermo
operator
-
inline
Foam
::
eConstThermo
Foam
::
operator
-
(
const
eConstThermo
&
ct1
,
const
eConstThermo
&
ct2
...
...
@@ -170,7 +168,7 @@ inline eConstThermo operator-
}
inline
eConstThermo
operator
*
inline
Foam
::
eConstThermo
Foam
::
operator
*
(
const
scalar
s
,
const
eConstThermo
&
ct
...
...
@@ -185,7 +183,7 @@ inline eConstThermo operator*
}
inline
eConstThermo
operator
==
inline
Foam
::
eConstThermo
Foam
::
operator
==
(
const
eConstThermo
&
ct1
,
const
eConstThermo
&
ct2
...
...
@@ -195,8 +193,4 @@ inline eConstThermo operator==
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// ************************************************************************* //
src/thermophysicalModels/specie/thermo/hConst/hConstThermo.H
View file @
5a4e09c7
...
...
@@ -108,6 +108,7 @@ class hConstThermo
const
scalar
hf
);
public:
// Constructors
...
...
@@ -127,7 +128,7 @@ public:
// Member Functions
//
f
undamaental properties
//
F
undamaental properties
//- Heat capacity at constant pressure [J/(kmol K)]
inline
scalar
cp
(
const
scalar
T
)
const
;
...
...
@@ -141,10 +142,8 @@ public:
// Member operators
inline
hConstThermo
&
operator
=
(
const
hConstThermo
&
);
inline
void
operator
+=
(
const
hConstThermo
&
);
inline
void
operator
-=
(
const
hConstThermo
&
);
// Friend operators
...
...
src/thermophysicalModels/specie/thermo/hConst/hConstThermoI.H
View file @
5a4e09c7
...
...
@@ -24,16 +24,10 @@ License
\*---------------------------------------------------------------------------*/
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// Construct from components
template
<
class
equationOfState
>
inline
hConstThermo
<
equationOfState
>::
hConstThermo
inline
Foam
::
hConstThermo
<
equationOfState
>::
hConstThermo
(
const
equationOfState
&
st
,
const
scalar
cp
,
...
...
@@ -48,9 +42,8 @@ inline hConstThermo<equationOfState>::hConstThermo
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct as named copy
template
<
class
equationOfState
>
inline
hConstThermo
<
equationOfState
>::
hConstThermo
inline
Foam
::
hConstThermo
<
equationOfState
>::
hConstThermo
(
const
word
&
name
,
const
hConstThermo
&
ct
...
...
@@ -62,10 +55,9 @@ inline hConstThermo<equationOfState>::hConstThermo
{}
// Construct and return a clone
template
<
class
equationOfState
>
inline
autoPtr
<
hConstThermo
<
equationOfState
>
>
hConstThermo
<
equationOfState
>
::
clone
()
const
inline
Foam
::
autoPtr
<
Foam
::
hConstThermo
<
equationOfState
>
>
Foam
::
hConstThermo
<
equationOfState
>::
clone
()
const
{
return
autoPtr
<
hConstThermo
<
equationOfState
>
>
(
...
...
@@ -74,10 +66,9 @@ clone() const
}
// Selector from Istream
template
<
class
equationOfState
>
inline
autoPtr
<
hConstThermo
<
equationOfState
>
>
hConstThermo
<
equationOfState
>
::
New
(
Istream
&
is
)
inline
Foam
::
autoPtr
<
Foam
::
hConstThermo
<
equationOfState
>
>
Foam
::
hConstThermo
<
equationOfState
>::
New
(
Istream
&
is
)
{
return
autoPtr
<
hConstThermo
<
equationOfState
>
>
(
...
...
@@ -88,68 +79,73 @@ New(Istream& is)
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
//- Heat capacity at constant pressure [J/(kmol K)]
template
<
class
equationOfState
>
inline
scalar
hConstThermo
<
equationOfState
>::
cp
(
const
scalar
)
const
inline
Foam
::
scalar
Foam
::
hConstThermo
<
equationOfState
>::
cp
(
const
scalar
)
const
{
return
CP
*
this
->
W
();
}
//- Enthalpy [J/kmol]
template
<
class
equationOfState
>
inline
scalar
hConstThermo
<
equationOfState
>::
h
(
const
scalar
T
)
const
inline
Foam
::
scalar
Foam
::
hConstThermo
<
equationOfState
>::
h
(
const
scalar
T
)
const
{
return
(
CP
*
T
+
Hf
)
*
this
->
W
();
}
//- Entropy [J/(kmol K)]
template
<
class
equationOfState
>
inline
scalar
hConstThermo
<
equationOfState
>::
s
(
const
scalar
T
)
const
inline
Foam
::
scalar
Foam
::
hConstThermo
<
equationOfState
>::
s
(
const
scalar
T
)
const
{
notImplemented
(
"scalar hConstThermo<equationOfState>::s(const scalar T) const"
);
notImplemented
(
"scalar hConstThermo<equationOfState>::s(const scalar T) const"
);
return
T
;
}
/*
//- Temperature from Enthalpy given an initial temperature T0
template<class equationOfState>
inline scalar hConstThermo<equationOfState>::TH(const scalar h, const scalar T0) const
{
return (h - Hf)/Cp(T0);
}
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
//- Temperature from internal energy given an initial temperature T0
template
<
class
equationOfState
>
inline scalar hConstThermo<equationOfState>::TE(const scalar e, const scalar T0) const
inline
void
Foam
::
hConstThermo
<
equationOfState
>::
operator
+=
(
const
hConstThermo
<
equationOfState
>&
ct
)
{
return (e - Hf)/Cv(T0);
scalar
molr1
=
this
->
nMoles
();
equationOfState
::
operator
+=
(
ct
);
molr1
/=
this
->
nMoles
();
scalar
molr2
=
ct
.
nMoles
()
/
this
->
nMoles
();
CP
=
molr1
*
CP
+
molr2
*
ct
.
CP
;
Hf
=
molr1
*
Hf
+
molr2
*
ct
.
Hf
;
}
*/
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
template
<
class
equationOfState
>
inline
hConstThermo
<
equationOfState
>&
hConstThermo
<
equationOfState
>::
operator
=
inline
void
Foam
::
hConstThermo
<
equationOfState
>::
operator
-
=
(
const
hConstThermo
&
ct
const
hConstThermo
<
equationOfState
>
&
ct
)
{
equationOfState
::
operator
=
(
ct
);
scalar
molr1
=
this
->
nMoles
();
equationOfState
::
operator
-=
(
ct
);
CP
=
ct
.
CP
;
Hf
=
ct
.
Hf
;
molr1
/=
this
->
nMoles
()
;
scalar
molr2
=
ct
.
nMoles
()
/
this
->
nMoles
()
;
return
*
this
;
CP
=
molr1
*
CP
-
molr2
*
ct
.
CP
;
Hf
=
molr1
*
Hf
-
molr2
*
ct
.
Hf
;
}
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
template
<
class
equationOfState
>
inline
hConstThermo
<
equationOfState
>
operator
+
inline
Foam
::
hConstThermo
<
equationOfState
>
Foam
::
operator
+
(
const
hConstThermo
<
equationOfState
>&
ct1
,
const
hConstThermo
<
equationOfState
>&
ct2
...
...
@@ -158,7 +154,7 @@ inline hConstThermo<equationOfState> operator+
equationOfState
eofs
(
static_cast
<
const
equationOfState
&>
(
ct1
)
+
static_cast
<
const
equationOfState
&>
(
ct2
)
+
static_cast
<
const
equationOfState
&>
(
ct2
)
);
return
hConstThermo
<
equationOfState
>
...
...
@@ -171,7 +167,7 @@ inline hConstThermo<equationOfState> operator+
template
<
class
equationOfState
>
inline
hConstThermo
<
equationOfState
>
operator
-
inline
Foam
::
hConstThermo
<
equationOfState
>
Foam
::
operator
-
(
const
hConstThermo
<
equationOfState
>&
ct1
,
const
hConstThermo
<
equationOfState
>&
ct2
...
...
@@ -193,7 +189,7 @@ inline hConstThermo<equationOfState> operator-
template
<
class
equationOfState
>
inline
hConstThermo
<
equationOfState
>
operator
*
inline
Foam
::
hConstThermo
<
equationOfState
>
Foam
::
operator
*
(
const
scalar
s
,
const
hConstThermo
<
equationOfState
>&
ct
...
...
@@ -209,7 +205,7 @@ inline hConstThermo<equationOfState> operator*
template
<
class
equationOfState
>
inline
hConstThermo
<
equationOfState
>
operator
==
inline
Foam
::
hConstThermo
<
equationOfState
>
Foam
::
operator
==
(
const
hConstThermo
<
equationOfState
>&
ct1
,
const
hConstThermo
<
equationOfState
>&
ct2
...
...
@@ -219,8 +215,4 @@ inline hConstThermo<equationOfState> operator==
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// ************************************************************************* //
src/thermophysicalModels/specie/thermo/janaf/janafThermo.H
View file @
5a4e09c7
...
...
@@ -35,8 +35,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/
#ifndef janafThermo
2
_H
#define janafThermo
2
_H
#ifndef janafThermo_H
#define janafThermo_H
#include
"scalar.H"
...
...
@@ -85,11 +85,6 @@ Ostream& operator<<
);
#ifdef __GNUC__
typedef
scalar
coeffArray2
[
7
];
#endif
/*---------------------------------------------------------------------------*\
Class janafThermo Declaration
\*---------------------------------------------------------------------------*/
...
...
@@ -122,13 +117,7 @@ private:
inline
void
checkT
(
const
scalar
T
)
const
;
//- Return the coefficients corresponding to the given temperature
inline
const
# ifdef __GNUC__
coeffArray2
&
# else
coeffArray
&
# endif
coeffs
(
const
scalar
T
)
const
;
inline
const
coeffArray
&
coeffs
(
const
scalar
T
)
const
;
public:
...
...
@@ -170,8 +159,6 @@ public:
inline
void
operator
+=
(
const
janafThermo
&
);
inline
void
operator
-=
(
const
janafThermo
&
);
inline
void
operator
*=
(
const
scalar
);
// Friend operators
...
...
src/thermophysicalModels/specie/thermo/janaf/janafThermoI.H
View file @
5a4e09c7
...
...
@@ -26,16 +26,10 @@ License
#include
"janafThermo.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
// Construct from components
template
<
class
equationOfState
>
inline
janafThermo
<
equationOfState
>::
janafThermo
inline
Foam
::
janafThermo
<
equationOfState
>::
janafThermo
(
const
equationOfState
&
st
,
const
scalar
Tlow
,
...
...
@@ -58,9 +52,8 @@ inline janafThermo<equationOfState>::janafThermo
}
// Check given temperature is within the range of the fitted coeffs.
template
<
class
equationOfState
>
inline
void
janafThermo
<
equationOfState
>::
checkT
(
const
scalar
T
)
const
inline
void
Foam
::
janafThermo
<
equationOfState
>::
checkT
(
const
scalar
T
)
const
{
if
(
T
<
Tlow_
||
T
>
Thigh_
)
{
...
...
@@ -75,15 +68,9 @@ inline void janafThermo<equationOfState>::checkT(const scalar T) const
}
// Return the coefficients corresponding to the given temperature
template
<
class
equationOfState
>
inline
const
#ifdef __GNUC__
coeffArray2
&
#else
typename
janafThermo
<
equationOfState
>::
coeffArray
&
#endif
janafThermo
<
equationOfState
>::
coeffs
inline
const
typename
Foam
::
janafThermo
<
equationOfState
>::
coeffArray
&
Foam
::
janafThermo
<
equationOfState
>::
coeffs
(
const
scalar
T
)
const
...
...
@@ -103,9 +90,8 @@ janafThermo<equationOfState>::coeffs
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct as a named copy
template
<
class
equationOfState
>
inline
janafThermo
<
equationOfState
>::
janafThermo
inline
Foam
::
janafThermo
<
equationOfState
>::
janafThermo
(
const
word
&
name
,
const
janafThermo
&
jt
...
...
@@ -126,9 +112,8 @@ inline janafThermo<equationOfState>::janafThermo
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
// Heat capacity at constant pressure [J/(kmol K)]
template
<
class
equationOfState
>
inline
scalar
janafThermo
<
equationOfState
>::
cp
inline
Foam
::
scalar
Foam
::
janafThermo
<
equationOfState
>::
cp
(
const
scalar
T
)
const
...
...
@@ -138,9 +123,8 @@ inline scalar janafThermo<equationOfState>::cp
}
// Enthalpy [J/kmol]
template
<
class
equationOfState
>
inline
scalar
janafThermo
<
equationOfState
>::
h
inline
Foam
::
scalar
Foam
::
janafThermo
<
equationOfState
>::
h
(
const
scalar
T
)
const
...
...
@@ -155,9 +139,8 @@ inline scalar janafThermo<equationOfState>::h
}
// Entropy [J/(kmol K)]
template
<
class
equationOfState
>
inline
scalar
janafThermo
<
equationOfState
>::
s
inline
Foam
::
scalar
Foam
::
janafThermo
<
equationOfState
>::
s
(
const
scalar
T
)
const
...
...
@@ -175,7 +158,7 @@ inline scalar janafThermo<equationOfState>::s
// * * * * * * * * * * * * * * * Member Operators * * * * * * * * * * * * * //
template
<
class
equationOfState
>
inline
void
janafThermo
<
equationOfState
>::
operator
+=
inline
void
Foam
::
janafThermo
<
equationOfState
>::
operator
+=
(
const
janafThermo
<
equationOfState
>&
jt
)
...
...
@@ -210,7 +193,7 @@ inline void janafThermo<equationOfState>::operator+=
template
<
class
equationOfState
>
inline
void
janafThermo
<
equationOfState
>::
operator
-=
inline
void
Foam
::
janafThermo
<
equationOfState
>::
operator
-=
(
const
janafThermo
<
equationOfState
>&
jt
)
...
...
@@ -244,20 +227,10 @@ inline void janafThermo<equationOfState>::operator-=
}
template
<
class
equationOfState
>
inline
void
janafThermo
<
equationOfState
>::
operator
*=
(
const
scalar
s
)
{
equationOfState
::
operator
*=
(
s
);
}
// * * * * * * * * * * * * * * * Friend Operators * * * * * * * * * * * * * //
template
<
class
equationOfState
>
inline
janafThermo
<
equationOfState
>
operator
+
inline
Foam
::
janafThermo
<
equationOfState
>
Foam
::
operator
+
(
const
janafThermo
<
equationOfState
>&
jt1
,
const
janafThermo
<
equationOfState
>&
jt2
...
...
@@ -301,7 +274,7 @@ inline janafThermo<equationOfState> operator+
template
<
class
equationOfState
>
inline
janafThermo
<
equationOfState
>
operator
-
inline
Foam
::
janafThermo
<
equationOfState
>
Foam
::
operator
-
(
const
janafThermo
<
equationOfState
>&
jt1
,
const
janafThermo
<
equationOfState
>&
jt2
...
...
@@ -345,7 +318,7 @@ inline janafThermo<equationOfState> operator-
template
<
class
equationOfState
>
inline
janafThermo
<
equationOfState
>
operator
*
inline
Foam
::
janafThermo
<
equationOfState
>
Foam
::
operator
*
(
const
scalar
s
,
const
janafThermo
<
equationOfState
>&
jt
...
...
@@ -364,7 +337,7 @@ inline janafThermo<equationOfState> operator*
template
<
class
equationOfState
>
inline
janafThermo
<
equationOfState
>
operator
==
inline
Foam
::
janafThermo
<
equationOfState
>
Foam
::
operator
==
(
const
janafThermo
<
equationOfState
>&
jt1
,
const
janafThermo
<
equationOfState
>&
jt2
...
...
@@ -374,8 +347,4 @@ inline janafThermo<equationOfState> operator==
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// ************************************************************************* //
Write
Preview