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
ebdb2278
Commit
ebdb2278
authored
Oct 01, 2018
by
sergio
Browse files
ENH: Modifications to overPimpleDyMFoam
parent
3a641275
Changes
3
Hide whitespace changes
Inline
Side-by-side
applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/createFields.H
View file @
ebdb2278
...
...
@@ -39,31 +39,18 @@ mesh.setFluxRequired(p.name());
// Add solver-specific interpolations
{
dictionary
suppressDict
;
{
const
wordHashSet
&
nonInt
=
Stencil
::
New
(
mesh
).
nonInterpolatedFields
();
for
(
auto
fldName
:
nonInt
)
{
suppressDict
.
add
(
fldName
,
true
);
}
suppressDict
.
add
(
"HbyA"
,
true
);
suppressDict
.
add
(
"grad(p)"
,
true
);
suppressDict
.
add
(
"surfaceIntegrate(phi)"
,
true
);
suppressDict
.
add
(
"surfaceIntegrate(phiHbyA)"
,
true
);
suppressDict
.
add
(
"cellMask"
,
true
);
suppressDict
.
add
(
"cellDisplacement"
,
true
);
suppressDict
.
add
(
"interpolatedCells"
,
true
);
}
wordHashSet
&
nonInt
=
const_cast
<
wordHashSet
&>
(
Stencil
::
New
(
mesh
).
nonInterpolatedFields
());
nonInt
.
insert
(
"HbyA"
);
nonInt
.
insert
(
"grad(p)"
);
nonInt
.
insert
(
"surfaceIntegrate(phi)"
);
nonInt
.
insert
(
"surfaceIntegrate(phiHbyA)"
);
nonInt
.
insert
(
"cellMask"
);
nonInt
.
insert
(
"cellDisplacement"
);
nonInt
.
insert
(
"interpolatedCells"
);
nonInt
.
insert
(
"cellInterpolationWeight"
);
const_cast
<
dictionary
&>
(
mesh
.
schemesDict
()
).
add
(
"oversetInterpolationSuppressed"
,
suppressDict
,
true
);
}
// Mask field for zeroing out contributions on hole cells
...
...
applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/overPimpleDyMFoam.C
View file @
ebdb2278
...
...
@@ -104,8 +104,14 @@ int main(int argc, char *argv[])
Uf
*=
faceMaskOld
;
// Update Uf and phi on new C-I faces
Uf
+=
(
1
-
faceMaskOld
)
*
fvc
::
interpolate
(
U
);
phi
=
mesh
.
Sf
()
&
Uf
;
// Zero phi on current H-I
surfaceScalarField
faceMask
(
localMin
<
scalar
>
(
mesh
).
interpolate
(
cellMask
)
);
phi
*=
faceMask
;
}
...
...
applications/solvers/incompressible/pimpleFoam/overPimpleDyMFoam/pEqn.H
View file @
ebdb2278
// Option 1: interpolate rAU, do not block out rAU on blocked cells
volScalarField
rAU
(
"rAU"
,
1
.
0
/
UEqn
.
A
());
mesh
.
interpolate
(
rAU
);
// Option 2: do not interpolate rAU but block out rAU
//surfaceScalarField rAUf("rAUf", fvc::interpolate(blockedCells*rAU));
...
...
@@ -23,6 +24,13 @@ if (massFluxInterpolation)
#include
"interpolatedFaces.H"
}
if
(
runTime
.
outputTime
())
{
H
.
write
();
rAU
.
write
();
HbyA
.
write
();
}
if
(
pimple
.
nCorrPISO
()
<=
1
)
{
tUEqn
.
clear
();
...
...
@@ -42,14 +50,13 @@ if (ddtCorr)
MRF
.
makeRelative
(
phiHbyA
);
// WIP
/*
if
(
p
.
needReference
())
{
fvc
::
makeRelative
(
phiHbyA
,
U
);
adjustPhi
(
phiHbyA
,
U
,
p
);
fvc
::
makeAbsolute
(
phiHbyA
,
U
);
}
*/
if
(
adjustFringe
)
{
...
...
@@ -85,7 +92,11 @@ p.relax();
volVectorField
gradP
(
fvc
::
grad
(
p
));
// Option 2: zero out velocity on blocked out cells
U
=
HbyA
-
rAU
*
cellMask
*
gradP
;
//U = HbyA - rAU*cellMask*gradP;
// Option 3: zero out velocity on blocked out cells
// This is needed for the scalar Eq (k,epsilon, etc)
// which can use U as source term
U
=
cellMask
*
(
HbyA
-
rAU
*
gradP
);
U
.
correctBoundaryConditions
();
fvOptions
.
correct
(
U
);
...
...
@@ -96,5 +107,12 @@ fvOptions.correct(U);
Uf
+=
n
*
(
phi
/
mesh
.
magSf
()
-
(
n
&
Uf
));
}
// Make the fluxes relative to the mesh motion
fvc
::
makeRelative
(
phi
,
U
);
surfaceScalarField
faceMask
(
localMin
<
scalar
>
(
mesh
).
interpolate
(
cellMask
)
);
phi
*=
faceMask
;
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