Skip to content
GitLab
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
e4e42a9f
Commit
e4e42a9f
authored
Jan 10, 2012
by
sergio
Browse files
Merge branch 'master' into fieldSourcesLib
parents
e1462229
e615b0b4
Changes
7
Hide whitespace changes
Inline
Side-by-side
applications/test/List/Test-List.C
View file @
e4e42a9f
...
...
@@ -37,6 +37,8 @@ Description
#include
"vector.H"
#include
"ListOps.H"
#include
<list>
using
namespace
Foam
;
...
...
@@ -117,6 +119,35 @@ int main(int argc, char *argv[])
<<
"-wordList: "
<<
wLst
<<
nl
<<
"-stringList: "
<<
sLst
<<
endl
;
Info
<<
nl
<<
"Test List Iterator Constuctor"
<<
endl
;
List
<
vector
>
initialList
(
IStringStream
(
"((0 1 2) (3 4 5) (6 7 8))"
)());
Info
<<
" Initial List: "
<<
initialList
<<
endl
;
List
<
vector
>
iteratorList
(
initialList
.
begin
(),
initialList
.
end
());
Info
<<
" Foam::List constructed from Foam::List: "
<<
iteratorList
<<
endl
;
std
::
list
<
vector
>
stlList
(
initialList
.
begin
(),
initialList
.
end
());
Info
<<
" std::list constructed from Foam::List: "
;
std
::
list
<
vector
>::
iterator
it
;
for
(
it
=
stlList
.
begin
();
it
!=
stlList
.
end
();
it
++
)
{
Info
<<
*
it
<<
" "
;
}
Info
<<
endl
;
List
<
vector
>
iteratorSTLList
(
stlList
.
begin
(),
stlList
.
end
());
Info
<<
" Foam::List constructed from std::list: "
<<
iteratorList
<<
endl
;
return
0
;
}
...
...
applications/utilities/mesh/manipulation/objToVTK/objToVTK.C
View file @
e4e42a9f
...
...
@@ -273,12 +273,16 @@ int main(int argc, char *argv[])
}
}
outFile
<<
nl
<<
"NORMALS pointNormals float
\n
"
;
forAll
(
pointNormals
,
i
)
if
(
!
pointNormals
.
empty
())
{
const
vector
&
n
=
pointNormals
[
i
]
;
outFile
<<
nl
<<
"NORMALS
pointNormals
float
\n
"
;
outFile
<<
n
.
x
()
<<
' '
<<
n
.
y
()
<<
' '
<<
n
.
z
()
<<
nl
;
forAll
(
pointNormals
,
i
)
{
const
vector
&
n
=
pointNormals
[
i
];
outFile
<<
n
.
x
()
<<
' '
<<
n
.
y
()
<<
' '
<<
n
.
z
()
<<
nl
;
}
}
Info
<<
"End
\n
"
<<
endl
;
...
...
src/OpenFOAM/containers/Lists/List/List.C
View file @
e4e42a9f
...
...
@@ -200,7 +200,7 @@ Foam::List<T>::List(InputIterator first, InputIterator last)
++
iter
)
{
this
->
operator
[](
s
++
)
=
iter
()
;
this
->
operator
[](
s
++
)
=
*
iter
;
}
}
...
...
src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporation/LiquidEvaporation.C
View file @
e4e42a9f
...
...
@@ -232,7 +232,7 @@ Foam::scalar Foam::LiquidEvaporation<CloudType>::dh
"const label, "
"const label, "
"const label"
")"
")
const
"
)
<<
"Unknown enthalpyTransfer type"
<<
abort
(
FatalError
);
}
}
...
...
src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.C
View file @
e4e42a9f
...
...
@@ -157,17 +157,23 @@ void Foam::LiquidEvaporationBoil<CloudType>::calculate
// liquid volume fraction
const
scalarField
X
(
liquids_
.
X
(
Yl
));
// droplet surface pressure
scalar
ps
=
liquids_
.
pv
(
pc
,
T
,
X
);
// droplet surface pressure
assumed to surface vapour pressure
scalar
ps
=
liquids_
.
pv
(
pc
,
T
s
,
X
);
// vapour density at droplet surface [kg/m3]
scalar
rhos
=
ps
*
liquids_
.
W
(
X
)
/
(
specie
::
RR
*
Ts
);
// thermal conductivity of carrier [W/m/K]
// carrier thermo properties
scalar
Hsc
=
0
.
0
;
scalar
Hc
=
0
.
0
;
scalar
Cpc
=
0
.
0
;
scalar
kappac
=
0
.
0
;
forAll
(
this
->
owner
().
thermo
().
carrier
().
Y
(),
i
)
{
const
scalar
Yc
=
this
->
owner
().
thermo
().
carrier
().
Y
()[
i
][
cellI
];
scalar
Yc
=
this
->
owner
().
thermo
().
carrier
().
Y
()[
i
][
cellI
];
Hc
+=
Yc
*
this
->
owner
().
thermo
().
carrier
().
H
(
i
,
Tc
);
Hsc
+=
Yc
*
this
->
owner
().
thermo
().
carrier
().
H
(
i
,
Ts
);
Cpc
+=
Yc
*
this
->
owner
().
thermo
().
carrier
().
Cp
(
i
,
Ts
);
kappac
+=
Yc
*
this
->
owner
().
thermo
().
carrier
().
kappa
(
i
,
Ts
);
}
...
...
@@ -189,32 +195,77 @@ void Foam::LiquidEvaporationBoil<CloudType>::calculate
// carrier phase concentration
const
scalar
Xc
=
XcMix
[
gid
];
if
(
Xc
*
pc
>
pSat
)
{
// saturated vapour - no phase change
}
else
{
// vapour diffusivity [m2/s]
const
scalar
Dab
=
liquids_
.
properties
()[
lid
].
D
(
ps
,
Ts
);
// Schmidt number
const
scalar
Sc
=
nu
/
(
Dab
+
ROOTVSMALL
);
// Sherwood number
const
scalar
Sh
=
this
->
Sh
(
Re
,
Sc
);
if
(
pSat
>
0
.
999
*
pc
)
{
// boiling
// const scalar deltaT = max(Tc - Td, 0.5);
const
scalar
deltaT
=
max
(
Tc
-
T
,
0
.
5
);
// liquid specific heat capacity
const
scalar
Cp
=
liquids_
.
properties
()[
lid
].
Cp
(
pc
,
Td
);
const
scalar
deltaT
=
max
(
T
-
TBoil
,
0
.
5
);
// vapour heat of fomation
// vapour heat of fo
r
mation
const
scalar
hv
=
liquids_
.
properties
()[
lid
].
hl
(
pc
,
Td
);
// Nusselt number
const
scalar
Nu
=
2
.
0
+
0
.
6
*
sqrt
(
Re
)
*
cbrt
(
Pr
);
// empirical heat transfer coefficient W/m2/K
scalar
alphaS
=
0
.
0
;
if
(
deltaT
<
5
.
0
)
{
alphaS
=
760
.
0
*
pow
(
deltaT
,
0
.
26
);
}
else
if
(
deltaT
<
25
.
0
)
{
alphaS
=
27
.
0
*
pow
(
deltaT
,
2
.
33
);
}
else
{
alphaS
=
13800
.
0
*
pow
(
deltaT
,
0
.
39
);
}
// flash-boil vaporisation rate
const
scalar
Gf
=
alphaS
*
deltaT
*
pi
*
sqr
(
d
)
/
hv
;
// model constants
// NOTE: using Sherwood number instead of Nusselt number
const
scalar
A
=
(
Hc
-
Hsc
)
/
hv
;
const
scalar
B
=
pi
*
kappac
/
Cpc
*
d
*
Sh
;
const
scalar
lg
=
log
(
1
.
0
+
Cp
*
deltaT
/
max
(
SMALL
,
hv
));
scalar
G
=
0
.
0
;
if
(
A
>
0
.
0
)
{
// heat transfer from the surroundings contributes
// to the vaporisation process
scalar
Gr
=
1e-5
;
for
(
label
i
=
0
;
i
<
50
;
i
++
)
{
scalar
GrDash
=
Gr
;
G
=
B
/
(
1
.
0
+
Gr
)
*
log
(
1
.
0
+
A
*
(
1
.
0
+
Gr
));
Gr
=
Gf
/
G
;
if
(
mag
(
Gr
-
GrDash
)
/
GrDash
<
1e-3
)
{
break
;
}
}
}
// mass transfer [kg]
dMassPC
[
lid
]
+=
pi
*
kappac
*
Nu
*
lg
*
d
/
Cp
*
dt
;
dMassPC
[
lid
]
+=
(
G
+
Gf
)
*
dt
;
}
else
{
...
...
@@ -226,23 +277,10 @@ void Foam::LiquidEvaporationBoil<CloudType>::calculate
// molar ratio
const
scalar
Xr
=
(
Xs
-
Xc
)
/
max
(
SMALL
,
1
.
0
-
Xs
);
if
(
Xr
>
0
)
{
// vapour diffusivity [m2/s]
const
scalar
Dab
=
liquids_
.
properties
()[
lid
].
D
(
pc
,
Td
);
// Schmidt number
const
scalar
Sc
=
nu
/
(
Dab
+
ROOTVSMALL
);
// Sherwood number
const
scalar
Sh
=
this
->
Sh
(
Re
,
Sc
);
// mass transfer coefficient [m/s]
const
scalar
kc
=
Sh
*
Dab
/
(
d
+
ROOTVSMALL
);
// mass transfer [kg]
dMassPC
[
lid
]
+=
pi
*
sqr
(
d
)
*
kc
*
rhos
*
log
(
1
.
0
+
Xr
)
*
dt
;
dMassPC
[
lid
]
+=
pi
*
d
*
Sh
*
Dab
*
rhos
*
log
(
1
.
0
+
Xr
)
*
dt
;
}
}
}
...
...
@@ -261,18 +299,24 @@ Foam::scalar Foam::LiquidEvaporationBoil<CloudType>::dh
{
scalar
dh
=
0
;
scalar
TDash
=
T
;
if
(
liquids_
.
properties
()[
idl
].
pv
(
p
,
T
)
>=
0
.
999
*
p
)
{
TDash
=
liquids_
.
properties
()[
idl
].
pvInvert
(
p
);
}
typedef
PhaseChangeModel
<
CloudType
>
parent
;
switch
(
parent
::
enthalpyTransfer_
)
{
case
(
parent
:
:
etLatentHeat
)
:
{
dh
=
liquids_
.
properties
()[
idl
].
hl
(
p
,
T
);
dh
=
liquids_
.
properties
()[
idl
].
hl
(
p
,
T
Dash
);
break
;
}
case
(
parent
:
:
etEnthalpyDifference
)
:
{
scalar
hc
=
this
->
owner
().
composition
().
carrier
().
H
(
idc
,
T
);
scalar
hp
=
liquids_
.
properties
()[
idl
].
h
(
p
,
T
);
scalar
hc
=
this
->
owner
().
composition
().
carrier
().
H
(
idc
,
T
Dash
);
scalar
hp
=
liquids_
.
properties
()[
idl
].
h
(
p
,
T
Dash
);
dh
=
hc
-
hp
;
break
;
...
...
@@ -287,7 +331,7 @@ Foam::scalar Foam::LiquidEvaporationBoil<CloudType>::dh
"const label, "
"const label, "
"const label"
")"
")
const
"
)
<<
"Unknown enthalpyTransfer type"
<<
abort
(
FatalError
);
}
}
...
...
src/lagrangian/intermediate/submodels/Reacting/PhaseChangeModel/LiquidEvaporationBoil/LiquidEvaporationBoil.H
View file @
e4e42a9f
...
...
@@ -27,7 +27,16 @@ Class
Description
Liquid evaporation model
- uses ideal gas assumption
- includes boiling model
- includes boiling model based on:
\verbatim
"Studies of Superheated Fuel Spray Structures and Vaporization in
GDI Engines"
Zuo, B., Gomes, A. M. and Rutland C. J.
International Journal of Engine Research, 2000, Vol. 1(4), pp. 321-336
\endverbatim
\*---------------------------------------------------------------------------*/
...
...
tutorials/lagrangian/porousExplicitSourceReactingParcelFoam/parcelInBox/system/fvSolution
View file @
e4e42a9f
...
...
@@ -59,6 +59,7 @@ solvers
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
maxIter 20;
}
pFinal
...
...
@@ -66,7 +67,6 @@ solvers
$p;
tolerance 1e-06;
relTol 0;
maxIter 20;
}
"(Yi|O2|N2|H2O)"
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment