Skip to content

Commit 7fe024d

Browse files
committed
Merge circlexiang-add-LOX-properties.
Patch description: - Add LOX liquidProperties to DeepFlame package. - The LOX thermo data are extracted from NIST database and re-interpolated using NSRD functions
2 parents 3dce17d + a5e4203 commit 7fe024d

5 files changed

Lines changed: 401 additions & 0 deletions

File tree

src/thermophysicalModels/thermophysicalProperties/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ set(SOURCES
6060
${workDir}/liquidProperties/CH4N2O/CH4N2O.C
6161
${workDir}/liquidProperties/nC3H8O/nC3H8O.C
6262
${workDir}/liquidProperties/iC3H8O/iC3H8O.C
63+
${PROJECT_SOURCE_DIR}/liquidProperties/O2.C
6364

6465
${PROJECT_SOURCE_DIR}/solidProperties/solidProperties/solidProperties.C
6566
${PROJECT_SOURCE_DIR}/solidProperties/solidProperties/solidPropertiesNew.C

src/thermophysicalModels/thermophysicalProperties/Make/files

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ $(workDir)/liquidProperties/MB/MB.C
5151
$(workDir)/liquidProperties/CH4N2O/CH4N2O.C
5252
$(workDir)/liquidProperties/nC3H8O/nC3H8O.C
5353
$(workDir)/liquidProperties/iC3H8O/iC3H8O.C
54+
liquidProperties/O2/O2.C
5455

5556

5657
solidProperties/solidProperties/solidProperties.C
Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
1+
/*---------------------------------------------------------------------------*\
2+
========= |
3+
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4+
\\ / O peration | Website: https://openfoam.org
5+
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
6+
\\/ M anipulation |
7+
-------------------------------------------------------------------------------
8+
License
9+
This file is part of OpenFOAM.
10+
11+
OpenFOAM is free software: you can redistribute it and/or modify it
12+
under the terms of the GNU General Public License as published by
13+
the Free Software Foundation, either version 3 of the License, or
14+
(at your option) any later version.
15+
16+
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18+
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19+
for more details.
20+
21+
You should have received a copy of the GNU General Public License
22+
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23+
24+
\*---------------------------------------------------------------------------*/
25+
26+
#include "O2.H"
27+
#include "addToRunTimeSelectionTable.H"
28+
29+
30+
namespace Foam
31+
{
32+
defineTypeNameAndDebug(O2, 0);
33+
addToRunTimeSelectionTable(liquidProperties, O2,);
34+
addToRunTimeSelectionTable(liquidProperties, O2, dictionary);
35+
}
36+
37+
38+
Foam::O2::O2()
39+
:
40+
liquidProperties
41+
(
42+
0.031999,
43+
154.5994,
44+
5.0464e+6,
45+
0.07495,
46+
0.294248,
47+
54.361,
48+
146.28,
49+
90.188,
50+
-1,
51+
0.0222,
52+
14710.24
53+
),
54+
55+
rho_(1.14632554e+02, 2.75655615e-01, 154.5994, 2.77505361e-01),
56+
57+
pv_(2.68794635e+01, -9.58794777e+02, -1.05052914e+00, -6.90048355e-05, 1.21846002e-02),
58+
59+
hl_(154.5994, 2.89780460e+05, 6.00000000e-01, -7.05482356e-01, 4.75635399e-01, 0.0),
60+
61+
Cp_(154.5994, 1.09590080e+01, 1.45625217e+03, 2.33843393e+01, -8.99949070e+01),
62+
63+
h_(-9.68908452e+05, 2.50637084e+04, -5.16097446e+02, 5.55884345e+00, -2.93205446e-02, 6.09448175e-05),
64+
65+
Cpg_(154.5994, 1.36975300e+01, 3.52746624e+02, -6.80059012e+00, -4.86846476e+01),
66+
67+
B_(1.20601567e-02, -6.15471876e-04, 1.22024524e-05, -1.17761704e-07, 5.54479099e-10, -1.02125637e-12),
68+
69+
mu_(-2.11200494e+00, 7.62848791e+01, -1.61677107e+00, -7.70004913e-30, 1.31855757e+01),
70+
71+
mug_(-1.76036598e+01, 1.50014787e+01, 1.23492678e+00, 1.17825779e-56, 2.53862523e+01),
72+
73+
kappa_(-9.19925611e-02, 1.93351101e-02, -4.51801714e-04, 4.79054225e-06, -2.47777620e-08, 5.00382658e-11),
74+
75+
kappag_(-9.52797778e-01, 5.36816017e-02, -1.17434164e-03, 1.25352582e-05, -6.52648492e-08, 1.32897143e-10),
76+
77+
sigma_(154.5994, 3.83537868e-02, 1.21069008e+00, 4.43081971e-02, -5.45942334e-02, 0.0),
78+
79+
D_(16.3, 18.5, 31.999, 28.0)
80+
{}
81+
82+
83+
Foam::O2::O2
84+
(
85+
const liquidProperties& l,
86+
const NSRDSfunc5& density,
87+
const NSRDSfunc1& vapourPressure,
88+
const NSRDSfunc6& heatOfVapourisation,
89+
const NSRDSfunc14& heatCapacity,
90+
const NSRDSfunc0& enthalpy,
91+
const NSRDSfunc14& idealGasHeatCapacity,
92+
const NSRDSfunc0& secondVirialCoeff,
93+
const NSRDSfunc1& dynamicViscosity,
94+
const NSRDSfunc1& vapourDynamicViscosity,
95+
const NSRDSfunc0& thermalConductivity,
96+
const NSRDSfunc0& vapourThermalConductivity,
97+
const NSRDSfunc6& surfaceTension,
98+
const APIdiffCoefFunc& vapourDiffussivity
99+
)
100+
:
101+
liquidProperties(l),
102+
rho_(density),
103+
pv_(vapourPressure),
104+
hl_(heatOfVapourisation),
105+
Cp_(heatCapacity),
106+
h_(enthalpy),
107+
Cpg_(idealGasHeatCapacity),
108+
B_(secondVirialCoeff),
109+
mu_(dynamicViscosity),
110+
mug_(vapourDynamicViscosity),
111+
kappa_(thermalConductivity),
112+
kappag_(vapourThermalConductivity),
113+
sigma_(surfaceTension),
114+
D_(vapourDiffussivity)
115+
{}
116+
117+
118+
Foam::O2::O2(const dictionary& dict)
119+
:
120+
O2()
121+
{
122+
readIfPresent(*this, dict);
123+
}
124+
125+
126+
127+
void Foam::O2::writeData(Ostream& os) const
128+
{
129+
liquidProperties::writeData(*this, os);
130+
}
131+
132+
133+
134+
Foam::Ostream& Foam::operator<<(Ostream& os, const O2& l)
135+
{
136+
l.writeData(os);
137+
return os;
138+
}
Lines changed: 151 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
/*---------------------------------------------------------------------------*\
2+
========= |
3+
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4+
\\ / O peration | Website: https://openfoam.org
5+
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
6+
\\/ M anipulation |
7+
-------------------------------------------------------------------------------
8+
License
9+
This file is part of OpenFOAM.
10+
11+
OpenFOAM is free software: you can redistribute it and/or modify it
12+
under the terms of the GNU General Public License as published by
13+
the Free Software Foundation, either version 3 of the License, or
14+
(at your option) any later version.
15+
16+
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17+
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18+
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19+
for more details.
20+
21+
You should have received a copy of the GNU General Public License
22+
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23+
24+
Class
25+
Foam::O2
26+
27+
Description
28+
Liquid Oxygen
29+
30+
SourceFiles
31+
O2.C
32+
33+
\*---------------------------------------------------------------------------*/
34+
35+
#ifndef O2_H
36+
#define O2_H
37+
38+
#include "liquidProperties.H"
39+
#include "NSRDSfunc0.H"
40+
#include "NSRDSfunc1.H"
41+
#include "NSRDSfunc5.H"
42+
#include "NSRDSfunc6.H"
43+
#include "NSRDSfunc14.H"
44+
#include "APIdiffCoefFunc.H"
45+
46+
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
47+
48+
namespace Foam
49+
{
50+
51+
52+
class O2
53+
:
54+
public liquidProperties
55+
{
56+
57+
NSRDSfunc5 rho_;
58+
NSRDSfunc1 pv_;
59+
NSRDSfunc6 hl_;
60+
NSRDSfunc14 Cp_;
61+
NSRDSfunc0 h_;
62+
NSRDSfunc14 Cpg_;
63+
NSRDSfunc0 B_;
64+
NSRDSfunc1 mu_;
65+
NSRDSfunc1 mug_;
66+
NSRDSfunc0 kappa_;
67+
NSRDSfunc0 kappag_;
68+
NSRDSfunc6 sigma_;
69+
APIdiffCoefFunc D_;
70+
71+
72+
public:
73+
74+
friend class liquidProperties;
75+
76+
TypeName("O2");
77+
78+
79+
80+
O2();
81+
82+
O2
83+
(
84+
const liquidProperties& l,
85+
const NSRDSfunc5& density,
86+
const NSRDSfunc1& vapourPressure,
87+
const NSRDSfunc6& heatOfVapourisation,
88+
const NSRDSfunc14& heatCapacity,
89+
const NSRDSfunc0& enthalpy,
90+
const NSRDSfunc14& idealGasHeatCapacity,
91+
const NSRDSfunc0& secondVirialCoeff,
92+
const NSRDSfunc1& dynamicViscosity,
93+
const NSRDSfunc1& vapourDynamicViscosity,
94+
const NSRDSfunc0& thermalConductivity,
95+
const NSRDSfunc0& vapourThermalConductivity,
96+
const NSRDSfunc6& surfaceTension,
97+
const APIdiffCoefFunc& vapourDiffussivity
98+
);
99+
100+
O2(const dictionary& dict);
101+
102+
virtual autoPtr<liquidProperties> clone() const
103+
{
104+
return autoPtr<liquidProperties>(new O2(*this));
105+
}
106+
107+
108+
inline scalar rho(scalar p, scalar T) const;
109+
110+
inline scalar pv(scalar p, scalar T) const;
111+
112+
inline scalar hl(scalar p, scalar T) const;
113+
114+
inline scalar Cp(scalar p, scalar T) const;
115+
116+
inline scalar h(scalar p, scalar T) const;
117+
118+
inline scalar Cpg(scalar p, scalar T) const;
119+
120+
inline scalar B(scalar p, scalar T) const;
121+
122+
inline scalar mu(scalar p, scalar T) const;
123+
124+
inline scalar mug(scalar p, scalar T) const;
125+
126+
inline scalar kappa(scalar p, scalar T) const;
127+
128+
inline scalar kappag(scalar p, scalar T) const;
129+
130+
inline scalar sigma(scalar p, scalar T) const;
131+
132+
inline scalar D(scalar p, scalar T) const;
133+
134+
inline scalar D(scalar p, scalar T, scalar Wb) const;
135+
136+
137+
void writeData(Ostream& os) const;
138+
139+
friend Ostream& operator<<(Ostream& os, const O2& l);
140+
};
141+
142+
Ostream& operator<<(Ostream& os, const O2& l);
143+
144+
}
145+
146+
#include "O2I.H"
147+
148+
149+
#endif
150+
151+
// ************************************************************************* //

0 commit comments

Comments
 (0)