diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C index cf608d0a6ab498e18bbd55fae57409bc9e9738fb..2dca530c145434bf062f6ff8cca9192ec1617af8 100644 --- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C +++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/cavitatingDyMFoam.C @@ -101,7 +101,7 @@ int main(int argc, char *argv[]) while (pimple.loop()) { #include "rhoEqn.H" - #include "gammaPsi.H" + #include "alphavPsi.H" #include "UEqn.H" // --- Pressure corrector loop diff --git a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H index 3c4cbb0d32e48f0ff38415408ec669119b4f9f03..5ad7fdeb66c730abbeed416ea6e8e0d429bd166b 100644 --- a/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H +++ b/applications/solvers/multiphase/cavitatingFoam/cavitatingDyMFoam/pEqn.H @@ -4,8 +4,8 @@ p = ( rho - - gamma2*rhol0 - - ((gamma*psiv + gamma2*psil) - psi)*pSat + - alphal*rhol0 + - ((alphav*psiv + alphal*psil) - psi)*pSat )/psi; } @@ -52,13 +52,13 @@ rho == max(rho0 + psi*p, rhoMin); - #include "gammaPsi.H" + #include "alphavPsi.H" p = ( rho - - gamma2*rhol0 - - ((gamma*psiv + gamma2*psil) - psi)*pSat + - alphal*rhol0 + - ((alphav*psiv + alphal*psil) - psi)*pSat )/psi; p.correctBoundaryConditions(); diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H index a425d40e7f268bb2a6ae334ee3cf81eb22913856..196c82194c9fdac753607d426491c67f5dbaf972 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/createFields.H @@ -12,53 +12,6 @@ mesh ); - Info<< "Reading field alpha1\n" << endl; - volScalarField alpha1 - ( - IOobject - ( - "alpha1", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - - Info<< "Reading field alpha2\n" << endl; - volScalarField alpha2 - ( - IOobject - ( - "alpha2", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - - Info<< "Reading field alpha3\n" << endl; - volScalarField alpha3 - ( - IOobject - ( - "alpha3", - runTime.timeName(), - mesh, - IOobject::MUST_READ, - IOobject::AUTO_WRITE - ), - mesh - ); - - alpha3 == 1.0 - alpha1 - alpha2; - - Info<< "Reading field U\n" << endl; volVectorField U ( @@ -77,6 +30,10 @@ threePhaseMixture threePhaseProperties(U, phi); + volScalarField& alpha1(threePhaseProperties.alpha1()); + volScalarField& alpha2(threePhaseProperties.alpha2()); + volScalarField& alpha3(threePhaseProperties.alpha3()); + const dimensionedScalar& rho1 = threePhaseProperties.rho1(); const dimensionedScalar& rho2 = threePhaseProperties.rho2(); const dimensionedScalar& rho3 = threePhaseProperties.rho3(); diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.C b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.C index fbf1e10ce3252dd4e4009de0c71abc2697e0f512..50494062d5ca547b1c3037e4f39990775728c96b 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.C +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.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 @@ -62,9 +62,64 @@ Foam::threePhaseMixture::threePhaseMixture ) ), - phase1Name_("phase1"), - phase2Name_("phase2"), - phase3Name_("phase3"), + phase1Name_(wordList(lookup("phases"))[0]), + phase2Name_(wordList(lookup("phases"))[1]), + phase3Name_(wordList(lookup("phases"))[2]), + + alpha1_ + ( + IOobject + ( + IOobject::groupName("alpha", phase1Name_), + U.time().timeName(), + U.mesh(), + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + U.mesh() + ), + + alpha2_ + ( + IOobject + ( + IOobject::groupName("alpha", phase2Name_), + U.time().timeName(), + U.mesh(), + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + U.mesh() + ), + + alpha3_ + ( + IOobject + ( + IOobject::groupName("alpha", phase3Name_), + U.time().timeName(), + U.mesh(), + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + U.mesh() + ), + + U_(U), + phi_(phi), + + nu_ + ( + IOobject + ( + "nu", + U.time().timeName(), + U.db() + ), + U.mesh(), + dimensionedScalar("nu", dimensionSet(0, 2, -1, 0, 0), 0), + calculatedFvPatchScalarField::typeName + ), nuModel1_ ( @@ -99,28 +154,9 @@ Foam::threePhaseMixture::threePhaseMixture rho1_(nuModel1_->viscosityProperties().lookup("rho")), rho2_(nuModel2_->viscosityProperties().lookup("rho")), - rho3_(nuModel3_->viscosityProperties().lookup("rho")), - - U_(U), - phi_(phi), - - alpha1_(U_.db().lookupObject<const volScalarField> ("alpha1")), - alpha2_(U_.db().lookupObject<const volScalarField> ("alpha2")), - alpha3_(U_.db().lookupObject<const volScalarField> ("alpha3")), - - nu_ - ( - IOobject - ( - "nu", - U_.time().timeName(), - U_.db() - ), - U_.mesh(), - dimensionedScalar("nu", dimensionSet(0, 2, -1, 0, 0), 0), - calculatedFvPatchScalarField::typeName - ) + rho3_(nuModel3_->viscosityProperties().lookup("rho")) { + alpha3_ == 1.0 - alpha1_ - alpha2_; calcNu(); } diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.H b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.H index 3c8b8739838aefe948a4ec5a9aebacf4104f9626..16337521d3bbd86c5b9e6a0368bfb80af15e2063 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.H +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/incompressibleThreePhaseMixture/threePhaseMixture.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 @@ -60,6 +60,15 @@ class threePhaseMixture word phase2Name_; word phase3Name_; + volScalarField alpha1_; + volScalarField alpha2_; + volScalarField alpha3_; + + const volVectorField& U_; + const surfaceScalarField& phi_; + + volScalarField nu_; + autoPtr<viscosityModel> nuModel1_; autoPtr<viscosityModel> nuModel2_; autoPtr<viscosityModel> nuModel3_; @@ -68,15 +77,6 @@ class threePhaseMixture dimensionedScalar rho2_; dimensionedScalar rho3_; - const volVectorField& U_; - const surfaceScalarField& phi_; - - const volScalarField& alpha1_; - const volScalarField& alpha2_; - const volScalarField& alpha3_; - - volScalarField nu_; - // Private Member Functions @@ -103,22 +103,49 @@ public: // Member Functions - //- Return const-access to phase1 viscosityModel - const viscosityModel& nuModel1() const + const word phase1Name() const { - return nuModel1_(); + return phase1Name_; } - //- Return const-access to phase2 viscosityModel - const viscosityModel& nuModel2() const + const word phase2Name() const { - return nuModel2_(); + return phase2Name_; } - //- Return const-access to phase3 viscosityModel - const viscosityModel& nuModel3() const + const word phase3Name() const { - return nuModel3_(); + return phase3Name_; + } + + const volScalarField& alpha1() const + { + return alpha1_; + } + + volScalarField& alpha1() + { + return alpha1_; + } + + const volScalarField& alpha2() const + { + return alpha2_; + } + + volScalarField& alpha2() + { + return alpha2_; + } + + const volScalarField& alpha3() const + { + return alpha3_; + } + + volScalarField& alpha3() + { + return alpha3_; } //- Return const-access to phase1 density @@ -139,31 +166,34 @@ public: return rho3_; }; - const volScalarField& alpha1() const + //- Return the velocity + const volVectorField& U() const { - return alpha1_; + return U_; } - const volScalarField& alpha2() const + //- Return the flux + const surfaceScalarField& phi() const { - return alpha2_; + return phi_; } - const volScalarField& alpha3() const + //- Return const-access to phase1 viscosityModel + const viscosityModel& nuModel1() const { - return alpha3_; + return nuModel1_(); } - //- Return the velocity - const volVectorField& U() const + //- Return const-access to phase2 viscosityModel + const viscosityModel& nuModel2() const { - return U_; + return nuModel2_(); } - //- Return the flux - const surfaceScalarField& phi() const + //- Return const-access to phase3 viscosityModel + const viscosityModel& nuModel3() const { - return phi_; + return nuModel3_(); } //- Return the dynamic laminar viscosity diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha1.org b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.air.org similarity index 97% rename from tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha1.org rename to tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.air.org index 04a3a4c143e4c35a22cca011427944f1b7710660..204afda9411402921304430d315a8dc20acc2b32 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha1.org +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.air.org @@ -10,7 +10,7 @@ FoamFile version 2.0; format ascii; class volScalarField; - object alpha1; + object alpha.air; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha2.org b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.other.org similarity index 100% rename from tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha2.org rename to tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.other.org diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha3.org b/tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.water.org similarity index 100% rename from tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha3.org rename to tutorials/multiphase/interMixingFoam/laminar/damBreak/0/alpha.water.org diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun b/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun index 9bb76eb3c726dd6819abcdb1c2e583a7352eae51..c07cc1113c875a4c80b8918764999f0c8bfe8f3a 100755 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/Allrun @@ -5,9 +5,9 @@ cd ${0%/*} || exit 1 # run from this directory . $WM_PROJECT_DIR/bin/tools/RunFunctions runApplication blockMesh -cp 0/alpha1.org 0/alpha1 -cp 0/alpha2.org 0/alpha2 -cp 0/alpha3.org 0/alpha3 +cp 0/alpha.air.org 0/alpha.air +cp 0/alpha.other.org 0/alpha.other +cp 0/alpha.water.org 0/alpha.water runApplication setFields runApplication `getApplication` diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary index 41c06d5f3f4d03c47e0a53a8d3008451786eda15..1b4dbb60aaeaec2d5cfe40e3d4a35843d35b44a2 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/polyMesh/boundary @@ -44,6 +44,7 @@ FoamFile defaultFaces { type empty; + inGroups 1(empty); nFaces 4536; startFace 4640; } diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties index fac1cbd4fd727bdf83ef442766911711bbed33ad..83c4643a5ae1cab0cef1768471f0de65e056df1c 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/constant/transportProperties @@ -15,24 +15,23 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // -// Air -phase1 +phases (air other water); + +air { transportModel Newtonian; nu nu [0 2 -1 0 0 0 0] 1.48e-05; rho rho [1 -3 0 0 0 0 0] 1; } -// Other Liquid -phase2 +other { transportModel Newtonian; nu nu [0 2 -1 0 0 0 0] 1e-6; rho rho [1 -3 0 0 0 0 0] 1010; } -// Water -phase3 +water { transportModel Newtonian; nu nu [0 2 -1 0 0 0 0] 1e-6; diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes index c80ccb314ef4160a628f59e7e4ffc6d97caa3dd8..ea304e7042cb6bda7221eed5ee0c717684d3f48f 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSchemes @@ -53,7 +53,7 @@ fluxRequired default no; p_rgh; pcorr; - "alpha."; + "alpha.*"; } diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution index 235c7014d026ce19570cd1470824b2fdf1bdfcb6..3403701035d1de3c23fdff530462daa2fee8863e 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/fvSolution @@ -17,7 +17,7 @@ FoamFile solvers { - "alpha." + "alpha.*" { nAlphaCorr 1; nAlphaSubCycles 2; diff --git a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict index 46fd28b2257ca5c06def80caa307c570fb0e2b05..3e8e2ec9835ac999d50dbe986260d33d42dd3eb3 100644 --- a/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict +++ b/tutorials/multiphase/interMixingFoam/laminar/damBreak/system/setFieldsDict @@ -17,9 +17,9 @@ FoamFile defaultFieldValues ( - volScalarFieldValue alpha1 0 - volScalarFieldValue alpha2 1 - volScalarFieldValue alpha3 0 + volScalarFieldValue alpha.air 0 + volScalarFieldValue alpha.other 1 + volScalarFieldValue alpha.water 0 ); regions @@ -29,9 +29,9 @@ regions box (0 0 -1) (0.1461 0.292 1); fieldValues ( - volScalarFieldValue alpha1 0 - volScalarFieldValue alpha2 0 - volScalarFieldValue alpha3 1 + volScalarFieldValue alpha.air 0 + volScalarFieldValue alpha.other 0 + volScalarFieldValue alpha.water 1 ); } boxToCell @@ -39,9 +39,9 @@ regions box (0.1461 0.05 -1) (1 1 1); fieldValues ( - volScalarFieldValue alpha1 1 - volScalarFieldValue alpha2 0 - volScalarFieldValue alpha3 0 + volScalarFieldValue alpha.air 1 + volScalarFieldValue alpha.other 0 + volScalarFieldValue alpha.water 0 ); } );