diff --git a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C index 2b04637b04..d636481b31 100644 --- a/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C +++ b/applications/solvers/compressible/rhoCentralFoam/BCs/T/smoluchowskiJumpTFvPatchScalarField.C @@ -185,12 +185,10 @@ void Foam::smoluchowskiJumpTFvPatchScalarField::updateCoeffs() dimensionedScalar Pr ( - dimensionedScalar::lookupOrDefault - ( - "Pr", - thermophysicalProperties, - 1.0 - ) + "Pr", + dimless, + thermophysicalProperties.subDict("mixture").subDict("transport") + .lookup("Pr") ); Field C2 diff --git a/applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H b/applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H deleted file mode 100644 index e0b16f0f39..0000000000 --- a/applications/solvers/compressible/rhoCentralFoam/readThermophysicalProperties.H +++ /dev/null @@ -1,23 +0,0 @@ -Info<< "Reading thermophysicalProperties\n" << endl; - -// Pr defined as a separate constant to enable calculation of k, currently -// inaccessible through thermo -IOdictionary thermophysicalProperties -( - IOobject - ( - "thermophysicalProperties", - runTime.constant(), - mesh, - IOobject::MUST_READ_IF_MODIFIED, - IOobject::NO_WRITE - ) -); - -dimensionedScalar Pr -( - "Pr", - dimless, - thermophysicalProperties.subDict("mixture").subDict("transport") - .lookup("Pr") -); diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C index 0d69256d21..5f25016a84 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralDyMFoam/rhoCentralDyMFoam.C @@ -46,7 +46,6 @@ int main(int argc, char *argv[]) #include "createTime.H" #include "createMesh.H" #include "createFields.H" - #include "readThermophysicalProperties.H" #include "readTimeControls.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -236,13 +235,10 @@ int main(int argc, char *argv[]) if (!inviscid) { - volScalarField k("k", thermo.Cp()*muEff/Pr); solve ( fvm::ddt(rho, e) - fvc::ddt(rho, e) - fvm::laplacian(turbulence->alphaEff(), e) - + fvc::laplacian(turbulence->alpha(), e) - - fvc::laplacian(k, T) ); thermo.correct(); rhoE = rho*(e + 0.5*magSqr(U)); diff --git a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C index 84a122d0dd..24752a166a 100644 --- a/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C +++ b/applications/solvers/compressible/rhoCentralFoam/rhoCentralFoam.C @@ -45,7 +45,6 @@ int main(int argc, char *argv[]) #include "createTime.H" #include "createMesh.H" #include "createFields.H" - #include "readThermophysicalProperties.H" #include "readTimeControls.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H index c894b36b41..b64277749e 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H @@ -14,16 +14,22 @@ volScalarField& he1 = thermo1.he(); volScalarField& he2 = thermo2.he(); - Info<< max(he1) << min(he1) << endl; + volScalarField Cpv1(thermo1.Cpv()); + volScalarField Cpv2(thermo2.Cpv()); fvScalarMatrix he1Eqn ( fvm::ddt(alpha1, he1) + fvm::div(alphaPhi1, he1) + + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), he1) + - fvm::laplacian(k1, he1) == - heatTransferCoeff*(he1/thermo1.Cp())/rho1 - - fvm::Sp(heatTransferCoeff/thermo1.Cp()/rho1, he1) + heatTransferCoeff*(thermo2.T() - thermo1.T())/rho1 + + heatTransferCoeff*he1/Cpv1/rho1 + - fvm::Sp(heatTransferCoeff/Cpv1/rho1, he1) + alpha1*(dpdt/rho1 - (fvc::ddt(K1) + fvc::div(phi1, K1))) ); @@ -31,10 +37,15 @@ ( fvm::ddt(alpha2, he2) + fvm::div(alphaPhi2, he2) + + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), he2) + - fvm::laplacian(k2, he2) == - heatTransferCoeff*(he2/thermo2.Cp())/rho2 - - fvm::Sp(heatTransferCoeff/thermo2.Cp()/rho2, he2) + heatTransferCoeff*(thermo1.T() - thermo2.T())/rho2 + + heatTransferCoeff*he2/Cpv2/rho2 + - fvm::Sp(heatTransferCoeff/Cpv2/rho2, he2) + alpha2*(dpdt/rho2 - (fvc::ddt(K2) + fvc::div(phi2, K2))) ); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/UEqns.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/UEqns.H index a243db6300..ce5c622f9a 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/UEqns.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/UEqns.H @@ -31,6 +31,9 @@ fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime); fvm::ddt(alpha1, U1) + fvm::div(alphaPhi1, U1) + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), U1) + + Cvm*rho2*alpha1*alpha2/rho1* ( fvm::ddt(U1) @@ -61,6 +64,9 @@ fvVectorMatrix U2Eqn(U2, U2.dimensions()*dimVol/dimTime); fvm::ddt(alpha2, U2) + fvm::div(alphaPhi2, U2) + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), U2) + + Cvm*rho2*alpha1*alpha2/rho2* ( fvm::ddt(U2) diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H index 86d9203dce..a20f53e014 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H @@ -1,9 +1,9 @@ -surfaceScalarField alphaPhi1("alphaPhi", phi1); -surfaceScalarField alphaPhi2("alphaPhi", phi2); +surfaceScalarField alphaPhi1("alphaPhi" + phase1Name, phi1); +surfaceScalarField alphaPhi2("alphaPhi" + phase2Name, phi2); { - word scheme("div(phi,alpha)"); - word schemer("div(phir,alpha)"); + word alphaScheme("div(phi," + alpha1.name() + ')'); + word alpharScheme("div(phir," + alpha1.name() + ')'); surfaceScalarField phic("phic", phi); surfaceScalarField phir("phir", phi1 - phi2); @@ -56,15 +56,55 @@ surfaceScalarField alphaPhi2("alphaPhi", phi2); } } + dimensionedScalar totalDeltaT = runTime.deltaT(); + if (nAlphaSubCycles > 1) + { + alphaPhi1 = dimensionedScalar("0", alphaPhi1.dimensions(), 0); + } - fvScalarMatrix alpha1Eqn + for ( - fvm::ddt(alpha1) - + fvm::div(phic, alpha1, scheme) - + fvm::div(-fvc::flux(-phir, alpha2, schemer), alpha1, schemer) - == - fvm::Sp(Sp, alpha1) + Su - ); + subCycle alphaSubCycle(alpha1, nAlphaSubCycles); + !(++alphaSubCycle).end(); + ) + { + surfaceScalarField alphaPhic1 + ( + fvc::flux + ( + phic, + alpha1, + alphaScheme + ) + + fvc::flux + ( + -fvc::flux(-phir, scalar(1) - alpha1, alpharScheme), + alpha1, + alpharScheme + ) + ); + + MULES::explicitSolve + ( + geometricOneField(), + alpha1, + phi, + alphaPhic1, + Sp, + Su, + (g0.value() > 0 ? alphaMax : 1), + 0 + ); + + if (nAlphaSubCycles > 1) + { + alphaPhi1 += (runTime.deltaT()/totalDeltaT)*alphaPhic1; + } + else + { + alphaPhi1 = alphaPhic1; + } + } if (g0.value() > 0.0) { @@ -74,30 +114,25 @@ surfaceScalarField alphaPhi2("alphaPhi", phi2); fvc::interpolate((1.0/rho1)*rAU1) *g0*min(exp(preAlphaExp*(alpha1f - alphaMax)), expMax); - // ppMagf = - // fvc::interpolate((1.0/rho1)*rAU1) - // *fvc::interpolate - // ( - // g0*min(exp(preAlphaExp*(alpha1 - alphaMax)), expMax) - // ); - - alpha1Eqn -= fvm::laplacian + fvScalarMatrix alpha1Eqn ( - alpha1f*ppMagf, - alpha1, - "laplacian(alphaPpMag,alpha1)" + fvm::ddt(alpha1) - fvc::ddt(alpha1) + - fvm::laplacian + ( + alpha1f*ppMagf, + alpha1, + "laplacian(alpha1PpMag,alpha1)" + ) ); + + alpha1Eqn.relax(); + alpha1Eqn.solve(); + + #include "packingLimiter.H" + + alphaPhi1 += alpha1Eqn.flux(); } - alpha1Eqn.relax(); - alpha1Eqn.solve(); - - //***HGW temporary boundedness-fix pending the introduction of MULES - alpha1 = max(min(alpha1, scalar(1)), scalar(0)); - - #include "packingLimiter.H" - - alphaPhi1 = alpha1Eqn.flux(); alphaPhi2 = phi - alphaPhi1; alpha2 = scalar(1) - alpha1; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C index 65372612b6..50266a195e 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/compressibleTwoPhaseEulerFoam.C @@ -31,6 +31,8 @@ Description \*---------------------------------------------------------------------------*/ #include "fvCFD.H" +#include "MULES.H" +#include "subCycle.H" #include "rhoThermo.H" #include "nearWallDist.H" #include "wallFvPatch.H" diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H index 6095ad6845..cf19664d85 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/createFields.H @@ -16,14 +16,14 @@ ( transportProperties.found("phases") ? wordList(transportProperties.lookup("phases"))[0] - : "phase1" + : "1" ); word phase2Name ( transportProperties.found("phases") ? wordList(transportProperties.lookup("phases"))[1] - : "phase2" + : "2" ); autoPtr phase1 = phaseModel::New diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C index b7e0d3ce9e..ced65bf823 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -73,7 +73,7 @@ Foam::kineticTheoryModels::conductivityModels::Gidaspow::kappa const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H index 463853a9a8..e1470d908b 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -77,7 +77,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C index 9dd47fb88a..b103a1afe2 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -76,7 +76,7 @@ Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::kappa const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H index 2a767f6d34..e2ab8b8cca 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -82,7 +82,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C index dcaba6f5ae..a50c6ceec4 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -73,7 +73,7 @@ Foam::kineticTheoryModels::conductivityModels::Syamlal::kappa const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H index 564d2f406e..e1dea3a781 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -77,7 +77,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H index aafe0eb705..7981a2b141 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -109,7 +109,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const = 0; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C index da8ea176ab..5a10765a1f 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -71,7 +71,7 @@ Foam::kineticTheoryModels::granularPressureModels::Lun::granularPressureCoeff ( const volScalarField& alpha1, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const { @@ -87,7 +87,7 @@ granularPressureCoeffPrime const volScalarField& alpha1, const volScalarField& g0, const volScalarField& g0prime, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const { diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H index ddc9b36633..81e8ac0d29 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -76,7 +76,7 @@ public: ( const volScalarField& alpha1, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const; @@ -85,7 +85,7 @@ public: const volScalarField& alpha1, const volScalarField& g0, const volScalarField& g0prime, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const; }; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C index a0d51e431a..03b0fc1d0c 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -74,7 +74,7 @@ granularPressureCoeff ( const volScalarField& alpha1, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const { @@ -90,7 +90,7 @@ granularPressureCoeffPrime const volScalarField& alpha1, const volScalarField& g0, const volScalarField& g0prime, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const { diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H index 8555ce9411..199c995797 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -76,7 +76,7 @@ public: ( const volScalarField& alpha1, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const; @@ -85,7 +85,7 @@ public: const volScalarField& alpha1, const volScalarField& g0, const volScalarField& g0prime, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const; }; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H index 76d2701af6..df3ef7e8c1 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -109,7 +109,7 @@ public: ( const volScalarField& alpha1, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const = 0; @@ -119,7 +119,7 @@ public: const volScalarField& alpha1, const volScalarField& g0, const volScalarField& g0prime, - const dimensionedScalar& rho1, + const volScalarField& rho1, const dimensionedScalar& e ) const = 0; }; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 18db3a70df..8139356820 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -45,8 +45,7 @@ Foam::kineticTheoryModel::kineticTheoryModel phi1_(phase1.phi()), draga_(draga), - rho1_(phase1.rho()[0]), //***HGW - nu1_(phase1.nu()()[0]), //***HGW + rho1_(phase1.rho()), kineticTheoryProperties_ ( @@ -203,9 +202,9 @@ void Foam::kineticTheoryModel::solve(const volTensorField& gradU1t) volScalarField da_(phase1_.d()); - surfaceScalarField phi(1.5*rho1_*phi1_*fvc::interpolate(alpha1_)); + surfaceScalarField phi(1.5*phi1_*fvc::interpolate(rho1_*alpha1_)); - volTensorField dU(gradU1t.T()); //fvc::grad(U1_); + volTensorField dU(gradU1t.T()); volSymmTensorField D(symm(dU)); // NB, drag = K*alpha1*alpha2, diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H index 714f83839b..a5861ae129 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -64,8 +64,7 @@ class kineticTheoryModel const dragModel& draga_; - const dimensionedScalar& rho1_; - const dimensionedScalar& nu1_; + const volScalarField& rho1_; //- dictionary holding the modeling info IOdictionary kineticTheoryProperties_; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C index 55282b6de8..e3bf99518c 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -67,7 +67,7 @@ Foam::kineticTheoryModels::viscosityModels::Gidaspow::mu1 const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H index dd286e8b2d..0e3631ac0b 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -76,7 +76,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C index e3c07f91d5..9f7fdd22cc 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -75,7 +75,7 @@ Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::mu1 const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H index 2f1e54fd03..80b0e863ae 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -84,7 +84,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C index 3bc988bb48..fa7ba802d2 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -67,7 +67,7 @@ Foam::kineticTheoryModels::viscosityModels::Syamlal::mu1 const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H index d996e0e51a..f82ef8af06 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -77,7 +77,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C index f6350844d5..85f495cca5 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -58,7 +58,7 @@ Foam::tmp Foam::kineticTheoryModels::noneViscosity::mu1 const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H index a53ffde21a..641ebe30eb 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -75,7 +75,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H index 80fb9dafce..91007f0538 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -111,7 +111,7 @@ public: const volScalarField& alpha1, const volScalarField& Theta, const volScalarField& g0, - const dimensionedScalar& rho1, + const volScalarField& rho1, const volScalarField& da, const dimensionedScalar& e ) const = 0; diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.C b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.C index 64d59b436d..5dff309b57 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/phaseModel/phaseModel/phaseModel.C @@ -51,7 +51,15 @@ Foam::phaseModel::phaseModel dimensionedScalar("alpha", dimless, 0) ), name_(phaseName), - phaseDict_(transportProperties.subDict(phaseName)), + phaseDict_ + ( + transportProperties.subDict + ( + phaseName == "1" || phaseName == "2" + ? "phase" + phaseName + : word(phaseName) + ) + ), thermo_(rhoThermo::New(mesh, phaseName)), U_ ( diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H index 9767d7c845..cb8b4efc3b 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H @@ -1,3 +1,4 @@ #include "readTimeControls.H" int nAlphaCorr(readInt(pimple.dict().lookup("nAlphaCorr"))); + int nAlphaSubCycles(readInt(pimple.dict().lookup("nAlphaSubCycles"))); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/kEpsilon.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/kEpsilon.H index bc9a07b0a8..b74e1b18d7 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/kEpsilon.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/turbulenceModel/kEpsilon.H @@ -16,6 +16,10 @@ if (turbulence) ( fvm::ddt(alpha2, epsilon) + fvm::div(alphaPhi2, epsilon) + + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), epsilon) + - fvm::laplacian ( alpha1Eps*nuEff2, epsilon, @@ -41,6 +45,10 @@ if (turbulence) ( fvm::ddt(alpha2, k) + fvm::div(alphaPhi2, k) + + // Compressibity correction + - fvm::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), k) + - fvm::laplacian ( alpha1k*nuEff2, k, diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options index 7cd8f48ee4..688b9364b6 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/multiphaseEulerFoam/Make/options @@ -1,4 +1,4 @@ -EXE_INC = \ +EXE_INC = -g \ -IphaseModel/lnInclude \ -ImultiphaseSystem/lnInclude \ -ImultiphaseFixedFluxPressure \ diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H b/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H index e6478e4d89..a63ff3c85a 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H @@ -32,9 +32,10 @@ forAllIter(PtrDictionary, fluid.phases(), iter) "div(Rc)" ) == - - fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U) + //- fvm::Sp(fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), U) //- (alpha*phase.rho())*fluid.lift(phase) - + (alpha/phase.rho())*fluid.Svm(phase) + //+ + (alpha/phase.rho())*fluid.Svm(phase) - fvm::Sp ( slamDampCoeff @@ -53,7 +54,7 @@ forAllIter(PtrDictionary, fluid.phases(), iter) alpha*(1 + (1/phase.rho())*fluid.Cvm(phase)), UEqns[phasei] ); - UEqns[phasei].relax(); + //UEqns[phasei].relax(); phasei++; } diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H b/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H index 07d867b1e7..5e71a2eeeb 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/pEqn.H @@ -67,8 +67,29 @@ const volScalarField& alpha = phase; alphafs.set(phasei, fvc::interpolate(alpha).ptr()); - rAUs.set(phasei, (1.0/UEqns[phasei].A()).ptr()); - rAlphaAUfs.set(phasei, fvc::interpolate(alpha*rAUs[phasei]).ptr()); + + volScalarField dragCoeffi + ( + IOobject + ( + "dragCoeffi", + runTime.timeName(), + mesh + ), + fluid.dragCoeff(phase, dragCoeffs())/phase.rho(), + zeroGradientFvPatchScalarField::typeName + ); + dragCoeffi.correctBoundaryConditions(); + + rAUs.set(phasei, (1.0/(UEqns[phasei].A() + dragCoeffi)).ptr()); + rAlphaAUfs.set + ( + phasei, + ( + alphafs[phasei] + /fvc::interpolate(UEqns[phasei].A() + dragCoeffi) + ).ptr() + ); HbyAs[phasei] = rAUs[phasei]*UEqns[phasei].H(); @@ -115,10 +136,9 @@ } phiHbyAs[phasei] += - fvc::interpolate - ( - (1.0/phase.rho())*rAUs[phasei]*(*dcIter()) - )*phase2Ptr->phi(); + fvc::interpolate((*dcIter())/phase.rho()) + /fvc::interpolate(UEqns[phasei].A() + dragCoeffi) + *phase2Ptr->phi(); HbyAs[phasei] += (1.0/phase.rho())*rAUs[phasei]*(*dcIter()) @@ -240,7 +260,7 @@ + rAlphaAUfs[phasei]*mSfGradp/phase.rho() ); - // phase.U() = fvc::reconstruct(phase.phi()); + //phase.U() = fvc::reconstruct(phase.phi()); phase.U().correctBoundaryConditions(); U += alpha*phase.U(); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H b/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H index ddb923cf87..ae21059446 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/alphaEqn.H @@ -1,7 +1,4 @@ { - label nAlphaCorr(readLabel(pimple.dict().lookup("nAlphaCorr"))); - label nAlphaSubCycles(readLabel(pimple.dict().lookup("nAlphaSubCycles"))); - word alphaScheme("div(phi,alpha1)"); word alpharScheme("div(phir,alpha1)"); @@ -24,7 +21,7 @@ !(++alphaSubCycle).end(); ) { - surfaceScalarField phiAlpha + surfaceScalarField alphaPhic1 ( fvc::flux ( @@ -44,7 +41,7 @@ ( alpha1, phi, - phiAlpha, + alphaPhic1, (g0.value() > 0 ? alphaMax : 1), 0 ); @@ -54,11 +51,6 @@ { surfaceScalarField alpha1f(fvc::interpolate(alpha1)); - // ppMagf = rAU1f*fvc::interpolate - // ( - // (1.0/(rho1*(alpha1 + scalar(0.0001)))) - // *g0*min(exp(preAlphaExp*(alpha1 - alphaMax)), expMax) - // ); ppMagf = rAU1f/(alpha1f + scalar(0.0001)) *(g0/rho1)*min(exp(preAlphaExp*(alpha1f - alphaMax)), expMax); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H b/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H index 4e6847debe..1abe3ef10d 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/readTwoPhaseEulerFoamControls.H @@ -1,3 +1,5 @@ #include "readTimeControls.H" + int nAlphaCorr(readInt(pimple.dict().lookup("nAlphaCorr"))); + int nAlphaSubCycles(readInt(pimple.dict().lookup("nAlphaSubCycles"))); Switch correctAlpha(pimple.dict().lookup("correctAlpha")); diff --git a/applications/utilities/mesh/advanced/collapseEdges/meshQualityDict b/applications/utilities/mesh/advanced/collapseEdges/meshQualityDict index 49810f468b..9a514a8e17 100644 --- a/applications/utilities/mesh/advanced/collapseEdges/meshQualityDict +++ b/applications/utilities/mesh/advanced/collapseEdges/meshQualityDict @@ -2,24 +2,16 @@ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | -| \\ / A nd | Web: http://www.openfoam.org | +| \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ - FoamFile { version 2.0; format ascii; - - root ""; - case ""; - instance ""; - local ""; - class dictionary; object meshQualityDict; } - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // //- Maximum non-orthogonality allowed. Set to 180 to disable. diff --git a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C index 9d523c1cd6..88c7f67a41 100644 --- a/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C +++ b/applications/utilities/surface/surfaceFeatureExtract/surfaceFeatureExtract.C @@ -744,7 +744,7 @@ int main(int argc, char *argv[]) // Read // ~~~~ - triSurface surf("constant/triSurface/" + surfFileName); + triSurface surf(runTime.constantPath()/"triSurface"/surfFileName); Info<< "Statistics:" << endl; surf.writeStats(Info); @@ -1338,7 +1338,7 @@ int main(int argc, char *argv[]) { vtkSurfaceWriter().write ( - runTime.constant()/"triSurface", // outputDir + runTime.constantPath()/"triSurface",// outputDir sFeatFileName, // surfaceName surf.points(), faces, @@ -1350,7 +1350,7 @@ int main(int argc, char *argv[]) vtkSurfaceWriter().write ( - runTime.constant()/"triSurface", // outputDir + runTime.constantPath()/"triSurface",// outputDir sFeatFileName, // surfaceName surf.points(), faces, @@ -1403,7 +1403,7 @@ int main(int argc, char *argv[]) { vtkSurfaceWriter().write ( - runTime.constant()/"triSurface", // outputDir + runTime.constantPath()/"triSurface",// outputDir sFeatFileName, // surfaceName surf.points(), faces, @@ -1482,7 +1482,7 @@ int main(int argc, char *argv[]) { vtkSurfaceWriter().write ( - runTime.constant()/"triSurface", // outputDir + runTime.constantPath()/"triSurface",// outputDir sFeatFileName, // surfaceName surf.points(), faces, diff --git a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L index 23c689107c..c0cce76a2a 100644 --- a/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L +++ b/src/thermophysicalModels/reactionThermo/chemistryReaders/chemkinReader/chemkinLexer.L @@ -439,9 +439,20 @@ bool finishReaction = false; {thermoSpecieName} { string specieString(foamSpecieString(YYText())); - specieString.replaceAll(" ", "_"); - size_t strEnd = specieString.find_last_not_of('_'); - currentSpecieName = specieString.substr(0, strEnd + 1); + // Old format + size_t spacePos = specieString.find(' '); + if (spacePos != string::npos) + { + currentSpecieName = specieString(0, spacePos); + } + else + { + currentSpecieName = specieString; + } + // New format + // specieString.replaceAll(" ", "_"); + // size_t strEnd = specieString.find_last_not_of('_'); + // currentSpecieName = specieString.substr(0, strEnd + 1); BEGIN(readThermoDate); } diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/Allrun b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/Allrun index ca832252d8..abde516d9c 100755 --- a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/Allrun +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/Allrun @@ -20,7 +20,7 @@ runApplication datToFoam grid256.dat CONST="constant" cat $CONST/pointsHeader $CONST/points.tmp > $CONST/polyMesh/points -runApplication collapseEdges "2e-07" 5 +runApplication collapseEdges moveTimeMeshToConstant echo "Changing patch type to wedge type in boundary file" diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/collapseDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/collapseDict new file mode 100644 index 0000000000..95602e9516 --- /dev/null +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/collapseDict @@ -0,0 +1,84 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object collapseDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +collapseEdgesCoeffs +{ + // Edges shorter than this absolute value will be merged + minimumEdgeLength 2e-7; + + // The maximum angle between two edges that share a point attached to + // no other edges + maximumMergeAngle 5; + + // The amount that minimumEdgeLength will be reduced by for each + // edge if that edge's collapse generates a poor quality face + reductionFactor 0.5; +} + + +collapseFacesCoeffs +{ + // The initial face length factor + initialFaceLengthFactor 0.5; + + // The amount that initialFaceLengthFactor will be reduced by for each + // face if its collapse generates a poor quality face + reductionFactor $initialFaceLengthFactor; + + // If the face can't be collapsed to an edge, and it has a span less than + // the target face length multiplied by this coefficient, collapse it + // to a point. + maxCollapseFaceToPointSideLengthCoeff 0.3; + + // Allow early collapse of edges to a point + allowEarlyCollapseToPoint on; + + // Fraction to premultiply maxCollapseFaceToPointSideLengthCoeff by if + // allowEarlyCollapseToPoint is enabled + allowEarlyCollapseCoeff 0.2; + + // Defining how close to the midpoint (M) of the projected + // vertices line a projected vertex (X) can be before making this + // an invalid edge collapse + // + // X---X-g----------------M----X-----------g----X--X + // + // Only allow a collapse if all projected vertices are outwith + // guardFraction (g) of the distance form the face centre to the + // furthest vertex in the considered direction + guardFraction 0.1; +} + + +meshQualityCoeffs +{ + // Name of the dictionary that has the mesh quality coefficients used + // by motionSmoother::checkMesh + #include "meshQualityDict"; + + // Maximum number of smoothing iterations for the reductionFactors + maximumSmoothingIterations 2; + + // Maximum number of outer iterations is mesh quality checking is enabled + maximumIterations 10; + + // Maximum number of iterations deletion of a point can cause a bad face + // to be constructed before it is forced to not be deleted + maxPointErrorCount 5; +} + + +// ************************************************************************* // diff --git a/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/meshQualityDict b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/meshQualityDict new file mode 100644 index 0000000000..5f6ea7accc --- /dev/null +++ b/tutorials/compressible/rhoCentralFoam/biconic25-55Run35/system/meshQualityDict @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + object meshQualityDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +//- Maximum non-orthogonality allowed. Set to 180 to disable. +maxNonOrtho 180; + +//- Max skewness allowed. Set to <0 to disable. +maxBoundarySkewness 50; + +//- Max skewness allowed. Set to <0 to disable. +maxInternalSkewness 10; + +//- Max concaveness allowed. Is angle (in degrees) below which concavity +// is allowed. 0 is straight face, <0 would be convex face. +// Set to 180 to disable. +maxConcave 80; + +//- Minimum pyramid volume. Is absolute volume of cell pyramid. +// Set to a sensible fraction of the smallest cell volume expected. +// Set to very negative number (e.g. -1E30) to disable. +minVol 1e-20; + +//- Minimum quality of the tet formed by the face-centre +// and variable base point minimum decomposition triangles and +// the cell centre. This has to be a positive number for tracking +// to work. Set to very negative number (e.g. -1E30) to +// disable. +// <0 = inside out tet, +// 0 = flat tet +// 1 = regular tet +minTetQuality 1e-30; + +//- Minimum face area. Set to <0 to disable. +minArea -1; + +//- Minimum face twist. Set to <-1 to disable. dot product of face normal +//- and face centre triangles normal +minTwist 0.0; + +//- minimum normalised cell determinant +//- 1 = hex, <= 0 = folded or flattened illegal cell +minDeterminant 0.001; + +//- minFaceWeight (0 -> 0.5) +minFaceWeight 0.02; + +//- minVolRatio (0 -> 1) +minVolRatio 0.01; + +//must be >0 for Fluent compatibility +minTriangleTwist -1; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/transportProperties b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/transportProperties index 408d5f97d6..4109b97fba 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/transportProperties +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/constant/transportProperties @@ -29,8 +29,6 @@ air water { - //R 1e10; - diameterModel constant; constantCoeffs { diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSchemes b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSchemes index d53ef42583..1851801037 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSchemes +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSchemes @@ -27,25 +27,20 @@ gradSchemes divSchemes { - default none; + default none; - div(phi,alpha) Gauss limitedLinear01 1; - div(phir,alpha) Gauss limitedLinear01 1; - div(alphaPhi,Uair) Gauss limitedLinearV 1; - div(alphaPhi,Uwater) Gauss limitedLinearV 1; - div(phiair,Uair) Gauss limitedLinearV 1; - div(phiwater,Uwater) Gauss limitedLinearV 1; - div((alphaair*Rc)) Gauss linear; - div((alphawater*Rc)) Gauss linear; - div(alphaPhi,hair) Gauss limitedLinear 1; - div(alphaPhi,hwater) Gauss limitedLinear 1; - div(alphaPhiwater,k) Gauss limitedLinear 1; - div(alphaPhiwater,epsilon) Gauss limitedLinear 1; - div(phi,Theta) Gauss limitedLinear 1; - div(phidair,p) Gauss upwind; - div(phidwater,p) Gauss upwind; - div(phiair,Kair) Gauss limitedLinear 1; - div(phiwater,Kwater) Gauss limitedLinear 1; + div(phi,alphaair) Gauss vanLeer; + div(phir,alphaair) Gauss vanLeer; + + "div\(alphaPhi.*,U.*\)" Gauss limitedLinearV 1; + "div\(phi.*,U.*\)" Gauss limitedLinearV 1; + "div\(\(alpha.*Rc\)\)" Gauss linear; + "div\(phid.*,p\)" Gauss upwind; + + "div\(alphaPhi.*,h.*\)" Gauss limitedLinear 1; + "div\(phi.*,K.*\)" Gauss limitedLinear 1; + + "div\(alphaPhi.*,(k|epsilon)\)" Gauss limitedLinear 1; } laplacianSchemes @@ -67,7 +62,6 @@ fluxRequired { default no; p ; - alphaair ; } diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution index 96e43b3c1d..067ac927d0 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution @@ -49,8 +49,8 @@ solvers "h.*" { - solver PCG; //PBiCG; - preconditioner DIC; //DILU; + solver PBiCG; + preconditioner DILU; tolerance 1e-8; relTol 0; } @@ -63,23 +63,7 @@ solvers relTol 0; } - "Theta.*" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - "k.*" - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-05; - relTol 0; - } - - "epsilon.*" + "(k|epsilon|Theta).*" { solver PBiCG; preconditioner DILU; @@ -93,8 +77,8 @@ PIMPLE nOuterCorrectors 1; nCorrectors 2; nNonOrthogonalCorrectors 0; - nAlphaCorr 2; - correctAlpha no; + nAlphaCorr 1; + nAlphaSubCycles 2; } relaxationFactors diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/0/p b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/0/p index 32272654ba..08560053d5 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/0/p +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/0/p @@ -22,18 +22,20 @@ boundaryField { inlet { - type zeroGradient; + type fixedFluxPressure; + value $internalField; } outlet { type fixedValue; - value uniform 1e5; + value $internalField; } walls { - type zeroGradient; + type fixedFluxPressure; + value $internalField; } frontAndBackPlanes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/polyMesh/boundary b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/polyMesh/boundary index 56005a65f5..a9ee4ff2e6 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/polyMesh/boundary +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/polyMesh/boundary @@ -38,6 +38,7 @@ FoamFile frontAndBackPlanes { type empty; + inGroups 1(empty); nFaces 12000; startFace 12230; } diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/thermophysicalProperties1 b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/thermophysicalProperties1 new file mode 100644 index 0000000000..94e852ea58 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/thermophysicalProperties1 @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 100; + } + equationOfState + { + rho 2500; + } + thermodynamics + { + Cp 6000; + Hf 0; + } + transport + { + mu 2.5e-03; + Pr 24.47; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/thermophysicalProperties2 b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/thermophysicalProperties2 new file mode 100644 index 0000000000..11c033af59 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/thermophysicalProperties2 @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectGas; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.9; + } + thermodynamics + { + Cp 1007; + Hf 0; + } + transport + { + mu 1.84e-05; + Pr 0.7; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/transportProperties b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/transportProperties index 524505727e..22cb823b5e 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/transportProperties +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/constant/transportProperties @@ -17,14 +17,6 @@ FoamFile phase1 { - rho 2500; - rho0 2500; - R 1e10; - Cp 6000; - - nu 1e-06; - kappa 0.613; - diameterModel constant; constantCoeffs { @@ -34,14 +26,6 @@ phase1 phase2 { - rho 1.2; - rho0 0; - R 287; - Cp 721; - - nu 1.5e-05; - kappa 2.63e-2; - diameterModel constant; constantCoeffs { diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/controlDict b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/controlDict index e688082587..e07be01b0e 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/controlDict +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/controlDict @@ -17,7 +17,7 @@ FoamFile application compressibleTwoPhaseEulerFoam; -startFrom latestTime; +startFrom startTime; startTime 0; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSchemes b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSchemes index 4412903f93..8799476cc7 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSchemes +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSchemes @@ -17,57 +17,52 @@ FoamFile ddtSchemes { - default Euler; + default Euler; } gradSchemes { - default Gauss linear; + default Gauss linear; } divSchemes { - default none; + default none; - div(alphaPhi1,U1) Gauss limitedLinearV 1; - div(alphaPhi2,U2) Gauss limitedLinearV 1; - div(phi1,U1) Gauss limitedLinearV 1; - div(phi2,U2) Gauss limitedLinearV 1; - div(alphaPhi1,T1) Gauss limitedLinear 1; - div(alphaPhi2,T2) Gauss limitedLinear 1; - div(alphaPhi2,k) Gauss limitedLinear 1; - div(alphaPhi2,epsilon) Gauss limitedLinear 1; - div(phi,alpha1) Gauss limitedLinear01 1; - div(phir,alpha1) Gauss limitedLinear01 1; - div(phi,Theta) Gauss limitedLinear 1; - div((alpha1*Rc1)) Gauss linear; - div((alpha2*Rc2)) Gauss linear; - div(phid1,p) Gauss upwind; - div(phid2,p) Gauss upwind; - div(phi1,K1) Gauss limitedLinear 1; - div(phi2,K2) Gauss limitedLinear 1; + div(phi,alpha1) Gauss vanLeer; + div(phir,alpha1) Gauss vanLeer; + + "div\(alphaPhi.,U.\)" Gauss limitedLinearV 1; + "div\(phi.,U.\)" Gauss limitedLinearV 1; + "div\(\(alpha.*Rc\)\)" Gauss linear; + "div\(phid.,p\)" Gauss upwind; + + "div\(alphaPhi.,h.\)" Gauss limitedLinear 1; + "div\(phi.,K.\)" Gauss limitedLinear 1; + + div(alphaPhi2,k) Gauss limitedLinear 1; + div(alphaPhi2,epsilon) Gauss limitedLinear 1; } laplacianSchemes { - default Gauss linear uncorrected; + default Gauss linear uncorrected; } interpolationSchemes { - default linear; + default linear; } snGradSchemes { - default uncorrected; + default uncorrected; } fluxRequired { - default no; - p ; - alpha1 ; + default no; + p ; } diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution index bfbead6573..1c5fdb8117 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution @@ -47,7 +47,7 @@ solvers relTol 0; } - "T.*" + "h.*" { solver PBiCG; preconditioner DILU; @@ -90,11 +90,11 @@ solvers PIMPLE { - nOuterCorrectors 1; - nCorrectors 2; + nOuterCorrectors 3; + nCorrectors 1; nNonOrthogonalCorrectors 0; - nAlphaCorr 2; - correctAlpha yes; + nAlphaCorr 1; + nAlphaSubCycles 2; } relaxationFactors @@ -105,7 +105,7 @@ relaxationFactors equations { "U.*" 1; - "T.*" 1; + "h.*" 1; "alpha.*" 1; "Theta.*" 1; "k.*" 1; diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary index 292f25b806..188a0f0c58 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/polyMesh/boundary @@ -32,12 +32,14 @@ FoamFile front { type empty; + inGroups 1(empty); nFaces 3072; startFace 6336; } back { type empty; + inGroups 1(empty); nFaces 3072; startFace 9408; } diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties1 b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties1 new file mode 100644 index 0000000000..11c033af59 --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties1 @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectGas; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.9; + } + thermodynamics + { + Cp 1007; + Hf 0; + } + transport + { + mu 1.84e-05; + Pr 0.7; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties2 b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties2 new file mode 100644 index 0000000000..672b24a98b --- /dev/null +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/thermophysicalProperties2 @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture pureMixture; + transport const; + thermo hConst; + equationOfState perfectFluid; + specie specie; + energy sensibleEnthalpy; +} + +mixture +{ + specie + { + nMoles 1; + molWeight 28.9; + } + equationOfState + { + rho0 1027; + } + thermodynamics + { + Cp 4195; + Hf 0; + } + transport + { + mu 3.645e-4; + Pr 2.289; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/transportProperties b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/transportProperties index 9ea9ed2189..071be24444 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/transportProperties +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/constant/transportProperties @@ -17,14 +17,6 @@ FoamFile phase1 { - rho0 0; - rho 0.88; - R 287; - Cp 1007; - nu 2.46e-05; - d 4e-3; - - kappa 2.63e-2; diameterModel isothermal; isothermalCoeffs { @@ -35,14 +27,6 @@ phase1 phase2 { - rho 733; - rho0 733; - R 1e10; - Cp 4195; - nu 2.73e-6; - d 1e-4; - - kappa 0.668; diameterModel constant; constantCoeffs { @@ -54,12 +38,13 @@ phase2 Cvm 0.5; // Lift coefficient -Cl 0; +Cl 0; // Dispersed-phase turbulence coefficient -Ct 0.2; +Ct 1; // Minimum allowable pressure pMin 10000; + // ************************************************************************* // diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSchemes b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSchemes index 56e5e3fd0d..c88d130244 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSchemes +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSchemes @@ -29,16 +29,18 @@ divSchemes { default none; - div(phi,alpha1) Gauss limitedLinear01 1; - div(phir,alpha1) Gauss limitedLinear01 1; - "div\(phi.,U.\)" Gauss limitedLinearV 1; + div(phi,alpha1) Gauss vanLeer; + div(phir,alpha1) Gauss vanLeer; + "div\(alphaPhi.,U.\)" Gauss limitedLinearV 1; - "div\(\(alpha.*Rc.\)\)" Gauss linear; - "div\(alphaPhi.,(k|epsilon)\)" Gauss limitedLinear 1; - div(phi,Theta) Gauss limitedLinear 1; - "div\(phi.,K.\)" Gauss linear; - "div\(alphaPhi.,T.\)" Gauss limitedLinear 1; + "div\(phi.,U.\)" Gauss limitedLinearV 1; + "div\(\(alpha.*Rc\)\)" Gauss linear; "div\(phid.,p\)" Gauss linear; + + "div\(alphaPhi.,h.\)" Gauss limitedLinear 1; + "div\(phi.,K.\)" Gauss linear; + + "div\(alphaPhi.,(k|epsilon)\)" Gauss limitedLinear 1; } laplacianSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution index 891746fcf3..97c8cb32d1 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/mixerVessel2D/system/fvSolution @@ -36,7 +36,7 @@ solvers relTol 0; } - U + "U.*" { solver smoothSolver; smoother GaussSeidel; @@ -45,14 +45,6 @@ solvers relTol 0.1; } - UFinal - { - solver PBiCG; - preconditioner DILU; - tolerance 1e-07; - relTol 0; - } - "alpha.*" { solver PBiCG; @@ -61,7 +53,7 @@ solvers relTol 0; } - "(k|epsilon|Theta|T).*" + "(k|epsilon|Theta|h).*" { solver PBiCG; preconditioner DILU; @@ -76,7 +68,7 @@ PIMPLE nCorrectors 3; nNonOrthogonalCorrectors 0; nAlphaCorr 1; - correctAlpha yes; + nAlphaSubCycles 2; pRefCell 0; pRefValue 0; } @@ -85,16 +77,15 @@ relaxationFactors { fields { - p 1; } equations { "U.*" 1; + "h.*" 1; "alpha.*" 1; "Theta.*" 1; "k.*" 1; "epsilon.*" 1; - "T.*" 1; } } diff --git a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/transportProperties b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/transportProperties index 995339fd09..c78a74d48d 100644 --- a/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/transportProperties +++ b/tutorials/multiphase/interPhaseChangeFoam/cavitatingBullet/constant/transportProperties @@ -14,8 +14,6 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -phaseChange on; - phaseChangeTwoPhaseMixture SchnerrSauer; pSat pSat [1 -1 -2 0 0] 2300; // saturation pressure diff --git a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary index 56e0a545c1..bf47f69643 100644 --- a/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary +++ b/tutorials/multiphase/twoPhaseEulerFoam/bubbleColumn/constant/polyMesh/boundary @@ -38,6 +38,7 @@ FoamFile defaultFaces { type empty; + inGroups 1(empty); nFaces 3750; startFace 3850; }