UEqns.H
Go to the documentation of this file.
1 Info<< "Constructing momentum equations" << endl;
2 
3 MRF.correctBoundaryVelocity(U1);
4 MRF.correctBoundaryVelocity(U2);
5 MRF.correctBoundaryVelocity(U);
6 
7 fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVolume/dimTime);
8 fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVolume/dimTime);
9 
10 volScalarField Kd(fluid.Kd());
11 
12 {
13  volScalarField Vm(fluid.Vm());
14 
15  {
16  U1Eqn =
17  (
19  - fvm::Sp(contErr1, U1)
20  + MRF.DDt(alpha1*rho1 + Vm, U1)
21  + phase1.turbulence().divDevRhoReff(U1)
22  ==
23  - Vm
24  *(
25  fvm::ddt(U1)
26  + fvm::div(phi1, U1)
27  - fvm::Sp(fvc::div(phi1), U1)
28  - DDtU2
29  )
30  + fvOptions(alpha1, rho1, U1)
31  );
32  U1Eqn.relax();
33  U1Eqn += fvm::Sp(Kd, U1);
34  fvOptions.constrain(U1Eqn);
35  U1.correctBoundaryConditions();
36  fvOptions.correct(U1);
37  }
38 
39  {
40  U2Eqn =
41  (
43  - fvm::Sp(contErr2, U2)
44  + MRF.DDt(alpha2*rho2 + Vm, U2)
45  + phase2.turbulence().divDevRhoReff(U2)
46  ==
47  - Vm
48  *(
49  fvm::ddt(U2)
50  + fvm::div(phi2, U2)
51  - fvm::Sp(fvc::div(phi2), U2)
52  - DDtU1
53  )
54  + fvOptions(alpha2, rho2, U2)
55  );
56  U2Eqn.relax();
57  U2Eqn += fvm::Sp(Kd, U2);
58  fvOptions.constrain(U2Eqn);
59  U2.correctBoundaryConditions();
60  fvOptions.correct(U2);
61  }
62 }
alphaRhoPhi1
surfaceScalarField & alphaRhoPhi1
Definition: createFieldRefs.H:5
U1
volVectorField & U1
Definition: setRegionFluidFields.H:11
contErr2
contErr2
Definition: correctContErrs.H:5
alpha2
const volScalarField & alpha2
Definition: setRegionFluidFields.H:9
contErr1
contErr1
Definition: correctContErrs.H:1
phi1
surfaceScalarField & phi1
Definition: setRegionFluidFields.H:12
Sp
zeroField Sp
Definition: alphaSuSp.H:2
Foam::endl
Ostream & endl(Ostream &os)
Add newline and flush stream.
Definition: Ostream.H:369
alpha1
const volScalarField & alpha1
Definition: setRegionFluidFields.H:8
fluid
twoPhaseSystem & fluid
Definition: setRegionFluidFields.H:3
Kd
const volScalarField Kd(fluid.Kd())
Foam::fac::div
tmp< GeometricField< Type, faPatchField, areaMesh > > div(const GeometricField< Type, faePatchField, edgeMesh > &ssf)
Definition: facDiv.C:50
phi2
surfaceScalarField & phi2
Definition: setRegionFluidFields.H:16
MRF
IOMRFZoneList & MRF
Definition: setRegionFluidFields.H:22
Foam::dimTime
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
Definition: dimensionSets.H:53
Foam::fvVectorMatrix
fvMatrix< vector > fvVectorMatrix
Definition: fvMatricesFwd.H:47
fvOptions
fv::options & fvOptions
Definition: setRegionFluidFields.H:23
Foam::Info
messageStream Info
Information stream (stdout output on master, null elsewhere)
rho2
volScalarField & rho2
Definition: setRegionFluidFields.H:30
Foam::volScalarField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
Definition: volFieldsFwd.H:57
rho1
volScalarField & rho1
Definition: setRegionFluidFields.H:27
U2
volVectorField & U2
Definition: setRegionFluidFields.H:15
phase2
phaseModel & phase2
Definition: setRegionFluidFields.H:6
U
U
Definition: pEqn.H:72
alphaRhoPhi2
surfaceScalarField & alphaRhoPhi2
Definition: createFieldRefs.H:9
DDtU2
DDtU2
Definition: DDtU.H:8
Foam::fac::ddt
tmp< GeometricField< Type, faPatchField, areaMesh > > ddt(const dimensioned< Type > dt, const faMesh &mesh)
Definition: facDdt.C:47
Foam::GeometricField::relax
void relax(const scalar alpha)
Relax field (for steady-state solution).
Definition: GeometricField.C:972
phase1
phaseModel & phase1
Definition: setRegionFluidFields.H:5
Foam::dimVolume
const dimensionSet dimVolume(pow3(dimLength))
Definition: dimensionSets.H:60