Solvers: Rationalized correctPhi

This commit is contained in:
Henry
2015-02-11 13:22:24 +00:00
parent c778346c96
commit 91ffedbeb2
32 changed files with 482 additions and 441 deletions

View File

@ -37,6 +37,7 @@ Description
#include "barotropicCompressibilityModel.H"
#include "incompressibleTwoPhaseMixture.H"
#include "turbulentTransportModel.H"
#include "CorrectPhi.H"
#include "pimpleControl.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -1,25 +1,4 @@
if (mesh.changing())
{
forAll(U.boundaryField(), patchI)
{
if (U.boundaryField()[patchI].fixesValue())
{
U.boundaryField()[patchI].initEvaluate();
}
}
forAll(U.boundaryField(), patchI)
{
if (U.boundaryField()[patchI].fixesValue())
{
U.boundaryField()[patchI].evaluate();
phi.boundaryField()[patchI] =
U.boundaryField()[patchI]
& mesh.Sf().boundaryField()[patchI];
}
}
}
correctUphiBCs(U, phi);
{
volScalarField pcorr

View File

@ -1,12 +1,12 @@
wordList pcorrTypes
(
p_gh.boundaryField().size(),
p.boundaryField().size(),
zeroGradientFvPatchScalarField::typeName
);
for (label i=0; i<p_gh.boundaryField().size(); i++)
for (label i=0; i<p.boundaryField().size(); i++)
{
if (p_gh.boundaryField()[i].fixesValue())
if (p.boundaryField()[i].fixesValue())
{
pcorrTypes[i] = fixedValueFvPatchScalarField::typeName;
}

View File

@ -46,6 +46,7 @@ Description
#include "twoPhaseMixtureThermo.H"
#include "turbulentFluidThermoModel.H"
#include "pimpleControl.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -63,7 +64,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createUf.H"
#include "readControls.H"
#include "createPrghCorrTypes.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"

View File

@ -1,59 +1,13 @@
if (mesh.changing())
{
forAll(U.boundaryField(), patchi)
{
if (U.boundaryField()[patchi].fixesValue())
{
U.boundaryField()[patchi].initEvaluate();
}
}
CorrectPhi
(
U,
phi,
p,
dimensionedScalar("rAUf", dimTime/rho.dimensions(), 1),
divU,
pimple
);
forAll(U.boundaryField(), patchi)
{
if (U.boundaryField()[patchi].fixesValue())
{
U.boundaryField()[patchi].evaluate();
//***HGW phi.oldTime() = phi;
phi.boundaryField()[patchi] =
U.boundaryField()[patchi] & mesh.Sf().boundaryField()[patchi];
}
}
}
{
volScalarField pcorr
(
IOobject
(
"pcorr",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedScalar("pcorr", p.dimensions(), 0.0),
pcorrTypes
);
dimensionedScalar rAUf("rAUf", dimTime/rho.dimensions(), 1.0);
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pcorrEqn
(
fvm::laplacian(rAUf, pcorr) == fvc::div(phi) - divU
);
pcorrEqn.solve();
if (pimple.finalNonOrthogonalIter())
{
phi -= pcorrEqn.flux();
}
}
phi.oldTime() = phi;
#include "continuityErrs.H"
}
#include "continuityErrs.H"

View File

@ -45,6 +45,7 @@ Description
#include "fvcSmooth.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -60,7 +61,6 @@ int main(int argc, char *argv[])
#include "initContinuityErrs.H"
#include "createFields.H"
#include "createFvOptions.H"
#include "createPrghCorrTypes.H"
#include "correctPhi.H"
#include "CourantNo.H"
#include "setInitialrDeltaT.H"

View File

@ -1,40 +1,11 @@
{
#include "continuityErrs.H"
CorrectPhi
(
U,
phi,
p_rgh,
dimensionedScalar("rAUf", dimTime/rho.dimensions(), 1),
geometricZeroField(),
pimple
);
volScalarField pcorr
(
IOobject
(
"pcorr",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedScalar("pcorr", p_rgh.dimensions(), 0.0),
pcorrTypes
);
dimensionedScalar rAUf("rAUf", dimTime/rho.dimensions(), 1.0);
adjustPhi(phi, U, pcorr);
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pcorrEqn
(
fvm::laplacian(rAUf, pcorr) == fvc::div(phi)
);
pcorrEqn.setReference(pRefCell, pRefValue);
pcorrEqn.solve();
if (pimple.finalNonOrthogonalIter())
{
phi -= pcorrEqn.flux();
}
}
#include "continuityErrs.H"
}
#include "continuityErrs.H"

View File

@ -1,65 +1,11 @@
if (mesh.changing())
{
forAll(U.boundaryField(), patchI)
{
if (U.boundaryField()[patchI].fixesValue())
{
U.boundaryField()[patchI].initEvaluate();
}
}
CorrectPhi
(
U,
phi,
p_rgh,
surfaceScalarField("rAUf", fvc::interpolate(rAU)),
geometricZeroField(),
pimple
);
forAll(U.boundaryField(), patchI)
{
if (U.boundaryField()[patchI].fixesValue())
{
U.boundaryField()[patchI].evaluate();
phi.boundaryField()[patchI] =
U.boundaryField()[patchI]
& mesh.Sf().boundaryField()[patchI];
}
}
}
{
volScalarField pcorr
(
IOobject
(
"pcorr",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedScalar("pcorr", p_rgh.dimensions(), 0.0),
pcorrTypes
);
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU));
#ifndef divUCorr
#define divUCorr
#endif
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pcorrEqn
(
fvm::laplacian(rAUf, pcorr) == fvc::div(phi) divUCorr
);
pcorrEqn.setReference(pRefCell, pRefValue);
pcorrEqn.solve();
if (pimple.finalNonOrthogonalIter())
{
phi -= pcorrEqn.flux();
}
}
#undef divUCorr
#include "continuityErrs.H"
}
#include "continuityErrs.H"

