From fe8bcb49052e18057a6bf8b635673527f60854ff Mon Sep 17 00:00:00 2001 From: Henry Date: Thu, 17 Jan 2013 18:02:55 +0000 Subject: [PATCH] compressibleTwoPhaseEulerFoam: Further updates to include new thermo structure --- .../compressibleTwoPhaseEulerFoam/EEqns.H | 6 +- .../compressibleTwoPhaseEulerFoam/alphaEqn.H | 97 +++++++++++++------ .../compressibleTwoPhaseEulerFoam.C | 2 + .../createFields.H | 4 +- .../Gidaspow/GidaspowConductivity.C | 2 +- .../Gidaspow/GidaspowConductivity.H | 2 +- .../HrenyaSinclairConductivity.C | 2 +- .../HrenyaSinclairConductivity.H | 2 +- .../Syamlal/SyamlalConductivity.C | 2 +- .../Syamlal/SyamlalConductivity.H | 2 +- .../conductivityModel/conductivityModel.H | 2 +- .../granularPressureModel/Lun/LunPressure.C | 4 +- .../granularPressureModel/Lun/LunPressure.H | 4 +- .../SyamlalRogersOBrienPressure.C | 4 +- .../SyamlalRogersOBrienPressure.H | 4 +- .../granularPressureModel.H | 4 +- .../kineticTheoryModel/kineticTheoryModel.C | 7 +- .../kineticTheoryModel/kineticTheoryModel.H | 3 +- .../Gidaspow/GidaspowViscosity.C | 2 +- .../Gidaspow/GidaspowViscosity.H | 2 +- .../HrenyaSinclair/HrenyaSinclairViscosity.C | 2 +- .../HrenyaSinclair/HrenyaSinclairViscosity.H | 2 +- .../viscosityModel/Syamlal/SyamlalViscosity.C | 2 +- .../viscosityModel/Syamlal/SyamlalViscosity.H | 2 +- .../viscosityModel/none/noneViscosity.C | 2 +- .../viscosityModel/none/noneViscosity.H | 2 +- .../viscosityModel/viscosityModel.H | 2 +- .../phaseModel/phaseModel/phaseModel.C | 10 +- .../readTwoPhaseEulerFoamControls.H | 1 + .../bubbleColumn/constant/transportProperties | 2 - .../bubbleColumn/system/fvSchemes | 27 +++--- .../bubbleColumn/system/fvSolution | 8 +- .../fluidisedBed/0/p | 8 +- .../fluidisedBed/constant/polyMesh/boundary | 1 + .../fluidisedBed/constant/transportProperties | 16 --- .../fluidisedBed/system/fvSchemes | 34 +++---- .../fluidisedBed/system/fvSolution | 8 +- 37 files changed, 156 insertions(+), 130 deletions(-) diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H index c894b36b41..4562d1ed19 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/EEqns.H @@ -14,15 +14,13 @@ volScalarField& he1 = thermo1.he(); volScalarField& he2 = thermo2.he(); - Info<< max(he1) << min(he1) << endl; - fvScalarMatrix he1Eqn ( fvm::ddt(alpha1, he1) + fvm::div(alphaPhi1, he1) - fvm::laplacian(k1, he1) == - heatTransferCoeff*(he1/thermo1.Cp())/rho1 + heatTransferCoeff*(thermo1.he(p, thermo2.T())/thermo1.Cp())/rho1 - fvm::Sp(heatTransferCoeff/thermo1.Cp()/rho1, he1) + alpha1*(dpdt/rho1 - (fvc::ddt(K1) + fvc::div(phi1, K1))) ); @@ -33,7 +31,7 @@ + fvm::div(alphaPhi2, he2) - fvm::laplacian(k2, he2) == - heatTransferCoeff*(he2/thermo2.Cp())/rho2 + heatTransferCoeff*(thermo2.he(p, thermo1.T())/thermo2.Cp())/rho2 - fvm::Sp(heatTransferCoeff/thermo2.Cp()/rho2, he2) + alpha2*(dpdt/rho2 - (fvc::ddt(K2) + fvc::div(phi2, K2))) ); diff --git a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/alphaEqn.H index 86d9203dce..7dfad758b4 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,alpha)"); + word alpharScheme("div(phir,alpha)"); 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..5b41f083e8 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C @@ -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..afba91dd5c 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H @@ -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..f64476bbc6 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C @@ -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..5f35dda664 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H @@ -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..2131e84af2 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C @@ -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..d741c05e46 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H @@ -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..5f5f063a3c 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H @@ -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..80fb39f54e 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C @@ -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..60a75a53c2 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H @@ -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..dd51331126 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C @@ -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..f8476c4e2a 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H @@ -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..5390d22595 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H @@ -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..1b2179d7f1 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H @@ -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..d529fceb76 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C @@ -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..366f93ef49 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H @@ -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..b31a8e6cad 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C @@ -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..85b812c927 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H @@ -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..8a51d3b9b8 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C @@ -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..bed9d840e9 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H @@ -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..ae39e5e720 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.C @@ -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..7aad8a2f93 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/none/noneViscosity.H @@ -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..1add1ea2c1 100644 --- a/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H +++ b/applications/solvers/multiphase/compressibleTwoPhaseEulerFoam/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H @@ -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/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..2f9b6ccca2 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSchemes +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSchemes @@ -29,23 +29,23 @@ divSchemes { 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(phi,alpha) Gauss limitedLinear01 1; + div(phir,alpha) Gauss limitedLinear01 1; + div(alphaPhiair,Uair) Gauss limitedLinearV 1; + div(alphaPhiwater,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(phiwater,Uwater) Gauss limitedLinearV 1; + div((alphaair*Rc)) Gauss linear; + div((alphawater*Rc)) Gauss linear; + div(alphaPhiair,hair) Gauss limitedLinear 1; + div(alphaPhiwater,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(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(phiwater,Kwater) Gauss limitedLinear 1; } laplacianSchemes @@ -67,7 +67,6 @@ fluxRequired { default no; p ; - alphaair ; } diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/bubbleColumn/system/fvSolution index 96e43b3c1d..b4dc8bc622 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; } @@ -93,8 +93,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/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/fvSchemes b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSchemes index 4412903f93..e1bb6834f6 100644 --- a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSchemes +++ b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSchemes @@ -29,23 +29,23 @@ divSchemes { 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(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,h1) Gauss limitedLinear 1; + div(alphaPhi2,h2) Gauss limitedLinear 1; + div(alphaPhi2,k) Gauss limitedLinear 1; + div(alphaPhi2,epsilon) Gauss limitedLinear 1; + div(phi,alpha) Gauss limitedLinear01 1; + div(phir,alpha) Gauss limitedLinear01 1; + div(phi,Theta) Gauss limitedLinear 1; + div((alpha1*Rc)) Gauss linear; + div((alpha2*Rc)) Gauss linear; + div(phid1,p) Gauss upwind; + div(phid2,p) Gauss upwind; + div(phi1,K1) Gauss limitedLinear 1; + div(phi2,K2) Gauss limitedLinear 1; } laplacianSchemes diff --git a/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution b/tutorials/multiphase/compressibleTwoPhaseEulerFoam/fluidisedBed/system/fvSolution index bfbead6573..b4dc8bc622 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; @@ -93,8 +93,8 @@ PIMPLE nOuterCorrectors 1; nCorrectors 2; 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;