DAFoam
v4.0.2
Discrete Adjoint with OpenFOAM
dafoam
src
adjoint
DASolver
DAIrkPimpleFoam
p1EqnIrkPimple.H
Go to the documentation of this file.
1
volScalarField
rAU1
(1.0 /
U1Eqn
.A());
2
volVectorField
HbyA1
(constrainHbyA(
rAU1
*
U1Eqn
.H(),
U1
,
p1
));
3
surfaceScalarField
phiHbyA1
(
4
"phiHbyA1"
,
5
fvc::flux(
HbyA1
));
6
7
tmp<volScalarField>
rAtU1
(
rAU1
);
8
9
// Non-orthogonal pressure corrector loop
10
fvScalarMatrix
p1Eqn
(
11
fvm::laplacian(
rAtU1
(),
p1
) == fvc::div(
phiHbyA1
));
12
13
//p1Eqn.setReference(pRefCell, pRefValue);
14
p1Eqn
.setReference(0, 0.0);
15
16
//p1Eqn.solve(mesh.solver(p1.select(pimple.finalInnerIter())));
17
p1Eqn
.solve(solverDictP);
18
19
phi1
=
phiHbyA1
-
p1Eqn
.flux();
20
phi1
=
phi1
.oldTime() + relaxPhi * relaxStage1 * (
phi1
-
phi1
.oldTime());
21
22
// Explicitly relax pressure for momentum corrector
23
//p1.relax(relaxP);
24
p1
=
p1
.oldTime() + relaxP * relaxStage1 * (
p1
-
p1
.oldTime());
25
26
U1
=
HbyA1
-
rAtU1
* fvc::grad(
p1
);
27
U1
=
U1
.oldTime() + relaxU * relaxStage1 * (
U1
-
U1
.oldTime());
28
U1
.correctBoundaryConditions();
29
30
phi1
.oldTime() =
phi1
;
31
p1
.oldTime() =
p1
;
32
U1
.oldTime() =
U1
;
HbyA1
volVectorField HbyA1(constrainHbyA(rAU1 *U1Eqn.H(), U1, p1))
U1Eqn
fvVectorMatrix U1Eqn(fvm::div(phi1, U1, divUScheme) - fvm::laplacian(nuEff1, U1) - fvc::div(nuEff1 *dev2(T(fvc::grad(U1))), divGradUScheme))
phiHbyA1
surfaceScalarField phiHbyA1("phiHbyA1", fvc::flux(HbyA1))
phi1
phi1
Definition:
p1EqnIrkPimple.H:19
rAU1
volScalarField rAU1(1.0/U1Eqn.A())
p1
p1
Definition:
p1EqnIrkPimple.H:24
rAtU1
tmp< volScalarField > rAtU1(rAU1)
p1Eqn
fvScalarMatrix p1Eqn(fvm::laplacian(rAtU1(), p1)==fvc::div(phiHbyA1))
U1
U1
Definition:
p1EqnIrkPimple.H:26
Generated by
1.8.17