Go to the documentation of this file.00001 {
00002 #include <finiteVolume/continuityErrs.H>
00003
00004 wordList pcorrTypes
00005 (
00006 p_rgh.boundaryField().size(),
00007 zeroGradientFvPatchScalarField::typeName
00008 );
00009
00010 for (label i=0; i<p_rgh.boundaryField().size(); i++)
00011 {
00012 if (p_rgh.boundaryField()[i].fixesValue())
00013 {
00014 pcorrTypes[i] = fixedValueFvPatchScalarField::typeName;
00015 }
00016 }
00017
00018 volScalarField pcorr
00019 (
00020 IOobject
00021 (
00022 "pcorr",
00023 runTime.timeName(),
00024 mesh,
00025 IOobject::NO_READ,
00026 IOobject::NO_WRITE
00027 ),
00028 mesh,
00029 dimensionedScalar("pcorr", p_rgh.dimensions(), 0.0),
00030 pcorrTypes
00031 );
00032
00033 dimensionedScalar rAUf("(1|A(U))", dimTime/rho.dimensions(), 1.0);
00034
00035 adjustPhi(phi, U, pcorr);
00036
00037 for(int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
00038 {
00039 fvScalarMatrix pcorrEqn
00040 (
00041 fvm::laplacian(rAUf, pcorr) == fvc::div(phi)
00042 );
00043
00044 pcorrEqn.setReference(pRefCell, pRefValue);
00045 pcorrEqn.solve();
00046
00047 if (nonOrth == nNonOrthCorr)
00048 {
00049 phi -= pcorrEqn.flux();
00050 }
00051 }
00052
00053 #include <finiteVolume/continuityErrs.H>
00054 }