Merge branch 'master' of /home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
mattijs
2013-08-20 16:02:24 +01:00
44 changed files with 138 additions and 122 deletions

View File

@ -59,7 +59,7 @@ int main(int argc, char *argv[])
// function objects so do it ourselves
runTime.functionObjects().start();
fvOptions.relativeFlux(phi);
fvOptions.makeRelative(phi);
adjustPhi(phi, U, p);
@ -91,7 +91,7 @@ int main(int argc, char *argv[])
}
}
fvOptions.absoluteFlux(phi);
fvOptions.makeAbsolute(phi);
Info<< "continuity error = "
<< mag(fvc::div(phi))().weightedAverage(mesh.V()).value()

View File

@ -16,7 +16,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
while (pimple.correctNonOrthogonal())
{
@ -51,7 +51,7 @@ else
)
);
fvOptions.relativeFlux(phiHbyA);
fvOptions.makeRelative(phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -13,7 +13,7 @@ if (pimple.transonic())
*((fvc::interpolate(HbyA) & mesh.Sf()) - fvc::meshPhi(rho, U))
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
while (pimple.correctNonOrthogonal())
{
@ -45,7 +45,7 @@ else
*((fvc::interpolate(HbyA) & mesh.Sf()) - fvc::meshPhi(rho, U))
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -21,7 +21,7 @@ surfaceScalarField phiHbyA
+ phig
);
fvOptions.relativeFlux(phiHbyA);
fvOptions.makeRelative(phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -16,7 +16,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
while (pimple.correctNonOrthogonal())
{
@ -51,7 +51,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -24,7 +24,7 @@
+ phig
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
fvScalarMatrix p_rghDDtEqn
(

View File

@ -18,7 +18,7 @@
+ fvc::ddtPhiCorr(rAU, rho, U, phi)
);
fvOptions.relativeFlux(phiHbyA);
fvOptions.makeRelative(phiHbyA);
surfaceScalarField phid("phid", fvc::interpolate(thermo.psi())*phiHbyA);
@ -62,7 +62,7 @@
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
fvScalarMatrix pDDtEqn
(

View File

@ -24,7 +24,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
volScalarField Dp("Dp", rho*rAU);
@ -61,7 +61,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
volScalarField Dp("Dp", rho*rAU);

View File

@ -24,7 +24,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
volScalarField Dp("Dp", rho*rAU);
@ -62,7 +62,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
volScalarField Dp("Dp", rho*rAU);

View File

@ -25,7 +25,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
surfaceScalarField phic
(
@ -71,7 +71,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
phiHbyA += fvc::interpolate(rho*(rAtU - rAU))*fvc::snGrad(p)*mesh.magSf();
HbyA -= (rAU - rAtU)*fvc::grad(p);

View File

@ -15,7 +15,7 @@
fvc::interpolate(psi)*(fvc::interpolate(HbyA) & mesh.Sf())
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
while (simple.correctNonOrthogonal())
{
@ -50,7 +50,7 @@
fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf())
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
closedVolume = adjustPhi(phiHbyA, U, p);

View File

@ -22,7 +22,7 @@
fvc::interpolate(rho*HbyA) & mesh.Sf()
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
closedVolume = adjustPhi(phiHbyA, U, p);

View File

@ -24,7 +24,7 @@
+ phig
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
fvScalarMatrix p_rghDDtEqn
(

View File

@ -17,7 +17,7 @@
fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf())
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
bool closedVolume = adjustPhi(phiHbyA, U, p_rgh);

View File

@ -19,7 +19,7 @@
fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf())
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
bool closedVolume = adjustPhi(phiHbyA, U, p_rgh);

View File

@ -24,7 +24,7 @@
+ phig
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
{
fvScalarMatrix p_rghDDtEqn

View File

@ -13,7 +13,7 @@ surfaceScalarField phiHbyA
+ fvc::ddtPhiCorr(rAU, U, phi)
);
fvOptions.relativeFlux(phiHbyA);
fvOptions.makeRelative(phiHbyA);
adjustPhi(phiHbyA, U, p);

View File

@ -6,7 +6,7 @@
surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf());
fvOptions.relativeFlux(phiHbyA);
fvOptions.makeRelative(phiHbyA);
adjustPhi(phiHbyA, U, p);

View File

@ -11,7 +11,7 @@ else
UEqn.clear();
surfaceScalarField phiHbyA("phiHbyA", fvc::interpolate(HbyA) & mesh.Sf());
mrfZones.relativeFlux(phiHbyA);
mrfZones.makeRelative(phiHbyA);
adjustPhi(phiHbyA, U, p);

View File

@ -16,7 +16,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
while (pimple.correctNonOrthogonal())
{
@ -52,7 +52,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -18,7 +18,7 @@ surfaceScalarField phiHbyA
+ phig
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -19,7 +19,7 @@
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
fvScalarMatrix pDDtEqn
(

View File

@ -17,7 +17,7 @@
fvc::interpolate(rho)*(fvc::interpolate(HbyA) & mesh.Sf())
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
while (simple.correctNonOrthogonal())
{

View File

@ -16,7 +16,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
while (pimple.correctNonOrthogonal())
{
@ -52,7 +52,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(psi), phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -16,7 +16,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
while (pimple.correctNonOrthogonal())
{
@ -52,7 +52,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
while (pimple.correctNonOrthogonal())
{

View File

@ -12,7 +12,7 @@
+ fvc::ddtPhiCorr(rAU, rho, U, phi)
);
adjustPhi(phiHbyA, U, p_rgh);
mrfZones.relativeFlux(phiHbyA);
mrfZones.makeRelative(phiHbyA);
phi = phiHbyA;
surfaceScalarField phig

View File

@ -125,6 +125,13 @@ void Foam::multiphaseSystem::solveAlphas()
);
}
// Ensure that the flux at inflow BCs is preserved
phiAlphaCorr.boundaryField() = min
(
phase1.phi().boundaryField()*alpha1.boundaryField(),
phiAlphaCorr.boundaryField()
);
MULES::limit
(
geometricOneField(),

View File

@ -35,8 +35,8 @@
{
phaseModel& phase = iter();
mrfZones.absoluteFlux(phase.phi().oldTime());
mrfZones.absoluteFlux(phase.phi());
mrfZones.makeAbsolute(phase.phi().oldTime());
mrfZones.makeAbsolute(phase.phi());
HbyAs.set(phasei, new volVectorField(phase.U()));
phiHbyAs.set(phasei, new surfaceScalarField(1.0*phase.phi()));
@ -58,8 +58,6 @@
dimensionedScalar("phiHbyA", dimArea*dimVelocity, 0)
);
phi = dimensionedScalar("phi", phi.dimensions(), 0);
phasei = 0;
forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
{
@ -98,9 +96,7 @@
(fvc::interpolate(HbyAs[phasei]) & mesh.Sf())
+ fvc::ddtPhiCorr(rAUs[phasei], alpha, phase.U(), phase.phi())
);
mrfZones.relativeFlux(phiHbyAs[phasei]);
phi += alphafs[phasei]*phiHbyAs[phasei];
mrfZones.makeRelative(phiHbyAs[phasei]);
phiHbyAs[phasei] +=
rAlphaAUfs[phasei]
@ -161,6 +157,9 @@
phasei++;
}
// Reset phi BCs
phi.boundaryField() = 0;
phasei = 0;
forAllIter(PtrDictionary<phaseModel>, fluid.phases(), iter)
{
@ -169,8 +168,12 @@
phase.phi().boundaryField() ==
(mesh.Sf().boundaryField() & phase.U().boundaryField());
mrfZones.relativeFlux(phase.phi().oldTime());
mrfZones.relativeFlux(phase.phi());
mrfZones.makeRelative(phase.phi().oldTime());
mrfZones.makeRelative(phase.phi());
// Update phi BCs before pEqn
phi.boundaryField() +=
alphafs[phasei].boundaryField()*phase.phi().boundaryField();
phasei++;
}

View File

@ -27,6 +27,7 @@ License
#include "diameterModel.H"
#include "fixedValueFvPatchFields.H"
#include "slipFvPatchFields.H"
#include "partialSlipFvPatchFields.H"
#include "surfaceInterpolate.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -157,6 +158,7 @@ Foam::phaseModel::phaseModel
(
isA<fixedValueFvPatchVectorField>(U_.boundaryField()[i])
|| isA<slipFvPatchVectorField>(U_.boundaryField()[i])
|| isA<partialSlipFvPatchVectorField>(U_.boundaryField()[i])
)
{
phiTypes[i] = fixedValueFvPatchScalarField::typeName;

View File

@ -12,7 +12,7 @@
+ fvc::ddtPhiCorr(rAU, rho, U, phi)
);
adjustPhi(phiHbyA, U, p_rgh);
mrfZones.relativeFlux(phiHbyA);
mrfZones.makeRelative(phiHbyA);
phi = phiHbyA;
surfaceScalarField phig

View File

@ -18,7 +18,7 @@ surfaceScalarField phiHbyA
adjustPhi(phiHbyA, U, p_gh);
fvOptions.relativeFlux(phiHbyA);
fvOptions.makeRelative(phiHbyA);
// Update the phi BCs from U before p BCs are updated
phi.boundaryField() = mesh.Sf().boundaryField() & U.boundaryField();

View File

@ -8,10 +8,6 @@
surfaceScalarField rAlphaAU1f(fvc::interpolate(alpha1*rAU1));
surfaceScalarField rAlphaAU2f(fvc::interpolate(alpha2*rAU2));
// Update the phi BCs from U before p BCs are updated
phi1.boundaryField() == (mesh.Sf().boundaryField() & U1.boundaryField());
phi2.boundaryField() == (mesh.Sf().boundaryField() & U2.boundaryField());
volVectorField HbyA1
(
IOobject::groupName("HbyA", phase1.name()),
@ -26,10 +22,10 @@
);
HbyA2 = rAU2*U2Eqn.H();
mrfZones.absoluteFlux(phi1.oldTime());
mrfZones.absoluteFlux(phi1);
mrfZones.absoluteFlux(phi2.oldTime());
mrfZones.absoluteFlux(phi2);
mrfZones.makeAbsolute(phi1.oldTime());
mrfZones.makeAbsolute(phi1);
mrfZones.makeAbsolute(phi2.oldTime());
mrfZones.makeAbsolute(phi2);
// Phase-1 pressure flux (e.g. due to particle-particle pressure)
surfaceScalarField phiP1
@ -62,7 +58,7 @@
);
phi = alpha1f*phiHbyA1 + alpha2f*phiHbyA2;
mrfZones.relativeFlux(phi);
mrfZones.makeRelative(phi);
phiHbyA1 +=
(
@ -70,7 +66,7 @@
- phiP1
+ rAlphaAU1f*(g & mesh.Sf())
);
mrfZones.relativeFlux(phiHbyA1);
mrfZones.makeRelative(phiHbyA1);
phiHbyA2 +=
(
@ -78,12 +74,12 @@
- phiP2
+ rAlphaAU2f*(g & mesh.Sf())
);
mrfZones.relativeFlux(phiHbyA2);
mrfZones.makeRelative(phiHbyA2);
mrfZones.relativeFlux(phi1.oldTime());
mrfZones.relativeFlux(phi1);
mrfZones.relativeFlux(phi2.oldTime());
mrfZones.relativeFlux(phi2);
mrfZones.makeRelative(phi1.oldTime());
mrfZones.makeRelative(phi1);
mrfZones.makeRelative(phi2.oldTime());
mrfZones.makeRelative(phi2);
surfaceScalarField phiHbyA("phiHbyA", alpha1f*phiHbyA1 + alpha2f*phiHbyA2);
@ -174,8 +170,14 @@
{
surfaceScalarField mSfGradp(pEqnIncomp.flux()/Dp);
phi1.boundaryField() ==
(mesh.Sf().boundaryField() & U1.boundaryField());
phi1 = phiHbyA1 + rAlphaAU1f*mSfGradp/fvc::interpolate(rho1);
phi2.boundaryField() ==
(mesh.Sf().boundaryField() & U2.boundaryField());
phi2 = phiHbyA2 + rAlphaAU2f*mSfGradp/fvc::interpolate(rho2);
phi = alpha1f*phi1 + alpha2f*phi2;
dgdt =

View File

@ -30,6 +30,7 @@ License
#include "heatTransferModel.H"
#include "fixedValueFvPatchFields.H"
#include "slipFvPatchFields.H"
#include "partialSlipFvPatchFields.H"
#include "surfaceInterpolate.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
@ -122,6 +123,7 @@ Foam::phaseModel::phaseModel
(
isA<fixedValueFvPatchVectorField>(U_.boundaryField()[i])
|| isA<slipFvPatchVectorField>(U_.boundaryField()[i])
|| isA<partialSlipFvPatchVectorField>(U_.boundaryField()[i])
)
{
phiTypes[i] = fixedValueFvPatchScalarField::typeName;

View File

@ -24,7 +24,7 @@ if (pimple.transonic())
)
);
fvOptions.relativeFlux(fvc::interpolate(psi), phid);
fvOptions.makeRelative(fvc::interpolate(psi), phid);
volScalarField Dp("Dp", rho*rAU);
@ -61,7 +61,7 @@ else
)
);
fvOptions.relativeFlux(fvc::interpolate(rho), phiHbyA);
fvOptions.makeRelative(fvc::interpolate(rho), phiHbyA);
volScalarField Dp("Dp", rho*rAU);