From fd5a14decbd5c2f2c719dfab4445cf333a8ecd2a Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 13 Oct 2014 21:12:51 +0100 Subject: [PATCH] driftFluxFoam: separate advection and diffusion for predictor-corrector MULES to reduce operator-splitting error --- .../solvers/multiphase/driftFluxFoam/alphaEqn.H | 12 ++---------- .../multiphase/driftFluxFoam/alphaEqnSubCycle.H | 1 - 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H b/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H index 1c4aa0a179..d9345cd9c2 100644 --- a/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H +++ b/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H @@ -19,16 +19,7 @@ ).fvmDiv(phi, alpha1) ); - solve - ( - alpha1Eqn - - fv::gaussLaplacianScheme - ( - mesh, - linear(mesh), - fv::uncorrectedSnGrad(mesh) - ).fvmLaplacian(fvc::interpolate(turbulence->nut()), alpha1) - ); + solve(alpha1Eqn); Info<< "Phase-1 volume fraction = " << alpha1.weightedAverage(mesh.Vsc()).value() @@ -42,6 +33,7 @@ if (alphaApplyPrevCorr && tphiAlphaCorr0.valid()) { Info<< "Applying the previous iteration correction flux" << endl; + #ifdef LTSSOLVE MULES::LTScorrect ( diff --git a/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H index 8ad3234a93..4d889f12dd 100644 --- a/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H @@ -50,7 +50,6 @@ // Apply the diffusion term separately to allow implicit solution // and boundedness of the explicit advection - if (!MULESCorr) { fvScalarMatrix alpha1Eqn (