View File

@ -40,6 +40,7 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -56,7 +57,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createFvOptions.H"
#include "readTimeControls.H"
#include "createPrghCorrTypes.H"
volScalarField rAU
(

View File

@ -44,6 +44,7 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -60,7 +61,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createFvOptions.H"
#include "readTimeControls.H"
#include "createPrghCorrTypes.H"
#include "correctPhi.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"

View File

@ -37,6 +37,7 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -56,7 +57,6 @@ int main(int argc, char *argv[])
#include "readTimeControls.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"
#include "createPrghCorrTypes.H"
#include "correctPhi.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -46,6 +46,7 @@ Description
#include "IOporosityModelList.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -63,7 +64,6 @@ int main(int argc, char *argv[])
#include "createFvOptions.H"
#include "createPorousZones.H"
#include "readTimeControls.H"
#include "createPrghCorrTypes.H"
#include "correctPhi.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"

View File

@ -0,0 +1,11 @@
CorrectPhi
(
U,
phi,
p_rgh,
surfaceScalarField("rAUf", fvc::interpolate(rAU)),
divU,
pimple
);
#include "continuityErrs.H"

View File

@ -50,6 +50,7 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -67,7 +68,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createFvOptions.H"
#include "readTimeControls.H"
#include "createPcorrTypes.H"
volScalarField rAU
(
@ -128,8 +128,7 @@ int main(int argc, char *argv[])
// Calculate absolute flux from the mapped surface velocity
phi = mesh.Sf() & Uf;
#define divUCorr -divU
#include "../interFoam/interDyMFoam/correctPhi.H"
#include "correctPhi.H"
// Make the flux relative to the mesh motion
fvc::makeRelative(phi, U);

View File

@ -65,7 +65,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createFvOptions.H"
#include "readTimeControls.H"
#include "createPrghCorrTypes.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"

View File

@ -1,38 +1,11 @@
{
#include "continuityErrs.H"
CorrectPhi
(
U,
phi,
p,
dimensionedScalar("rAUf", dimTime/rho.dimensions(), 1),
geometricZeroField(),
pimple
);
volScalarField pcorr
(
IOobject
(
"pcorr",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedScalar("pcorr", p.dimensions(), 0.0),
pcorrTypes
);
dimensionedScalar rAUf("rAUf", dimTime/rho.dimensions(), 1.0);
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pcorrEqn
(
fvm::laplacian(rAUf, pcorr) == fvc::div(phi)
);
pcorrEqn.setReference(pRefCell, pRefValue);
pcorrEqn.solve();
if (pimple.finalNonOrthogonalIter())
{
phi -= pcorrEqn.flux();
}
}
#include "continuityErrs.H"
}
#include "continuityErrs.H"

View File

@ -39,9 +39,9 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "IOMRFZoneList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int main(int argc, char *argv[])
@ -57,7 +57,6 @@ int main(int argc, char *argv[])
#include "createMRFZones.H"
#include "initContinuityErrs.H"
#include "readTimeControls.H"
#include "createPcorrTypes.H"
#include "correctPhi.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"

View File

@ -38,6 +38,7 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -54,7 +55,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createFvOptions.H"
#include "readTimeControls.H"
#include "createPrghCorrTypes.H"
volScalarField rAU
(

View File

@ -37,6 +37,7 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -53,7 +54,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createFvOptions.H"
#include "readTimeControls.H"
#include "createPrghCorrTypes.H"
#include "correctPhi.H"
#include "CourantNo.H"
#include "setInitialDeltaT.H"

View File

@ -1,58 +1,11 @@
if (mesh.changing())
{
forAll(U.boundaryField(), patchI)
{
if (U.boundaryField()[patchI].fixesValue())
{
U.boundaryField()[patchI].initEvaluate();
}
}
CorrectPhi
(
U,
phi,
p_gh,
surfaceScalarField("rAUf", fvc::interpolate(rAU)),
geometricZeroField(),
pimple
);
forAll(U.boundaryField(), patchI)
{
if (U.boundaryField()[patchI].fixesValue())
{
U.boundaryField()[patchI].evaluate();
phi.boundaryField()[patchI] =
U.boundaryField()[patchI]
& mesh.Sf().boundaryField()[patchI];
}
}
}
{
volScalarField pcorr
(
IOobject
(
"pcorr",
runTime.timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
),
mesh,
dimensionedScalar("pcorr", p_gh.dimensions(), 0.0),
pcorrTypes
);
surfaceScalarField rAUf("rAUf", fvc::interpolate(rAU));
while (pimple.correctNonOrthogonal())
{
fvScalarMatrix pcorrEqn
(
fvm::laplacian(rAUf, pcorr) == fvc::div(phi)
);
pcorrEqn.solve();
if (pimple.finalNonOrthogonalIter())
{
phi -= pcorrEqn.flux();
}
}
#include "continuityErrs.H"
}
#include "continuityErrs.H"

View File

@ -43,6 +43,7 @@ Description
#include "turbulentTransportModel.H"
#include "pimpleControl.H"
#include "fvIOoptionList.H"
#include "CorrectPhi.H"
#include "fixedFluxPressureFvPatchScalarField.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -58,7 +59,6 @@ int main(int argc, char *argv[])
#include "createFields.H"
#include "createFvOptions.H"
#include "createPghCorrTypes.H"
volScalarField rAU
(