3 volVectorField::Boundary& bfld =
U.boundaryFieldRef();
6 if (bfld[patchi].fixesValue())
8 bfld[patchi].initEvaluate();
12 surfaceScalarField::Boundary& phiBfld =
phi.boundaryFieldRef();
15 if (bfld[patchi].fixesValue())
17 bfld[patchi].evaluate();
19 phiBfld[patchi] = bfld[patchi] &
mesh.Sf().boundaryField()[patchi];
26 p.boundaryField().size(),
27 fvPatchFieldBase::zeroGradientType()
33 if (
p.boundaryField()[patchi].fixesValue())
35 pcorrTypes[patchi] = fixedValueFvPatchScalarField::typeName;
50 dimensionedScalar(
p.dimensions(), Zero),
55 dimensionedScalar
rAUf(
"rAUf", dimTime, 1.0);
61 while (
pimple.correctNonOrthogonal())
66 labelList refCells(nZones, -1);
67 labelList refZones(nZones, -1);
74 refCells[zoneId] == -1
75 &&
cellTypes[cellI] == cellCellStencil::CALCULATED
76 && refZones[zoneId] == -1
79 refCells[zoneId] = cellI;
80 refZones[zoneId] = zoneId;
84 fvScalarMatrix pcorrEqn
92 DynamicList<label> validCells(refCells.size());
95 if (refCells[zoneId] != -1)
97 validCells.push_back(refCells[zoneId]);
101 pcorrEqn.setReferences
117 mesh.fvMesh::solve(pcorrEqn, d);
119 if (
pimple.finalNonOrthogonalIter())
121 phi -= pcorrEqn.flux();
wordList pcorrTypes(p.boundaryField().size(), fvPatchFieldBase::zeroGradientType())
volScalarField pcorr(IOobject("pcorr", runTime.timeName(), mesh, IOobject::NO_READ, IOobject::NO_WRITE), mesh, dimensionedScalar(p.dimensions(), Zero), pcorrTypes)
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU))
const cellCellStencilObject & overlap
const labelIOList & zoneIDs
const labelUList & cellTypes
#define forAll(list, i)
Loop across all elements in list.