Home
Downloads
Documentation
Installation
User Guide
man-pages
API Documentation
README
Release Notes
Changes
License
Support
SourceForge Project
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
applications
solvers
multiphase
twoPhaseEulerFoam
UEqns.H
Go to the documentation of this file.
1
fvVectorMatrix
UaEqn
(
Ua
,
Ua
.dimensions()*
dimVol
/
dimTime
);
2
fvVectorMatrix
UbEqn
(
Ub
,
Ub
.dimensions()*
dimVol
/
dimTime
);
3
4
{
5
{
6
volTensorField
gradUaT =
fvc::grad
(
Ua
)().
T
();
7
8
if
(kineticTheory.on())
9
{
10
kineticTheory.solve(gradUaT);
11
nuEffa
= kineticTheory.mua()/
rhoa
;
12
}
13
else
// If not using kinetic theory is using Ct model
14
{
15
nuEffa
=
sqr
(Ct)*nutb +
nua
;
16
}
17
18
volTensorField
Rca
19
(
20
"Rca"
,
21
((2.0/3.0)*
I
)*(
sqr
(Ct)*
k
+
nuEffa
*
tr
(gradUaT)) -
nuEffa
*gradUaT
22
);
23
24
if
(kineticTheory.on())
25
{
26
Rca -= ((kineticTheory.lambda()/
rhoa
)*
tr
(gradUaT))*
tensor
(
I
);
27
}
28
29
surfaceScalarField
phiRa =
30
-
fvc::interpolate
(
nuEffa
)*
mesh
.magSf()*
fvc::snGrad
(alpha)
31
/
fvc::interpolate
(alpha + scalar(0.001));
32
33
UaEqn
=
34
(
35
(scalar(1) + Cvm*
rhob
*
beta
/
rhoa
)*
36
(
37
fvm::ddt
(
Ua
)
38
+
fvm::div
(
phia
,
Ua
,
"div(phia,Ua)"
)
39
-
fvm::Sp
(
fvc::div
(
phia
),
Ua
)
40
)
41
42
-
fvm::laplacian
(
nuEffa
,
Ua
)
43
+
fvc::div
(Rca)
44
45
+
fvm::div
(phiRa,
Ua
,
"div(phia,Ua)"
)
46
-
fvm::Sp
(
fvc::div
(phiRa),
Ua
)
47
+ (
fvc::grad
(alpha)/(
fvc::average
(alpha) + scalar(0.001)) & Rca)
48
==
49
// g // Buoyancy term transfered to p-equation
50
-
fvm::Sp
(
beta
/
rhoa
*
K
,
Ua
)
51
//+ beta/rhoa*K*Ub // Explicit drag transfered to p-equation
52
-
beta
/
rhoa
*(
liftCoeff
- Cvm*
rhob
*DDtUb)
53
);
54
55
UaEqn
.relax();
56
}
57
58
{
59
volTensorField
gradUbT =
fvc::grad
(
Ub
)().
T
();
60
volTensorField
Rcb
61
(
62
"Rcb"
,
63
((2.0/3.0)*
I
)*(
k
+
nuEffb
*
tr
(gradUbT)) -
nuEffb
*gradUbT
64
);
65
66
surfaceScalarField
phiRb =
67
-
fvc::interpolate
(
nuEffb
)*
mesh
.magSf()*
fvc::snGrad
(
beta
)
68
/
fvc::interpolate
(
beta
+ scalar(0.001));
69
70
UbEqn
=
71
(
72
(scalar(1) + Cvm*
rhob
*alpha/
rhob
)*
73
(
74
fvm::ddt
(
Ub
)
75
+
fvm::div
(
phib
,
Ub
,
"div(phib,Ub)"
)
76
-
fvm::Sp
(
fvc::div
(
phib
),
Ub
)
77
)
78
79
-
fvm::laplacian
(
nuEffb
,
Ub
)
80
+
fvc::div
(Rcb)
81
82
+
fvm::div
(phiRb,
Ub
,
"div(phib,Ub)"
)
83
-
fvm::Sp
(
fvc::div
(phiRb),
Ub
)
84
85
+ (
fvc::grad
(
beta
)/(
fvc::average
(
beta
) + scalar(0.001)) & Rcb)
86
==
87
// g // Buoyancy term transfered to p-equation
88
-
fvm::Sp
(alpha/
rhob
*
K
,
Ub
)
89
//+ alpha/rhob*K*Ua // Explicit drag transfered to p-equation
90
+ alpha/
rhob
*(
liftCoeff
+ Cvm*
rhob
*DDtUa)
91
);
92
93
UbEqn
.relax();
94
}
95
}
96
97
// ************************ vim: set sw=4 sts=4 et: ************************ //