diff --git a/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C b/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C index 8aaa4333e2..1e5eb4b72e 100644 --- a/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C +++ b/applications/solvers/combustion/XiFoam/XiEngineFoam/XiEngineFoam.C @@ -78,7 +78,7 @@ int main(int argc, char *argv[]) #include "readCombustionProperties.H" #include "createFields.H" #include "createFieldRefs.H" - #include "createRhoUf.H" + #include "createRhoUfIfPresent.H" #include "initContinuityErrs.H" #include "createEngineTimeControls.H" #include "compressibleCourantNo.H" diff --git a/applications/solvers/combustion/XiFoam/XiEngineFoam/pEqn.H b/applications/solvers/combustion/XiFoam/XiEngineFoam/pEqn.H index ef9a7a3d85..c1d9d2770e 100644 --- a/applications/solvers/combustion/XiFoam/XiEngineFoam/pEqn.H +++ b/applications/solvers/combustion/XiFoam/XiEngineFoam/pEqn.H @@ -15,7 +15,8 @@ if (pimple.transonic()) fvc::flux(HbyA) + MRF.zeroFilter ( - rhorAUf*fvc::ddtCorr(rho, U, rhoUf)/fvc::interpolate(rho) + rhorAUf*fvc::ddtCorr(rho, U, phi, rhoUf) + /fvc::interpolate(rho) ) ) ) @@ -48,10 +49,8 @@ else surfaceScalarField phiHbyA ( "phiHbyA", - ( - fvc::flux(rho*HbyA) - + MRF.zeroFilter(rhorAUf*fvc::ddtCorr(rho, U, rhoUf)) - ) + fvc::interpolate(rho)*fvc::flux(HbyA) + + MRF.zeroFilter(rhorAUf*fvc::ddtCorr(rho, U, phi, rhoUf)) ); fvc::makeRelative(phiHbyA, rho, U); @@ -88,11 +87,8 @@ U.correctBoundaryConditions(); fvConstraints.constrain(U); K = 0.5*magSqr(U); -{ - rhoUf = fvc::interpolate(rho*U); - surfaceVectorField n(mesh.Sf()/mesh.magSf()); - rhoUf += n*(fvc::absolute(phi, rho, U)/mesh.magSf() - (n & rhoUf)); -} +// Correct rhoUf if the mesh is moving +fvc::correctRhoUf(rhoUf, rho, U, phi); if (thermo.dpdt()) { diff --git a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C index eb69175ac4..0cb2dc8f9f 100644 --- a/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C +++ b/src/finiteVolume/finiteVolume/ddtSchemes/ddtScheme/ddtScheme.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -184,7 +184,7 @@ tmp ddtScheme::fvcDdtPhiCoeff { if ( - U.boundaryField()[patchi].fixesValue() + !U.boundaryField()[patchi].coupled() || isA(mesh().boundary()[patchi]) ) {