diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H b/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H index cb2dfd5ddd1e49261c47ed18216c802b08afdca0..5ddaf3477afca45ad4e705912b094b842565f51a 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/createDyMControls.H @@ -23,3 +23,8 @@ bool ddtCorr ( pimple.dict().lookupOrDefault("ddtCorr", true) ); + +bool adjustFringe +( + pimple.dict().lookupOrDefault("oversetAdjustPhi", false) +); diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C b/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C index 7bb7f8af6b87112aa1b2bbc93fb68a3582f184b7..4a986ef175f419519166b386633dbb16233c0aa8 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/interDyMFoam.C @@ -53,6 +53,7 @@ Description #include "interpolationCellPoint.H" #include "transform.H" #include "fvMeshSubset.H" +#include "oversetAdjustPhi.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -64,7 +65,7 @@ int main(int argc, char *argv[]) #include "createTime.H" #include "createDynamicFvMesh.H" #include "initContinuityErrs.H" - #include "createControl.H" + pimpleControl pimple(mesh); #include "createTimeControls.H" #include "createDyMControls.H" #include "createFields.H" diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H b/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H index 0a5b0296b8b14d0b5dd4d94235636202d8ee81be..e332a353f6e723a015e115f4f098ac9ea5f0d5ac 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/pEqn.H @@ -38,6 +38,13 @@ phiHbyA += phig; + if (adjustFringe) + { + fvc::makeRelative(phiHbyA, U); + oversetAdjustPhi(phiHbyA, U); + fvc::makeAbsolute(phiHbyA, U); + } + // Update the pressure BCs to ensure flux consistency constrainPressure(p_rgh, U, phiHbyA, rAUf, MRF); @@ -64,7 +71,8 @@ "minGradP", fvc::reconstruct((phig - p_rghEqn.flux())/rAUf) ); - U = HbyA + rAU*cellMask*minGradP; + //U = HbyA + rAU*cellMask*minGradP; + U = fvc::reconstruct(phi); U.correctBoundaryConditions(); fvOptions.correct(U); } diff --git a/applications/solvers/multiphase/interFoam/overInterDyMFoam/readControls.H b/applications/solvers/multiphase/interFoam/overInterDyMFoam/readControls.H index 0df2a74f3093bda327c81f9b61d83411df39ecd1..d8481c88704f42298d1b7f2c2fad8f843ce8c135 100644 --- a/applications/solvers/multiphase/interFoam/overInterDyMFoam/readControls.H +++ b/applications/solvers/multiphase/interFoam/overInterDyMFoam/readControls.H @@ -11,5 +11,6 @@ moveMeshOuterCorrectors = massFluxInterpolation = pimple.dict().lookupOrDefault("massFluxInterpolation", false); -ddtCorr = - pimple.dict().lookupOrDefault("ddtCorr", true); \ No newline at end of file +ddtCorr = pimple.dict().lookupOrDefault("ddtCorr", true); + +adjustFringe = pimple.dict().lookupOrDefault("oversetAdjustPhi", false); diff --git a/tutorials/multiphase/overInterDyMFoam/floatingBody/background/system/fvSolution b/tutorials/multiphase/overInterDyMFoam/floatingBody/background/system/fvSolution index f7341ee5c08d1a1fa854770672199238c8fb6b56..04bfe4172aac70c8c36cf696d63b290cfb3af21b 100644 --- a/tutorials/multiphase/overInterDyMFoam/floatingBody/background/system/fvSolution +++ b/tutorials/multiphase/overInterDyMFoam/floatingBody/background/system/fvSolution @@ -85,6 +85,8 @@ PIMPLE ddtCorr yes; correctPhi no; + oversetAdjustPhi no; + moveMeshOuterCorrectors no; turbOnFinalIterOnly no; }