diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C index 73dbee5664..e09c1bbd14 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C +++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.C @@ -55,7 +55,7 @@ PDRkEpsilon::PDRkEpsilon const word& modelName ) : - Foam::RASModels::kEpsilon > + Foam::RASModels::kEpsilon > ( geometricOneField(), rho, diff --git a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H index 689a47844a..1ee0719076 100644 --- a/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H +++ b/applications/solvers/combustion/PDRFoam/PDRModels/turbulence/PDRkEpsilon/PDRkEpsilon.H @@ -80,7 +80,7 @@ class PDRkEpsilon : public Foam::RASModels::kEpsilon < - eddyDiffusivity + EddyDiffusivity < compressible::turbulenceModel > diff --git a/applications/solvers/compressible/rhoPimpleFoam/createFields.H b/applications/solvers/compressible/rhoPimpleFoam/createFields.H index 0e214011de..96a8ea8421 100644 --- a/applications/solvers/compressible/rhoPimpleFoam/createFields.H +++ b/applications/solvers/compressible/rhoPimpleFoam/createFields.H @@ -45,8 +45,8 @@ dimensionedScalar rhoMax ( "rhoMax", pimple.dict(), - GREAT, - dimDensity + dimDensity, + GREAT ) ); @@ -56,8 +56,8 @@ dimensionedScalar rhoMin ( "rhoMin", pimple.dict(), - 0, - dimDensity + dimDensity, + 0 ) ); diff --git a/applications/solvers/compressible/rhoSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/createFields.H index 2d89e2b566..fdf8a2a769 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/createFields.H +++ b/applications/solvers/compressible/rhoSimpleFoam/createFields.H @@ -52,8 +52,8 @@ dimensionedScalar rhoMax ( "rhoMax", simple.dict(), - GREAT, - dimDensity + dimDensity, + GREAT ) ); @@ -63,8 +63,8 @@ dimensionedScalar rhoMin ( "rhoMin", simple.dict(), - 0, - dimDensity + dimDensity, + 0 ) ); diff --git a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H index 3ce8270b5e..149049e63e 100644 --- a/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H +++ b/applications/solvers/compressible/rhoSimpleFoam/rhoPorousSimpleFoam/createFields.H @@ -51,8 +51,8 @@ dimensionedScalar rhoMax ( "rhoMax", simple.dict(), - GREAT, - dimDensity + dimDensity, + GREAT ) ); @@ -62,8 +62,8 @@ dimensionedScalar rhoMin ( "rhoMin", simple.dict(), - 0, - dimDensity + dimDensity, + 0 ) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H index bd7452ae9e..1811878bd7 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/fluid/createFluidFields.H @@ -187,8 +187,8 @@ forAll(fluidRegions, i) ( "rhoMax", simpleDict, - GREAT, - dimDensity + dimDensity, + GREAT ) ) ); @@ -202,8 +202,8 @@ forAll(fluidRegions, i) ( "rhoMin", simpleDict, - 0, - dimDensity + dimDensity, + 0 ) ) ); diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H index 49a945989d..0600a1c650 100644 --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/chtMultiRegionSimpleFoam/solid/solveSolid.H @@ -24,4 +24,5 @@ thermo.correct(); -Info<< "Min/max T:" << min(thermo.T()) << ' ' << max(thermo.T()) << endl; +Info<< "Min/max T:" << min(thermo.T()).value() << ' ' + << max(thermo.T()).value() << endl; diff --git a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H old mode 100644 new mode 100755 index 27f1737e52..49fd39e45b --- a/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H +++ b/applications/solvers/heatTransfer/chtMultiRegionFoam/solid/solveSolid.H @@ -30,7 +30,8 @@ if (finalIter) thermo.correct(); -Info<< "Min/max T:" << min(thermo.T()) << ' ' << max(thermo.T()) << endl; +Info<< "Min/max T:" << min(thermo.T()).value() << ' ' + << max(thermo.T()).value() << endl; if (finalIter) { diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H index 43c3d45e32..9d05da0425 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/createFields.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/createFields.H @@ -64,8 +64,8 @@ dimensionedScalar rhoMax ( "rhoMax", pimple.dict(), - GREAT, - dimDensity + dimDensity, + GREAT ) ); @@ -75,8 +75,8 @@ dimensionedScalar rhoMin ( "rhoMin", pimple.dict(), - 0, - dimDensity + dimDensity, + 0 ) ); diff --git a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H index 7e79f9fb7d..cfabbfb5b0 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H +++ b/applications/solvers/lagrangian/reactingParcelFoam/simpleReactingParcelFoam/createFields.H @@ -64,8 +64,8 @@ dimensionedScalar rhoMax ( "rhoMax", simple.dict(), - GREAT, - dimDensity + dimDensity, + GREAT ) ); @@ -75,8 +75,8 @@ dimensionedScalar rhoMin ( "rhoMin", simple.dict(), - 0, - dimDensity + dimDensity, + 0 ) ); diff --git a/applications/solvers/lagrangian/sprayFoam/createFields.H b/applications/solvers/lagrangian/sprayFoam/createFields.H index 721c3f8319..7cc45050ce 100644 --- a/applications/solvers/lagrangian/sprayFoam/createFields.H +++ b/applications/solvers/lagrangian/sprayFoam/createFields.H @@ -64,8 +64,8 @@ dimensionedScalar rhoMax ( "rhoMax", pimple.dict(), - GREAT, - dimDensity + dimDensity, + GREAT ) ); @@ -75,8 +75,8 @@ dimensionedScalar rhoMin ( "rhoMin", pimple.dict(), - 0, - dimDensity + dimDensity, + 0 ) ); diff --git a/applications/solvers/multiphase/compressibleInterFoam/alphaEqns.H b/applications/solvers/multiphase/compressibleInterFoam/alphaEqns.H index 41ed1cf9c0..51dad81e77 100644 --- a/applications/solvers/multiphase/compressibleInterFoam/alphaEqns.H +++ b/applications/solvers/multiphase/compressibleInterFoam/alphaEqns.H @@ -45,7 +45,7 @@ } - surfaceScalarField phiAlpha1 + surfaceScalarField alphaPhi1 ( fvc::flux ( @@ -66,7 +66,7 @@ geometricOneField(), alpha1, phi, - phiAlpha1, + alphaPhi1, Sp, Su, 1, @@ -75,7 +75,7 @@ surfaceScalarField rho1f(fvc::interpolate(rho1)); surfaceScalarField rho2f(fvc::interpolate(rho2)); - rhoPhi = phiAlpha1*(rho1f - rho2f) + phi*rho2f; + rhoPhi = alphaPhi1*(rho1f - rho2f) + phi*rho2f; alpha2 = scalar(1) - alpha1; } diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C index 6eda25f9ff..7733cf1364 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.C @@ -942,14 +942,14 @@ void Foam::multiphaseMixtureThermo::solveAlphas surfaceScalarField phic(mag(phi_/mesh_.magSf())); phic = min(cAlpha*phic, max(phic)); - PtrList phiAlphaCorrs(phases_.size()); + PtrList alphaPhiCorrs(phases_.size()); int phasei = 0; forAllIter(PtrDictionary, phases_, phase) { phaseModel& alpha = phase(); - phiAlphaCorrs.set + alphaPhiCorrs.set ( phasei, new surfaceScalarField @@ -964,7 +964,7 @@ void Foam::multiphaseMixtureThermo::solveAlphas ) ); - surfaceScalarField& phiAlphaCorr = phiAlphaCorrs[phasei]; + surfaceScalarField& alphaPhiCorr = alphaPhiCorrs[phasei]; forAllIter(PtrDictionary, phases_, phase2) { @@ -974,7 +974,7 @@ void Foam::multiphaseMixtureThermo::solveAlphas surfaceScalarField phir(phic*nHatf(alpha, alpha2)); - phiAlphaCorr += fvc::flux + alphaPhiCorr += fvc::flux ( -fvc::flux(-phir, alpha2, alpharScheme), alpha, @@ -988,7 +988,7 @@ void Foam::multiphaseMixtureThermo::solveAlphas geometricOneField(), alpha, phi_, - phiAlphaCorr, + alphaPhiCorr, zeroField(), zeroField(), 1, @@ -999,7 +999,7 @@ void Foam::multiphaseMixtureThermo::solveAlphas phasei++; } - MULES::limitSum(phiAlphaCorrs); + MULES::limitSum(alphaPhiCorrs); rhoPhi_ = dimensionedScalar("0", dimensionSet(1, 0, -1, 0, 0), 0); @@ -1025,8 +1025,8 @@ void Foam::multiphaseMixtureThermo::solveAlphas { phaseModel& alpha = phase(); - surfaceScalarField& phiAlpha = phiAlphaCorrs[phasei]; - phiAlpha += upwind(mesh_, phi_).flux(alpha); + surfaceScalarField& alphaPhi = alphaPhiCorrs[phasei]; + alphaPhi += upwind(mesh_, phi_).flux(alpha); volScalarField::DimensionedInternalField Sp ( @@ -1096,12 +1096,12 @@ void Foam::multiphaseMixtureThermo::solveAlphas ( geometricOneField(), alpha, - phiAlpha, + alphaPhi, Sp, Su ); - rhoPhi_ += fvc::interpolate(alpha.thermo().rho())*phiAlpha; + rhoPhi_ += fvc::interpolate(alpha.thermo().rho())*alphaPhi; Info<< alpha.name() << " volume fraction, min, max = " << alpha.weightedAverage(mesh_.V()).value() diff --git a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H index 6d797d16c5..a769a45914 100644 --- a/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H +++ b/applications/solvers/multiphase/compressibleMultiphaseInterFoam/multiphaseMixtureThermo/multiphaseMixtureThermo.H @@ -254,14 +254,14 @@ public: virtual volScalarField& he() { notImplemented("multiphaseMixtureThermo::he()"); - return phases_[0]->thermo().he(); + return phases_[0].thermo().he(); } //- Enthalpy/Internal energy [J/kg] virtual const volScalarField& he() const { notImplemented("multiphaseMixtureThermo::he() const"); - return phases_[0]->thermo().he(); + return phases_[0].thermo().he(); } //- Enthalpy/Internal energy diff --git a/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H b/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H index 954b2a8b3a..68f027cd24 100644 --- a/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H +++ b/applications/solvers/multiphase/driftFluxFoam/alphaEqn.H @@ -23,32 +23,32 @@ << " Max(" << alpha1.name() << ") = " << max(alpha1).value() << endl; - tmp tphiAlphaUD(alpha1Eqn.flux()); - phiAlpha = tphiAlphaUD(); + tmp talphaPhiUD(alpha1Eqn.flux()); + alphaPhi = talphaPhiUD(); - if (alphaApplyPrevCorr && tphiAlphaCorr0.valid()) + if (alphaApplyPrevCorr && talphaPhiCorr0.valid()) { Info<< "Applying the previous iteration correction flux" << endl; MULES::correct ( alpha1, - phiAlpha, - tphiAlphaCorr0(), + alphaPhi, + talphaPhiCorr0(), mixture.alphaMax(), 0 ); - phiAlpha += tphiAlphaCorr0(); + alphaPhi += talphaPhiCorr0(); } // Cache the upwind-flux - tphiAlphaCorr0 = tphiAlphaUD; + talphaPhiCorr0 = talphaPhiUD; } for (int aCorr=0; aCorr tphiAlphaUn + tmp talphaPhiUn ( fvc::flux ( @@ -66,14 +66,14 @@ if (MULESCorr) { - tmp tphiAlphaCorr(tphiAlphaUn() - phiAlpha); + tmp talphaPhiCorr(talphaPhiUn() - alphaPhi); volScalarField alpha10("alpha10", alpha1); MULES::correct ( alpha1, - tphiAlphaUn(), - tphiAlphaCorr(), + talphaPhiUn(), + talphaPhiCorr(), mixture.alphaMax(), 0 ); @@ -81,23 +81,23 @@ // Under-relax the correction for all but the 1st corrector if (aCorr == 0) { - phiAlpha += tphiAlphaCorr(); + alphaPhi += talphaPhiCorr(); } else { alpha1 = 0.5*alpha1 + 0.5*alpha10; - phiAlpha += 0.5*tphiAlphaCorr(); + alphaPhi += 0.5*talphaPhiCorr(); } } else { - phiAlpha = tphiAlphaUn; + alphaPhi = talphaPhiUn; MULES::explicitSolve ( alpha1, phi, - phiAlpha, + alphaPhi, mixture.alphaMax(), 0 ); @@ -106,7 +106,7 @@ if (alphaApplyPrevCorr && MULESCorr) { - tphiAlphaCorr0 = phiAlpha - tphiAlphaCorr0; + talphaPhiCorr0 = alphaPhi - talphaPhiCorr0; } alpha2 = 1.0 - alpha1; diff --git a/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H b/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H index 956bacf48d..b586e77fad 100644 --- a/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H +++ b/applications/solvers/multiphase/driftFluxFoam/alphaEqnSubCycle.H @@ -1,9 +1,9 @@ { - surfaceScalarField phiAlpha + surfaceScalarField alphaPhi ( IOobject ( - "phiAlpha", + "alphaPhi", runTime.timeName(), mesh ), @@ -19,11 +19,11 @@ if (nAlphaSubCycles > 1) { dimensionedScalar totalDeltaT = runTime.deltaT(); - surfaceScalarField phiAlphaSum + surfaceScalarField alphaPhiSum ( IOobject ( - "phiAlphaSum", + "alphaPhiSum", runTime.timeName(), mesh ), @@ -38,10 +38,10 @@ ) { #include "alphaEqn.H" - phiAlphaSum += (runTime.deltaT()/totalDeltaT)*phiAlpha; + alphaPhiSum += (runTime.deltaT()/totalDeltaT)*alphaPhi; } - phiAlpha = phiAlphaSum; + alphaPhi = alphaPhiSum; } else { @@ -59,7 +59,7 @@ alpha1Eqn.solve(mesh.solver("alpha1Diffusion")); - phiAlpha += alpha1Eqn.flux(); + alphaPhi += alpha1Eqn.flux(); alpha2 = 1.0 - alpha1; Info<< "Phase-1 volume fraction = " @@ -69,6 +69,6 @@ << endl; } - rhoPhi = phiAlpha*(rho1 - rho2) + phi*rho2; + rhoPhi = alphaPhi*(rho1 - rho2) + phi*rho2; rho = mixture.rho(); } diff --git a/applications/solvers/multiphase/driftFluxFoam/createFields.H b/applications/solvers/multiphase/driftFluxFoam/createFields.H index d2e8d1d93e..65d3d38eae 100644 --- a/applications/solvers/multiphase/driftFluxFoam/createFields.H +++ b/applications/solvers/multiphase/driftFluxFoam/createFields.H @@ -135,4 +135,4 @@ mesh.setFluxRequired(p_rgh.name()); mesh.setFluxRequired(alpha1.name()); // MULES Correction -tmp tphiAlphaCorr0; +tmp talphaPhiCorr0; diff --git a/applications/solvers/multiphase/interFoam/alphaEqn.H b/applications/solvers/multiphase/interFoam/alphaEqn.H index 4405c58015..a2e9097e30 100644 --- a/applications/solvers/multiphase/interFoam/alphaEqn.H +++ b/applications/solvers/multiphase/interFoam/alphaEqn.H @@ -98,19 +98,19 @@ << " Max(" << alpha1.name() << ") = " << max(alpha1).value() << endl; - tmp tphiAlphaUD(alpha1Eqn.flux()); - phiAlpha = tphiAlphaUD(); + tmp talphaPhiUD(alpha1Eqn.flux()); + alphaPhi = talphaPhiUD(); - if (alphaApplyPrevCorr && tphiAlphaCorr0.valid()) + if (alphaApplyPrevCorr && talphaPhiCorr0.valid()) { Info<< "Applying the previous iteration compression flux" << endl; - MULES::correct(alpha1, phiAlpha, tphiAlphaCorr0(), 1, 0); + MULES::correct(alpha1, alphaPhi, talphaPhiCorr0(), 1, 0); - phiAlpha += tphiAlphaCorr0(); + alphaPhi += talphaPhiCorr0(); } // Cache the upwind-flux - tphiAlphaCorr0 = tphiAlphaUD; + talphaPhiCorr0 = talphaPhiUD; alpha2 = 1.0 - alpha1; @@ -122,7 +122,7 @@ { surfaceScalarField phir(phic*mixture.nHatf()); - tmp tphiAlphaUn + tmp talphaPhiUn ( fvc::flux ( @@ -141,33 +141,33 @@ // Calculate the Crank-Nicolson off-centred alpha flux if (ocCoeff > 0) { - tphiAlphaUn = - cnCoeff*tphiAlphaUn + (1.0 - cnCoeff)*phiAlpha.oldTime(); + talphaPhiUn = + cnCoeff*talphaPhiUn + (1.0 - cnCoeff)*alphaPhi.oldTime(); } if (MULESCorr) { - tmp tphiAlphaCorr(tphiAlphaUn() - phiAlpha); + tmp talphaPhiCorr(talphaPhiUn() - alphaPhi); volScalarField alpha10("alpha10", alpha1); - MULES::correct(alpha1, tphiAlphaUn(), tphiAlphaCorr(), 1, 0); + MULES::correct(alpha1, talphaPhiUn(), talphaPhiCorr(), 1, 0); // Under-relax the correction for all but the 1st corrector if (aCorr == 0) { - phiAlpha += tphiAlphaCorr(); + alphaPhi += talphaPhiCorr(); } else { alpha1 = 0.5*alpha1 + 0.5*alpha10; - phiAlpha += 0.5*tphiAlphaCorr(); + alphaPhi += 0.5*talphaPhiCorr(); } } else { - phiAlpha = tphiAlphaUn; + alphaPhi = talphaPhiUn; - MULES::explicitSolve(alpha1, phiCN, phiAlpha, 1, 0); + MULES::explicitSolve(alpha1, phiCN, alphaPhi, 1, 0); } alpha2 = 1.0 - alpha1; @@ -177,7 +177,7 @@ if (alphaApplyPrevCorr && MULESCorr) { - tphiAlphaCorr0 = phiAlpha - tphiAlphaCorr0; + talphaPhiCorr0 = alphaPhi - talphaPhiCorr0; } if @@ -186,18 +186,18 @@ == fv::EulerDdtScheme::typeName ) { - rhoPhi = phiAlpha*(rho1 - rho2) + phiCN*rho2; + rhoPhi = alphaPhi*(rho1 - rho2) + phiCN*rho2; } else { if (ocCoeff > 0) { // Calculate the end-of-time-step alpha flux - phiAlpha = (phiAlpha - (1.0 - cnCoeff)*phiAlpha.oldTime())/cnCoeff; + alphaPhi = (alphaPhi - (1.0 - cnCoeff)*alphaPhi.oldTime())/cnCoeff; } // Calculate the end-of-time-step mass flux - rhoPhi = phiAlpha*(rho1 - rho2) + phi*rho2; + rhoPhi = alphaPhi*(rho1 - rho2) + phi*rho2; } Info<< "Phase-1 volume fraction = " diff --git a/applications/solvers/multiphase/interFoam/createFields.H b/applications/solvers/multiphase/interFoam/createFields.H index fc682190ce..c3e65f24e3 100644 --- a/applications/solvers/multiphase/interFoam/createFields.H +++ b/applications/solvers/multiphase/interFoam/createFields.H @@ -121,11 +121,11 @@ mesh.setFluxRequired(p_rgh.name()); mesh.setFluxRequired(alpha1.name()); // MULES flux from previous time-step -surfaceScalarField phiAlpha +surfaceScalarField alphaPhi ( IOobject ( - "phiAlpha", + "alphaPhi", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, @@ -135,4 +135,4 @@ surfaceScalarField phiAlpha ); // MULES Correction -tmp tphiAlphaCorr0; +tmp talphaPhiCorr0; diff --git a/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqns.H b/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqns.H index 9585905c08..d720aa97f6 100644 --- a/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqns.H +++ b/applications/solvers/multiphase/interFoam/interMixingFoam/alphaEqns.H @@ -40,7 +40,7 @@ // Create the complete convection flux for alpha1 - surfaceScalarField phiAlpha1 + surfaceScalarField alphaPhi1 ( fvc::flux ( @@ -63,13 +63,13 @@ ); // Create the bounded (upwind) flux for alpha1 - surfaceScalarField phiAlpha1BD + surfaceScalarField alphaPhi1BD ( upwind(mesh, phi).flux(alpha1) ); // Calculate the flux correction for alpha1 - phiAlpha1 -= phiAlpha1BD; + alphaPhi1 -= alphaPhi1BD; // Calculate the limiter for alpha1 if (LTS) @@ -83,8 +83,8 @@ rDeltaT, geometricOneField(), alpha1, - phiAlpha1BD, - phiAlpha1, + alphaPhi1BD, + alphaPhi1, zeroField(), zeroField(), 1, @@ -99,8 +99,8 @@ 1.0/runTime.deltaT().value(), geometricOneField(), alpha1, - phiAlpha1BD, - phiAlpha1, + alphaPhi1BD, + alphaPhi1, zeroField(), zeroField(), 1, @@ -109,7 +109,7 @@ } // Create the complete flux for alpha2 - surfaceScalarField phiAlpha2 + surfaceScalarField alphaPhi2 ( fvc::flux ( @@ -126,13 +126,13 @@ ); // Create the bounded (upwind) flux for alpha2 - surfaceScalarField phiAlpha2BD + surfaceScalarField alphaPhi2BD ( upwind(mesh, phi).flux(alpha2) ); // Calculate the flux correction for alpha2 - phiAlpha2 -= phiAlpha2BD; + alphaPhi2 -= alphaPhi2BD; // Further limit the limiter for alpha2 if (LTS) @@ -146,8 +146,8 @@ rDeltaT, geometricOneField(), alpha2, - phiAlpha2BD, - phiAlpha2, + alphaPhi2BD, + alphaPhi2, zeroField(), zeroField(), 1, @@ -162,8 +162,8 @@ 1.0/runTime.deltaT().value(), geometricOneField(), alpha2, - phiAlpha2BD, - phiAlpha2, + alphaPhi2BD, + alphaPhi2, zeroField(), zeroField(), 1, @@ -172,32 +172,32 @@ } // Construct the limited fluxes - phiAlpha1 = phiAlpha1BD + lambda*phiAlpha1; - phiAlpha2 = phiAlpha2BD + lambda*phiAlpha2; + alphaPhi1 = alphaPhi1BD + lambda*alphaPhi1; + alphaPhi2 = alphaPhi2BD + lambda*alphaPhi2; // Solve for alpha1 - solve(fvm::ddt(alpha1) + fvc::div(phiAlpha1)); + solve(fvm::ddt(alpha1) + fvc::div(alphaPhi1)); // Create the diffusion coefficients for alpha2<->alpha3 volScalarField Dc23(D23*max(alpha3, scalar(0))*pos(alpha2)); volScalarField Dc32(D23*max(alpha2, scalar(0))*pos(alpha3)); // Add the diffusive flux for alpha3->alpha2 - phiAlpha2 -= fvc::interpolate(Dc32)*mesh.magSf()*fvc::snGrad(alpha1); + alphaPhi2 -= fvc::interpolate(Dc32)*mesh.magSf()*fvc::snGrad(alpha1); // Solve for alpha2 fvScalarMatrix alpha2Eqn ( fvm::ddt(alpha2) - + fvc::div(phiAlpha2) + + fvc::div(alphaPhi2) - fvm::laplacian(Dc23 + Dc32, alpha2) ); alpha2Eqn.solve(); // Construct the complete mass flux rhoPhi = - phiAlpha1*(rho1 - rho3) - + (phiAlpha2 + alpha2Eqn.flux())*(rho2 - rho3) + alphaPhi1*(rho1 - rho3) + + (alphaPhi2 + alpha2Eqn.flux())*(rho2 - rho3) + phi*rho3; alpha3 = 1.0 - alpha1 - alpha2; diff --git a/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqn.H b/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqn.H index bf506c2a70..172676b97f 100644 --- a/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqn.H +++ b/applications/solvers/multiphase/interPhaseChangeFoam/alphaEqn.H @@ -10,7 +10,7 @@ const volScalarField& vDotvAlphal = vDotAlphal[1](); const volScalarField vDotvmcAlphal(vDotvAlphal - vDotcAlphal); - tmp tphiAlpha; + tmp talphaPhi; if (MULESCorr) { @@ -37,14 +37,14 @@ << " Max(" << alpha1.name() << ") = " << max(alpha1).value() << endl; - tphiAlpha = alpha1Eqn.flux(); + talphaPhi = alpha1Eqn.flux(); } volScalarField alpha10("alpha10", alpha1); for (int aCorr=0; aCorr tphiAlphaCorr + tmp talphaPhiCorr ( fvc::flux ( @@ -62,7 +62,7 @@ if (MULESCorr) { - tphiAlphaCorr() -= tphiAlpha(); + talphaPhiCorr() -= talphaPhi(); volScalarField alpha100("alpha100", alpha10); alpha10 = alpha1; @@ -71,8 +71,8 @@ ( geometricOneField(), alpha1, - tphiAlpha(), - tphiAlphaCorr(), + talphaPhi(), + talphaPhiCorr(), vDotvmcAlphal, ( divU*(alpha10 - alpha100) @@ -85,12 +85,12 @@ // Under-relax the correction for all but the 1st corrector if (aCorr == 0) { - tphiAlpha() += tphiAlphaCorr(); + talphaPhi() += talphaPhiCorr(); } else { alpha1 = 0.5*alpha1 + 0.5*alpha10; - tphiAlpha() += 0.5*tphiAlphaCorr(); + talphaPhi() += 0.5*talphaPhiCorr(); } } else @@ -100,20 +100,20 @@ geometricOneField(), alpha1, phi, - tphiAlphaCorr(), + talphaPhiCorr(), vDotvmcAlphal, (divU*alpha1 + vDotcAlphal)(), 1, 0 ); - tphiAlpha = tphiAlphaCorr; + talphaPhi = talphaPhiCorr; } alpha2 = 1.0 - alpha1; } - rhoPhi = tphiAlpha()*(rho1 - rho2) + phi*rho2; + rhoPhi = talphaPhi()*(rho1 - rho2) + phi*rho2; Info<< "Liquid phase volume fraction = " << alpha1.weightedAverage(mesh.V()).value() diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H b/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H index 6b9174def7..abad0dfaf0 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/UEqns.H @@ -18,7 +18,7 @@ forAllIter(PtrDictionary, fluid.phases(), iter) new fvVectorMatrix ( fvm::ddt(alpha, U) - + fvm::div(phase.phiAlpha(), U) + + fvm::div(phase.alphaPhi(), U) + (alpha/phase.rho())*fluid.Cvm(phase)* ( diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C index 01637a6cc1..767600e394 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C @@ -61,7 +61,7 @@ void Foam::multiphaseSystem::calcAlphas() void Foam::multiphaseSystem::solveAlphas() { - PtrList phiAlphaCorrs(phases_.size()); + PtrList alphaPhiCorrs(phases_.size()); int phasei = 0; forAllIter(PtrDictionary, phases_, iter) @@ -69,10 +69,10 @@ void Foam::multiphaseSystem::solveAlphas() phaseModel& phase1 = iter(); volScalarField& alpha1 = phase1; - phase1.phiAlpha() = + phase1.alphaPhi() = dimensionedScalar("0", dimensionSet(0, 3, -1, 0, 0), 0); - phiAlphaCorrs.set + alphaPhiCorrs.set ( phasei, new surfaceScalarField @@ -87,7 +87,7 @@ void Foam::multiphaseSystem::solveAlphas() ) ); - surfaceScalarField& phiAlphaCorr = phiAlphaCorrs[phasei]; + surfaceScalarField& alphaPhiCorr = alphaPhiCorrs[phasei]; forAllIter(PtrDictionary, phases_, iter2) { @@ -118,7 +118,7 @@ void Foam::multiphaseSystem::solveAlphas() "div(phir," + alpha2.name() + ',' + alpha1.name() + ')' ); - phiAlphaCorr += fvc::flux + alphaPhiCorr += fvc::flux ( -fvc::flux(-phir, phase2, phirScheme), phase1, @@ -127,21 +127,21 @@ void Foam::multiphaseSystem::solveAlphas() } // Ensure that the flux at inflow BCs is preserved - forAll(phiAlphaCorr.boundaryField(), patchi) + forAll(alphaPhiCorr.boundaryField(), patchi) { - fvsPatchScalarField& phiAlphaCorrp = - phiAlphaCorr.boundaryField()[patchi]; + fvsPatchScalarField& alphaPhiCorrp = + alphaPhiCorr.boundaryField()[patchi]; - if (!phiAlphaCorrp.coupled()) + if (!alphaPhiCorrp.coupled()) { const scalarField& phi1p = phase1.phi().boundaryField()[patchi]; const scalarField& alpha1p = alpha1.boundaryField()[patchi]; - forAll(phiAlphaCorrp, facei) + forAll(alphaPhiCorrp, facei) { if (phi1p[facei] < 0) { - phiAlphaCorrp[facei] = alpha1p[facei]*phi1p[facei]; + alphaPhiCorrp[facei] = alpha1p[facei]*phi1p[facei]; } } } @@ -153,7 +153,7 @@ void Foam::multiphaseSystem::solveAlphas() geometricOneField(), phase1, phi_, - phiAlphaCorr, + alphaPhiCorr, zeroField(), zeroField(), 1, @@ -164,7 +164,7 @@ void Foam::multiphaseSystem::solveAlphas() phasei++; } - MULES::limitSum(phiAlphaCorrs); + MULES::limitSum(alphaPhiCorrs); volScalarField sumAlpha ( @@ -184,19 +184,19 @@ void Foam::multiphaseSystem::solveAlphas() { phaseModel& phase1 = iter(); - surfaceScalarField& phiAlpha = phiAlphaCorrs[phasei]; - phiAlpha += upwind(mesh_, phi_).flux(phase1); + surfaceScalarField& alphaPhi = alphaPhiCorrs[phasei]; + alphaPhi += upwind(mesh_, phi_).flux(phase1); MULES::explicitSolve ( geometricOneField(), phase1, - phiAlpha, + alphaPhi, zeroField(), zeroField() ); - phase1.phiAlpha() += phiAlpha; + phase1.alphaPhi() += alphaPhi; Info<< phase1.name() << " volume fraction, min, max = " << phase1.weightedAverage(mesh_.V()).value() @@ -888,7 +888,7 @@ void Foam::multiphaseSystem::solve() dimensionedScalar totalDeltaT = runTime.deltaT(); PtrList alpha0s(phases_.size()); - PtrList phiSums(phases_.size()); + PtrList alphaPhiSums(phases_.size()); int phasei = 0; forAllIter(PtrDictionary, phases_, iter) @@ -902,7 +902,7 @@ void Foam::multiphaseSystem::solve() new volScalarField(alpha.oldTime()) ); - phiSums.set + alphaPhiSums.set ( phasei, new surfaceScalarField @@ -936,7 +936,7 @@ void Foam::multiphaseSystem::solve() int phasei = 0; forAllIter(PtrDictionary, phases_, iter) { - phiSums[phasei] += (runTime.deltaT()/totalDeltaT)*iter().phi(); + alphaPhiSums[phasei] += iter().alphaPhi()/nAlphaSubCycles; phasei++; } } @@ -947,7 +947,7 @@ void Foam::multiphaseSystem::solve() phaseModel& phase = iter(); volScalarField& alpha = phase; - phase.phi() = phiSums[phasei]; + phase.alphaPhi() = alphaPhiSums[phasei]; // Correct the time index of the field // to correspond to the global time diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C index 9f6ed4ac73..f107cfb440 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.C @@ -100,11 +100,11 @@ Foam::phaseModel::phaseModel mesh, dimensionedVector("0", dimVelocity/dimTime, vector::zero) ), - phiAlpha_ + alphaPhi_ ( IOobject ( - IOobject::groupName("phiAlpha", phaseName), + IOobject::groupName("alphaPhi", phaseName), mesh.time().timeName(), mesh ), diff --git a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.H b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.H index 54d6119e49..d1f1157b9a 100644 --- a/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.H +++ b/applications/solvers/multiphase/multiphaseEulerFoam/multiphaseSystem/phaseModel/phaseModel.H @@ -80,7 +80,7 @@ class phaseModel volVectorField DDtU_; //- Volumetric flux of the phase - surfaceScalarField phiAlpha_; + surfaceScalarField alphaPhi_; //- Volumetric flux for the phase autoPtr phiPtr_; @@ -198,14 +198,14 @@ public: return phiPtr_(); } - const surfaceScalarField& phiAlpha() const + const surfaceScalarField& alphaPhi() const { - return phiAlpha_; + return alphaPhi_; } - surfaceScalarField& phiAlpha() + surfaceScalarField& alphaPhi() { - return phiAlpha_; + return alphaPhi_; } //- Correct the phase properties diff --git a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C index 16d1b5f809..f1305897ba 100644 --- a/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C +++ b/applications/solvers/multiphase/multiphaseInterFoam/multiphaseMixture/multiphaseMixture.C @@ -573,14 +573,14 @@ void Foam::multiphaseMixture::solveAlphas surfaceScalarField phic(mag(phi_/mesh_.magSf())); phic = min(cAlpha*phic, max(phic)); - PtrList phiAlphaCorrs(phases_.size()); + PtrList alphaPhiCorrs(phases_.size()); int phasei = 0; forAllIter(PtrDictionary, phases_, iter) { phase& alpha = iter(); - phiAlphaCorrs.set + alphaPhiCorrs.set ( phasei, new surfaceScalarField @@ -595,7 +595,7 @@ void Foam::multiphaseMixture::solveAlphas ) ); - surfaceScalarField& phiAlphaCorr = phiAlphaCorrs[phasei]; + surfaceScalarField& alphaPhiCorr = alphaPhiCorrs[phasei]; forAllIter(PtrDictionary, phases_, iter2) { @@ -605,7 +605,7 @@ void Foam::multiphaseMixture::solveAlphas surfaceScalarField phir(phic*nHatf(alpha, alpha2)); - phiAlphaCorr += fvc::flux + alphaPhiCorr += fvc::flux ( -fvc::flux(-phir, alpha2, alpharScheme), alpha, @@ -619,7 +619,7 @@ void Foam::multiphaseMixture::solveAlphas geometricOneField(), alpha, phi_, - phiAlphaCorr, + alphaPhiCorr, zeroField(), zeroField(), 1, @@ -630,7 +630,7 @@ void Foam::multiphaseMixture::solveAlphas phasei++; } - MULES::limitSum(phiAlphaCorrs); + MULES::limitSum(alphaPhiCorrs); rhoPhi_ = dimensionedScalar("0", dimensionSet(1, 0, -1, 0, 0), 0); @@ -652,19 +652,19 @@ void Foam::multiphaseMixture::solveAlphas { phase& alpha = iter(); - surfaceScalarField& phiAlpha = phiAlphaCorrs[phasei]; - phiAlpha += upwind(mesh_, phi_).flux(alpha); + surfaceScalarField& alphaPhi = alphaPhiCorrs[phasei]; + alphaPhi += upwind(mesh_, phi_).flux(alpha); MULES::explicitSolve ( geometricOneField(), alpha, - phiAlpha, + alphaPhi, zeroField(), zeroField() ); - rhoPhi_ += phiAlpha*alpha.rho(); + rhoPhi_ += alphaPhi*alpha.rho(); Info<< alpha.name() << " volume fraction, min, max = " << alpha.weightedAverage(mesh_.V()).value() diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/reactingEulerFoam/Allwclean similarity index 77% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Allwclean rename to applications/solvers/multiphase/reactingEulerFoam/Allwclean index ac1a48d1a8..618570ccbb 100755 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Allwclean +++ b/applications/solvers/multiphase/reactingEulerFoam/Allwclean @@ -5,7 +5,7 @@ set -x wclean libso phaseSystems wclean libso interfacialModels wclean libso interfacialCompositionModels -wclean libso phaseCompressibleTurbulenceModels -wclean +reactingTwoPhaseEulerFoam/Allwclean +reactingMultiphaseEulerFoam/Allwclean # ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Allwmake b/applications/solvers/multiphase/reactingEulerFoam/Allwmake similarity index 81% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Allwmake rename to applications/solvers/multiphase/reactingEulerFoam/Allwmake index 2566b5a1eb..91c6cd9491 100755 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Allwmake +++ b/applications/solvers/multiphase/reactingEulerFoam/Allwmake @@ -7,7 +7,7 @@ wmakeLnInclude interfacialCompositionModels wmake libso phaseSystems wmake libso interfacialModels wmake libso interfacialCompositionModels -wmake libso phaseCompressibleTurbulenceModels -wmake +reactingTwoPhaseEulerFoam/Allwmake +reactingMultiphaseEulerFoam/Allwmake # ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/files similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/Make/files rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/files diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/Make/options rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options index 088d504706..b25751cd2d 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/Make/options @@ -21,7 +21,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - -lreactingTwoPhaseSystem \ -lfluidThermophysicalModels \ -lreactionThermophysicalModels \ -lspecie diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Henry/Henry.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/InterfaceCompositionModel/InterfaceCompositionModels.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/NonRandomTwoLiquid/NonRandomTwoLiquid.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Raoult/Raoult.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/Saturated/Saturated.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/interfaceCompositionModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/interfaceCompositionModels/interfaceCompositionModel/newInterfaceCompositionModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/Frossling/Frossling.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/massTransferModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/massTransferModel/newMassTransferModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/massTransferModels/sphericalMassTransfer/sphericalMassTransfer.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/Antoine/Antoine.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/AntoineExtended/AntoineExtended.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/ArdenBuck/ArdenBuck.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/constantSaturationConditions/constantSaturationConditions.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/newSaturationModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/saturationModels/saturationModel/saturationModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/constantSurfaceTensionCoefficient/constantSurfaceTensionCoefficient.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/newSurfaceTensionModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialCompositionModels/surfaceTensionModels/surfaceTensionModel/surfaceTensionModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/Make/files rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/files diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options similarity index 94% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/Make/options rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options index ba5bb85f99..1e5f8f0aea 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/Make/options @@ -10,7 +10,6 @@ EXE_INC = \ -I$(LIB_SRC)/meshTools/lnInclude LIB_LIBS = \ - -lreactingTwoPhaseSystem \ -lcompressibleTransportModels \ -lfluidThermophysicalModels \ -lspecie diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/TomiyamaAspectRatio/TomiyamaAspectRatio.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/VakhrushevEfremov/VakhrushevEfremov.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/Wellek/Wellek.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/aspectRatioModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/aspectRatioModel/newAspectRatioModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/aspectRatioModels/constantAspectRatio/constantAspectRatio.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Ergun/Ergun.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Ergun/Ergun.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Gibilaro/Gibilaro.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowErgunWenYu/GidaspowErgunWenYu.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/GidaspowSchillerNaumann/GidaspowSchillerNaumann.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/IshiiZuber/IshiiZuber.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Lain/Lain.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Lain/Lain.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Lain/Lain.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/Lain/Lain.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/Lain/Lain.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SchillerNaumann/SchillerNaumann.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/SyamlalOBrien/SyamlalOBrien.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaAnalytic/TomiyamaAnalytic.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/TomiyamaCorrelated/TomiyamaCorrelated.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/WenYu/WenYu.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/WenYu/WenYu.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/dragModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/dragModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/dragModel/newDragModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C similarity index 96% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C index 4b1fc88ddc..2f3e0db699 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.C @@ -132,7 +132,10 @@ Foam::tmp Foam::dragModels::segregated::K() const volScalarField muAlphaI ( alpha1*rho1*nu1*alpha2*rho2*nu2 - /(alpha1*rho1*nu1 + alpha2*rho2*nu2) + /( + max(alpha1, pair_.phase1().residualAlpha())*rho1*nu1 + + max(alpha2, pair_.phase2().residualAlpha())*rho2*nu2 + ) ); volScalarField ReI diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/dragModels/segregated/segregated.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/dragModels/segregated/segregated.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C similarity index 94% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C index 7e1693dfed..9b65bb82f7 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.C @@ -60,13 +60,13 @@ Foam::heatTransferModels::RanzMarshall::~RanzMarshall() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::tmp -Foam::heatTransferModels::RanzMarshall::K() const +Foam::heatTransferModels::RanzMarshall::K(const scalar residualAlpha) const { volScalarField Nu(scalar(2) + 0.6*sqrt(pair_.Re())*cbrt(pair_.Pr())); return 6.0 - *max(pair_.dispersed(), residualAlpha_) + *max(pair_.dispersed(), residualAlpha) *pair_.continuous().kappa() *Nu /sqr(pair_.dispersed().d()); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H index c02126528a..a4987ab0af 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/RanzMarshall/RanzMarshall.H @@ -79,7 +79,7 @@ public: // Member Functions //- The heat transfer function K used in the enthalpy equation - tmp K() const; + tmp K(const scalar residualAlpha) const; }; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C similarity index 91% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C index 1621b6be19..3a75fbf3d1 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.C @@ -65,4 +65,13 @@ Foam::heatTransferModel::~heatTransferModel() {} +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +Foam::tmp +Foam::heatTransferModel::K() const +{ + return K(residualAlpha_.value()); +} + + // ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H similarity index 90% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H index 6276e8aee1..130b82198b 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/heatTransferModel.H @@ -117,7 +117,13 @@ public: //- The heat transfer function K used in the enthalpy equation // ddt(alpha1*rho1*ha) + ... = ... K*(Ta - Tb) // ddt(alpha2*rho2*hb) + ... = ... K*(Tb - Ta) - virtual tmp K() const = 0; + tmp K() const; + + //- The heat transfer function K used in the enthalpy equation + // ddt(alpha1*rho1*ha) + ... = ... K*(Ta - Tb) + // ddt(alpha2*rho2*hb) + ... = ... K*(Tb - Ta) + // with a specified residual volume fraction + virtual tmp K(const scalar residualAlpha) const = 0; }; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/heatTransferModel/newHeatTransferModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C similarity index 94% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C index 4eec6de028..0672f16ef8 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.C @@ -65,11 +65,14 @@ Foam::heatTransferModels::sphericalHeatTransfer::~sphericalHeatTransfer() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::tmp -Foam::heatTransferModels::sphericalHeatTransfer::K() const +Foam::heatTransferModels::sphericalHeatTransfer::K +( + const scalar residualAlpha +) const { return 60.0 - *max(pair_.dispersed(), residualAlpha_) + *max(pair_.dispersed(), residualAlpha) *pair_.continuous().kappa() /sqr(pair_.dispersed().d()); } diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H index 88d098668f..f3164df9bd 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/heatTransferModels/sphericalHeatTransfer/sphericalHeatTransfer.H @@ -79,7 +79,7 @@ public: // Member Functions //- The heat transfer function K used in the enthalpy equation - tmp K() const; + tmp K(const scalar residualAlpha) const; }; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/LegendreMagnaudet/LegendreMagnaudet.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/Moraga/Moraga.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/Moraga/Moraga.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/TomiyamaLift/TomiyamaLift.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/constantLiftCoefficient/constantLiftCoefficient.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/liftModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/liftModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/liftModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/liftModel/liftModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/liftModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/liftModel/newLiftModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/noLift/noLift.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/noLift/noLift.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/noLift/noLift.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/liftModels/noLift/noLift.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/liftModels/noLift/noLift.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/TomiyamaSwarm/TomiyamaSwarm.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/noSwarm/noSwarm.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/newSwarmCorrection.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/swarmCorrections/swarmCorrection/swarmCorrection.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Burns/Burns.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/Gosman/Gosman.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/LopezDeBertodano/LopezDeBertodano.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/constantTurbulentDispersionCoefficient/constantTurbulentDispersionCoefficient.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/noTurbulentDispersion/noTurbulentDispersion.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/newTurbulentDispersionModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C similarity index 91% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C index d5d805c085..0bb29c1bea 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.C @@ -26,6 +26,8 @@ License #include "turbulentDispersionModel.H" #include "phasePair.H" #include "fvcGrad.H" +#include "surfaceInterpolate.H" +#include "fvcSnGrad.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -66,4 +68,11 @@ Foam::turbulentDispersionModel::F() const } +Foam::tmp +Foam::turbulentDispersionModel::Ff() const +{ + return fvc::interpolate(D())*fvc::snGrad(pair_.dispersed()); +} + + // ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H index 932fdb3801..56e72ebcac 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/turbulentDispersionModels/turbulentDispersionModel/turbulentDispersionModel.H @@ -120,6 +120,9 @@ public: //- Turbulent dispersion force virtual tmp F() const; + + //- Turbulent dispersion force on faces + virtual tmp Ff() const; }; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/Lamb/Lamb.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/constantVirtualMassCoefficient/constantVirtualMassCoefficient.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/noVirtualMass/noVirtualMass.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/newVirtualMassModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/virtualMassModels/virtualMassModel/virtualMassModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallDependentModel/wallDependentModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Antal/Antal.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/Frank/Frank.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/TomiyamaWallLubrication/TomiyamaWallLubrication.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/noWallLubrication/noWallLubrication.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/newWallLubricationModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H b/applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H rename to applications/solvers/multiphase/reactingEulerFoam/interfacialModels/wallLubricationModels/wallLubricationModel/wallLubricationModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.C similarity index 89% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.C index da6c62ade5..36e31630a4 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.C @@ -223,6 +223,66 @@ Foam::BlendedInterfacialModel::K() const } +template +Foam::tmp +Foam::BlendedInterfacialModel::K(const scalar residualAlpha) const +{ + tmp f1, f2; + + if (model_.valid() || model1In2_.valid()) + { + f1 = blending_.f1(phase1_, phase2_); + } + + if (model_.valid() || model2In1_.valid()) + { + f2 = blending_.f2(phase1_, phase2_); + } + + tmp x + ( + new volScalarField + ( + IOobject + ( + ModelType::typeName + ":K", + phase1_.mesh().time().timeName(), + phase1_.mesh(), + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + phase1_.mesh(), + dimensionedScalar("zero", ModelType::dimK, 0) + ) + ); + + if (model_.valid()) + { + x() += model_->K(residualAlpha)*(scalar(1) - f1() - f2()); + } + if (model1In2_.valid()) + { + x() += model1In2_->K(residualAlpha)*f1; + } + if (model2In1_.valid()) + { + x() += model2In1_->K(residualAlpha)*f2; + } + + if + ( + correctFixedFluxBCs_ + && (model_.valid() || model1In2_.valid() || model2In1_.valid()) + ) + { + correctFixedFluxBCs(x()); + } + + return x; +} + + template Foam::tmp Foam::BlendedInterfacialModel::Kf() const diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.H index bd2ec60235..4be8f0b347 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/BlendedInterfacialModel.H @@ -136,6 +136,9 @@ public: //- Return the blended force coefficient tmp K() const; + //- Return the blended force coefficient with a specified residual alpha + tmp K(const scalar residualAlpha) const; + //- Return the face blended force coefficient tmp Kf() const; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/linear/linear.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/BlendedInterfacialModel/blendingMethods/noBlending/noBlending.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/Make/files b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/files similarity index 63% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/Make/files rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/files index 538bd7d637..1f516dc243 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/Make/files +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/files @@ -13,20 +13,12 @@ diameterModels/diameterModel/newDiameterModel.C diameterModels/constantDiameter/constantDiameter.C diameterModels/isothermalDiameter/isothermalDiameter.C -diameterModels/IATE/IATE.C -diameterModels/IATE/IATEsources/IATEsource/IATEsource.C -diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C -diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C -diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C - BlendedInterfacialModel/blendingMethods/blendingMethod/blendingMethod.C BlendedInterfacialModel/blendingMethods/blendingMethod/newBlendingMethod.C BlendedInterfacialModel/blendingMethods/noBlending/noBlending.C BlendedInterfacialModel/blendingMethods/linear/linear.C BlendedInterfacialModel/blendingMethods/hyperbolic/hyperbolic.C -twoPhaseSystem/twoPhaseSystem.C -twoPhaseSystem/newTwoPhaseSystem.C -twoPhaseSystem/twoPhaseSystems.C +reactionThermo/hRefConstThermos.C -LIB = $(FOAM_LIBBIN)/libreactingTwoPhaseSystem +LIB = $(FOAM_LIBBIN)/libreactingPhaseSystem diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/Make/options b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/Make/options rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/Make/options diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C similarity index 80% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C index ff4fb10e9d..3db07ef804 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.C @@ -151,6 +151,16 @@ Foam::HeatAndMassTransferPhaseSystem:: // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // +template +bool Foam::HeatAndMassTransferPhaseSystem::transfersMass +( + const phaseModel& phase +) const +{ + return true; +} + + template Foam::tmp Foam::HeatAndMassTransferPhaseSystem::dmdt @@ -164,6 +174,60 @@ Foam::HeatAndMassTransferPhaseSystem::dmdt } +template +Foam::tmp +Foam::HeatAndMassTransferPhaseSystem::dmdt +( + const Foam::phaseModel& phase +) const +{ + tmp tdmdt + ( + new volScalarField + ( + IOobject + ( + IOobject::groupName("dmdt", phase.name()), + this->mesh_.time().timeName(), + this->mesh_ + ), + this->mesh_, + dimensionedScalar("zero", dimDensity/dimTime, 0) + ) + ); + + forAllConstIter + ( + phaseSystem::phasePairTable, + this->phasePairs_, + phasePairIter + ) + { + const phasePair& pair(phasePairIter()); + + if (pair.ordered()) + { + continue; + } + + const phaseModel* phase1 = &pair.phase1(); + const phaseModel* phase2 = &pair.phase2(); + + forAllConstIter(phasePair, pair, iter) + { + if (phase1 == &phase) + { + tdmdt() += this->dmdt(pair); + } + + Swap(phase1, phase2); + } + } + + return tdmdt; +} + + template Foam::autoPtr Foam::HeatAndMassTransferPhaseSystem::momentumTransfer() const @@ -192,11 +256,11 @@ Foam::HeatAndMassTransferPhaseSystem::momentumTransfer() const const volVectorField& U2(pair.phase2().U()); const volScalarField dmdt(this->dmdt(pair)); - const volScalarField dmdt12(posPart(dmdt)); - const volScalarField dmdt21(negPart(dmdt)); + const volScalarField dmdt21(posPart(dmdt)); + const volScalarField dmdt12(negPart(dmdt)); - *eqns[pair.phase1().name()] += fvm::Sp(dmdt21, U1) - dmdt21*U2; - *eqns[pair.phase2().name()] += dmdt12*U1 - fvm::Sp(dmdt12, U2); + *eqns[pair.phase1().name()] += dmdt21*U2 - fvm::Sp(dmdt21, U1); + *eqns[pair.phase2().name()] -= dmdt12*U1 - fvm::Sp(dmdt12, U2); } return eqnsPtr; @@ -214,14 +278,9 @@ Foam::HeatAndMassTransferPhaseSystem::heatTransfer() const phaseSystem::heatTransferTable& eqns = eqnsPtr(); - forAllConstIter - ( - phaseSystem::phaseModelTable, - this->phaseModels_, - phaseModelIter - ) + forAll(this->phaseModels_, phasei) { - const phaseModel& phase(phaseModelIter()); + const phaseModel& phase = this->phaseModels_[phasei]; eqns.insert ( @@ -283,7 +342,7 @@ Foam::HeatAndMassTransferPhaseSystem::heatTransfer() const } } - // Source term due to mass trasfer + // Source term due to mass transfer forAllConstIter ( phaseSystem::phasePairTable, @@ -308,17 +367,19 @@ Foam::HeatAndMassTransferPhaseSystem::heatTransfer() const const volScalarField& K2(phase2.K()); const volScalarField dmdt(this->dmdt(pair)); - const volScalarField dmdt12(posPart(dmdt)); - const volScalarField dmdt21(negPart(dmdt)); + const volScalarField dmdt21(posPart(dmdt)); + const volScalarField dmdt12(negPart(dmdt)); const volScalarField& Tf(*Tf_[pair]); *eqns[phase1.name()] += - fvm::Sp(dmdt21, he1) + dmdt21*K1 - - dmdt21*(phase2.thermo().he(phase2.thermo().p(), Tf) + K2); + dmdt21*(phase1.thermo().he(phase1.thermo().p(), Tf)) + - fvm::Sp(dmdt21, he1) + + dmdt21*(K2 - K1); - *eqns[phase2.name()] += - dmdt12*(phase1.thermo().he(phase1.thermo().p(), Tf) + K1) - - fvm::Sp(dmdt12, he2) - dmdt12*K2; + *eqns[phase2.name()] -= + dmdt12*(phase2.thermo().he(phase2.thermo().p(), Tf)) + - fvm::Sp(dmdt12, he2) + + dmdt12*(K1 - K2); } return eqnsPtr; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.H similarity index 92% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.H index 3f20c575f8..3a0cbd4ba2 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatAndMassTransferPhaseSystem/HeatAndMassTransferPhaseSystem.H @@ -120,11 +120,14 @@ public: // Member Functions + //- Return true if there is mass transfer for phase + virtual bool transfersMass(const phaseModel& phase) const; + //- Return the interfacial mass flow rate - virtual tmp dmdt - ( - const phasePairKey& key - ) const; + virtual tmp dmdt(const phasePairKey& key) const; + + //- Return the total interfacial mass transfer rate for phase + virtual tmp dmdt(const phaseModel& phase) const; //- Return the momentum transfer matrices virtual autoPtr diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.C similarity index 90% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.C index 0a5d8a7060..07b41eb771 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.C @@ -57,6 +57,16 @@ Foam::HeatTransferPhaseSystem::~HeatTransferPhaseSystem() // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // +template +bool Foam::HeatTransferPhaseSystem::transfersMass +( + const phaseModel& phase +) const +{ + return false; +} + + template Foam::tmp Foam::HeatTransferPhaseSystem::dmdt @@ -85,6 +95,17 @@ Foam::HeatTransferPhaseSystem::dmdt } +template +Foam::tmp +Foam::HeatTransferPhaseSystem::dmdt +( + const Foam::phaseModel& phase +) const +{ + return tmp(NULL); +} + + template Foam::autoPtr Foam::HeatTransferPhaseSystem::heatTransfer() const @@ -96,14 +117,9 @@ Foam::HeatTransferPhaseSystem::heatTransfer() const phaseSystem::heatTransferTable& eqns = eqnsPtr(); - forAllConstIter - ( - phaseSystem::phaseModelTable, - this->phaseModels_, - phaseModelIter - ) + forAll(this->phaseModels_, phasei) { - const phaseModel& phase(phaseModelIter()); + const phaseModel& phase = this->phaseModels_[phasei]; eqns.insert ( diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.H similarity index 92% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.H index 6bb96c90ba..0c908239fd 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/HeatTransferPhaseSystem/HeatTransferPhaseSystem.H @@ -89,12 +89,18 @@ public: // Member Functions + //- Return true if there is mass transfer for phase + virtual bool transfersMass(const phaseModel& phase) const; + //- Return the interfacial mass flow rate virtual tmp dmdt ( const phasePairKey& key ) const; + //- Return the total interfacial mass transfer rate for phase + virtual tmp dmdt(const phaseModel& phase) const; + //- Return the heat transfer matrices virtual autoPtr heatTransfer() const; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.C similarity index 98% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.C index 47c994334d..fe0343b2ac 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.C @@ -69,14 +69,9 @@ massTransfer() const phaseSystem::massTransferTable& eqns = eqnsPtr(); - forAllConstIter - ( - phaseSystem::phaseModelTable, - this->phaseModels_, - phaseModelIter - ) + forAll(this->phaseModels_, phasei) { - const phaseModel& phase(phaseModelIter()); + const phaseModel& phase = this->phaseModels_[phasei]; const PtrList& Yi = phase.Y(); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/InterfaceCompositionPhaseChangePhaseSystem/InterfaceCompositionPhaseChangePhaseSystem.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C similarity index 72% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C index 9646a6a80c..f50bd61f9e 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.C @@ -38,6 +38,7 @@ License #include "fvmDiv.H" #include "fvmSup.H" #include "fvcDiv.H" +#include "fvcSnGrad.H" #include "fvMatrix.H" // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -155,6 +156,62 @@ Foam::MomentumTransferPhaseSystem::Kdf } +template +Foam::tmp +Foam::MomentumTransferPhaseSystem::Kd +( + const Foam::phaseModel& phase +) const +{ + tmp tKd + ( + new volScalarField + ( + IOobject + ( + IOobject::groupName("Kd", phase.name()), + this->mesh_.time().timeName(), + this->mesh_ + ), + this->mesh_, + dimensionedScalar + ( + IOobject::groupName("Kd", phase.name()), + dimensionSet(1, -3, -1, 0, 0), + 0 + ) + ) + ); + + forAllConstIter + ( + phaseSystem::KdTable, + Kds_, + KdIter + ) + { + const volScalarField& K(*KdIter()); + + const phasePair& pair(this->phasePairs_[KdIter.key()]); + + const phaseModel* phase1 = &pair.phase1(); + const phaseModel* phase2 = &pair.phase2(); + + forAllConstIter(phasePair, pair, iter) + { + if (phase1 == &phase) + { + tKd() += K; + } + + Swap(phase1, phase2); + } + } + + return tKd; +} + + template Foam::tmp Foam::MomentumTransferPhaseSystem::Vm @@ -357,14 +414,9 @@ Foam::MomentumTransferPhaseSystem::momentumTransfer() const phaseSystem::momentumTransferTable& eqns = eqnsPtr(); - forAllConstIter - ( - phaseSystem::phaseModelTable, - this->phaseModels_, - phaseModelIter - ) + forAll(this->phaseModels_, phasei) { - const phaseModel& phase(phaseModelIter()); + const phaseModel& phase = this->phaseModels_[phasei]; eqns.insert ( @@ -401,7 +453,7 @@ Foam::MomentumTransferPhaseSystem::momentumTransfer() const forAllConstIter(phasePair, pair, iter) { - const volVectorField& U(phase->U()); + const volVectorField& U = phase->U(); *eqns[phase->name()] -= fvm::Sp(K, U); @@ -437,23 +489,69 @@ Foam::MomentumTransferPhaseSystem::momentumTransfer() const forAllConstIter(phasePair, pair, iter) { - const volVectorField& U(phase->U()); - const surfaceScalarField& phi(phase->phi()); + const volVectorField& U = phase->U(); + const surfaceScalarField& phi = phase->phi(); - *eqns[phase->name()] += - - Vm + *eqns[phase->name()] -= + Vm *( fvm::ddt(U) + fvm::div(phi, U) - fvm::Sp(fvc::div(phi), U) - otherPhase->DUDt() ) - - this->MRF_.DDt(Vm, U - otherPhase->U()); + + this->MRF_.DDt(Vm, U - otherPhase->U()); Swap(phase, otherPhase); } } + return eqnsPtr; +} + + +template +Foam::volVectorField& Foam::MomentumTransferPhaseSystem::setF +( + PtrList& Fs, const label phasei +) const +{ + if (!Fs.set(phasei)) + { + Fs.set + ( + phasei, + new volVectorField + ( + IOobject + ( + liftModel::typeName + ":F", + this->mesh_.time().timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + this->mesh_, + dimensionedVector("zero", liftModel::dimF, vector::zero) + ) + ); + } + + return Fs[phasei]; +} + + +template +Foam::autoPtr > +Foam::MomentumTransferPhaseSystem::Fs() const +{ + autoPtr > tFs + ( + new PtrList(this->phases().size()) + ); + PtrList& Fs = tFs(); + // Add the lift force forAllConstIter ( @@ -466,8 +564,8 @@ Foam::MomentumTransferPhaseSystem::momentumTransfer() const const phasePair& pair(this->phasePairs_[liftModelIter.key()]); - *eqns[pair.phase1().name()] += F; - *eqns[pair.phase2().name()] -= F; + setF(Fs, pair.phase1().index()) += F; + setF(Fs, pair.phase2().index()) -= F; } // Add the wall lubrication force @@ -483,10 +581,65 @@ Foam::MomentumTransferPhaseSystem::momentumTransfer() const const phasePair& pair(this->phasePairs_[wallLubricationModelIter.key()]); - *eqns[pair.phase1().name()] += F; - *eqns[pair.phase2().name()] -= F; + setF(Fs, pair.phase1().index()) += F; + setF(Fs, pair.phase2().index()) -= F; } + return tFs; +} + + +template +Foam::surfaceScalarField& +Foam::MomentumTransferPhaseSystem::setPhiD +( + PtrList& phiDs, const label phasei +) const +{ + if (!phiDs.set(phasei)) + { + phiDs.set + ( + phasei, + new surfaceScalarField + ( + IOobject + ( + turbulentDispersionModel::typeName + ":phiD", + this->mesh_.time().timeName(), + this->mesh_, + IOobject::NO_READ, + IOobject::NO_WRITE, + false + ), + this->mesh_, + dimensionedScalar + ( + "zero", + dimTime*dimArea*turbulentDispersionModel::dimF/dimDensity, + 0 + ) + ) + ); + } + + return phiDs[phasei]; +} + + +template +Foam::autoPtr > +Foam::MomentumTransferPhaseSystem::phiDs +( + const PtrList& rAUs +) const +{ + autoPtr > tphiDs + ( + new PtrList(this->phases().size()) + ); + PtrList& phiDs = tphiDs(); + // Add the turbulent dispersion force forAllConstIter ( @@ -495,16 +648,22 @@ Foam::MomentumTransferPhaseSystem::momentumTransfer() const turbulentDispersionModelIter ) { - const volVectorField F(turbulentDispersionModelIter()->F()); - const phasePair& pair(this->phasePairs_[turbulentDispersionModelIter.key()]); - *eqns[pair.phase1().name()] += F; - *eqns[pair.phase2().name()] -= F; + const volScalarField D(turbulentDispersionModelIter()->D()); + const surfaceScalarField snGradAlpha1 + ( + fvc::snGrad(pair.phase1())*this->mesh_.magSf() + ); + + setPhiD(phiDs, pair.phase1().index()) += + fvc::interpolate(rAUs[pair.phase1().index()]*D)*snGradAlpha1; + setPhiD(phiDs, pair.phase2().index()) -= + fvc::interpolate(rAUs[pair.phase2().index()]*D)*snGradAlpha1; } - return eqnsPtr; + return tphiDs; } diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H similarity index 84% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H index 5c9f057bed..2f787ed004 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/MomentumTransferPhaseSystem/MomentumTransferPhaseSystem.H @@ -133,6 +133,20 @@ private: //- Turbulent dispersion models turbulentDispersionModelTable turbulentDispersionModels_; + //- Construct element phasei of Fs if not set and return + // Used by Fs() + volVectorField& setF + ( + PtrList& Fs, const label phasei + ) const; + + //- Construct element phasei of phiDs if not set and return + // Used by phiDs() + surfaceScalarField& setPhiD + ( + PtrList& phiDs, const label phasei + ) const; + public: @@ -148,12 +162,21 @@ public: // Member Functions + //- Constant access to drag coefficients + virtual const phaseSystem::KdTable& Kds() const + { + return Kds_; + } + //- Return the drag coefficient virtual tmp Kd(const phasePairKey& key) const; //- Return the face drag coefficient virtual tmp Kdf(const phasePairKey& key) const; + //- Return the drag coefficient for phase + virtual tmp Kd(const phaseModel& phase) const; + //- Return the virtual mass coefficient virtual tmp Vm(const phasePairKey& key) const; @@ -163,6 +186,15 @@ public: //- Return the combined force (lift + wall-lubrication) virtual tmp F(const phasePairKey& key) const; + //- Return the combined force (lift + wall-lubrication) + virtual autoPtr > Fs() const; + + //- Return the turbulent dispersion force on faces for phase pair + virtual autoPtr > phiDs + ( + const PtrList& rAUs + ) const; + //- Return the combined face-force (lift + wall-lubrication) virtual tmp Ff(const phasePairKey& key) const; diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C new file mode 100644 index 0000000000..175a993e30 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C @@ -0,0 +1,372 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "ThermalPhaseChangePhaseSystem.H" +#include "fvCFD.H" +#include "alphatPhaseChangeWallFunctionFvPatchScalarField.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::ThermalPhaseChangePhaseSystem:: +ThermalPhaseChangePhaseSystem +( + const fvMesh& mesh +) +: + HeatAndMassTransferPhaseSystem(mesh), + volatile_(this->lookup("volatile")), + saturationModel_(saturationModel::New(this->subDict("saturationModel"))), + massTransfer_(this->lookup("massTransfer")) +{ + + forAllConstIter + ( + phaseSystem::phasePairTable, + this->phasePairs_, + phasePairIter + ) + { + const phasePair& pair(phasePairIter()); + + if (pair.ordered()) + { + continue; + } + + // Initially assume no mass transfer + iDmdt_.insert + ( + pair, + new volScalarField + ( + IOobject + ( + IOobject::groupName("iDmdt", pair.name()), + this->mesh().time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + this->mesh(), + dimensionedScalar("zero", dimDensity/dimTime, 0) + ) + ); + + // Initially assume no mass transfer + wDmdt_.insert + ( + pair, + new volScalarField + ( + IOobject + ( + IOobject::groupName("wDmdt", pair.name()), + this->mesh().time().timeName(), + this->mesh(), + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + this->mesh(), + dimensionedScalar("zero", dimDensity/dimTime, 0) + ) + ); + } +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +template +Foam::ThermalPhaseChangePhaseSystem:: +~ThermalPhaseChangePhaseSystem() +{} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +template +const Foam::saturationModel& +Foam::ThermalPhaseChangePhaseSystem::saturation() const +{ + return saturationModel_(); +} + + +template +Foam::autoPtr +Foam::ThermalPhaseChangePhaseSystem::massTransfer() const +{ + // Create a mass transfer matrix for each species of each phase + autoPtr eqnsPtr + ( + new phaseSystem::massTransferTable() + ); + + phaseSystem::massTransferTable& eqns = eqnsPtr(); + + forAll(this->phaseModels_, phasei) + { + const phaseModel& phase = this->phaseModels_[phasei]; + + const PtrList& Yi = phase.Y(); + + forAll(Yi, i) + { + eqns.insert + ( + Yi[i].name(), + new fvScalarMatrix(Yi[i], dimMass/dimTime) + ); + } + } + + forAllConstIter + ( + phaseSystem::phasePairTable, + this->phasePairs_, + phasePairIter + ) + { + const phasePair& pair(phasePairIter()); + + if (pair.ordered()) + { + continue; + } + const phaseModel& phase = pair.phase1(); + const phaseModel& otherPhase = pair.phase2(); + + const word name + ( + IOobject::groupName(volatile_, phase.name()) + ); + + const word otherName + ( + IOobject::groupName(volatile_, otherPhase.name()) + ); + + const volScalarField dmdt(this->dmdt(pair)); + const volScalarField dmdt12(posPart(dmdt)); + const volScalarField dmdt21(negPart(dmdt)); + + *eqns[name] += fvm::Sp(dmdt21, eqns[name]->psi()) - dmdt21; + *eqns[otherName] += dmdt12 - fvm::Sp(dmdt12, eqns[otherName]->psi()); + } + + return eqnsPtr; +} + + +template +void Foam::ThermalPhaseChangePhaseSystem::correctThermo() +{ + typedef compressible::alphatPhaseChangeWallFunctionFvPatchScalarField + alphatPhaseChangeWallFunction; + + BasePhaseSystem::correctThermo(); + + forAllConstIter + ( + phaseSystem::phasePairTable, + this->phasePairs_, + phasePairIter + ) + { + const phasePair& pair(phasePairIter()); + + if (pair.ordered()) + { + continue; + } + + const phaseModel& phase1 = pair.phase1(); + const phaseModel& phase2 = pair.phase2(); + + const volScalarField& T1(phase1.thermo().T()); + const volScalarField& T2(phase2.thermo().T()); + + const volScalarField& he1(phase1.thermo().he()); + const volScalarField& he2(phase2.thermo().he()); + + volScalarField& dmdt(*this->dmdt_[pair]); + volScalarField& iDmdt(*this->iDmdt_[pair]); + volScalarField& wDmdt(*this->wDmdt_[pair]); + + volScalarField& Tf = *this->Tf_[pair]; + + volScalarField hef1(phase1.thermo().he(phase1.thermo().p(), Tf)); + volScalarField hef2(phase2.thermo().he(phase2.thermo().p(), Tf)); + + if (massTransfer_ ) + { + volScalarField H1 + ( + this->heatTransferModels_[pair][pair.first()]->K(0) + ); + + volScalarField H2 + ( + this->heatTransferModels_[pair][pair.second()]->K(0) + ); + + Tf = saturationModel_->Tsat(phase1.thermo().p()); + + scalar iDmdtRelax(this->mesh().fieldRelaxationFactor("iDmdt")); + + iDmdt = + (1 - iDmdtRelax)*iDmdt + + iDmdtRelax*(H1*(Tf - T1) + H2*(Tf - T2)) + /min + ( + (pos(iDmdt)*he2 + neg(iDmdt)*hef2) + - (neg(iDmdt)*he1 + pos(iDmdt)*hef1), + 0.3*mag(hef2 - hef1) + ); + + Info<< "iDmdt." << pair.name() + << ": min = " << min(iDmdt.internalField()) + << ", mean = " << average(iDmdt.internalField()) + << ", max = " << max(iDmdt.internalField()) + << ", integral = " << fvc::domainIntegrate(iDmdt).value() + << endl; + } + else + { + iDmdt == dimensionedScalar("0", dmdt.dimensions(), 0); + } + + volScalarField H1(this->heatTransferModels_[pair][pair.first()]->K()); + volScalarField H2(this->heatTransferModels_[pair][pair.second()]->K()); + + // Limit the H[12] boundary field to avoid /0 + const scalar HLimit = 1e-4; + H1.boundaryField() = + max(H1.boundaryField(), phase1.boundaryField()*HLimit); + H2.boundaryField() = + max(H2.boundaryField(), phase2.boundaryField()*HLimit); + + volScalarField mDotL + ( + iDmdt* + ( + (pos(iDmdt)*he2 + neg(iDmdt)*hef2) + - (neg(iDmdt)*he1 + pos(iDmdt)*hef1) + ) + ); + + Tf = (H1*T1 + H2*T2 + mDotL)/(H1 + H2); + + Info<< "Tf." << pair.name() + << ": min = " << min(Tf.internalField()) + << ", mean = " << average(Tf.internalField()) + << ", max = " << max(Tf.internalField()) + << endl; + + // Accumulate dmdt contributions from boundaries + if + ( + phase2.mesh().foundObject + ( + "alphat." + phase2.name() + ) + ) + { + scalar wDmdtRelax(this->mesh().fieldRelaxationFactor("wDmdt")); + wDmdt *= (1 - wDmdtRelax); + + const volScalarField& alphat = + phase2.mesh().lookupObject + ( + "alphat." + phase2.name() + ); + + const fvPatchList& patches = this->mesh().boundary(); + forAll(patches, patchi) + { + const fvPatch& currPatch = patches[patchi]; + + if + ( + isA + ( + alphat.boundaryField()[patchi] + ) + ) + { + const scalarField& patchDmdt = + refCast + ( + alphat.boundaryField()[patchi] + ).dmdt(); + + forAll(patchDmdt,facei) + { + label faceCelli = currPatch.faceCells()[facei]; + wDmdt[faceCelli] += wDmdtRelax*patchDmdt[facei]; + } + } + } + + Info<< "wDmdt." << pair.name() + << ": min = " << min(wDmdt.internalField()) + << ", mean = " << average(wDmdt.internalField()) + << ", max = " << max(wDmdt.internalField()) + << ", integral = " << fvc::domainIntegrate(wDmdt).value() + << endl; + } + + dmdt = wDmdt + iDmdt; + + Info<< "dmdt." << pair.name() + << ": min = " << min(dmdt.internalField()) + << ", mean = " << average(dmdt.internalField()) + << ", max = " << max(dmdt.internalField()) + << ", integral = " << fvc::domainIntegrate(dmdt).value() + << endl; + } +} + + +template +bool Foam::ThermalPhaseChangePhaseSystem::read() +{ + if (BasePhaseSystem::read()) + { + bool readOK = true; + + // Models ... + + return readOK; + } + else + { + return false; + } +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H similarity index 88% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H index 9a0a0d109a..e67b8209fe 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.H @@ -43,6 +43,7 @@ SourceFiles #include "HeatAndMassTransferPhaseSystem.H" #include "saturationModel.H" +#include "Switch.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -69,6 +70,17 @@ protected: //- The saturation model used to evaluate Tsat = Tf autoPtr saturationModel_; + // Mass transfer enabled + Switch massTransfer_; + + //- Interfacial Mass transfer rate + HashPtrTable + iDmdt_; + + //- Wall Mass transfer rate + HashPtrTable + wDmdt_; + public: @@ -84,6 +96,9 @@ public: // Member Functions + //- Return the saturationModel + const saturationModel& saturation() const; + //- Return the mass transfer matrices virtual autoPtr massTransfer() const; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/constantDiameter/constantDiameter.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/diameterModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/diameterModel/newDiameterModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/diameterModels/isothermalDiameter/isothermalDiameter.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C similarity index 84% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C index 3a2786d75c..8d705049f7 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.C @@ -32,21 +32,12 @@ template Foam::AnisothermalPhaseModel::AnisothermalPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : - BasePhaseModel(fluid, phaseName), - divU_ - ( - IOobject - ( - IOobject::groupName("divU", this->name()), - fluid.mesh().time().timeName(), - fluid.mesh() - ), - fluid.mesh(), - dimensionedScalar("divU", dimless/dimTime, 0) - ), + BasePhaseModel(fluid, phaseName, index), + divU_(NULL), K_ ( IOobject @@ -104,7 +95,7 @@ Foam::AnisothermalPhaseModel::heEqn() volScalarField& he = this->thermo_->he(); - return + tmp tEEqn ( fvm::ddt(alpha, this->rho(), he) + fvm::div(alphaRhoPhi, he) - fvm::Sp(contErr, he) @@ -118,28 +109,35 @@ Foam::AnisothermalPhaseModel::heEqn() *fvc::interpolate(alphaEff), he ) - - + ( - he.name() == this->thermo_->phasePropertyName("e") - ? fvc::ddt(alpha)*this->thermo().p() - + fvc::div(alphaPhi, this->thermo().p()) - : -alpha*this->fluid().dpdt() - ) == this->Sh() ); + + // Add the appropriate pressure-work term + if (he.name() == this->thermo_->phasePropertyName("e")) + { + tEEqn() += + fvc::ddt(alpha)*this->thermo().p() + + fvc::div(alphaPhi, this->thermo().p()); + } + else if (this->thermo_->dpdt()) + { + tEEqn() -= alpha*this->fluid().dpdt(); + } + + return tEEqn; } template bool Foam::AnisothermalPhaseModel::compressible() const { - return true; + return !this->thermo().incompressible(); } template -const Foam::volScalarField& +const Foam::tmp& Foam::AnisothermalPhaseModel::divU() const { return divU_; @@ -148,7 +146,10 @@ Foam::AnisothermalPhaseModel::divU() const template void -Foam::AnisothermalPhaseModel::divU(const volScalarField& divU) +Foam::AnisothermalPhaseModel::divU +( + const tmp& divU +) { divU_ = divU; } diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H similarity index 91% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H index e7a76bf496..a8c4be694a 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/AnisothermalPhaseModel/AnisothermalPhaseModel.H @@ -55,7 +55,7 @@ class AnisothermalPhaseModel // Private data //- Dilatation rate - volScalarField divU_; + tmp divU_; //- Kinetic energy volScalarField K_; @@ -65,7 +65,12 @@ public: // Constructors - AnisothermalPhaseModel(const phaseSystem& fluid, const word& phaseName); + AnisothermalPhaseModel + ( + const phaseSystem& fluid, + const word& phaseName, + const label index + ); //- Destructor @@ -90,10 +95,10 @@ public: virtual bool compressible() const; //- Return the phase dilatation rate (d(alpha)/dt + div(alpha*phi)) - virtual const volScalarField& divU() const; + virtual const tmp& divU() const; //- Set the phase dilatation rate (d(alpha)/dt + div(alpha*phi)) - virtual void divU(const volScalarField& divU); + virtual void divU(const tmp& divU); //- Return the phase kinetic energy virtual const volScalarField& K() const; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C similarity index 96% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C index 909a5418b9..ba5e90459b 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.C @@ -32,10 +32,11 @@ template Foam::InertPhaseModel::InertPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : - BasePhaseModel(fluid, phaseName) + BasePhaseModel(fluid, phaseName, index) {} diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.H similarity index 94% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.H index c74088eaa5..77823d4491 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/InertPhaseModel/InertPhaseModel.H @@ -56,7 +56,12 @@ public: // Constructors - InertPhaseModel(const phaseSystem& fluid, const word& phaseName); + InertPhaseModel + ( + const phaseSystem& fluid, + const word& phaseName, + const label index + ); //- Destructor diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C similarity index 95% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C index 07f99c5a5d..19b7b73ebe 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.C @@ -32,10 +32,11 @@ template Foam::IsothermalPhaseModel::IsothermalPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : - BasePhaseModel(fluid, phaseName) + BasePhaseModel(fluid, phaseName, index) {} diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.H similarity index 94% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.H index d43a1a6119..bdf1a14aed 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/IsothermalPhaseModel/IsothermalPhaseModel.H @@ -57,7 +57,12 @@ public: // Constructors - IsothermalPhaseModel(const phaseSystem& fluid, const word& phaseName); + IsothermalPhaseModel + ( + const phaseSystem& fluid, + const word& phaseName, + const label index + ); //- Destructor diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C similarity index 95% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C index b1869b9fbf..d06c61987a 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.C @@ -123,10 +123,11 @@ template Foam::MovingPhaseModel::MovingPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : - BasePhaseModel(fluid, phaseName), + BasePhaseModel(fluid, phaseName, index), U_ ( IOobject @@ -197,6 +198,7 @@ Foam::MovingPhaseModel::MovingPhaseModel dimensionedScalar("0", dimDensity/dimTime, 0) ) { + phi_.writeOpt() = IOobject::AUTO_WRITE; correctKinematics(); } @@ -243,6 +245,14 @@ void Foam::MovingPhaseModel::correctTurbulence() } +template +void Foam::MovingPhaseModel::correctEnergyTransport() +{ + BasePhaseModel::correctEnergyTransport(); + turbulence_->correctEnergyTransport(); +} + + template Foam::tmp Foam::MovingPhaseModel::UEqn() @@ -252,6 +262,7 @@ Foam::MovingPhaseModel::UEqn() fvm::ddt(*this, this->thermo().rho(), U_) + fvm::div(alphaRhoPhi_, U_) - fvm::Sp(continuityError_, U_) + + this->fluid().MRF().DDt(*this*this->thermo().rho(), U_) + turbulence_->divDevRhoReff(U_) ); } diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H index 14e9c057b7..b78762fd53 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MovingPhaseModel/MovingPhaseModel.H @@ -106,7 +106,8 @@ public: MovingPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ); @@ -125,6 +126,9 @@ public: //- Correct the turbulence virtual void correctTurbulence(); + //- Correct the energy transport e.g. alphat + virtual void correctEnergyTransport(); + //- Return the momentum equation virtual tmp UEqn(); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C index d6e05a5139..efa486a0e4 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.C @@ -41,10 +41,11 @@ template Foam::MultiComponentPhaseModel::MultiComponentPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : - BasePhaseModel(fluid, phaseName), + BasePhaseModel(fluid, phaseName, index), Sc_ ( "Sc", diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.H similarity index 98% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.H index 272e520eeb..94ca80582c 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/MultiComponentPhaseModel/MultiComponentPhaseModel.H @@ -73,7 +73,8 @@ public: MultiComponentPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C similarity index 96% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C index c3e1831158..be28005744 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.C @@ -32,10 +32,11 @@ template Foam::PurePhaseModel::PurePhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : - BasePhaseModel(fluid, phaseName) + BasePhaseModel(fluid, phaseName, index) {} diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.H similarity index 95% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.H index f17c60cb6f..2aa8034ede 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/PurePhaseModel/PurePhaseModel.H @@ -64,7 +64,12 @@ public: // Constructors - PurePhaseModel(const phaseSystem& fluid, const word& phaseName); + PurePhaseModel + ( + const phaseSystem& fluid, + const word& phaseName, + const label index + ); //- Destructor diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.C similarity index 95% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.C index a6ab32d2fc..96a76de169 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.C @@ -33,13 +33,14 @@ template Foam::ReactingPhaseModel::ReactingPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : - BasePhaseModel(fluid, phaseName, false), + BasePhaseModel(fluid, phaseName, index, false), reaction_ ( - ReactionType::New(fluid.mesh(), phaseName) + ReactionType::New(fluid.mesh(), this->name()) ) { this->thermo_ = &reaction_->thermo(); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.H index 988674d55c..305b62590a 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ReactingPhaseModel/ReactingPhaseModel.H @@ -67,7 +67,8 @@ public: ReactingPhaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C similarity index 69% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C index 2befe1585a..2367cda414 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.C @@ -41,16 +41,17 @@ Foam::ThermoPhaseModel::ThermoPhaseModel ( const phaseSystem& fluid, const word& phaseName, + const label index, const bool createThermo ) : - BasePhaseModel(fluid, phaseName) + BasePhaseModel(fluid, phaseName, index) { if (createThermo) { thermoPtr_.set ( - ThermoType::New(fluid.mesh(), phaseName).ptr() + ThermoType::New(fluid.mesh(), this->name()).ptr() ); thermo_ = thermoPtr_.ptr(); @@ -110,10 +111,10 @@ template Foam::tmp Foam::ThermoPhaseModel::mu ( - const label patchI + const label patchi ) const { - return thermo_->mu(patchI); + return thermo_->mu(patchi); } @@ -129,10 +130,10 @@ template Foam::tmp Foam::ThermoPhaseModel::nu ( - const label patchI + const label patchi ) const { - return thermo_->nu(patchI); + return thermo_->nu(patchi); } @@ -148,10 +149,75 @@ template Foam::tmp Foam::ThermoPhaseModel::kappa ( - const label patchI + const label patchi ) const { - return thermo_->kappa(patchI); + return thermo_->kappa(patchi); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::kappaEff +( + const volScalarField& alphat +) const +{ + return thermo_->kappaEff(alphat); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::kappaEff +( + const scalarField& alphat, + const label patchi +) const +{ + return thermo_->kappaEff(alphat, patchi); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alpha() const +{ + return thermo_->alpha(); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alpha +( + const label patchi +) const +{ + return thermo_->alpha(patchi); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alphaEff +( + const volScalarField& alphat +) const +{ + return thermo_->alphaEff(alphat); +} + + +template +Foam::tmp +Foam::ThermoPhaseModel::alphaEff +( + const scalarField& alphat, + const label patchi +) const +{ + return thermo_->alphaEff(alphat, patchi); } diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H similarity index 74% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H index 0c2b243a83..960d2c1ba6 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/ThermoPhaseModel/ThermoPhaseModel.H @@ -76,6 +76,7 @@ public: ( const phaseSystem& fluid, const word& phaseName, + const label index, const bool createThermo = true ); @@ -105,19 +106,51 @@ public: virtual tmp mu() const; //- Access the laminar dynamic viscosity - virtual tmp mu(const label patchI) const; + virtual tmp mu(const label patchi) const; //- Return the laminar kinematic viscosity virtual tmp nu() const; //- Access the laminar kinematic viscosity - virtual tmp nu(const label patchI) const; + virtual tmp nu(const label patchi) const; //- Return the laminar thermal conductivity virtual tmp kappa() const; //- Access the laminar thermal conductivity - virtual tmp kappa(const label patchI) const; + virtual tmp kappa(const label patchi) const; + + //- Return the laminar thermal conductivity + virtual tmp kappaEff + ( + const volScalarField& alphat + ) const; + + //- Access the laminar thermal conductivity + virtual tmp kappaEff + ( + const scalarField& alphat, + const label patchi + ) const; + + //- Return the thermal diffusivity for enthalpy + virtual tmp alpha() const; + + //- Return the thermal diffusivity for enthalpy on a patch + virtual tmp alpha(const label patchi) const; + + //- Return the thermal diffusivity for enthalpy + virtual tmp alphaEff + ( + const volScalarField& alphat + ) const; + + //- Return the thermal diffusivity for enthalpy on a patch + virtual tmp alphaEff + ( + const scalarField& alphat, + const label patchi + ) const; }; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C similarity index 95% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C index f2686cedb5..0a577313b2 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/newPhaseModel.C @@ -31,7 +31,8 @@ License Foam::autoPtr Foam::phaseModel::New ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) { word phaseModelType(fluid.subDict(phaseName).lookup("type")); @@ -52,7 +53,7 @@ Foam::autoPtr Foam::phaseModel::New << exit(FatalError); } - return cstrIter()(fluid, phaseName); + return cstrIter()(fluid, phaseName, index); } // ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C similarity index 85% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C index 61ea75e586..eb2e871530 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.C @@ -41,7 +41,8 @@ namespace Foam Foam::phaseModel::phaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ) : volScalarField @@ -60,6 +61,7 @@ Foam::phaseModel::phaseModel fluid_(fluid), name_(phaseName), + index_(index), residualAlpha_ ( "residualAlpha", @@ -72,6 +74,13 @@ Foam::phaseModel::phaseModel } +Foam::autoPtr Foam::phaseModel::clone() const +{ + notImplemented("phaseModel::clone() const"); + return autoPtr(NULL); +} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::phaseModel::~phaseModel() @@ -86,6 +95,18 @@ const Foam::word& Foam::phaseModel::name() const } +const Foam::word& Foam::phaseModel::keyword() const +{ + return name_; +} + + +Foam::label Foam::phaseModel::index() const +{ + return index_; +} + + const Foam::phaseSystem& Foam::phaseModel::fluid() const { return fluid_; @@ -128,6 +149,10 @@ void Foam::phaseModel::correctTurbulence() {} +void Foam::phaseModel::correctEnergyTransport() +{} + + bool Foam::phaseModel::read() { return diameterModel_->read(fluid_.subDict(name_)); @@ -140,16 +165,17 @@ bool Foam::phaseModel::compressible() const } -const Foam::volScalarField& Foam::phaseModel::divU() const +const Foam::tmp& Foam::phaseModel::divU() const { notImplemented("Foam::phaseModel::divU()"); - return volScalarField::null(); + static tmp divU_(NULL); + return divU_; } -void Foam::phaseModel::divU(const volScalarField& divU) +void Foam::phaseModel::divU(const tmp& divU) { - WarningIn("phaseModel::divU(const volScalarField& divU)") + WarningIn("phaseModel::divU(const tmp& divU)") << "Attempt to set the dilatation rate of an incompressible phase" << endl; } diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H similarity index 73% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H index 082bb6c019..27d78390ca 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModel.H @@ -67,6 +67,9 @@ class phaseModel //- Name of phase word name_; + //- Index of phase + label index_; + //- Return the residual phase-fraction for given phase // Used to stabilize the phase momentum as the phase-fraction -> 0 dimensionedScalar residualAlpha_; @@ -93,9 +96,10 @@ public: phaseSystem, ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ), - (fluid, phaseName) + (fluid, phaseName, index) ); @@ -104,12 +108,12 @@ public: phaseModel ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ); - - //- Destructor - virtual ~phaseModel(); + //- Return clone + autoPtr clone() const; // Selectors @@ -117,15 +121,54 @@ public: static autoPtr New ( const phaseSystem& fluid, - const word& phaseName + const word& phaseName, + const label index ); + //- Return a pointer to a new phase created on freestore + // from Istream + class iNew + { + const phaseSystem& fluid_; + mutable label indexCounter_; + + public: + + iNew + ( + const phaseSystem& fluid + ) + : + fluid_(fluid), + indexCounter_(-1) + {} + + autoPtr operator()(Istream& is) const + { + indexCounter_++; + return autoPtr + ( + phaseModel::New(fluid_, word(is), indexCounter_) + ); + } + }; + + + //- Destructor + virtual ~phaseModel(); + // Member Functions //- Return the name of this phase const word& name() const; + //- Return the name of the phase for use as the keyword in PtrDictionary + const word& keyword() const; + + //- Return the index of the phase + label index() const; + //- Return the system to which this phase belongs const phaseSystem& fluid() const; @@ -151,6 +194,9 @@ public: //- Correct the turbulence virtual void correctTurbulence(); + //- Correct the energy transport e.g. alphat + virtual void correctEnergyTransport(); + //- Return the momentum equation virtual tmp UEqn() = 0; @@ -170,10 +216,10 @@ public: virtual bool compressible() const; //- Return the phase dilatation rate (d(alpha)/dt + div(alpha*phi)) - virtual const volScalarField& divU() const; + virtual const tmp& divU() const; //- Set the phase dilatation rate (d(alpha)/dt + div(alpha*phi)) - virtual void divU(const volScalarField& divU); + virtual void divU(const tmp& divU); //- Return the phase kinetic energy virtual const volScalarField& K() const; @@ -246,19 +292,51 @@ public: virtual tmp mu() const = 0; //- Return the laminar dynamic viscosity on a patch - virtual tmp mu(const label patchI) const = 0; + virtual tmp mu(const label patchi) const = 0; //- Return the laminar kinematic viscosity virtual tmp nu() const = 0; //- Return the laminar kinematic viscosity on a patch - virtual tmp nu(const label patchI) const = 0; + virtual tmp nu(const label patchi) const = 0; //- Return the laminar thermal conductivity virtual tmp kappa() const = 0; //- Return the laminar thermal conductivity on a patch - virtual tmp kappa(const label patchI) const = 0; + virtual tmp kappa(const label patchi) const = 0; + + //- Return the effective thermal conductivity + virtual tmp kappaEff + ( + const volScalarField& alphat + ) const = 0; + + //- Access the effective thermal conductivity + virtual tmp kappaEff + ( + const scalarField& alphat, + const label patchi + ) const = 0; + + //- Return the laminar thermal diffusivity for enthalpy + virtual tmp alpha() const = 0; + + //- Return the laminar thermal diffusivity for enthalpy on a patch + virtual tmp alpha(const label patchi) const = 0; + + //- Return the effective thermal diffusivity for enthalpy + virtual tmp alphaEff + ( + const volScalarField& alphat + ) const = 0; + + //- Return the effective thermal diffusivity for enthalpy on a patch + virtual tmp alphaEff + ( + const scalarField& alphat, + const label patchi + ) const = 0; // Turbulence diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModels.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModels.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModels.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseModel/phaseModel/phaseModels.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/orderedPhasePair/orderedPhasePair.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePair/phasePair.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePair/phasePair.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePair.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePair/phasePairI.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePairI.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePair/phasePairI.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePair/phasePairI.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phasePair/phasePairKey/phasePairKey.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C similarity index 72% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystem.C rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C index 3bbb6e82de..aa9380758d 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.C @@ -41,53 +41,24 @@ const Foam::word Foam::phaseSystem::propertiesName("phaseProperties"); // * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // -Foam::phaseSystem::phaseModelTable -Foam::phaseSystem::generatePhaseModels(const wordList& phaseNames) const -{ - phaseModelTable phaseModels; - - forAllConstIter(wordList, phaseNames, phaseNameIter) - { - phaseModels.insert - ( - *phaseNameIter, - phaseModel::New - ( - *this, - *phaseNameIter - ) - ); - } - - // normalise ? - - return phaseModels; -} - - -Foam::tmp Foam::phaseSystem::generatePhi +Foam::tmp Foam::phaseSystem::calcPhi ( - const phaseModelTable& phaseModels + const phaseModelList& phaseModels ) const { - phaseModelTable::const_iterator phaseModelIter = phaseModels.begin(); - tmp tmpPhi ( new surfaceScalarField ( "phi", - fvc::interpolate(phaseModelIter()())*phaseModelIter()->phi() + fvc::interpolate(phaseModels[0])*phaseModels[0].phi() ) ); - ++phaseModelIter; - - for (; phaseModelIter != phaseModels.end(); ++ phaseModelIter) + for (label phasei=1; phaseiphi(); + fvc::interpolate(phaseModels[phasei])*phaseModels[phasei].phi(); } return tmpPhi; @@ -167,11 +138,9 @@ Foam::phaseSystem::phaseSystem mesh_(mesh), - phaseNames_(lookup("phases")), + phaseModels_(lookup("phases"), phaseModel::iNew(*this)), - phaseModels_(generatePhaseModels(phaseNames_)), - - phi_(generatePhi(phaseModels_)), + phi_(calcPhi(phaseModels_)), dpdt_ ( @@ -188,6 +157,8 @@ Foam::phaseSystem::phaseSystem MRF_(mesh_), fvOptions_(mesh_) { + phi_.writeOpt() = IOobject::AUTO_WRITE; + // Blending methods forAllConstIter(dictionary, subDict("blending"), iter) { @@ -197,7 +168,7 @@ Foam::phaseSystem::phaseSystem blendingMethod::New ( iter().dict(), - wordList(lookup("phases")) + phaseModels_.toc() ) ); } @@ -220,16 +191,14 @@ Foam::phaseSystem::~phaseSystem() Foam::tmp Foam::phaseSystem::rho() const { - phaseModelTable::const_iterator phaseModelIter = phaseModels_.begin(); - tmp tmpRho ( - phaseModelIter()()*phaseModelIter()->rho() + phaseModels_[0]*phaseModels_[0].rho() ); - for (; phaseModelIter != phaseModels_.end(); ++ phaseModelIter) + for (label phasei=1; phaseirho(); + tmpRho() += phaseModels_[phasei]*phaseModels_[phasei].rho(); } return tmpRho; @@ -238,16 +207,14 @@ Foam::tmp Foam::phaseSystem::rho() const Foam::tmp Foam::phaseSystem::U() const { - phaseModelTable::const_iterator phaseModelIter = phaseModels_.begin(); - tmp tmpU ( - phaseModelIter()()*phaseModelIter()->U() + phaseModels_[0]*phaseModels_[0].U() ); - for (; phaseModelIter != phaseModels_.end(); ++ phaseModelIter) + for (label phasei=1; phaseiU(); + tmpU() += phaseModels_[phasei]*phaseModels_[phasei].U(); } return tmpU; @@ -290,9 +257,9 @@ void Foam::phaseSystem::solve() void Foam::phaseSystem::correct() { - forAllIter(phaseModelTable, phaseModels_, phaseModelIter) + forAll(phaseModels_, phasei) { - phaseModelIter()->correct(); + phaseModels_[phasei].correct(); } } @@ -301,35 +268,44 @@ void Foam::phaseSystem::correctKinematics() { bool updateDpdt = false; - forAllIter(phaseModelTable, phaseModels_, phaseModelIter) + forAll(phaseModels_, phasei) { - phaseModelIter()->correctKinematics(); + phaseModels_[phasei].correctKinematics(); - updateDpdt = updateDpdt || phaseModelIter()->thermo().dpdt(); + updateDpdt = updateDpdt || phaseModels_[phasei].thermo().dpdt(); } // Update the pressure time-derivative if required if (updateDpdt) { - dpdt_ = fvc::ddt(phaseModels_.begin()()().thermo().p()); + dpdt_ = fvc::ddt(phaseModels_.begin()().thermo().p()); } } void Foam::phaseSystem::correctThermo() { - forAllIter(phaseModelTable, phaseModels_, phaseModelIter) + forAll(phaseModels_, phasei) { - phaseModelIter()->correctThermo(); + phaseModels_[phasei].correctThermo(); } } void Foam::phaseSystem::correctTurbulence() { - forAllIter(phaseModelTable, phaseModels_, phaseModelIter) + forAll(phaseModels_, phasei) { - phaseModelIter()->correctTurbulence(); + phaseModels_[phasei].correctTurbulence(); + } +} + + +void Foam::phaseSystem::correctEnergyTransport() +{ + forAll(phaseModels_, phasei) + { + phaseModels_[phasei].correctEnergyTransport(); } } @@ -340,9 +316,9 @@ bool Foam::phaseSystem::read() { bool readOK = true; - forAllIter(phaseModelTable, phaseModels_, phaseModelIter) + forAll(phaseModels_, phasei) { - readOK &= phaseModelIter()->read(); + readOK &= phaseModels_[phasei].read(); } // models ... diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H similarity index 71% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystem.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H index 81bfd708f8..001f1acdd3 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystem.H @@ -42,6 +42,7 @@ SourceFiles #include "phasePair.H" #include "orderedPhasePair.H" #include "HashPtrTable.H" +#include "PtrListDictionary.H" #include "IOMRFZoneList.H" #include "fvIOoptionList.H" @@ -117,15 +118,13 @@ public: > massTransferTable; + typedef PtrListDictionary phaseModelList; + protected: // Protected typedefs - typedef - HashTable, word, word::hash> - phaseModelTable; - typedef HashTable dictTable; @@ -162,11 +161,8 @@ protected: //- Reference to the mesh const fvMesh& mesh_; - //- Phase names - wordList phaseNames_; - //- Phase models - phaseModelTable phaseModels_; + phaseModelList phaseModels_; //- Phase pairs phasePairTable phasePairs_; @@ -198,16 +194,10 @@ protected: // Protected member functions - //- Generate the phases - HashTable > generatePhaseModels + //- Calculate and return the mixture flux + tmp calcPhi ( - const wordList& names - ) const; - - //- Generate the mixture flux - tmp generatePhi - ( - const HashTable >& phaseModels + const phaseModelList& phaseModels ) const; //- Generate pairs @@ -290,48 +280,56 @@ public: // Member Functions + //- Constant access the mesh + inline const fvMesh& mesh() const; + + //- Constant access the phase models + inline const phaseModelList& phases() const; + + //- Access the phase models + inline phaseModelList& phases(); + + //- Constant access the phase pairs + inline const phasePairTable& phasePairs() const; + //- Return the mixture density tmp rho() const; //- Return the mixture velocity tmp U() const; + //- Constant access the mixture flux + inline const surfaceScalarField& phi() const; + + //- Access the mixture flux + inline surfaceScalarField& phi(); + + //- Constant access the rate of change of the pressure + inline const volScalarField& dpdt() const; + + //- Access the rate of change of the pressure + inline volScalarField& dpdt(); + //- Return the surface tension coefficient tmp sigma(const phasePairKey& key) const; - //- Return the drag coefficient - virtual tmp Kd(const phasePairKey& key) const = 0; + //- Return MRF zones + inline const IOMRFZoneList& MRF() const; - //- Return the face drag coefficient - virtual tmp Kdf(const phasePairKey& key) const = 0; + //- Optional FV-options + inline fv::IOoptionList& fvOptions() const; - //- Return the virtual mass coefficient - virtual tmp Vm(const phasePairKey& key) const = 0; + //- Access a sub model between a phase pair + template + const modelType& lookupSubModel(const phasePair& key) const; - //- Return the face virtual mass coefficient - virtual tmp Vmf(const phasePairKey& key) const = 0; - - //- Return the combined force (lift + wall-lubrication) - virtual tmp F(const phasePairKey& key) const = 0; - - //- Return the combined face-force (lift + wall-lubrication) - virtual tmp Ff(const phasePairKey& key) const = 0; - - //- Return the turbulent diffusivity - // Multiplies the phase-fraction gradient - virtual tmp D(const phasePairKey& key) const = 0; - - //- Return the interfacial mass flow rate - virtual tmp dmdt(const phasePairKey& key) const = 0; - - //- Return the momentum transfer matrices - virtual autoPtr momentumTransfer() const = 0; - - //- Return the heat transfer matrices - virtual autoPtr heatTransfer() const = 0; - - //- Return the mass transfer matrices - virtual autoPtr massTransfer() const = 0; + //- Access a sub model between two phases + template + const modelType& lookupSubModel + ( + const phaseModel& dispersed, + const phaseModel& continuous + ) const; //- Solve for the phase fractions virtual void solve(); @@ -348,44 +346,11 @@ public: //- Correct the turbulence virtual void correctTurbulence(); + //- Correct the energy transport e.g. alphat + virtual void correctEnergyTransport(); + //- Read base phaseProperties dictionary virtual bool read(); - - - // Access - - //- Constant access the mesh - inline const fvMesh& mesh() const; - - //- Constant access the mixture flux - inline const surfaceScalarField& phi() const; - - //- Access the mixture flux - inline surfaceScalarField& phi(); - - //- Constant access the rate of change of the pressure - inline const volScalarField& dpdt() const; - - //- Access the rate of change of the pressure - inline volScalarField& dpdt(); - - //- Return MRF zones - inline const IOMRFZoneList& MRF() const; - - //- Optional FV-options - inline fv::IOoptionList& fvOptions() const; - - //- Access a sub model between a phase pair - template - const modelType& lookupSubModel(const phasePair& key) const; - - //- Access a sub model between two phases - template - const modelType& lookupSubModel - ( - const phaseModel& dispersed, - const phaseModel& continuous - ) const; }; @@ -400,7 +365,7 @@ public: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #ifdef NoRepository -# include "phaseSystemTemplates.H" +# include "phaseSystemTemplates.C" #endif // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H similarity index 85% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H index 3d7e837533..0f9aef5033 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemI.H @@ -31,6 +31,27 @@ inline const Foam::fvMesh& Foam::phaseSystem::mesh() const } +inline const Foam::phaseSystem::phaseModelList& +Foam::phaseSystem::phases() const +{ + return phaseModels_; +} + + +inline Foam::phaseSystem::phaseModelList& +Foam::phaseSystem::phases() +{ + return phaseModels_; +} + + +inline const Foam::phaseSystem::phasePairTable& +Foam::phaseSystem::phasePairs() const +{ + return phasePairs_; +} + + inline const Foam::surfaceScalarField& Foam::phaseSystem::phi() const { return phi_; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystemTemplates.H b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemTemplates.C similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystemTemplates.H rename to applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemTemplates.C index 48d1716612..eee3fcd3b3 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/phaseSystem/phaseSystemTemplates.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/phaseSystem/phaseSystemTemplates.C @@ -151,12 +151,12 @@ void Foam::phaseSystem::generatePairsAndSubModels HashTable, phasePairKey, phasePairKey::hash> modelTypeTable; - forAllConstIter(wordList, phaseNames_, phaseNameIter) + forAll(phaseModels_, phasei) { modelTypeTable tempModels; generatePairsAndSubModels ( - IOobject::groupName(modelName, *phaseNameIter), + IOobject::groupName(modelName, phaseModels_[phasei].name()), tempModels ); @@ -175,7 +175,7 @@ void Foam::phaseSystem::generatePairsAndSubModels models[tempModelIter.key()].insert ( - *phaseNameIter, + phaseModels_[phasei].name(), *tempModelIter ); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C new file mode 100644 index 0000000000..f43303a2b7 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseSystems/reactionThermo/hRefConstThermos.C @@ -0,0 +1,271 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "makeReactionThermo.H" +#include "makeThermo.H" + +#include "rhoReactionThermo.H" +#include "heRhoThermo.H" + +#include "specie.H" +#include "perfectGas.H" +#include "perfectFluid.H" +#include "rhoConst.H" + +#include "sensibleEnthalpy.H" + +#include "hRefConstThermo.H" + +#include "constTransport.H" + +#include "pureMixture.H" +#include "multiComponentMixture.H" + +#include "thermoPhysicsTypes.H" + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Thermo type typedefs: + +typedef +constTransport +< + species::thermo + < + hRefConstThermo + < + perfectGas + >, + sensibleEnthalpy + > +> constRefGasHThermoPhysics; + +typedef +constTransport +< + species::thermo + < + hRefConstThermo + < + perfectFluid + >, + sensibleEnthalpy + > +> constRefFluidHThermoPhysics; + +typedef +constTransport +< + species::thermo + < + hRefConstThermo + < + perfectGas + >, + sensibleInternalEnergy + > +> constRefGasEThermoPhysics; + +typedef +constTransport +< + species::thermo + < + hRefConstThermo + < + perfectFluid + >, + sensibleInternalEnergy + > +> constRefFluidEThermoPhysics; + +typedef +constTransport +< + species::thermo + < + hRefConstThermo + < + rhoConst + >, + sensibleInternalEnergy + > +> constRefRhoConstEThermoPhysics; + +typedef +constTransport +< + species::thermo + < + hRefConstThermo + < + rhoConst + >, + sensibleEnthalpy + > +> constRefRhoConstHThermoPhysics; + + +// pureMixture, sensibleEnthalpy: + +makeThermo +( + rhoThermo, + heRhoThermo, + pureMixture, + constTransport, + sensibleEnthalpy, + hRefConstThermo, + perfectGas, + specie +); + +makeThermo +( + rhoThermo, + heRhoThermo, + pureMixture, + constTransport, + sensibleEnthalpy, + hRefConstThermo, + perfectFluid, + specie +); + +makeThermo +( + rhoThermo, + heRhoThermo, + pureMixture, + constTransport, + sensibleEnthalpy, + hRefConstThermo, + rhoConst, + specie +); + + +// pureMixture, sensibleInternalEnergy: + +makeThermo +( + rhoThermo, + heRhoThermo, + pureMixture, + constTransport, + sensibleInternalEnergy, + hRefConstThermo, + perfectGas, + specie +); + +makeThermo +( + rhoThermo, + heRhoThermo, + pureMixture, + constTransport, + sensibleInternalEnergy, + hRefConstThermo, + perfectFluid, + specie +); + +makeThermo +( + rhoThermo, + heRhoThermo, + pureMixture, + constTransport, + sensibleInternalEnergy, + hRefConstThermo, + rhoConst, + specie +); + + +// multiComponentMixture, sensibleInternalEnergy: + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constRefGasEThermoPhysics +); + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constRefFluidEThermoPhysics +); + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constRefRhoConstEThermoPhysics +); + + +// multiComponentMixture, sensibleEnthalpy: + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constRefRhoConstHThermoPhysics +); + + +makeReactionMixtureThermo +( + rhoThermo, + rhoReactionThermo, + heRhoThermo, + multiComponentMixture, + constRefGasHThermoPhysics +); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwclean b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwclean new file mode 100755 index 0000000000..93ee94face --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwclean @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +set -x + +wclean libso multiphaseSystem +wclean libso multiphaseCompressibleTurbulenceModels +wclean + +# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwmake b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwmake new file mode 100755 index 0000000000..c60b665df4 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Allwmake @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +set -x + +wmake libso multiphaseSystem +wmake libso multiphaseCompressibleTurbulenceModels +wmake + +# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/CourantNo.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/CourantNo.H new file mode 100644 index 0000000000..d7d1cc66d8 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/CourantNo.H @@ -0,0 +1,60 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Global + CourantNo + +Description + Calculates and outputs the mean and maximum Courant Numbers. + +\*---------------------------------------------------------------------------*/ + +scalar CoNum = 0.0; +scalar meanCoNum = 0.0; + +if (mesh.nInternalFaces()) +{ + scalarField sumPhi + ( + fvc::surfaceSum(mag(phi))().internalField() + ); + + forAll(phases, phasei) + { + sumPhi = max + ( + sumPhi, + fvc::surfaceSum(mag(phases[phasei].phi()))().internalField() + ); + } + + CoNum = 0.5*gMax(sumPhi/mesh.V().field())*runTime.deltaTValue(); + + meanCoNum = + 0.5*(gSum(sumPhi)/gSum(mesh.V().field()))*runTime.deltaTValue(); +} + +Info<< "Courant Number mean: " << meanCoNum + << " max: " << CoNum << endl; + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H new file mode 100644 index 0000000000..386331e0ee --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/EEqns.H @@ -0,0 +1,48 @@ +{ + fluid.correctEnergyTransport(); + + autoPtr + heatTransferPtr(fluid.heatTransfer()); + + phaseSystem::heatTransferTable& heatTransfer = heatTransferPtr(); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + const volScalarField& alpha = phase; + const volScalarField& rho = phase.rho(); + const volVectorField& U = phase.U(); + + tmp EEqn(phase.heEqn()); + + if (EEqn.valid()) + { + EEqn = + ( + EEqn + == + *heatTransfer[phase.name()] + + alpha*rho*(U&g) + + fvOptions(alpha, rho, phase.thermo().he()) + ); + + EEqn->relax(); + fvOptions.constrain(EEqn()); + EEqn->solve(); + } + } +} + +fluid.correctThermo(); + +forAll(phases, phasei) +{ + phaseModel& phase = phases[phasei]; + + Info<< phase.name() << " min/max T " + << min(phase.thermo().T()).value() + << " - " + << max(phase.thermo().T()).value() + << endl; +} diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/files new file mode 100644 index 0000000000..0f1d5ae271 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/files @@ -0,0 +1,3 @@ +reactingMultiphaseEulerFoam.C + +EXE = $(FOAM_APPBIN)/reactingMultiphaseEulerFoam diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options similarity index 71% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Make/options rename to applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options index f1f3b8dc8e..9acc2a5f82 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/Make/options @@ -1,8 +1,8 @@ EXE_INC = \ - -IphaseSystems/lnInclude \ - -IinterfacialModels/lnInclude \ - -IinterfacialCompositionModels/lnInclude \ - -IphaseCompressibleTurbulenceModels/lnInclude \ + -ImultiphaseSystem/lnInclude \ + -I../phaseSystems/lnInclude \ + -I../interfacialModels/lnInclude \ + -I../interfacialCompositionModels/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/transportModels/compressible/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ @@ -14,10 +14,11 @@ EXE_INC = \ -I$(LIB_SRC)/sampling/lnInclude EXE_LIBS = \ - -lreactingTwoPhaseSystem \ + -lreactingPhaseSystem \ + -lreactingMultiphaseSystem \ -lreactingEulerianInterfacialModels \ -lreactingEulerianInterfacialCompositionModels \ - -lphaseReactingTurbulenceModels \ + -lmultiphaseReactingTurbulenceModels \ -lfiniteVolume \ -lfvOptions \ -lmeshTools \ diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/YEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/YEqns.H new file mode 100644 index 0000000000..4094e185af --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/YEqns.H @@ -0,0 +1,37 @@ +{ + autoPtr + massTransferPtr(fluid.massTransfer()); + + phaseSystem::massTransferTable& + massTransfer(massTransferPtr()); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + PtrList& Y = phase.Y(); + const volScalarField& alpha = phase; + const volScalarField& rho = phase.rho(); + + forAll(Y, i) + { + tmp YiEqn(phase.YiEqn(Y[i])); + + if (YiEqn.valid()) + { + YiEqn = + ( + YiEqn + == + *massTransfer[Y[i].name()] + + fvOptions(alpha, rho, Y[i]) + ); + + YiEqn->relax(); + YiEqn->solve(mesh.solver("Yi")); + } + } + } + + fluid.massTransfer(); // updates interfacial mass flow rates +} diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H new file mode 100644 index 0000000000..1375db8c40 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/createFields.H @@ -0,0 +1,53 @@ +#include "readGravitationalAcceleration.H" +#include "readhRef.H" + +Info<< "Creating phaseSystem\n" << endl; + +autoPtr fluidPtr +( + multiphaseSystem::New(mesh) +); +multiphaseSystem& fluid = fluidPtr(); +multiphaseSystem::phaseModelList& phases = fluid.phases(); + +surfaceScalarField& phi = fluid.phi(); + +dimensionedScalar pMin +( + "pMin", + dimPressure, + fluid +); + +#include "gh.H" + +volScalarField& p = phases[0].thermo().p(); + +Info<< "Reading field p_rgh\n" << endl; +volScalarField p_rgh +( + IOobject + ( + "p_rgh", + runTime.timeName(), + mesh, + IOobject::MUST_READ, + IOobject::AUTO_WRITE + ), + mesh +); + +label pRefCell = 0; +scalar pRefValue = 0.0; +setRefCell +( + p, + p_rgh, + pimple.dict(), + pRefCell, + pRefValue +); +mesh.setFluxRequired(p_rgh.name()); + +const IOMRFZoneList& MRF = fluid.MRF(); +fv::IOoptionList& fvOptions = fluid.fvOptions(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log new file mode 100644 index 0000000000..6a64f4e14f --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/log @@ -0,0 +1,6 @@ +/home/dm2/henry/OpenFOAM/OpenFOAM-dev/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam +Making dependency list for source file reactingMultiphaseEulerFoam.C +clang++ -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-c++11-extensions -O3 -DNoRepository -ftemplate-depth-100 -ImultiphaseSystem/lnInclude -I../phaseSystems/lnInclude -I../interfacialModels/lnInclude -I../interfacialCompositionModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/thermophysicalModels/basic/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/transportModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/turbulenceModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/phaseCompressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/finiteVolume/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/fvOptions/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/meshTools/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/sampling/lnInclude -IlnInclude -I. -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OSspecific/POSIX/lnInclude -fPIC -c reactingMultiphaseEulerFoam.C -o /home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.o +clang++ -m64 -Dlinux64 -DWM_ARCH_OPTION=64 -DWM_DP -DWM_LABEL_SIZE=32 -Wall -Wextra -Wold-style-cast -Wnon-virtual-dtor -Wno-unused-parameter -Wno-invalid-offsetof -Wno-c++11-extensions -O3 -DNoRepository -ftemplate-depth-100 -ImultiphaseSystem/lnInclude -I../phaseSystems/lnInclude -I../interfacialModels/lnInclude -I../interfacialCompositionModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/thermophysicalModels/basic/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/transportModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/turbulenceModels/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/compressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/TurbulenceModels/phaseCompressible/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/finiteVolume/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/fvOptions/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/meshTools/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/sampling/lnInclude -IlnInclude -I. -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OpenFOAM/lnInclude -I/home/dm2/henry/OpenFOAM/OpenFOAM-dev/src/OSspecific/POSIX/lnInclude -fPIC -Xlinker --add-needed /home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.o -L/home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/lib \ + -lreactingPhaseSystem -lreactingMultiphaseSystem -lreactingEulerianInterfacialModels -lreactingEulerianInterfacialCompositionModels -lmultiphaseReactingTurbulenceModels -lfiniteVolume -lfvOptions -lmeshTools -lsampling -lOpenFOAM -ldl \ + -lm -o /home/dm2/henry/OpenFOAM/OpenFOAM-dev/platforms/linux64ClangDPInt32Opt/bin/reactingMultiphaseEulerFoam diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/files new file mode 100644 index 0000000000..dd421b52a3 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/files @@ -0,0 +1,3 @@ +multiphaseCompressibleTurbulenceModels.C + +LIB = $(FOAM_LIBBIN)/libmultiphaseReactingTurbulenceModels diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options similarity index 81% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options rename to applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options index 832cefa73d..553f60638c 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/Make/options @@ -1,11 +1,12 @@ EXE_INC = \ - -I../phaseSystems/lnInclude \ - -I../interfacialModels/lnInclude\ + -I../multiphaseSystem/lnInclude \ + -I../../phaseSystems/lnInclude \ + -I../../interfacialModels/lnInclude\ -I$(LIB_SRC)/transportModels/compressible/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/transportModels/incompressible/transportModel \ - -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/fvOptions/lnInclude \ diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C new file mode 100644 index 0000000000..de792b433a --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseCompressibleTurbulenceModels/multiphaseCompressibleTurbulenceModels.C @@ -0,0 +1,70 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "PhaseCompressibleTurbulenceModel.H" +#include "phaseModel.H" +#include "multiphaseSystem.H" +#include "addToRunTimeSelectionTable.H" +#include "makeTurbulenceModel.H" + +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" + +#include "laminar.H" +#include "RASModel.H" +#include "LESModel.H" + +makeBaseTurbulenceModel +( + volScalarField, + volScalarField, + compressibleTurbulenceModel, + PhaseCompressibleTurbulenceModel, + ThermalDiffusivity, + phaseModel +); + +#define makeRASModel(Type) \ + makeTemplatedTurbulenceModel \ + (phaseModelPhaseCompressibleTurbulenceModel, RAS, Type) + +#define makeLESModel(Type) \ + makeTemplatedTurbulenceModel \ + (phaseModelPhaseCompressibleTurbulenceModel, LES, Type) + +#include "kEpsilon.H" +makeRASModel(kEpsilon); + +#include "kOmegaSST.H" +makeRASModel(kOmegaSST); + +#include "Smagorinsky.H" +makeLESModel(Smagorinsky); + +#include "kEqn.H" +makeLESModel(kEqn); + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/files new file mode 100644 index 0000000000..f1728bb33d --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/files @@ -0,0 +1,6 @@ +alphaContactAngle/alphaContactAngleFvPatchScalarField.C +multiphaseSystem.C +newMultiphaseSystem.C +multiphaseSystems.C + +LIB = $(FOAM_LIBBIN)/libreactingMultiphaseSystem diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options new file mode 100644 index 0000000000..222f3b3ba4 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/Make/options @@ -0,0 +1,21 @@ +EXE_INC = \ + -I../../interfacialModels/lnInclude \ + -I../../interfacialCompositionModels/lnInclude \ + -I../../phaseSystems/lnInclude \ + -IalphaContactAngle \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ + -I$(LIB_SRC)/combustionModels/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude + +LIB_LIBS = \ + -lcombustionModels \ + -lreactingPhaseSystem diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.C new file mode 100644 index 0000000000..b26ec2faa0 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.C @@ -0,0 +1,146 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "alphaContactAngleFvPatchScalarField.H" +#include "addToRunTimeSelectionTable.H" +#include "fvPatchFieldMapper.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +alphaContactAngleFvPatchScalarField::interfaceThetaProps::interfaceThetaProps +( + Istream& is +) +: + theta0_(readScalar(is)), + uTheta_(readScalar(is)), + thetaA_(readScalar(is)), + thetaR_(readScalar(is)) +{} + + +Istream& operator>> +( + Istream& is, + alphaContactAngleFvPatchScalarField::interfaceThetaProps& tp +) +{ + is >> tp.theta0_ >> tp.uTheta_ >> tp.thetaA_ >> tp.thetaR_; + return is; +} + + +Ostream& operator<< +( + Ostream& os, + const alphaContactAngleFvPatchScalarField::interfaceThetaProps& tp +) +{ + os << tp.theta0_ << token::SPACE + << tp.uTheta_ << token::SPACE + << tp.thetaA_ << token::SPACE + << tp.thetaR_; + + return os; +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF +) +: + zeroGradientFvPatchScalarField(p, iF) +{} + + +alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField +( + const alphaContactAngleFvPatchScalarField& gcpsf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + zeroGradientFvPatchScalarField(gcpsf, p, iF, mapper), + thetaProps_(gcpsf.thetaProps_) +{} + + +alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + zeroGradientFvPatchScalarField(p, iF), + thetaProps_(dict.lookup("thetaProperties")) +{ + evaluate(); +} + + +alphaContactAngleFvPatchScalarField::alphaContactAngleFvPatchScalarField +( + const alphaContactAngleFvPatchScalarField& gcpsf, + const DimensionedField& iF +) +: + zeroGradientFvPatchScalarField(gcpsf, iF), + thetaProps_(gcpsf.thetaProps_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void alphaContactAngleFvPatchScalarField::write(Ostream& os) const +{ + fvPatchScalarField::write(os); + os.writeKeyword("thetaProperties") + << thetaProps_ << token::END_STATEMENT << nl; + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField +( + fvPatchScalarField, + alphaContactAngleFvPatchScalarField +); + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.H new file mode 100644 index 0000000000..17fced8dfa --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/alphaContactAngle/alphaContactAngleFvPatchScalarField.H @@ -0,0 +1,215 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::alphaContactAngleFvPatchScalarField + +Description + Contact-angle boundary condition for multi-phase interface-capturing + simulations. Used in conjuction with multiphaseSystem. + +SourceFiles + alphaContactAngleFvPatchScalarField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef alphaContactAngleFvPatchScalarField_H +#define alphaContactAngleFvPatchScalarField_H + +#include "zeroGradientFvPatchFields.H" +#include "multiphaseSystem.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class alphaContactAngleFvPatch Declaration +\*---------------------------------------------------------------------------*/ + +class alphaContactAngleFvPatchScalarField +: + public zeroGradientFvPatchScalarField +{ +public: + + class interfaceThetaProps + { + //- Equilibrium contact angle + scalar theta0_; + + //- Dynamic contact angle velocity scale + scalar uTheta_; + + //- Limiting advancing contact angle + scalar thetaA_; + + //- Limiting receeding contact angle + scalar thetaR_; + + + public: + + // Constructors + interfaceThetaProps() + {} + + interfaceThetaProps(Istream&); + + + // Member functions + + //- Return the equilibrium contact angle theta0 + scalar theta0(bool matched=true) const + { + if (matched) return theta0_; + else return 180.0 - theta0_; + } + + //- Return the dynamic contact angle velocity scale + scalar uTheta() const + { + return uTheta_; + } + + //- Return the limiting advancing contact angle + scalar thetaA(bool matched=true) const + { + if (matched) return thetaA_; + else return 180.0 - thetaA_; + } + + //- Return the limiting receeding contact angle + scalar thetaR(bool matched=true) const + { + if (matched) return thetaR_; + else return 180.0 - thetaR_; + } + + + // IO functions + + friend Istream& operator>>(Istream&, interfaceThetaProps&); + friend Ostream& operator<<(Ostream&, const interfaceThetaProps&); + }; + + typedef HashTable + < + interfaceThetaProps, + phasePairKey, + phasePairKey::hash + > thetaPropsTable; + + +private: + + // Private data + + thetaPropsTable thetaProps_; + + +public: + + //- Runtime type information + TypeName("alphaContactAngle"); + + + // Constructors + + //- Construct from patch and internal field + alphaContactAngleFvPatchScalarField + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + alphaContactAngleFvPatchScalarField + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given alphaContactAngleFvPatchScalarField + // onto a new patch + alphaContactAngleFvPatchScalarField + ( + const alphaContactAngleFvPatchScalarField&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new alphaContactAngleFvPatchScalarField(*this) + ); + } + + //- Construct as copy setting internal field reference + alphaContactAngleFvPatchScalarField + ( + const alphaContactAngleFvPatchScalarField&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new alphaContactAngleFvPatchScalarField(*this, iF) + ); + } + + + // Member functions + + //- Return the contact angle properties + const thetaPropsTable& thetaProps() const + { + return thetaProps_; + } + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C new file mode 100644 index 0000000000..fe1e4d4a8d --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.C @@ -0,0 +1,725 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "multiphaseSystem.H" +#include "alphaContactAngleFvPatchScalarField.H" + +#include "MULES.H" +#include "subCycle.H" + +#include "fvcDdt.H" +#include "fvcDiv.H" +#include "fvcSnGrad.H" +#include "fvcFlux.H" +#include "fvcMeshPhi.H" +#include "fvcSup.H" + +#include "fvmDdt.H" +#include "fvmLaplacian.H" +#include "fvmSup.H" + +// * * * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * // + +namespace Foam +{ + defineTypeNameAndDebug(multiphaseSystem, 0); + defineRunTimeSelectionTable(multiphaseSystem, dictionary); +} + +const Foam::scalar Foam::multiphaseSystem::convertToRad = + Foam::constant::mathematical::pi/180.0; + + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void Foam::multiphaseSystem::calcAlphas() +{ + scalar level = 0.0; + alphas_ == 0.0; + + forAll(phases(), i) + { + alphas_ += level*phases()[i]; + level += 1.0; + } + + alphas_.correctBoundaryConditions(); +} + + +void Foam::multiphaseSystem::solveAlphas() +{ + PtrList alphaPhiCorrs(phases().size()); + forAll(phases(), phasei) + { + phaseModel& phase = phases()[phasei]; + volScalarField& alpha1 = phase; + + phase.alphaPhi() = + dimensionedScalar("0", dimensionSet(0, 3, -1, 0, 0), 0); + + alphaPhiCorrs.set + ( + phasei, + new surfaceScalarField + ( + "phi" + alpha1.name() + "Corr", + fvc::flux + ( + phi_, + phase, + "div(phi," + alpha1.name() + ')' + ) + ) + ); + + surfaceScalarField& alphaPhiCorr = alphaPhiCorrs[phasei]; + + forAll(phases(), phasej) + { + phaseModel& phase2 = phases()[phasej]; + volScalarField& alpha2 = phase2; + + if (&phase2 == &phase) continue; + + surfaceScalarField phir(phase.phi() - phase2.phi()); + + cAlphaTable::const_iterator cAlpha + ( + cAlphas_.find(phasePairKey(phase.name(), phase2.name())) + ); + + if (cAlpha != cAlphas_.end()) + { + surfaceScalarField phic + ( + (mag(phi_) + mag(phir))/mesh_.magSf() + ); + + phir += min(cAlpha()*phic, max(phic))*nHatf(phase, phase2); + } + + word phirScheme + ( + "div(phir," + alpha2.name() + ',' + alpha1.name() + ')' + ); + + alphaPhiCorr += fvc::flux + ( + -fvc::flux(-phir, phase2, phirScheme), + phase, + phirScheme + ); + } + + // Ensure that the flux at inflow BCs is preserved + forAll(alphaPhiCorr.boundaryField(), patchi) + { + fvsPatchScalarField& alphaPhiCorrp = + alphaPhiCorr.boundaryField()[patchi]; + + if (!alphaPhiCorrp.coupled()) + { + const scalarField& phi1p = phase.phi().boundaryField()[patchi]; + const scalarField& alpha1p = alpha1.boundaryField()[patchi]; + + forAll(alphaPhiCorrp, facei) + { + if (phi1p[facei] < 0) + { + alphaPhiCorrp[facei] = alpha1p[facei]*phi1p[facei]; + } + } + } + } + + if (fv::localEulerDdt::enabled(mesh_)) + { + const volScalarField& rDeltaT = + fv::localEulerDdt::localRDeltaT(mesh_); + + MULES::limit + ( + rDeltaT, + geometricOneField(), + phase, + phi_, + alphaPhiCorr, + zeroField(), + zeroField(), + phase.alphaMax(), + 0, + true + ); + } + else + { + const scalar rDeltaT = 1.0/mesh_.time().deltaTValue(); + + MULES::limit + ( + rDeltaT, + geometricOneField(), + phase, + phi_, + alphaPhiCorr, + zeroField(), + zeroField(), + phase.alphaMax(), + 0, + true + ); + } + } + + MULES::limitSum(alphaPhiCorrs); + + volScalarField sumAlpha + ( + IOobject + ( + "sumAlpha", + mesh_.time().timeName(), + mesh_ + ), + mesh_, + dimensionedScalar("sumAlpha", dimless, 0) + ); + + + volScalarField divU(fvc::div(fvc::absolute(phi_, phases().first().U()))); + + forAll(phases(), phasei) + { + phaseModel& phase = phases()[phasei]; + volScalarField& alpha = phase; + + surfaceScalarField& alphaPhic = alphaPhiCorrs[phasei]; + alphaPhic += upwind(mesh_, phi_).flux(phase); + + volScalarField::DimensionedInternalField Sp + ( + IOobject + ( + "Sp", + mesh_.time().timeName(), + mesh_ + ), + mesh_, + dimensionedScalar("Sp", divU.dimensions(), 0.0) + ); + + volScalarField::DimensionedInternalField Su + ( + IOobject + ( + "Su", + mesh_.time().timeName(), + mesh_ + ), + // Divergence term is handled explicitly to be + // consistent with the explicit transport solution + divU*min(alpha, scalar(1)) + ); + + if (phase.divU().valid()) + { + const scalarField& dgdt = phase.divU()(); + + forAll(dgdt, celli) + { + if (dgdt[celli] > 0.0) + { + Sp[celli] -= dgdt[celli]; + Su[celli] += dgdt[celli]; + } + else if (dgdt[celli] < 0.0) + { + Sp[celli] += + dgdt[celli] + *(1.0 - alpha[celli])/max(alpha[celli], 1e-4); + } + } + } + + forAll(phases(), phasej) + { + const phaseModel& phase2 = phases()[phasej]; + const volScalarField& alpha2 = phase2; + + if (&phase2 == &phase) continue; + + if (phase2.divU().valid()) + { + const scalarField& dgdt2 = phase2.divU()(); + + forAll(dgdt2, celli) + { + if (dgdt2[celli] < 0.0) + { + Sp[celli] += + dgdt2[celli] + *(1.0 - alpha2[celli])/max(alpha2[celli], 1e-4); + + Su[celli] -= + dgdt2[celli] + *alpha[celli]/max(alpha2[celli], 1e-4); + } + else if (dgdt2[celli] > 0.0) + { + Sp[celli] -= dgdt2[celli]; + } + } + } + } + + MULES::explicitSolve + ( + geometricOneField(), + alpha, + alphaPhic, + Sp, + Su + ); + + phase.alphaPhi() += alphaPhic; + + Info<< phase.name() << " volume fraction, min, max = " + << phase.weightedAverage(mesh_.V()).value() + << ' ' << min(phase).value() + << ' ' << max(phase).value() + << endl; + + sumAlpha += phase; + } + + Info<< "Phase-sum volume fraction, min, max = " + << sumAlpha.weightedAverage(mesh_.V()).value() + << ' ' << min(sumAlpha).value() + << ' ' << max(sumAlpha).value() + << endl; +} + + +Foam::tmp Foam::multiphaseSystem::nHatfv +( + const volScalarField& alpha1, + const volScalarField& alpha2 +) const +{ + /* + // Cell gradient of alpha + volVectorField gradAlpha = + alpha2*fvc::grad(alpha1) - alpha1*fvc::grad(alpha2); + + // Interpolated face-gradient of alpha + surfaceVectorField gradAlphaf = fvc::interpolate(gradAlpha); + */ + + surfaceVectorField gradAlphaf + ( + fvc::interpolate(alpha2)*fvc::interpolate(fvc::grad(alpha1)) + - fvc::interpolate(alpha1)*fvc::interpolate(fvc::grad(alpha2)) + ); + + // Face unit interface normal + return gradAlphaf/(mag(gradAlphaf) + deltaN_); +} + + +Foam::tmp Foam::multiphaseSystem::nHatf +( + const volScalarField& alpha1, + const volScalarField& alpha2 +) const +{ + // Face unit interface normal flux + return nHatfv(alpha1, alpha2) & mesh_.Sf(); +} + + +// Correction for the boundary condition on the unit normal nHat on +// walls to produce the correct contact angle. + +// The dynamic contact angle is calculated from the component of the +// velocity on the direction of the interface, parallel to the wall. + +void Foam::multiphaseSystem::correctContactAngle +( + const phaseModel& phase1, + const phaseModel& phase2, + surfaceVectorField::GeometricBoundaryField& nHatb +) const +{ + const volScalarField::GeometricBoundaryField& gbf + = phase1.boundaryField(); + + const fvBoundaryMesh& boundary = mesh_.boundary(); + + forAll(boundary, patchi) + { + if (isA(gbf[patchi])) + { + const alphaContactAngleFvPatchScalarField& acap = + refCast(gbf[patchi]); + + vectorField& nHatPatch = nHatb[patchi]; + + vectorField AfHatPatch + ( + mesh_.Sf().boundaryField()[patchi] + /mesh_.magSf().boundaryField()[patchi] + ); + + alphaContactAngleFvPatchScalarField::thetaPropsTable:: + const_iterator tp = + acap.thetaProps() + .find(phasePairKey(phase1.name(), phase2.name())); + + if (tp == acap.thetaProps().end()) + { + FatalErrorIn + ( + "multiphaseSystem::correctContactAngle" + "(const phaseModel& phase1, const phaseModel& phase2, " + "fvPatchVectorFieldField& nHatb) const" + ) << "Cannot find interface " + << phasePairKey(phase1.name(), phase2.name()) + << "\n in table of theta properties for patch " + << acap.patch().name() + << exit(FatalError); + } + + bool matched = (tp.key().first() == phase1.name()); + + scalar theta0 = convertToRad*tp().theta0(matched); + scalarField theta(boundary[patchi].size(), theta0); + + scalar uTheta = tp().uTheta(); + + // Calculate the dynamic contact angle if required + if (uTheta > SMALL) + { + scalar thetaA = convertToRad*tp().thetaA(matched); + scalar thetaR = convertToRad*tp().thetaR(matched); + + // Calculated the component of the velocity parallel to the wall + vectorField Uwall + ( + phase1.U()().boundaryField()[patchi].patchInternalField() + - phase1.U()().boundaryField()[patchi] + ); + Uwall -= (AfHatPatch & Uwall)*AfHatPatch; + + // Find the direction of the interface parallel to the wall + vectorField nWall + ( + nHatPatch - (AfHatPatch & nHatPatch)*AfHatPatch + ); + + // Normalise nWall + nWall /= (mag(nWall) + SMALL); + + // Calculate Uwall resolved normal to the interface parallel to + // the interface + scalarField uwall(nWall & Uwall); + + theta += (thetaA - thetaR)*tanh(uwall/uTheta); + } + + + // Reset nHatPatch to correspond to the contact angle + + scalarField a12(nHatPatch & AfHatPatch); + + scalarField b1(cos(theta)); + + scalarField b2(nHatPatch.size()); + + forAll(b2, facei) + { + b2[facei] = cos(acos(a12[facei]) - theta[facei]); + } + + scalarField det(1.0 - a12*a12); + + scalarField a((b1 - a12*b2)/det); + scalarField b((b2 - a12*b1)/det); + + nHatPatch = a*AfHatPatch + b*nHatPatch; + + nHatPatch /= (mag(nHatPatch) + deltaN_.value()); + } + } +} + + +Foam::tmp Foam::multiphaseSystem::K +( + const phaseModel& phase1, + const phaseModel& phase2 +) const +{ + tmp tnHatfv = nHatfv(phase1, phase2); + + correctContactAngle(phase1, phase2, tnHatfv().boundaryField()); + + // Simple expression for curvature + return -fvc::div(tnHatfv & mesh_.Sf()); +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::multiphaseSystem::multiphaseSystem +( + const fvMesh& mesh +) +: + phaseSystem(mesh), + + alphas_ + ( + IOobject + ( + "alphas", + mesh_.time().timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("alphas", dimless, 0.0), + zeroGradientFvPatchScalarField::typeName + ), + + cAlphas_(lookup("interfaceCompression")), + + deltaN_ + ( + "deltaN", + 1e-8/pow(average(mesh_.V()), 1.0/3.0) + ) +{ + forAll(phases(), phasei) + { + volScalarField& alphai = phases()[phasei]; + mesh_.setFluxRequired(alphai.name()); + } +} + + +// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // + +Foam::multiphaseSystem::~multiphaseSystem() +{} + + +// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // + +Foam::tmp Foam::multiphaseSystem::surfaceTension +( + const phaseModel& phase1 +) const +{ + tmp tSurfaceTension + ( + new surfaceScalarField + ( + IOobject + ( + "surfaceTension", + mesh_.time().timeName(), + mesh_ + ), + mesh_, + dimensionedScalar + ( + "surfaceTension", + dimensionSet(1, -2, -2, 0, 0), + 0 + ) + ) + ); + + forAll(phases(), phasej) + { + const phaseModel& phase2 = phases()[phasej]; + + if (&phase2 != &phase1) + { + phasePairKey key12(phase1.name(), phase2.name()); + + cAlphaTable::const_iterator cAlpha(cAlphas_.find(key12)); + + if (cAlpha != cAlphas_.end()) + { + tSurfaceTension() += + fvc::interpolate(sigma(key12)*K(phase1, phase2)) + *( + fvc::interpolate(phase2)*fvc::snGrad(phase1) + - fvc::interpolate(phase1)*fvc::snGrad(phase2) + ); + } + } + } + + return tSurfaceTension; +} + + +Foam::tmp +Foam::multiphaseSystem::nearInterface() const +{ + tmp tnearInt + ( + new volScalarField + ( + IOobject + ( + "nearInterface", + mesh_.time().timeName(), + mesh_ + ), + mesh_, + dimensionedScalar("nearInterface", dimless, 0.0) + ) + ); + + forAll(phases(), phasei) + { + tnearInt() = max + ( + tnearInt(), + pos(phases()[phasei] - 0.01)*pos(0.99 - phases()[phasei]) + ); + } + + return tnearInt; +} + + +void Foam::multiphaseSystem::solve() +{ + const Time& runTime = mesh_.time(); + + const dictionary& alphaControls = mesh_.solverDict("alpha"); + label nAlphaSubCycles(readLabel(alphaControls.lookup("nAlphaSubCycles"))); + + bool LTS = fv::localEulerDdt::enabled(mesh_); + + if (nAlphaSubCycles > 1) + { + tmp trSubDeltaT; + + if (LTS) + { + trSubDeltaT = + fv::localEulerDdt::localRSubDeltaT(mesh_, nAlphaSubCycles); + } + + dimensionedScalar totalDeltaT = runTime.deltaT(); + + PtrList alpha0s(phases().size()); + PtrList alphaPhiSums(phases().size()); + + forAll(phases(), phasei) + { + phaseModel& phase = phases()[phasei]; + volScalarField& alpha = phase; + + alpha0s.set + ( + phasei, + new volScalarField(alpha.oldTime()) + ); + + alphaPhiSums.set + ( + phasei, + new surfaceScalarField + ( + IOobject + ( + "phiSum" + alpha.name(), + runTime.timeName(), + mesh_ + ), + mesh_, + dimensionedScalar("0", dimensionSet(0, 3, -1, 0, 0), 0) + ) + ); + } + + for + ( + subCycleTime alphaSubCycle + ( + const_cast(runTime), + nAlphaSubCycles + ); + !(++alphaSubCycle).end(); + ) + { + solveAlphas(); + + forAll(phases(), phasei) + { + alphaPhiSums[phasei] += phases()[phasei].alphaPhi(); + } + } + + forAll(phases(), phasei) + { + phaseModel& phase = phases()[phasei]; + volScalarField& alpha = phase; + + phase.alphaPhi() = alphaPhiSums[phasei]/nAlphaSubCycles; + + // Correct the time index of the field + // to correspond to the global time + alpha.timeIndex() = runTime.timeIndex(); + + // Reset the old-time field value + alpha.oldTime() = alpha0s[phasei]; + alpha.oldTime().timeIndex() = runTime.timeIndex(); + } + } + else + { + solveAlphas(); + } + + forAll(phases(), phasei) + { + phaseModel& phase = phases()[phasei]; + phase.alphaRhoPhi() = fvc::interpolate(phase.rho())*phase.alphaPhi(); + } + + calcAlphas(); +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H new file mode 100644 index 0000000000..e33bf8c487 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystem.H @@ -0,0 +1,216 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::multiphaseSystem + +Description + Class which solves the volume fraction equations for two phases. + +SourceFiles + multiphaseSystem.C + +\*---------------------------------------------------------------------------*/ + +#ifndef multiphaseSystem_H +#define multiphaseSystem_H + +#include "phaseSystem.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +class dragModel; +class virtualMassModel; + +/*---------------------------------------------------------------------------*\ + Class multiphaseSystem Declaration +\*---------------------------------------------------------------------------*/ + +class multiphaseSystem +: + public phaseSystem +{ + // Private data + + volScalarField alphas_; + + typedef HashTable + cAlphaTable; + + cAlphaTable cAlphas_; + + //- Stabilisation for normalisation of the interface normal + const dimensionedScalar deltaN_; + + //- Conversion factor for degrees into radians + static const scalar convertToRad; + + + // Private member functions + + void calcAlphas(); + + void solveAlphas(); + + tmp nHatfv + ( + const volScalarField& alpha1, + const volScalarField& alpha2 + ) const; + + tmp nHatf + ( + const volScalarField& alpha1, + const volScalarField& alpha2 + ) const; + + void correctContactAngle + ( + const phaseModel& alpha1, + const phaseModel& alpha2, + surfaceVectorField::GeometricBoundaryField& nHatb + ) const; + + tmp K + ( + const phaseModel& alpha1, + const phaseModel& alpha2 + ) const; + + + //- Return the drag coefficient for phase pair + virtual tmp Kd(const phasePairKey& key) const = 0; + + //- Return the face drag coefficient for phase pair + virtual tmp Kdf(const phasePairKey& key) const = 0; + + //- Return the virtual mass coefficient for phase pair + virtual tmp Vm(const phasePairKey& key) const = 0; + + //- Return the face virtual mass coefficient for phase pair + virtual tmp Vmf(const phasePairKey& key) const = 0; + + //- Return the turbulent diffusivity for phase pair + // Multiplies the phase-fraction gradient + virtual tmp D(const phasePairKey& key) const = 0; + + //- Return the interfacial mass flow rate for phase pair + virtual tmp dmdt(const phasePairKey& key) const = 0; + + +public: + + //- Runtime type information + TypeName("multiphaseSystem"); + + // Declare runtime construction + + declareRunTimeSelectionTable + ( + autoPtr, + multiphaseSystem, + dictionary, + ( + const fvMesh& mesh + ), + (mesh) + ); + + + // Constructors + + //- Construct from fvMesh + multiphaseSystem(const fvMesh&); + + + //- Destructor + virtual ~multiphaseSystem(); + + + // Selectors + + static autoPtr New + ( + const fvMesh& mesh + ); + + + // Member Functions + + //- Return the drag coefficient for all phase-pairs + virtual const phaseSystem::KdTable& Kds() const = 0; + + //- Return the drag coefficient for phase + virtual tmp Kd(const phaseModel& phase) const = 0; + + //- Return the combined force (lift + wall-lubrication) for phase pair + virtual autoPtr > Fs() const = 0; + + //- Return the turbulent dispersion force on faces for phase pair + virtual autoPtr > phiDs + ( + const PtrList& rAUs + ) const = 0; + + //- Return true if there is mass transfer for phase + virtual bool transfersMass(const phaseModel& phase) const = 0; + + //- Return the total interfacial mass transfer rate for phase + virtual tmp dmdt(const phaseModel& phase) const = 0; + + //- Return the momentum transfer matrices + virtual autoPtr momentumTransfer() const = 0; + + //- Return the heat transfer matrices + virtual autoPtr heatTransfer() const = 0; + + //- Return the mass transfer matrices + virtual autoPtr massTransfer() const = 0; + + tmp surfaceTension(const phaseModel& phase) const; + + //- Indicator of the proximity of the interface + // Field values are 1 near and 0 away for the interface. + tmp nearInterface() const; + + //- Solve for the phase fractions + virtual void solve(); +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#include "multiphaseSystemI.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystemI.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystemI.H new file mode 100644 index 0000000000..b4ea367451 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystemI.H @@ -0,0 +1,28 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystems.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystems.C new file mode 100644 index 0000000000..3e1a3eaf9f --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/multiphaseSystems.C @@ -0,0 +1,86 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "addToRunTimeSelectionTable.H" + +#include "phaseSystem.H" +#include "multiphaseSystem.H" +#include "MomentumTransferPhaseSystem.H" +#include "HeatTransferPhaseSystem.H" +#include "InterfaceCompositionPhaseChangePhaseSystem.H" +#include "ThermalPhaseChangePhaseSystem.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + typedef + HeatTransferPhaseSystem + < + MomentumTransferPhaseSystem + > + heatAndMomentumTransferMultiphaseSystem; + + addNamedToRunTimeSelectionTable + ( + multiphaseSystem, + heatAndMomentumTransferMultiphaseSystem, + dictionary, + heatAndMomentumTransferMultiphaseSystem + ); + + typedef + InterfaceCompositionPhaseChangePhaseSystem + < + MomentumTransferPhaseSystem + > + interfaceCompositionPhaseChangeMultiphaseSystem; + + addNamedToRunTimeSelectionTable + ( + multiphaseSystem, + interfaceCompositionPhaseChangeMultiphaseSystem, + dictionary, + interfaceCompositionPhaseChangeMultiphaseSystem + ); + + typedef + ThermalPhaseChangePhaseSystem + < + MomentumTransferPhaseSystem + > + thermalPhaseChangeMultiphaseSystem; + + addNamedToRunTimeSelectionTable + ( + multiphaseSystem, + thermalPhaseChangeMultiphaseSystem, + dictionary, + thermalPhaseChangeMultiphaseSystem + ); +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C new file mode 100644 index 0000000000..79e3546c49 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/multiphaseSystem/newMultiphaseSystem.C @@ -0,0 +1,70 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "multiphaseSystem.H" + +// * * * * * * * * * * * * * * * * Selector * * * * * * * * * * * * * * * * // + +Foam::autoPtr Foam::multiphaseSystem::New +( + const fvMesh& mesh +) +{ + const word multiphaseSystemType + ( + IOdictionary + ( + IOobject + ( + propertiesName, + mesh.time().constant(), + mesh, + IOobject::MUST_READ_IF_MODIFIED, + IOobject::NO_WRITE, + false + ) + ).lookup("type") + ); + + Info<< "Selecting multiphaseSystem " + << multiphaseSystemType << endl; + + dictionaryConstructorTable::iterator cstrIter = + dictionaryConstructorTablePtr_->find(multiphaseSystemType); + + if (cstrIter == dictionaryConstructorTablePtr_->end()) + { + FatalErrorIn("multiphaseSystem::New") + << "Unknown multiphaseSystemType type " + << multiphaseSystemType << endl << endl + << "Valid multiphaseSystem types are : " << endl + << dictionaryConstructorTablePtr_->sortedToc() + << exit(FatalError); + } + + return cstrIter()(mesh); +} + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/UEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/UEqns.H new file mode 100644 index 0000000000..cf70a99e18 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/UEqns.H @@ -0,0 +1,36 @@ +Info<< "Constructing momentum equations" << endl; + +PtrList UEqns(phases.size()); + +{ + autoPtr + momentumTransferPtr(fluid.momentumTransfer()); + + phaseSystem::momentumTransferTable& + momentumTransfer(momentumTransferPtr()); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + const volScalarField& alpha = phase; + const volScalarField& rho = phase.rho(); + volVectorField& U = phase.U(); + + UEqns.set + ( + phasei, + new fvVectorMatrix + ( + phase.UEqn() + == + *momentumTransfer[phase.name()] + + fvOptions(alpha, rho, U) + ) + ); + + UEqns[phasei].relax(); + fvOptions.constrain(UEqns[phasei]); + fvOptions.correct(U); + } +} diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/pEqn.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/pEqn.H new file mode 100644 index 0000000000..2703d75ef1 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/pU/pEqn.H @@ -0,0 +1,464 @@ +PtrList alphafs(phases.size()); +PtrList rAUs(phases.size()); +PtrList alpharAUfs(phases.size()); + +forAll(phases, phasei) +{ + phaseModel& phase = phases[phasei]; + const volScalarField& alpha = phase; + + alphafs.set(phasei, fvc::interpolate(alpha).ptr()); + alphafs[phasei].rename("pEqn" + alphafs[phasei].name()); + + rAUs.set + ( + phasei, + new volScalarField + ( + IOobject::groupName("rAU", phase.name()), + 1.0 + /( + UEqns[phasei].A() + + max(phase.residualAlpha() - alpha, scalar(0)) + *phase.rho()/runTime.deltaT() + ) + ) + ); + + alpharAUfs.set + ( + phasei, + ( + fvc::interpolate(max(alpha, phase.residualAlpha())*rAUs[phasei]) + ).ptr() + ); +} + +// Lift, wall-lubrication and turbulent diffusion fluxes +PtrList phiFs(phases.size()); +{ + autoPtr > Fs = fluid.Fs(); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + if (Fs().set(phasei)) + { + phiFs.set + ( + phasei, + new surfaceScalarField + ( + IOobject::groupName("phiF", phase.name()), + (fvc::interpolate(rAUs[phasei]*Fs()[phasei]) & mesh.Sf()) + ) + ); + } + } +} +{ + autoPtr > phiDs = fluid.phiDs(rAUs); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + if (phiDs().set(phasei)) + { + if (phiFs.set(phasei)) + { + phiFs[phasei] += phiDs()[phasei]; + } + else + { + phiFs.set + ( + phasei, + new surfaceScalarField + ( + IOobject::groupName("phiF", phase.name()), + phiDs()[phasei] + ) + ); + } + } + } +} + +// --- Pressure corrector loop +while (pimple.correct()) +{ + // Update continuity errors due to temperature changes + fluid.correct(); + + PtrList HbyAs(phases.size()); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + const volScalarField& alpha = phase; + + // Correct fixed-flux BCs to be consistent with the velocity BCs + MRF.correctBoundaryFlux(phase.U(), phase.phi()); + + HbyAs.set + ( + phasei, + new volVectorField + ( + IOobject::groupName("HbyA", phase.name()), + phase.U() + ) + ); + + HbyAs[phasei] = + rAUs[phasei] + *( + UEqns[phasei].H() + + max(phase.residualAlpha() - alpha, scalar(0)) + *phase.rho()*phase.U().oldTime()/runTime.deltaT() + ); + } + + // Mean density for buoyancy force and p_rgh -> p + volScalarField rho("rho", fluid.rho()); + + surfaceScalarField ghSnGradRho + ( + "ghSnGradRho", + ghf*fvc::snGrad(rho)*mesh.magSf() + ); + + PtrList phigFs(phases.size()); + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + phigFs.set + ( + phasei, + ( + alpharAUfs[phasei] + *( + ghSnGradRho + - (fvc::interpolate(phase.rho() - rho))*(g & mesh.Sf()) + - fluid.surfaceTension(phase)*mesh.magSf() + ) + ).ptr() + ); + + if (phiFs.set(phasei)) + { + phigFs[phasei] += phiFs[phasei]; + } + } + + PtrList phiHbyAs(phases.size()); + + surfaceScalarField phiHbyA + ( + IOobject + ( + "phiHbyA", + runTime.timeName(), + mesh, + IOobject::NO_READ, + IOobject::AUTO_WRITE + ), + mesh, + dimensionedScalar("phiHbyA", dimArea*dimVelocity, 0) + ); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + const volScalarField& alpha = phase; + + // ddtPhiCorr filter -- only apply in pure(ish) phases + surfaceScalarField alphafBar + ( + fvc::interpolate(fvc::average(alphafs[phasei])) + ); + surfaceScalarField phiCorrCoeff(pos(alphafBar - 0.99)); + + forAll(mesh.boundary(), patchi) + { + // Set ddtPhiCorr to 0 on non-coupled boundaries + if + ( + !mesh.boundary()[patchi].coupled() + || isA(mesh.boundary()[patchi]) + ) + { + phiCorrCoeff.boundaryField()[patchi] = 0; + } + } + + phiHbyAs.set + ( + phasei, + new surfaceScalarField + ( + IOobject::groupName("phiHbyA", phase.name()), + (fvc::interpolate(HbyAs[phasei]) & mesh.Sf()) + + phiCorrCoeff + *fvc::interpolate + ( + alpha.oldTime()*phase.rho()().oldTime()*rAUs[phasei] + ) + *( + MRF.absolute(phase.phi().oldTime()) + - (fvc::interpolate(phase.U().oldTime()) & mesh.Sf()) + )/runTime.deltaT() + - phigFs[phasei] + ) + ); + + forAllConstIter + ( + phaseSystem::KdTable, + fluid.Kds(), + KdIter + ) + { + const volScalarField& K(*KdIter()); + + const phasePair& pair(fluid.phasePairs()[KdIter.key()]); + + const phaseModel* phase1 = &pair.phase1(); + const phaseModel* phase2 = &pair.phase2(); + + forAllConstIter(phasePair, pair, iter) + { + if (phase1 == &phase) + { + phiHbyAs[phasei] += + fvc::interpolate(rAUs[phasei]*K) + *MRF.absolute(phase2->phi()); + + HbyAs[phasei] += rAUs[phasei]*K*phase2->U(); + } + + Swap(phase1, phase2); + } + } + + phiHbyA += alphafs[phasei]*phiHbyAs[phasei]; + } + + MRF.makeRelative(phiHbyA); + + // Construct pressure "diffusivity" + surfaceScalarField rAUf + ( + IOobject + ( + "rAUf", + runTime.timeName(), + mesh + ), + mesh, + dimensionedScalar("rAUf", dimensionSet(-1, 3, 1, 0, 0), 0) + ); + + forAll(phases, phasei) + { + rAUf += alphafs[phasei]*alpharAUfs[phasei]; + } + rAUf = mag(rAUf); + + + // Update the fixedFluxPressure BCs to ensure flux consistency + { + surfaceScalarField::GeometricBoundaryField phib(phi.boundaryField()); + phib = 0; + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + phib += alphafs[phasei].boundaryField()*phase.phi().boundaryField(); + } + + setSnGrad + ( + p_rgh.boundaryField(), + ( + phiHbyA.boundaryField() - phib + )/(mesh.magSf().boundaryField()*rAUf.boundaryField()) + ); + } + + PtrList pEqnComps(phases.size()); + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + if (phase.compressible()) + { + const volScalarField& alpha = phase; + const volScalarField& rho = phase.rho(); + + if (pimple.transonic()) + { + surfaceScalarField phid + ( + IOobject::groupName("phid", phase.name()), + fvc::interpolate(phase.thermo().psi())*phase.phi() + ); + + pEqnComps.set + ( + phasei, + ( + ( + phase.continuityError() + - fvc::Sp + ( + fvc::ddt(alpha) + fvc::div(phase.alphaPhi()), + rho + ) + )/rho + + (alpha/rho)*correction + ( + phase.thermo().psi()*fvm::ddt(p_rgh) + + fvm::div(phid, p_rgh) + - fvm::Sp(fvc::div(phid), p_rgh) + ) + ).ptr() + ); + + deleteDemandDrivenData + ( + pEqnComps[phasei].faceFluxCorrectionPtr() + ); + pEqnComps[phasei].relax(); + } + else + { + pEqnComps.set + ( + phasei, + ( + ( + phase.continuityError() + - fvc::Sp + ( + (fvc::ddt(alpha) + fvc::div(phase.alphaPhi())), + rho + ) + )/rho + + (alpha*phase.thermo().psi()/rho) + *correction(fvm::ddt(p_rgh)) + ).ptr() + ); + } + + if (fluid.transfersMass(phase)) + { + if (pEqnComps.set(phasei)) + { + pEqnComps[phasei] -= fluid.dmdt(phase)/rho; + } + else + { + pEqnComps.set + ( + phasei, + fvm::Su(-fluid.dmdt(phase)/rho, p_rgh) + ); + } + } + } + } + + // Cache p prior to solve for density update + volScalarField p_rgh_0(p_rgh); + + // Iterate over the pressure equation to correct for non-orthogonality + while (pimple.correctNonOrthogonal()) + { + // Construct the transport part of the pressure equation + fvScalarMatrix pEqnIncomp + ( + fvc::div(phiHbyA) + - fvm::laplacian(rAUf, p_rgh) + ); + + { + fvScalarMatrix pEqn(pEqnIncomp); + + forAll(phases, phasei) + { + if (pEqnComps.set(phasei)) + { + pEqn += pEqnComps[phasei]; + } + } + + solve + ( + pEqn, + mesh.solver(p_rgh.select(pimple.finalInnerIter())) + ); + } + + // Correct fluxes and velocities on last non-orthogonal iteration + if (pimple.finalNonOrthogonalIter()) + { + phi = phiHbyA + pEqnIncomp.flux(); + + surfaceScalarField mSfGradp("mSfGradp", pEqnIncomp.flux()/rAUf); + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + phase.phi() = phiHbyAs[phasei] + alpharAUfs[phasei]*mSfGradp; + + // Set the phase dilatation rates + if (phase.compressible()) + { + phase.divU(-pEqnComps[phasei] & p_rgh); + } + } + + // Optionally relax pressure for velocity correction + p_rgh.relax(); + + mSfGradp = pEqnIncomp.flux()/rAUf; + + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + + phase.U() = + HbyAs[phasei] + + fvc::reconstruct + ( + alpharAUfs[phasei]*mSfGradp + - phigFs[phasei] + ); + phase.U().correctBoundaryConditions(); + fvOptions.correct(phase.U()); + } + } + } + + // Update and limit the static pressure + p = max(p_rgh + rho*gh, pMin); + + // Limit p_rgh + p_rgh = p - rho*gh; + + // Update densities from change in p_rgh + forAll(phases, phasei) + { + phaseModel& phase = phases[phasei]; + phase.rho()() += phase.thermo().psi()*(p_rgh - p_rgh_0); + } + + // Correct p_rgh for consistency with p and the updated densities + rho = fluid.rho(); + p_rgh = p - rho*gh; + p_rgh.correctBoundaryConditions(); +} diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C new file mode 100644 index 0000000000..cb90ee1196 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/reactingMultiphaseEulerFoam.C @@ -0,0 +1,143 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Application + reactingMultiphaseEulerFoam + +Description + Solver for a system of any number of compressible fluid phases with a + common pressure, but otherwise separate properties. The type of phase model + is run time selectable and can optionally represent multiple species and + in-phase reactions. The phase system is also run time selectable and can + optionally represent different types of momentun, heat and mass transfer. + +\*---------------------------------------------------------------------------*/ + +#include "fvCFD.H" +#include "multiphaseSystem.H" +#include "fixedFluxPressureFvPatchScalarField.H" +#include "pimpleControl.H" +#include "localEulerDdtScheme.H" +#include "fvcSmooth.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +int main(int argc, char *argv[]) +{ + #include "setRootCase.H" + + #include "createTime.H" + #include "createMesh.H" + + pimpleControl pimple(mesh); + + #include "createTimeControls.H" + #include "createRDeltaT.H" + #include "createFields.H" + + if (!LTS) + { + #include "CourantNo.H" + #include "setInitialDeltaT.H" + } + + // Switch faceMomentum + // ( + // pimple.dict().lookupOrDefault("faceMomentum", false) + // ); + + // Switch implicitPhasePressure + // ( + // mesh.solverDict(alpha1.name()).lookupOrDefault + // ( + // "implicitPhasePressure", false + // ) + // ); + + //#include "pUf/createDDtU.H" + + // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + + Info<< "\nStarting time loop\n" << endl; + + while (runTime.run()) + { + #include "readTimeControls.H" + + if (LTS) + { + #include "setRDeltaT.H" + } + else + { + #include "CourantNo.H" + #include "setDeltaT.H" + } + + runTime++; + Info<< "Time = " << runTime.timeName() << nl << endl; + + // --- Pressure-velocity PIMPLE corrector loop + while (pimple.loop()) + { + fluid.solve(); + fluid.correct(); + + #include "YEqns.H" + + // if (faceMomentum) + // { + // #include "pUf/UEqns.H" + // #include "EEqns.H" + // #include "pUf/pEqn.H" + // #include "pUf/DDtU.H" + // } + // else + { + #include "pU/UEqns.H" + #include "EEqns.H" + #include "pU/pEqn.H" + } + + fluid.correctKinematics(); + + if (pimple.turbCorr()) + { + fluid.correctTurbulence(); + } + } + + runTime.write(); + + Info<< "ExecutionTime = " + << runTime.elapsedCpuTime() + << " s\n\n" << endl; + } + + Info<< "End\n" << endl; + + return 0; +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/setRDeltaT.H b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/setRDeltaT.H new file mode 100644 index 0000000000..9e9ca54230 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingMultiphaseEulerFoam/setRDeltaT.H @@ -0,0 +1,36 @@ +{ + volScalarField& rDeltaT = trDeltaT(); + + scalar rDeltaTSmoothingCoeff + ( + runTime.controlDict().lookupOrDefault + ( + "rDeltaTSmoothingCoeff", + 0.02 + ) + ); + + surfaceScalarField maxPhi("maxPhi", phi); + + forAll(phases, phasei) + { + maxPhi = max(maxPhi, mag(phases[phasei].phi())); + } + + // Set the reciprocal time-step from the local Courant number + rDeltaT.dimensionedInternalField() = max + ( + 1/dimensionedScalar("maxDeltaT", dimTime, maxDeltaT), + fvc::surfaceSum(maxPhi)().dimensionedInternalField() + /((2*maxCo)*mesh.V()) + ); + + // Update tho boundary values of the reciprocal time-step + rDeltaT.correctBoundaryConditions(); + + fvc::smooth(rDeltaT, rDeltaTSmoothingCoeff); + + Info<< "Flow time scale min/max = " + << gMin(1/rDeltaT.internalField()) + << ", " << gMax(1/rDeltaT.internalField()) << endl; +} diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwclean b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwclean new file mode 100755 index 0000000000..87e030a14a --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwclean @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +set -x + +wclean libso twoPhaseSystem +wclean libso twoPhaseCompressibleTurbulenceModels +wclean + +# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwmake b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwmake new file mode 100755 index 0000000000..d0e2fc63c7 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Allwmake @@ -0,0 +1,9 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory +set -x + +wmake libso twoPhaseSystem +wmake libso twoPhaseCompressibleTurbulenceModels +wmake + +# ----------------------------------------------------------------- end-of-file diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/CourantNos.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/CourantNos.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/CourantNos.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/CourantNos.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/EEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H similarity index 76% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/EEqns.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H index 588bd7ddf4..684e5ede43 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/EEqns.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/EEqns.H @@ -1,4 +1,6 @@ { + fluid.correctEnergyTransport(); + autoPtr heatTransferPtr(fluid.heatTransfer()); @@ -47,3 +49,15 @@ } fluid.correctThermo(); + +Info<< phase1.name() << " min/max T " + << min(phase1.thermo().T()).value() + << " - " + << max(phase1.thermo().T()).value() + << endl; + +Info<< phase2.name() << " min/max T " + << min(phase2.thermo().T()).value() + << " - " + << max(phase2.thermo().T()).value() + << endl; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/files similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/Make/files rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/files diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options new file mode 100644 index 0000000000..6d3bc54b85 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/Make/options @@ -0,0 +1,26 @@ +EXE_INC = \ + -ItwoPhaseSystem/lnInclude \ + -I../phaseSystems/lnInclude \ + -I../interfacialModels/lnInclude \ + -I../interfacialCompositionModels/lnInclude \ + -ItwoPhaseCompressibleTurbulenceModels/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude + +EXE_LIBS = \ + -lreactingPhaseSystem \ + -lreactingTwoPhaseSystem \ + -lreactingEulerianInterfacialModels \ + -lreactingEulerianInterfacialCompositionModels \ + -ltwoPhaseReactingTurbulenceModels \ + -lfiniteVolume \ + -lfvOptions \ + -lmeshTools \ + -lsampling diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/YEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/YEqns.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/YEqns.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/YEqns.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/createFields.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/createFields.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H index 30b3b0e715..60d17c251f 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/createFields.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/createFields.H @@ -72,7 +72,6 @@ setRefCell pRefValue ); mesh.setFluxRequired(p_rgh.name()); -mesh.setFluxRequired(alpha1.name()); const IOMRFZoneList& MRF = fluid.MRF(); fv::IOoptionList& fvOptions = fluid.fvOptions(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pU/UEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pU/UEqns.H new file mode 100644 index 0000000000..99bc95cfd6 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pU/UEqns.H @@ -0,0 +1,38 @@ +Info<< "Constructing momentum equations" << endl; + +fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime); +fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime); + +{ + autoPtr + momentumTransferPtr(fluid.momentumTransfer()); + + phaseSystem::momentumTransferTable& + momentumTransfer(momentumTransferPtr()); + + { + U1Eqn = + ( + phase1.UEqn() + == + *momentumTransfer[phase1.name()] + + fvOptions(alpha1, rho1, U1) + ); + U1Eqn.relax(); + fvOptions.constrain(U1Eqn); + fvOptions.correct(U1); + } + + { + U2Eqn = + ( + phase2.UEqn() + == + *momentumTransfer[phase2.name()] + + fvOptions(alpha2, rho2, U2) + ); + U2Eqn.relax(); + fvOptions.constrain(U2Eqn); + fvOptions.correct(U2); + } +} diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pU/pEqn.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pU/pEqn.H similarity index 76% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pU/pEqn.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pU/pEqn.H index 19f2d473b9..f269a79760 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pU/pEqn.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pU/pEqn.H @@ -31,6 +31,8 @@ surfaceScalarField alpharAUf2 fvc::interpolate(max(alpha2, phase2.residualAlpha())*rAU2) ); +volScalarField Kd(fluid.Kd()); + // Turbulent diffusion, particle-pressure, lift and wall-lubrication fluxes tmp phiF1; tmp phiF2; @@ -237,58 +239,93 @@ while (pimple.correct()) // Construct the compressibility parts of the pressure equation if (pimple.transonic()) { - surfaceScalarField phid1 - ( - IOobject::groupName("phid", phase1.name()), - fvc::interpolate(psi1)*phi1 - ); - surfaceScalarField phid2 - ( - IOobject::groupName("phid", phase2.name()), - fvc::interpolate(psi2)*phi2 - ); - - pEqnComp1 = + if (phase1.compressible()) + { + surfaceScalarField phid1 ( - phase1.continuityError() - fluid.dmdt() - - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) - )/rho1 - + (alpha1/rho1)*correction - ( - psi1*fvm::ddt(p_rgh) - + fvm::div(phid1, p_rgh) - fvm::Sp(fvc::div(phid1), p_rgh) + IOobject::groupName("phid", phase1.name()), + fvc::interpolate(psi1)*phi1 ); - deleteDemandDrivenData(pEqnComp1().faceFluxCorrectionPtr()); - pEqnComp1().relax(); - pEqnComp2 = + pEqnComp1 = + ( + phase1.continuityError() + - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) + )/rho1 + + (alpha1/rho1)*correction + ( + psi1*fvm::ddt(p_rgh) + + fvm::div(phid1, p_rgh) - fvm::Sp(fvc::div(phid1), p_rgh) + ); + + deleteDemandDrivenData(pEqnComp1().faceFluxCorrectionPtr()); + pEqnComp1().relax(); + } + + if (phase2.compressible()) + { + surfaceScalarField phid2 ( - phase2.continuityError() + fluid.dmdt() - - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) - )/rho2 - + (alpha2/rho2)*correction - ( - psi2*fvm::ddt(p_rgh) - + fvm::div(phid2, p_rgh) - fvm::Sp(fvc::div(phid2), p_rgh) + IOobject::groupName("phid", phase2.name()), + fvc::interpolate(psi2)*phi2 ); - deleteDemandDrivenData(pEqnComp2().faceFluxCorrectionPtr()); - pEqnComp2().relax(); + + pEqnComp2 = + ( + phase2.continuityError() + - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) + )/rho2 + + (alpha2/rho2)*correction + ( + psi2*fvm::ddt(p_rgh) + + fvm::div(phid2, p_rgh) - fvm::Sp(fvc::div(phid2), p_rgh) + ); + deleteDemandDrivenData(pEqnComp2().faceFluxCorrectionPtr()); + pEqnComp2().relax(); + } } else { - pEqnComp1 = - ( - phase1.continuityError() - fluid.dmdt() - - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) - )/rho1 - + (alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh)); + if (phase1.compressible()) + { + pEqnComp1 = + ( + phase1.continuityError() + - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) + )/rho1 + + (alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh)); + } - pEqnComp2 = - ( - phase2.continuityError() + fluid.dmdt() - - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) - )/rho2 - + (alpha2*psi2/rho2)*correction(fvm::ddt(p_rgh)); + if (phase2.compressible()) + { + pEqnComp2 = + ( + phase2.continuityError() + - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) + )/rho2 + + (alpha2*psi2/rho2)*correction(fvm::ddt(p_rgh)); + } + } + + if (fluid.transfersMass()) + { + if (pEqnComp1.valid()) + { + pEqnComp1() -= fluid.dmdt()/rho1; + } + else + { + pEqnComp1 = fvm::Su(-fluid.dmdt()/rho1, p_rgh); + } + + if (pEqnComp2.valid()) + { + pEqnComp2() += fluid.dmdt()/rho2; + } + else + { + pEqnComp2 = fvm::Su(fluid.dmdt()/rho2, p_rgh); + } } // Cache p prior to solve for density update @@ -304,11 +341,25 @@ while (pimple.correct()) - fvm::laplacian(rAUf, p_rgh) ); - solve - ( - pEqnComp1() + pEqnComp2() + pEqnIncomp, - mesh.solver(p_rgh.select(pimple.finalInnerIter())) - ); + { + fvScalarMatrix pEqn(pEqnIncomp); + + if (pEqnComp1.valid()) + { + pEqn += pEqnComp1(); + } + + if (pEqnComp2.valid()) + { + pEqn += pEqnComp2(); + } + + solve + ( + pEqn, + mesh.solver(p_rgh.select(pimple.finalInnerIter())) + ); + } // Correct fluxes and velocities on last non-orthogonal iteration if (pimple.finalNonOrthogonalIter()) diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/DDtU.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/DDtU.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/DDtU.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/DDtU.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/UEqns.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/UEqns.H similarity index 95% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/UEqns.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/UEqns.H index eb1456bc15..83c3a9ce7f 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/UEqns.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/UEqns.H @@ -1,8 +1,5 @@ Info<< "Constructing face momentum equations" << endl; -MRF.correctBoundaryVelocity(U1); -MRF.correctBoundaryVelocity(U2); - fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime); fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/createDDtU.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/createDDtU.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/createDDtU.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/createDDtU.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/pEqn.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/pEqn.H similarity index 82% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/pEqn.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/pEqn.H index 161a08b06d..e2edf14bed 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pUf/pEqn.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/pUf/pEqn.H @@ -227,9 +227,11 @@ while (pimple.correct()) fvc::interpolate(psi2)*phi2 ); - pEqnComp1 = + if (phase1.compressible()) + { + pEqnComp1 = ( - phase1.continuityError() - fluid.dmdt() + phase1.continuityError() - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) )/rho1 + (alpha1/rho1)*correction @@ -237,12 +239,15 @@ while (pimple.correct()) psi1*fvm::ddt(p_rgh) + fvm::div(phid1, p_rgh) - fvm::Sp(fvc::div(phid1), p_rgh) ); - deleteDemandDrivenData(pEqnComp1().faceFluxCorrectionPtr()); - pEqnComp1().relax(); + deleteDemandDrivenData(pEqnComp1().faceFluxCorrectionPtr()); + pEqnComp1().relax(); + } - pEqnComp2 = + if (phase2.compressible()) + { + pEqnComp2 = ( - phase2.continuityError() + fluid.dmdt() + phase2.continuityError() - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) )/rho2 + (alpha2/rho2)*correction @@ -250,24 +255,52 @@ while (pimple.correct()) psi2*fvm::ddt(p_rgh) + fvm::div(phid2, p_rgh) - fvm::Sp(fvc::div(phid2), p_rgh) ); - deleteDemandDrivenData(pEqnComp2().faceFluxCorrectionPtr()); - pEqnComp2().relax(); + deleteDemandDrivenData(pEqnComp2().faceFluxCorrectionPtr()); + pEqnComp2().relax(); + } } else { - pEqnComp1 = + if (phase1.compressible()) + { + pEqnComp1 = ( - phase1.continuityError() - fluid.dmdt() + phase1.continuityError() - fvc::Sp(fvc::ddt(alpha1) + fvc::div(alphaPhi1), rho1) )/rho1 + (alpha1*psi1/rho1)*correction(fvm::ddt(p_rgh)); + } - pEqnComp2 = + if (phase2.compressible()) + { + pEqnComp2 = ( - phase2.continuityError() + fluid.dmdt() + phase2.continuityError() - fvc::Sp(fvc::ddt(alpha2) + fvc::div(alphaPhi2), rho2) )/rho2 + (alpha2*psi2/rho2)*correction(fvm::ddt(p_rgh)); + } + } + + if (fluid.transfersMass()) + { + if (pEqnComp1.valid()) + { + pEqnComp1() -= fluid.dmdt()/rho1; + } + else + { + pEqnComp1 = fvm::Su(-fluid.dmdt()/rho1, p_rgh); + } + + if (pEqnComp2.valid()) + { + pEqnComp2() += fluid.dmdt()/rho2; + } + else + { + pEqnComp2 = fvm::Su(fluid.dmdt()/rho2, p_rgh); + } } // Cache p prior to solve for density update @@ -281,11 +314,25 @@ while (pimple.correct()) - fvm::laplacian(rAUf, p_rgh) ); - solve - ( - pEqnComp1() + pEqnComp2() + pEqnIncomp, - mesh.solver(p_rgh.select(pimple.finalInnerIter())) - ); + { + fvScalarMatrix pEqn(pEqnIncomp); + + if (pEqnComp1.valid()) + { + pEqn += pEqnComp1(); + } + + if (pEqnComp2.valid()) + { + pEqn += pEqnComp2(); + } + + solve + ( + pEqn, + mesh.solver(p_rgh.select(pimple.finalInnerIter())) + ); + } if (pimple.finalNonOrthogonalIter()) { @@ -325,17 +372,23 @@ while (pimple.correct()) fvOptions.correct(U2); // Set the phase dilatation rates - if (phase1.compressible()) + if (pEqnComp1.valid()) { phase1.divU(-pEqnComp1 & p_rgh); } - if (phase2.compressible()) + if (pEqnComp2.valid()) { phase2.divU(-pEqnComp2 & p_rgh); } } } + Info<< "min(p) = " << min(p_rgh + rho*gh).value() << endl; + if (min(p_rgh + rho*gh) < pMin) + { + Info<< "Clipping p" << endl; + } + // Update and limit the static pressure p = max(p_rgh + rho*gh, pMin); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/reactingTwoPhaseEulerFoam.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/setRDeltaT.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/setRDeltaT.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/setRDeltaT.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/setRDeltaT.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files similarity index 92% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/files rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files index eccde529bd..10a0e8679a 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/files +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files @@ -35,4 +35,6 @@ kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C -LIB = $(FOAM_LIBBIN)/libphaseReactingTurbulenceModels +derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C + +LIB = $(FOAM_LIBBIN)/libtwoPhaseReactingTurbulenceModels diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/options new file mode 100644 index 0000000000..f003ce2281 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/options @@ -0,0 +1,14 @@ +EXE_INC = \ + -I../twoPhaseSystem/lnInclude \ + -I../../phaseSystems/lnInclude \ + -I../../interfacialModels/lnInclude\ + -I../../interfacialCompositionModels/lnInclude \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/transportModels/incompressible/transportModel \ + -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C new file mode 100644 index 0000000000..a37553e338 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C @@ -0,0 +1,373 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H" +#include "compressibleTurbulenceModel.H" +#include "fvPatchFieldMapper.H" +#include "volFields.H" +#include "addToRunTimeSelectionTable.H" +#include "twoPhaseSystem.H" +#include "phaseSystem.H" +#include "ThermalPhaseChangePhaseSystem.H" +#include "MomentumTransferPhaseSystem.H" +#include "wallFvPatch.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace compressible +{ + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +scalar alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::maxExp_ + = 50.0; +scalar alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::tolerance_ + = 0.01; +label alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::maxIters_ + = 10; + +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::checkType() +{ + if (!isA(patch())) + { + FatalErrorIn + ( + "alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField" + "::checkType()" + ) + << "Patch type for patch " << patch().name() << " must be wall\n" + << "Current patch type is " << patch().type() << nl + << exit(FatalError); + } +} + + +tmp +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::Psmooth +( + const scalarField& Prat +) const +{ + return 9.24*(pow(Prat, 0.75) - 1.0)*(1.0 + 0.28*exp(-0.007*Prat)); +} + + +tmp +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::yPlusTherm +( + const scalarField& P, + const scalarField& Prat +) const +{ + + tmp typtf(new scalarField(this->size())); + scalarField& yptf = typtf(); + + forAll(yptf, faceI) + { + scalar ypt = 11.0; + + for (int i=0; i& iF +) +: + alphatPhaseChangeWallFunctionFvPatchScalarField(p, iF), + Prt_(0.85), + Cmu_(0.09), + kappa_(0.41), + E_(9.8), + fixedDmdt_(0.0) +{ + checkType(); +} + + +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField:: +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField +( + const fvPatch& p, + const DimensionedField& iF, + const dictionary& dict +) +: + alphatPhaseChangeWallFunctionFvPatchScalarField(p, iF, dict), + Prt_(dict.lookupOrDefault("Prt", 0.85)), + Cmu_(dict.lookupOrDefault("Cmu", 0.09)), + kappa_(dict.lookupOrDefault("kappa", 0.41)), + E_(dict.lookupOrDefault("E", 9.8)), + fixedDmdt_(dict.lookupOrDefault("fixedDmdt", 0.0)) +{} + + +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField:: +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField +( + const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& ptf, + const fvPatch& p, + const DimensionedField& iF, + const fvPatchFieldMapper& mapper +) +: + alphatPhaseChangeWallFunctionFvPatchScalarField(ptf, p, iF, mapper), + Prt_(ptf.Prt_), + Cmu_(ptf.Cmu_), + kappa_(ptf.kappa_), + E_(ptf.E_), + fixedDmdt_(ptf.fixedDmdt_) +{} + + +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField:: +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField +( + const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& awfpsf +) +: + alphatPhaseChangeWallFunctionFvPatchScalarField(awfpsf), + Prt_(awfpsf.Prt_), + Cmu_(awfpsf.Cmu_), + kappa_(awfpsf.kappa_), + E_(awfpsf.E_), + fixedDmdt_(awfpsf.fixedDmdt_) +{} + + +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField:: +alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField +( + const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& awfpsf, + const DimensionedField& iF +) +: + alphatPhaseChangeWallFunctionFvPatchScalarField(awfpsf, iF), + Prt_(awfpsf.Prt_), + Cmu_(awfpsf.Cmu_), + kappa_(awfpsf.kappa_), + E_(awfpsf.E_), + fixedDmdt_(awfpsf.fixedDmdt_) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() +{ + if (updated()) + { + return; + } + + // Lookup the fluid model + const ThermalPhaseChangePhaseSystem + < + MomentumTransferPhaseSystem + >& fluid = + refCast + < + const ThermalPhaseChangePhaseSystem + < + MomentumTransferPhaseSystem + > + > + ( + db().lookupObject("phaseProperties") + ); + + const phaseModel& liquid + ( + fluid.phase1().name() == dimensionedInternalField().group() + ? fluid.phase1() + : fluid.phase2() + ); + + const label patchi = patch().index(); + + // Retrieve turbulence properties from model + const compressibleTurbulenceModel& turbModel = + db().lookupObject + ( + IOobject::groupName + ( + compressibleTurbulenceModel::propertiesName, + dimensionedInternalField().group() + ) + ); + + const scalar Cmu25 = pow025(Cmu_); + + const scalarField& y = turbModel.y()[patchi]; + + const tmp tmuw = turbModel.mu(patchi); + const scalarField& muw = tmuw(); + + const tmp talphaw = liquid.thermo().alpha(patchi); + const scalarField& alphaw = talphaw(); + + scalarField& alphatw = *this; + + const tmp tk = turbModel.k(); + const volScalarField& k = tk(); + const fvPatchScalarField& kw = k.boundaryField()[patchi]; + + const fvPatchVectorField& Uw = turbModel.U().boundaryField()[patchi]; + const scalarField magUp(mag(Uw.patchInternalField() - Uw)); + const scalarField magGradUw(mag(Uw.snGrad())); + + const fvPatchScalarField& rhow = turbModel.rho().boundaryField()[patchi]; + const fvPatchScalarField& hew = + liquid.thermo().he().boundaryField()[patchi]; + + const fvPatchScalarField& Tw = + liquid.thermo().T().boundaryField()[patchi]; + + scalarField Tp(Tw.patchInternalField()); + + // Heat flux [W/m2] - lagging alphatw + const scalarField qDot + ( + (alphatw + alphaw)*hew.snGrad() + ); + + scalarField uTau(Cmu25*sqrt(kw)); + + scalarField yPlus(uTau*y/(muw/rhow)); + + scalarField Pr(muw/alphaw); + + // Molecular-to-turbulent Prandtl number ratio + scalarField Prat(Pr/Prt_); + + // Thermal sublayer thickness + scalarField P(this->Psmooth(Prat)); + + scalarField yPlusTherm(this->yPlusTherm(P, Prat)); + + scalarField alphatConv(this->size(), 0.0); + + // Populate boundary values + forAll(alphatw, faceI) + { + // Evaluate new effective thermal diffusivity + scalar alphaEff = 0.0; + if (yPlus[faceI] < yPlusTherm[faceI]) + { + scalar A = qDot[faceI]*rhow[faceI]*uTau[faceI]*y[faceI]; + scalar B = qDot[faceI]*Pr[faceI]*yPlus[faceI]; + scalar C = Pr[faceI]*0.5*rhow[faceI]*uTau[faceI]*sqr(magUp[faceI]); + alphaEff = A/(B + C + VSMALL); + } + else + { + scalar A = qDot[faceI]*rhow[faceI]*uTau[faceI]*y[faceI]; + scalar B = + qDot[faceI]*Prt_*(1.0/kappa_*log(E_*yPlus[faceI]) + P[faceI]); + scalar magUc = + uTau[faceI]/kappa_*log(E_*yPlusTherm[faceI]) - mag(Uw[faceI]); + scalar C = + 0.5*rhow[faceI]*uTau[faceI] + *(Prt_*sqr(magUp[faceI]) + (Pr[faceI] - Prt_)*sqr(magUc)); + alphaEff = A/(B + C + VSMALL); + } + + // Update convective heat transfer turbulent thermal diffusivity + alphatConv[faceI] = max(0.0, alphaEff - alphaw[faceI]); + } + + dmdt_ = fixedDmdt_; + + operator==(alphatConv); + + fixedValueFvPatchScalarField::updateCoeffs(); +} + + +void alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField::write +( + Ostream& os +) const +{ + fvPatchField::write(os); + os.writeKeyword("Prt") << Prt_ << token::END_STATEMENT << nl; + os.writeKeyword("Cmu") << Cmu_ << token::END_STATEMENT << nl; + os.writeKeyword("kappa") << kappa_ << token::END_STATEMENT << nl; + os.writeKeyword("E") << E_ << token::END_STATEMENT << nl; + os.writeKeyword("fixedDmdt") << fixedDmdt_ << token::END_STATEMENT << nl; + dmdt_.writeEntry("dmdt", os); + writeEntry("value", os); +} + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +makePatchTypeField +( + fvPatchScalarField, + alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField +); + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace compressible +} // End namespace Foam + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H new file mode 100644 index 0000000000..bd9426fdb6 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.H @@ -0,0 +1,210 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::compressible::alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + +Group + grpCmpWallFunctions + +Description + A simple alphatPhaseChangeWallFunctionFvPatchScalarField with a fixed + volumetric phase-change mass flux. + +SeeAlso + Foam::compressible::alphatPhaseChangeWallFunctionFvPatchScalarField + +SourceFiles + alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C + +\*---------------------------------------------------------------------------*/ + +#ifndef compressibleAlphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField_H +#define compressibleAlphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField_H + +#include "alphatPhaseChangeWallFunctionFvPatchScalarField.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace compressible +{ + +/*---------------------------------------------------------------------------*\ + Class alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField Declaration +\*---------------------------------------------------------------------------*/ + +class alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField +: + public alphatPhaseChangeWallFunctionFvPatchScalarField +{ + // Private data + + //- Turbulent Prandtl number + scalar Prt_; + + //- Cmu coefficient + scalar Cmu_; + + //- Von Karman constant + scalar kappa_; + + //- E coefficient + scalar E_; + + //- E coefficient + scalar fixedDmdt_; + + + // Solution parameters + + static scalar maxExp_; + static scalar tolerance_; + static label maxIters_; + + + // Private Member Functions + + //- Check the type of the patch + void checkType(); + + //- 'P' function + tmp Psmooth(const scalarField& Prat) const; + + //- Calculate y+ at the edge of the thermal laminar sublayer + tmp yPlusTherm + ( + const scalarField& P, + const scalarField& Prat + ) const; + + +public: + + //- Runtime type information + TypeName("compressible::alphatFixedDmdtWallBoilingWallFunction"); + + + // Constructors + + //- Construct from patch and internal field + alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + ( + const fvPatch&, + const DimensionedField& + ); + + //- Construct from patch, internal field and dictionary + alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + ( + const fvPatch&, + const DimensionedField&, + const dictionary& + ); + + //- Construct by mapping given + // alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + // onto a new patch + alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + ( + const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField&, + const fvPatch&, + const DimensionedField&, + const fvPatchFieldMapper& + ); + + //- Construct as copy + alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + ( + const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField& + ); + + //- Construct and return a clone + virtual tmp clone() const + { + return tmp + ( + new alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + ( + *this + ) + ); + } + + //- Construct as copy setting internal field reference + alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + ( + const alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField&, + const DimensionedField& + ); + + //- Construct and return a clone setting internal field reference + virtual tmp clone + ( + const DimensionedField& iF + ) const + { + return tmp + ( + new alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField + ( + *this, + iF + ) + ); + } + + + // Member functions + + //- Return the rate of phase-change + virtual const scalarField& dmdt() const + { + return dmdt_; + } + + + // Evaluation functions + + //- Update the coefficients associated with the patch field + virtual void updateCoeffs(); + + + // I-O + + //- Write + virtual void write(Ostream&) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace compressible +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/HrenyaSinclair/HrenyaSinclairConductivity.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C similarity index 98% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C index 2180c0bd2e..ab5fb531ea 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C @@ -115,6 +115,7 @@ Foam::tmp Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H similarity index 98% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H index cc5a9dc5ea..1fe92e7d0e 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H @@ -108,6 +108,7 @@ public: virtual tmp nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C index 55e7b9f2cd..4a0d2290d1 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C @@ -104,6 +104,7 @@ Foam::tmp Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D @@ -133,9 +134,9 @@ Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu volScalarField& nuf = tnu(); - forAll (D, celli) + forAll(D, celli) { - if (alpha1[celli] > alphaMax.value() - 5e-2) + if (alpha1[celli] > alphaMinFriction.value()) { nuf[celli] = 0.5*pf[celli]*sin(phi_.value()) diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H similarity index 98% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H index 7ff4862348..d4a304eb40 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H @@ -96,6 +96,7 @@ public: virtual tmp nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H similarity index 98% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H index 0e08f7ec8c..923a1fce3f 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H @@ -122,6 +122,7 @@ public: virtual tmp nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 11d09d1118..bbf37904ca 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -41,7 +41,13 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel const word& type ) : - eddyViscosity > > + eddyViscosity + < + RASModel + > > > + > ( type, alpha, @@ -183,7 +189,10 @@ bool Foam::RASModels::kineticTheoryModel::read() ( eddyViscosity < - RASModel > + RASModel + > > > >::read() ) { @@ -519,6 +528,7 @@ void Foam::RASModels::kineticTheoryModel::correct() nut_ += frictionalStressModel_->nu ( alpha, + alphaMinFriction_, alphaMax_, pf/rho, D diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H index bfa1f872cb..9aadb83d12 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H @@ -48,6 +48,8 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" #include "PhaseCompressibleTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" #include "phaseModel.H" #include "dragModel.H" #include "viscosityModel.H" @@ -72,7 +74,10 @@ class kineticTheoryModel : public eddyViscosity < - RASModel > + RASModel + > > > > { // Private data diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C similarity index 97% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C index 65d857d9c8..eb0a070044 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C @@ -29,6 +29,9 @@ License #include "addToRunTimeSelectionTable.H" #include "makeTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" + #include "laminar.H" #include "RASModel.H" #include "LESModel.H" @@ -39,6 +42,7 @@ makeBaseTurbulenceModel volScalarField, compressibleTurbulenceModel, PhaseCompressibleTurbulenceModel, + ThermalDiffusivity, phaseModel ); diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C similarity index 94% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C index 8cca6f493f..adb23d40d2 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C @@ -40,7 +40,13 @@ Foam::RASModels::phasePressureModel::phasePressureModel const word& type ) : - eddyViscosity > > + eddyViscosity + < + RASModel + > > > + > ( type, alpha, @@ -87,7 +93,10 @@ bool Foam::RASModels::phasePressureModel::read() ( eddyViscosity < - RASModel > + RASModel + > > > >::read() ) { diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H similarity index 96% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H index a2b17dc1c7..68734e5b4f 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H @@ -54,6 +54,8 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" #include "PhaseCompressibleTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" #include "phaseModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -71,7 +73,10 @@ class phasePressureModel : public eddyViscosity < - RASModel > + RASModel + > > > > { // Private data diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/files new file mode 100644 index 0000000000..ce89d9907b --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/files @@ -0,0 +1,11 @@ +diameterModels/IATE/IATE.C +diameterModels/IATE/IATEsources/IATEsource/IATEsource.C +diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C +diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C +diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C + +twoPhaseSystem.C +newTwoPhaseSystem.C +twoPhaseSystems.C + +LIB = $(FOAM_LIBBIN)/libreactingTwoPhaseSystem diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options new file mode 100644 index 0000000000..7321f6ef68 --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/Make/options @@ -0,0 +1,20 @@ +EXE_INC = \ + -I../../interfacialModels/lnInclude \ + -I../../interfacialCompositionModels/lnInclude \ + -I../../phaseSystems/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ + -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ + -I$(LIB_SRC)/transportModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ + -I$(LIB_SRC)/combustionModels/lnInclude \ + -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/sampling/lnInclude + +LIB_LIBS = \ + -lcombustionModels \ + -lreactingPhaseSystem diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATE.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATE.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATE.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C similarity index 99% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C index 59bf824f56..9c62dfc819 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.C @@ -24,7 +24,6 @@ License \*---------------------------------------------------------------------------*/ #include "IATEsource.H" -#include "twoPhaseSystem.H" #include "fvMatrix.H" #include "PhaseCompressibleTurbulenceModel.H" #include "uniformDimensionedFields.H" diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/dummy/dummy.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/dummy/dummy.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/newTwoPhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/newTwoPhaseSystem.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/newTwoPhaseSystem.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/newTwoPhaseSystem.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C similarity index 94% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C index caee01b251..7b7ddee6f4 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.C @@ -57,10 +57,13 @@ Foam::twoPhaseSystem::twoPhaseSystem ) : phaseSystem(mesh), - phase1_(phaseModels_[phaseNames_[0]]()), - phase2_(phaseModels_[phaseNames_[1]]()) + phase1_(phaseModels_[0]), + phase2_(phaseModels_[1]) { phase2_.volScalarField::operator=(scalar(1) - phase1_); + + volScalarField& alpha1 = phase1_; + mesh.setFluxRequired(alpha1.name()); } @@ -82,6 +85,12 @@ Foam::twoPhaseSystem::sigma() const } +const Foam::dragModel& Foam::twoPhaseSystem::drag(const phaseModel& phase) const +{ + return lookupSubModel(phase, otherPhase(phase)); +} + + Foam::tmp Foam::twoPhaseSystem::Kd() const { @@ -102,6 +111,13 @@ Foam::twoPhaseSystem::Kdf() const } +const Foam::virtualMassModel& +Foam::twoPhaseSystem::virtualMass(const phaseModel& phase) const +{ + return lookupSubModel(phase, otherPhase(phase)); +} + + Foam::tmp Foam::twoPhaseSystem::Vm() const { @@ -152,6 +168,12 @@ Foam::twoPhaseSystem::D() const } +bool Foam::twoPhaseSystem::transfersMass() const +{ + return transfersMass(phase1()); +} + + Foam::tmp Foam::twoPhaseSystem::dmdt() const { @@ -187,30 +209,30 @@ void Foam::twoPhaseSystem::solve() // Construct the dilatation rate source term tmp tdgdt; - if (phase1_.compressible() && phase2_.compressible()) + if (phase1_.divU().valid() && phase2_.divU().valid()) { tdgdt = ( alpha2.dimensionedInternalField() - *phase1_.divU().dimensionedInternalField() + *phase1_.divU()().dimensionedInternalField() - alpha1.dimensionedInternalField() - *phase2_.divU().dimensionedInternalField() + *phase2_.divU()().dimensionedInternalField() ); } - else if (phase1_.compressible()) + else if (phase1_.divU().valid()) { tdgdt = ( alpha2.dimensionedInternalField() - *phase1_.divU().dimensionedInternalField() + *phase1_.divU()().dimensionedInternalField() ); } - else if (phase2_.compressible()) + else if (phase2_.divU().valid()) { tdgdt = ( - alpha1.dimensionedInternalField() - *phase2_.divU().dimensionedInternalField() + *phase2_.divU()().dimensionedInternalField() ); } @@ -406,17 +428,4 @@ void Foam::twoPhaseSystem::solve() } -const Foam::dragModel& Foam::twoPhaseSystem::drag(const phaseModel& phase) const -{ - return lookupSubModel(phase, otherPhase(phase)); -} - - -const Foam::virtualMassModel& -Foam::twoPhaseSystem::virtualMass(const phaseModel& phase) const -{ - return lookupSubModel(phase, otherPhase(phase)); -} - - // ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H similarity index 60% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H index 0ac971b790..3c4c98f589 100644 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystem.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystem.H @@ -53,6 +53,38 @@ class twoPhaseSystem : public phaseSystem { + // Private member functions + + //- Return the drag coefficient for phase pair + virtual tmp Kd(const phasePairKey& key) const = 0; + + //- Return the face drag coefficient for phase pair + virtual tmp Kdf(const phasePairKey& key) const = 0; + + //- Return the virtual mass coefficient for phase pair + virtual tmp Vm(const phasePairKey& key) const = 0; + + //- Return the face virtual mass coefficient for phase pair + virtual tmp Vmf(const phasePairKey& key) const = 0; + + //- Return the combined force (lift + wall-lubrication) for phase pair + virtual tmp F(const phasePairKey& key) const = 0; + + //- Return the combined face-force (lift + wall-lubrication) + // for phase pair + virtual tmp Ff(const phasePairKey& key) const = 0; + + //- Return the turbulent diffusivity for phase pair + // Multiplies the phase-fraction gradient + virtual tmp D(const phasePairKey& key) const = 0; + + //- Return true if there is mass transfer for phase + virtual bool transfersMass(const phaseModel& phase) const = 0; + + //- Return the interfacial mass flow rate for phase pair + virtual tmp dmdt(const phasePairKey& key) const = 0; + + protected: // Protected data @@ -103,28 +135,50 @@ public: // Member Functions - //- Solve for the phase fractions - virtual void solve(); + //- Constant access phase model 1 + const phaseModel& phase1() const; + + //- Access phase model 1 + phaseModel& phase1(); + + //- Constant access phase model 2 + const phaseModel& phase2() const; + + //- Access phase model 2 + phaseModel& phase2(); + + //- Constant access the phase not given as an argument + const phaseModel& otherPhase + ( + const phaseModel& phase + ) const; + + //- Return the momentum transfer matrices + virtual autoPtr momentumTransfer() const = 0; + + //- Return the heat transfer matrices + virtual autoPtr heatTransfer() const = 0; + + //- Return the mass transfer matrices + virtual autoPtr massTransfer() const = 0; using phaseSystem::sigma; - using phaseSystem::Kd; - using phaseSystem::Kdf; - using phaseSystem::Vm; - using phaseSystem::Vmf; - using phaseSystem::F; - using phaseSystem::Ff; - using phaseSystem::D; - using phaseSystem::dmdt; //- Return the surface tension coefficient tmp sigma() const; + //- Return the drag model for the given phase + const dragModel& drag(const phaseModel& phase) const; + //- Return the drag coefficient tmp Kd() const; //- Return the face drag coefficient tmp Kdf() const; + //- Return the virtual mass model for the given phase + const virtualMassModel& virtualMass(const phaseModel& phase) const; + //- Return the virtual mass coefficient tmp Vm() const; @@ -141,35 +195,14 @@ public: // Multiplies the phase-fraction gradient tmp D() const; + //- Return true if there is mass transfer + bool transfersMass() const; + //- Return the interfacial mass flow rate tmp dmdt() const; - - // Access - - //- Constant access phase model 1 - const phaseModel& phase1() const; - - //- Access phase model 1 - phaseModel& phase1(); - - //- Constant access phase model 2 - const phaseModel& phase2() const; - - //- Access phase model 2 - phaseModel& phase2(); - - //- Constant access the phase not given as an argument - const phaseModel& otherPhase - ( - const phaseModel& phase - ) const; - - //- Return the drag model for the given phase - const dragModel& drag(const phaseModel& phase) const; - - //- Return the virtual mass model for the given phase - const virtualMassModel& virtualMass(const phaseModel& phase) const; + //- Solve for the phase fractions + virtual void solve(); }; diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystemI.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystemI.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystemI.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystemI.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystems.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystems.C similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/twoPhaseSystem/twoPhaseSystems.C rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/twoPhaseSystems.C diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/write.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/write.H similarity index 100% rename from applications/solvers/multiphase/reactingTwoPhaseEulerFoam/write.H rename to applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/write.H diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pU/UEqns.H b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pU/UEqns.H deleted file mode 100644 index 31bd20ff7a..0000000000 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/pU/UEqns.H +++ /dev/null @@ -1,66 +0,0 @@ -Info<< "Constructing momentum equations" << endl; - -MRF.correctBoundaryVelocity(U1); -MRF.correctBoundaryVelocity(U2); - -fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime); -fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime); - -volScalarField Kd(fluid.Kd()); - -{ - volScalarField Vm(fluid.Vm()); - - const volScalarField dmdt12(posPart(fluid.dmdt())); - const volScalarField dmdt21(negPart(fluid.dmdt())); - - { - U1Eqn = - ( - fvm::ddt(alpha1, rho1, U1) + fvm::div(alphaRhoPhi1, U1) - - fvm::Sp(phase1.continuityError() + dmdt21, U1) + dmdt21*U2 - + MRF.DDt(alpha1*rho1, U1) - + phase1.turbulence().divDevRhoReff(U1) - == - - Vm - *( - fvm::ddt(U1) - + fvm::div(phi1, U1) - - fvm::Sp(fvc::div(phi1), U1) - - phase2.DUDt() - ) - - MRF.DDt(Vm, U1 - U2) - + fvOptions(alpha1, rho1, U1) - ); - U1Eqn.relax(); - U1Eqn += fvm::Sp(Kd, U1); - fvOptions.constrain(U1Eqn); - U1.correctBoundaryConditions(); - fvOptions.correct(U1); - } - - { - U2Eqn = - ( - fvm::ddt(alpha2, rho2, U2) + fvm::div(alphaRhoPhi2, U2) - - fvm::Sp(phase2.continuityError() - dmdt12, U2) - dmdt12*U1 - + MRF.DDt(alpha2*rho2, U2) - + phase2.turbulence().divDevRhoReff(U2) - == - - Vm - *( - fvm::ddt(U2) - + fvm::div(phi2, U2) - - fvm::Sp(fvc::div(phi2), U2) - - phase1.DUDt() - ) - - MRF.DDt(Vm, U2 - U1) - + fvOptions(alpha2, rho2, U2) - ); - U2Eqn.relax(); - U2Eqn += fvm::Sp(Kd, U2); - fvOptions.constrain(U2Eqn); - U2.correctBoundaryConditions(); - fvOptions.correct(U2); - } -} diff --git a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C b/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C deleted file mode 100644 index bbce1962a1..0000000000 --- a/applications/solvers/multiphase/reactingTwoPhaseEulerFoam/phaseSystems/PhaseSystems/ThermalPhaseChangePhaseSystem/ThermalPhaseChangePhaseSystem.C +++ /dev/null @@ -1,199 +0,0 @@ -/*---------------------------------------------------------------------------*\ - ========= | - \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation - \\/ M anipulation | -------------------------------------------------------------------------------- -License - This file is part of OpenFOAM. - - OpenFOAM is free software: you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - OpenFOAM is distributed in the hope that it will be useful, but WITHOUT - ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - for more details. - - You should have received a copy of the GNU General Public License - along with OpenFOAM. If not, see . - -\*---------------------------------------------------------------------------*/ - -#include "ThermalPhaseChangePhaseSystem.H" - -// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // - -template -Foam::ThermalPhaseChangePhaseSystem:: -ThermalPhaseChangePhaseSystem -( - const fvMesh& mesh -) -: - HeatAndMassTransferPhaseSystem(mesh), - volatile_(this->lookup("volatile")), - saturationModel_(saturationModel::New(this->subDict("saturationModel"))) -{} - - -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -template -Foam::ThermalPhaseChangePhaseSystem:: -~ThermalPhaseChangePhaseSystem() -{} - - -// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // - -template -Foam::autoPtr -Foam::ThermalPhaseChangePhaseSystem::massTransfer() const -{ - // Create a mass transfer matrix for each species of each phase - autoPtr eqnsPtr - ( - new phaseSystem::massTransferTable() - ); - - phaseSystem::massTransferTable& eqns = eqnsPtr(); - - forAllConstIter - ( - phaseSystem::phaseModelTable, - this->phaseModels_, - phaseModelIter - ) - { - const phaseModel& phase(phaseModelIter()); - - const PtrList& Yi = phase.Y(); - - forAll(Yi, i) - { - eqns.insert - ( - Yi[i].name(), - new fvScalarMatrix(Yi[i], dimMass/dimTime) - ); - } - } - - forAllConstIter - ( - phaseSystem::phasePairTable, - this->phasePairs_, - phasePairIter - ) - { - const phasePair& pair(phasePairIter()); - - if (pair.ordered()) - { - continue; - } - const phaseModel& phase = pair.phase1(); - const phaseModel& otherPhase = pair.phase2(); - - const word name - ( - IOobject::groupName(volatile_, phase.name()) - ); - - const word otherName - ( - IOobject::groupName(volatile_, otherPhase.name()) - ); - - const volScalarField dmdt(this->dmdt(pair)); - const volScalarField dmdt12(posPart(dmdt)); - const volScalarField dmdt21(negPart(dmdt)); - - *eqns[name] += fvm::Sp(dmdt21, eqns[name]->psi()) - dmdt21; - *eqns[otherName] += dmdt12 - fvm::Sp(dmdt12, eqns[otherName]->psi()); - } - - return eqnsPtr; -} - - -template -void Foam::ThermalPhaseChangePhaseSystem::correctThermo() -{ - BasePhaseSystem::correctThermo(); - - forAllConstIter - ( - phaseSystem::phasePairTable, - this->phasePairs_, - phasePairIter - ) - { - const phasePair& pair(phasePairIter()); - - if (pair.ordered()) - { - continue; - } - - const phaseModel& phase1 = pair.phase1(); - const phaseModel& phase2 = pair.phase2(); - - volScalarField& Tf = *this->Tf_[pair]; - Tf = saturationModel_->Tsat(phase1.thermo().p()); - - Info<< "Tf." << pair.name() - << ": min = " << min(Tf.internalField()) - << ", mean = " << average(Tf.internalField()) - << ", max = " << max(Tf.internalField()) - << endl; - - volScalarField& dmdt(*this->dmdt_[pair]); - - volScalarField H1(this->heatTransferModels_[pair][pair.first()]->K()); - volScalarField H2(this->heatTransferModels_[pair][pair.second()]->K()); - - const volScalarField& T1(phase1.thermo().T()); - const volScalarField& T2(phase2.thermo().T()); - - const volScalarField& he1(phase1.thermo().he()); - const volScalarField& he2(phase2.thermo().he()); - - volScalarField hef2(phase2.thermo().he(phase2.thermo().p(), Tf)); - volScalarField hef1(phase1.thermo().he(phase1.thermo().p(), Tf)); - - dmdt = - (H2*(Tf - T1) + H1*(Tf - T2)) - /min - ( - (pos(dmdt)*he2 + neg(dmdt)*hef2) - - (neg(dmdt)*he1 + pos(dmdt)*hef1), - 0.3*(hef1 - hef2) - ); - } -} - - -template -bool Foam::ThermalPhaseChangePhaseSystem::read() -{ - if (BasePhaseSystem::read()) - { - bool readOK = true; - - // Models ... - - return readOK; - } - else - { - return false; - } -} - - -// ************************************************************************* // diff --git a/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqn.H b/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqn.H index bd10646871..5344fb75f2 100644 --- a/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqn.H +++ b/applications/solvers/multiphase/twoLiquidMixingFoam/alphaEqn.H @@ -1,7 +1,7 @@ { word alphaScheme("div(phi,alpha)"); - surfaceScalarField phiAlpha + surfaceScalarField alphaPhi ( phi.name() + alpha1.name(), fvc::flux @@ -12,9 +12,9 @@ ) ); - MULES::explicitSolve(alpha1, phi, phiAlpha, 1, 0); + MULES::explicitSolve(alpha1, phi, alphaPhi, 1, 0); - rhoPhi = phiAlpha*(rho1 - rho2) + phi*rho2; + rhoPhi = alphaPhi*(rho1 - rho2) + phi*rho2; Info<< "Phase-1 volume fraction = " << alpha1.weightedAverage(mesh.Vsc()).value() diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options index efb6d206ea..1035e5526e 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/Make/options @@ -4,8 +4,9 @@ EXE_INC = \ -I$(LIB_SRC)/transportModels/compressible/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/basic/lnInclude \ -I$(LIB_SRC)/transportModels/incompressible/transportModel \ - -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/compressible/lnInclude \ + -I$(LIB_SRC)/TurbulenceModels/turbulenceModels/lnInclude \ -I$(LIB_SRC)/TurbulenceModels/phaseCompressible/lnInclude \ -I$(LIB_SRC)/finiteVolume/lnInclude \ + -I$(LIB_SRC)/fvOptions/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C index 63e84966bb..6ef7f1ec83 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H index 714282dbb8..f8987ce13d 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Gidaspow/GidaspowConductivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C index 3732c57ecd..2bd6c25f79 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H index bb47cf6694..dbc6b8f60a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/Syamlal/SyamlalConductivity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C index 3db83f67b6..4cd6368943 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H index 19f13ca9a6..6e44f6457a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/conductivityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C index 4f86a8d206..a878a09773 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/conductivityModel/conductivityModel/newConductivityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C index 78b6ab7e70..ea28dd01b5 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H index b125ba0211..1aaa801f0f 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleSlip/JohnsonJacksonParticleSlipFvPatchVectorField.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C index 1bea519982..93d97c650c 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H index 586a3b4e51..5391e8c27d 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/derivedFvPatchFields/JohnsonJacksonParticleTheta/JohnsonJacksonParticleThetaFvPatchScalarField.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C index 2180c0bd2e..ab5fb531ea 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.C @@ -115,6 +115,7 @@ Foam::tmp Foam::kineticTheoryModels::frictionalStressModels::JohnsonJackson::nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H index cc5a9dc5ea..1fe92e7d0e 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/JohnsonJackson/JohnsonJacksonFrictionalStress.H @@ -108,6 +108,7 @@ public: virtual tmp nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C index 55e7b9f2cd..4a0d2290d1 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.C @@ -104,6 +104,7 @@ Foam::tmp Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D @@ -133,9 +134,9 @@ Foam::kineticTheoryModels::frictionalStressModels::Schaeffer::nu volScalarField& nuf = tnu(); - forAll (D, celli) + forAll(D, celli) { - if (alpha1[celli] > alphaMax.value() - 5e-2) + if (alpha1[celli] > alphaMinFriction.value()) { nuf[celli] = 0.5*pf[celli]*sin(phi_.value()) diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H index 3f56759e2a..d4a304eb40 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/Schaeffer/SchaefferFrictionalStress.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -96,6 +96,7 @@ public: virtual tmp nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C index f1e899e854..3a764313a7 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H index 28dc1ab1f0..923a1fce3f 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/frictionalStressModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -122,6 +122,7 @@ public: virtual tmp nu ( const volScalarField& alpha1, + const dimensionedScalar& alphaMinFriction, const dimensionedScalar& alphaMax, const volScalarField& pf, const volSymmTensorField& D diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C index 96e15ed4a6..db6102174a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/frictionalStressModel/frictionalStressModel/newFrictionalStressModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C index 248d8b1fec..3a94ea5734 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H index 8585d00174..d82ba47d5b 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/Lun/LunPressure.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C index 892a690a6a..8e45c45e21 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H index 8b4223f1ce..3f420538f1 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/SyamlalRogersOBrien/SyamlalRogersOBrienPressure.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C index 6f3c915fb4..3a2214e9e6 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H index b22ae26771..06160f6c0a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/granularPressureModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C index deaf6fc676..36b2c2b175 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/granularPressureModel/granularPressureModel/newGranularPressureModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C index 30254f3891..bbf37904ca 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.C @@ -41,7 +41,13 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel const word& type ) : - eddyViscosity > > + eddyViscosity + < + RASModel + > > > + > ( type, alpha, @@ -183,7 +189,10 @@ bool Foam::RASModels::kineticTheoryModel::read() ( eddyViscosity < - RASModel > + RASModel + > > > >::read() ) { @@ -339,7 +348,8 @@ void Foam::RASModels::kineticTheoryModel::correct() const volScalarField& rho = phase_.rho(); const surfaceScalarField& alphaRhoPhi = alphaRhoPhi_; const volVectorField& U = U_; - const volVectorField& Uc_ = phase_.fluid().otherPhase(phase_).U(); + const volVectorField& Uc_ = + refCast(phase_.fluid()).otherPhase(phase_).U(); const scalar sqrtPi = sqrt(constant::mathematical::pi); dimensionedScalar ThetaSmall("ThetaSmall", Theta_.dimensions(), 1.0e-6); @@ -381,7 +391,10 @@ void Foam::RASModels::kineticTheoryModel::correct() ); // Drag - volScalarField beta(phase_.fluid().drag(phase_).K()); + volScalarField beta + ( + refCast(phase_.fluid()).drag(phase_).K() + ); // Eq. 3.25, p. 50 Js = J1 - J2 volScalarField J1("J1", 3.0*beta); @@ -515,6 +528,7 @@ void Foam::RASModels::kineticTheoryModel::correct() nut_ += frictionalStressModel_->nu ( alpha, + alphaMinFriction_, alphaMax_, pf/rho, D diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H index b631143d40..9aadb83d12 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/kineticTheoryModel/kineticTheoryModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -48,6 +48,8 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" #include "PhaseCompressibleTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" #include "phaseModel.H" #include "dragModel.H" #include "viscosityModel.H" @@ -72,7 +74,10 @@ class kineticTheoryModel : public eddyViscosity < - RASModel > + RASModel + > > > > { // Private data diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C index 8ea724a20b..abc364979c 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H index 528a3b366e..a4082d5326 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/CarnahanStarling/CarnahanStarlingRadial.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C index a362a48841..df931c8752 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H index a20682422c..17cd8e5907 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/LunSavage/LunSavageRadial.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C index 3697107917..bc74ce177a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H index 9e5abcbb8f..37545343a9 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/SinclairJackson/SinclairJacksonRadial.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C index 18b8eed813..65f6c9ebb8 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/newRadialModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C index e8763a01b1..821e9e6ec7 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H index 1d225e3bb7..de73a22747 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/radialModel/radialModel/radialModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C index ebe4e6ddd8..98cf0c90ef 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H index 96a65bb799..e309ed988a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Gidaspow/GidaspowViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H index a47163e063..0a280ba369 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/HrenyaSinclair/HrenyaSinclairViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C index 1eab21fc10..215d360816 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H index 979e039149..844bf21b0d 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/Syamlal/SyamlalViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C index 843386cac7..4b3c97d69a 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H index 565dd45fc8..f5d74f0e96 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/none/noneViscosity.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C index c0222ff4df..e79cbde0c1 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/newViscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C index d7aa5efb91..dae23e2b31 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H index 045c7f4986..e0bc93cc79 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/kineticTheoryModels/viscosityModel/viscosityModel/viscosityModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C index d7e35e96cb..eb0a070044 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phaseCompressibleTurbulenceModels.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2014-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -29,6 +29,9 @@ License #include "addToRunTimeSelectionTable.H" #include "makeTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" + #include "laminar.H" #include "RASModel.H" #include "LESModel.H" @@ -39,6 +42,7 @@ makeBaseTurbulenceModel volScalarField, compressibleTurbulenceModel, PhaseCompressibleTurbulenceModel, + ThermalDiffusivity, phaseModel ); diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C index 8cca6f493f..adb23d40d2 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.C @@ -40,7 +40,13 @@ Foam::RASModels::phasePressureModel::phasePressureModel const word& type ) : - eddyViscosity > > + eddyViscosity + < + RASModel + > > > + > ( type, alpha, @@ -87,7 +93,10 @@ bool Foam::RASModels::phasePressureModel::read() ( eddyViscosity < - RASModel > + RASModel + > > > >::read() ) { diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H index f44f77a460..68734e5b4f 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/phaseCompressibleTurbulenceModels/phasePressureModel/phasePressureModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -54,6 +54,8 @@ SourceFiles #include "RASModel.H" #include "eddyViscosity.H" #include "PhaseCompressibleTurbulenceModel.H" +#include "ThermalDiffusivity.H" +#include "EddyDiffusivity.H" #include "phaseModel.H" // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // @@ -71,7 +73,10 @@ class phasePressureModel : public eddyViscosity < - RASModel > + RASModel + > > > > { // Private data diff --git a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H index 3550c3da98..3f91a8bd25 100644 --- a/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H +++ b/applications/solvers/multiphase/twoPhaseEulerFoam/twoPhaseSystem/phaseModel/phaseModel.H @@ -196,12 +196,68 @@ public: return thermo_->mu(patchi); } + //- Return the thermal conductivity on a patch + tmp kappa(const label patchi) const + { + return thermo_->kappa(patchi); + } + //- Return the thermal conductivity tmp kappa() const { return thermo_->kappa(); } + //- Return the laminar thermal conductivity + tmp kappaEff + ( + const volScalarField& alphat + ) const + { + return thermo_->kappaEff(alphat); + } + + //- Return the laminar thermal conductivity on a patch + tmp kappaEff + ( + const scalarField& alphat, + const label patchi + ) const + { + return thermo_->kappaEff(alphat, patchi); + } + + //- Return the laminar thermal diffusivity for enthalpy + tmp alpha() const + { + return thermo_->alpha(); + } + + //- Return the laminar thermal diffusivity for enthalpy on a patch + tmp alpha(const label patchi) const + { + return thermo_->alpha(patchi); + } + + //- Return the effective thermal diffusivity for enthalpy + tmp alphaEff + ( + const volScalarField& alphat + ) const + { + return thermo_->alphaEff(alphat); + } + + //- Return the effective thermal diffusivity for enthalpy on a patch + tmp alphaEff + ( + const scalarField& alphat, + const label patchi + ) const + { + return thermo_->alphaEff(alphat, patchi); + } + //- Return the specific heat capacity tmp Cp() const { diff --git a/applications/test/PtrListDictionary/Make/files b/applications/test/PtrListDictionary/Make/files new file mode 100644 index 0000000000..a3c4c87ba4 --- /dev/null +++ b/applications/test/PtrListDictionary/Make/files @@ -0,0 +1,3 @@ +Test-PtrListDictionary.C + +EXE = $(FOAM_USER_APPBIN)/Test-PtrListDictionary diff --git a/applications/test/PtrListDictionary/Make/options b/applications/test/PtrListDictionary/Make/options new file mode 100644 index 0000000000..e69de29bb2 diff --git a/applications/test/PtrListDictionary/Test-PtrListDictionary.C b/applications/test/PtrListDictionary/Test-PtrListDictionary.C new file mode 100644 index 0000000000..33aa3b2792 --- /dev/null +++ b/applications/test/PtrListDictionary/Test-PtrListDictionary.C @@ -0,0 +1,123 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Application + +Description + +\*---------------------------------------------------------------------------*/ + +#include "OSspecific.H" + +#include "scalar.H" + +#include "IOstreams.H" +#include "PtrListDictionary.H" + +using namespace Foam; + +class Scalar +{ + scalar data_; + +public: + + Scalar() + : + data_(0) + {} + + Scalar(scalar val) + : + data_(val) + {} + + ~Scalar() + { + Info<<"delete Scalar: " << data_ << endl; + } + + friend Ostream& operator<<(Ostream& os, const Scalar& val) + { + os << val.data_; + return os; + } +}; + + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +// Main program: + +int main(int argc, char *argv[]) +{ + PtrListDictionary scalarDict(10); + forAll(scalarDict, i) + { + word key("ent" + name(i)); + scalarDict.set(i, key, new Scalar(1.3*i)); + } + + Info<< nl << "scalarDict1: " << endl; + forAll(scalarDict, i) + { + Info<< "elem " << i << " = " << scalarDict[i] << endl; + } + + Scalar* ent8Ptr = scalarDict.lookupPtr("ent8"); + + Info<< "ent8 = " << *ent8Ptr << endl; + + PtrListDictionary scalarDict2(15); + forAll(scalarDict2, i) + { + word key("ent" + name(i)); + scalarDict2.set(i, key, new Scalar(1.3*i)); + } + Info<< nl << "scalarDict2: " << endl; + forAll(scalarDict2, i) + { + Info<< "elem " << i << " = " << scalarDict2[i] << endl; + } + + scalarDict.transfer(scalarDict2); + + Scalar* p = scalarDict.lookupPtr("ent8"); + + if (p) + { + Info<< "found: " << *p << endl; + } + else + { + Info<< "no p: " << endl; + } + + scalarDict.clear(); + + Info<< nl << "Done." << endl; + return 0; +} + + +// ************************************************************************* // diff --git a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L index bf1bee143f..830fecbb23 100644 --- a/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L +++ b/applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L @@ -137,7 +137,6 @@ int yyFlexLexer::yywrap() one_space [ \t\f] space {one_space}* some_space {one_space}+ -cspace ","{space} alpha [_[:alpha:]] digit [[:digit:]] @@ -150,6 +149,7 @@ rbrac ")" quote \" dash "-" dotColonDash [.:-] +commaPipe [,\|] schemeSpecialInitial [!$%&*/\\:<=>?~_^#.@'] schemeSpecialSubsequent [.+-] @@ -164,6 +164,7 @@ zeroLabel {digit}* signedInteger [-+]?{integer} word ({alpha}|{digit}|{dotColonDash})* wordBraces ({word}|{lbrac}|{rbrac})* +wordBracesExtras ({word}|{lbrac}|{rbrac}|{commaPipe})* exponent_part [eE][-+]?{digit}+ fractional_constant [-+]?(({digit}*"."{digit}+)|({digit}+".")|({digit})) @@ -186,6 +187,8 @@ schemeSymbolList ({schemeSymbolListElement}+{space}) starStar ("**") text ({space}({word}*{space})*) textBraces ({space}({wordBraces}*{space})*) +textExtras ({space}({word}*{commaPipe}{space})*) +textBracesExtras ({space}({wordBracesExtras}*{space})*) anythingInBlock ([^)]*) dateDDMMYYYY ({digit}{digit}"/"{digit}{digit}"/"{digit}{digit}{digit}{digit}) @@ -278,7 +281,7 @@ endOfSection {space}")"{space} BEGIN(readHeader); } -{quote}{textBraces}{quote} { +{quote}{textBracesExtras}{quote} { Info<< "Reading header: " << YYText() << endl; } @@ -727,6 +730,8 @@ endOfSection {space}")"{space} {space}{text} { } +{space}{textExtras} { + } /* ------ Count newlines. ------ */ diff --git a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C index 8677f08c65..987e26d2e3 100644 --- a/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C +++ b/applications/utilities/mesh/manipulation/checkMesh/checkGeometry.C @@ -136,7 +136,7 @@ bool Foam::checkWedges const point& pt = p[pp.meshPoints()[i]]; scalar d = mag((pt - p0) & pp.n()); - if (d > sqrt(SMALL)) + if (d > ROOTSMALL) { if (report) { diff --git a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C index c8cba9f2b2..8e64c28a38 100644 --- a/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C +++ b/applications/utilities/mesh/manipulation/stitchMesh/stitchMesh.C @@ -198,8 +198,10 @@ int main(int argc, char *argv[]) { argList::addNote ( - "merge the faces on the specified patches (if geometrically possible)\n" - "so the faces become internal" + "Merge the faces on the specified patches (if geometrically possible)\n" + "so the faces become internal.\n" + "Integral matching is used when the options -partial and -perfect are " + "omitted.\n" ); argList::noParallel(); @@ -212,12 +214,12 @@ int main(int argc, char *argv[]) argList::addBoolOption ( "partial", - "couple partially overlapping patches" + "couple partially overlapping patches (optional)" ); argList::addBoolOption ( "perfect", - "couple perfectly aligned patches" + "couple perfectly aligned patches (optional)" ); argList::addOption ( diff --git a/applications/utilities/mesh/manipulation/stitchMesh/toleranceDict b/applications/utilities/mesh/manipulation/stitchMesh/toleranceDict new file mode 100644 index 0000000000..a5e7a3297f --- /dev/null +++ b/applications/utilities/mesh/manipulation/stitchMesh/toleranceDict @@ -0,0 +1,45 @@ +/*--------------------------------*- 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 toleranceDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// For complete details on what this dictionary file should provide, see +// $FOAM_SRC/src/dynamicMesh/slidingInterface/slidingInterface.C +// method: Foam::slidingInterface::setTolerances + +//- Point merge tolerance +pointMergeTol 0.05; + +//- Edge merge tolerance +edgeMergeTol 0.01; + +//- Estimated number of faces an edge goes through +nFacesPerSlaveEdge 5; + +//- Edge-face interaction escape limit +edgeFaceEscapeLimit 10; + +//- Integral match point adjustment tolerance +integralAdjTol 0.05; + +//- Edge intersection master catch fraction +edgeMasterCatchFraction 0.4; + +//- Edge intersection co-planar tolerance +edgeCoPlanarTol 0.8; + +//- Edge end cut-off tolerance +edgeEndCutoffTol 0.0001; + +// ************************************************************************* // diff --git a/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C b/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C index 1977bb7476..41ca210179 100644 --- a/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C +++ b/applications/utilities/postProcessing/miscellaneous/ptot/ptot.C @@ -36,13 +36,14 @@ Description int main(int argc, char *argv[]) { timeSelector::addOptions(); + #include "addRegionOption.H" #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); - #include "createMesh.H" + #include "createNamedMesh.H" forAll(timeDirs, timeI) { diff --git a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C index 9460c33d48..ea8fc4975d 100644 --- a/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C +++ b/applications/utilities/postProcessing/miscellaneous/temporalInterpolate/temporalInterpolate.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -185,6 +185,7 @@ void fieldInterpolator::interpolate() int main(int argc, char *argv[]) { timeSelector::addOptions(); + #include "addRegionOption.H" argList::addOption ( "fields", @@ -259,7 +260,7 @@ int main(int argc, char *argv[]) ); - #include "createMesh.H" + #include "createNamedMesh.H" Info<< "Interpolating fields for times:" << endl; diff --git a/applications/utilities/postProcessing/noise/noise.C b/applications/utilities/postProcessing/noise/noise.C index 79a5521510..6b6628f080 100644 --- a/applications/utilities/postProcessing/noise/noise.C +++ b/applications/utilities/postProcessing/noise/noise.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -42,13 +42,16 @@ Description fU 10000; graphFormat raw; - csvFileData + pressureData { fileName "pressureData" - nHeaderLine 1; - refColumn 0; - componentColumns (1); - separator " "; + nHeaderLine 1; // number of header lines + refColumn 0; // reference column index + componentColumns (1); // component column indices + separator " "; // optional (defaults to ",") + mergeSeparators no; // merge multiple separators + outOfBounds clamp; // optional out-of-bounds handling + interpolationScheme linear; // optional interpolation scheme } \endverbatim diff --git a/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C b/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C index e217bfd6a5..7848679a25 100644 --- a/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C +++ b/applications/utilities/postProcessing/scalarField/pPrime2/pPrime2.C @@ -38,13 +38,14 @@ Description int main(int argc, char *argv[]) { timeSelector::addOptions(); + #include "addRegionOption.H" #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); - #include "createMesh.H" + #include "createNamedMesh.H" runTime.setTime(timeDirs.last(), timeDirs.size()-1); diff --git a/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C b/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C index 6491f2b1f9..7d58220a59 100644 --- a/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C +++ b/applications/utilities/postProcessing/wall/wallGradU/wallGradU.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -37,10 +37,14 @@ Description int main(int argc, char *argv[]) { timeSelector::addOptions(); + #include "addRegionOption.H" + #include "setRootCase.H" #include "createTime.H" + instantList timeDirs = timeSelector::select0(runTime, args); - #include "createMesh.H" + + #include "createNamedMesh.H" forAll(timeDirs, timeI) { diff --git a/etc/caseDicts/general/coordinateSystem/cartesianXY b/etc/caseDicts/general/coordinateSystem/cartesianXY new file mode 100644 index 0000000000..020366c10f --- /dev/null +++ b/etc/caseDicts/general/coordinateSystem/cartesianXY @@ -0,0 +1,26 @@ +/*--------------------------------*- 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 cartesianXY; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type cartesian; +origin (0 0 0); +coordinateRotation +{ + type axesRotation; + e1 $x; + e2 $y; +} + +//************************************************************************* // diff --git a/etc/caseDicts/general/coordinateSystem/cartesianXZ b/etc/caseDicts/general/coordinateSystem/cartesianXZ new file mode 100644 index 0000000000..e1be4c9dd4 --- /dev/null +++ b/etc/caseDicts/general/coordinateSystem/cartesianXZ @@ -0,0 +1,26 @@ +/*--------------------------------*- 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 cartesianXZ; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type cartesian; +origin (0 0 0); +coordinateRotation +{ + type axesRotation; + e1 $x; + e3 $z; +} + +//************************************************************************* // diff --git a/etc/caseDicts/general/coordinateSystem/cartesianYZ b/etc/caseDicts/general/coordinateSystem/cartesianYZ new file mode 100644 index 0000000000..e2def70c32 --- /dev/null +++ b/etc/caseDicts/general/coordinateSystem/cartesianYZ @@ -0,0 +1,26 @@ +/*--------------------------------*- 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 cartesianYZ; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type cartesian; +origin (0 0 0); +coordinateRotation +{ + type axesRotation; + e2 $y; + e3 $z +} + +//************************************************************************* // diff --git a/etc/caseDicts/general/coordinateSystem/cylindrical b/etc/caseDicts/general/coordinateSystem/cylindrical new file mode 100644 index 0000000000..ff5b3559d3 --- /dev/null +++ b/etc/caseDicts/general/coordinateSystem/cylindrical @@ -0,0 +1,24 @@ +/*--------------------------------*- 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 cylindrical; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type cartesian; +coordinateRotation +{ + type localAxesRotation; + e3 $axis; +} + +//************************************************************************* // diff --git a/etc/caseDicts/general/fvOptions/porosity/porousZone b/etc/caseDicts/general/fvOptions/porosity/porousZone new file mode 100644 index 0000000000..f7ab42ffed --- /dev/null +++ b/etc/caseDicts/general/fvOptions/porosity/porousZone @@ -0,0 +1,60 @@ +/*--------------------------------*- 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 porousZone; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +porousZone // Change to something more descriptive +{ + type explicitPorositySource; + active true; + selectionMode cellZone; + cellZone ; // Specify the name of the cellZone + + explicitPorositySourceCoeffs + { + type DarcyForchheimer; + + DarcyForchheimerCoeffs + { + // Negative coeffs are multiplied by largest positive coeff, + // taking the magnitude, e.g. for -1000, coeff = |1e7*-1000| = 1e10 + + d [0 -2 0 0 0 0 0] (1e7 -1000 -1000); + f [0 -1 0 0 0 0 0] (0 0 0); + + coordinateSystem // Cartesian coordinates for the cellZone + { + x (1 0 0); + y (0 1 0); + #includeEtc "caseDicts/general/coordinateSystem/cartesianXY" + } + } + + fixedCoeffCoeffs + { + alpha [0 0 -1 0 0 0 0] (100 -1000 -1000); + beta [0 -1 0 0 0 0 0] (0 0 0); + rhoRef 1.205; + + coordinateSystem // Cylindrical coordinates for the cellZone + { + origin (0 0 0); + axis (0 0 1); + #includeEtc "caseDicts/general/coordinateSystem/cylindrical" + } + } + } +} + +//************************************************************************** // diff --git a/etc/thermoData/thermoData b/etc/thermoData/thermoData index 057c9557fc..dddc4e85f7 100644 --- a/etc/thermoData/thermoData +++ b/etc/thermoData/thermoData @@ -152,7 +152,7 @@ Pb- lowCpCoeffs ( 2.5 0 0 0 0 17762.3 8.23513 ); } } -GeCL4 +GeCl4 { specie { @@ -536,7 +536,7 @@ F2O-__FOF- lowCpCoeffs ( 4.64786 0.0100535 -1.79176e-05 1.47983e-08 -4.6499e-12 -25825.4 3.76539 ); } } -CCL +CCl { specie { @@ -552,7 +552,7 @@ CCL lowCpCoeffs ( 3.76699 -0.00149298 9.61147e-06 -1.27138e-08 5.2737e-12 50911.8 5.66471 ); } } -ALCL+ +AlCl+ { specie { @@ -584,7 +584,7 @@ C20H36O2_EtLinolea lowCpCoeffs ( -1.31454 0.212235 -8.58818e-05 -3.39348e-08 2.87278e-11 -71080.7 58.9753 ); } } -CL2O__Cl-O-Cl +Cl2O__Cl-O-Cl { specie { @@ -616,7 +616,7 @@ C6H8O_3,4DiMeFuran lowCpCoeffs ( 2.41515 0.0320931 4.3306e-05 -8.36935e-08 3.70127e-11 -14574.6 14.9425 ); } } -NH4CLO4(II) +NH4ClO4(II) { specie { @@ -904,7 +904,7 @@ C60 lowCpCoeffs ( -33.5791 0.428444 -0.000317123 4.75463e-08 2.76777e-11 304651 148.329 ); } } -HCL +HCl { specie { @@ -1000,7 +1000,7 @@ HNO2_equil__ATcT lowCpCoeffs ( 3.21416 0.00812778 1.65999e-06 -9.52815e-09 4.87131e-12 -10783.1 9.822 ); } } -FeCL3(L) +FeCl3(L) { specie { @@ -1016,7 +1016,7 @@ FeCL3(L) lowCpCoeffs ( 16.1029 0 0 0 0 -48492 -67.1135 ); } } -C3H2BR2__1,3_Dib +C3H2Br2__1,3_Dib { specie { @@ -1048,7 +1048,7 @@ C4H8N8O8_HMX lowCpCoeffs ( 8.14013 0.0833154 2.72628e-05 -9.98161e-08 4.69226e-11 16398.6 -3.22779 ); } } -SnCL4 +SnCl4 { specie { @@ -1112,7 +1112,7 @@ PS lowCpCoeffs ( 3.4687 0.00449701 -8.42505e-06 7.47111e-09 -2.51772e-12 18049.7 7.36114 ); } } -BCL3 +BCl3 { specie { @@ -1416,7 +1416,7 @@ C2H4O2_HG(O)OCH3 lowCpCoeffs ( 5.96757 -0.00938085 7.07648e-05 -8.29932e-08 3.13523e-11 -44871 0.750341 ); } } -B3O3CL3 +B3O3Cl3 { specie { @@ -1432,7 +1432,7 @@ B3O3CL3 lowCpCoeffs ( 3.59422 0.0505755 -4.66182e-05 1.48922e-08 5.70497e-13 -199700 12.0898 ); } } -C3CL4_PerClAllene +C3Cl4_PerClAllene { specie { @@ -1448,7 +1448,7 @@ C3CL4_PerClAllene lowCpCoeffs ( 2.89989 0.0562603 -9.46435e-05 7.87159e-08 -2.55213e-11 13576.3 15.0009 ); } } -AL2O3(L) +Al2O3(L) { specie { @@ -1592,7 +1592,7 @@ C2Cl3F3_FC-113A lowCpCoeffs ( 2.5428 0.0608765 -8.62331e-05 6.07755e-08 -1.7269e-11 -94117.6 15.9691 ); } } -C12H9CL +C12H9Cl { specie { @@ -1672,7 +1672,7 @@ C8H7_C6H4CH=CH2 lowCpCoeffs ( 1.17831 0.0340766 5.85066e-05 -1.10953e-07 4.95223e-11 46141.5 23.6053 ); } } -MgCLF +MgClF { specie { @@ -1992,7 +1992,7 @@ C4H6__1,2-butadi lowCpCoeffs ( 2.90828 0.0179025 2.61487e-05 -4.81599e-08 2.11296e-11 17592.9 12.3118 ); } } -CuCL +CuCl { specie { @@ -2024,7 +2024,7 @@ SO- lowCpCoeffs ( 3.65351 0.00228026 -2.55566e-06 1.37405e-09 -2.7867e-13 -13915.6 5.50813 ); } } -PbCL2 +PbCl2 { specie { @@ -2168,7 +2168,7 @@ SB(CH3)2 lowCpCoeffs ( 4.74742 0.012719 1.70266e-05 -2.86489e-08 1.20242e-11 15230.4 7.86383 ); } } -BF2CL +BF2Cl { specie { @@ -2248,7 +2248,7 @@ C4H6O2_Crotonic_ac lowCpCoeffs ( 3.40323 0.0269846 2.63698e-05 -5.87467e-08 2.69692e-11 -46024.4 13.1928 ); } } -BOCL +BOCl { specie { @@ -2392,7 +2392,7 @@ C5H11,pentyl lowCpCoeffs ( 7.17405 0.00380923 0.00010438 -1.39635e-07 5.60398e-11 2528.72 -1.18869 ); } } -ALBr2 +AlBr2 { specie { @@ -2472,7 +2472,7 @@ HS2__RRHO lowCpCoeffs ( 2.96324 0.00855502 -1.00388e-05 6.25269e-09 -1.52826e-12 51449.8 11.58 ); } } -AL +Al { specie { @@ -2680,7 +2680,7 @@ PH2- lowCpCoeffs ( 3.95759 -0.000728834 5.13055e-06 -3.73172e-09 8.41295e-13 -2300.28 2.15723 ); } } -C12H5O3CL4_DOH2 +C12H5O3Cl4_DOH2 { specie { @@ -2728,7 +2728,7 @@ C22H44O2_Behenic lowCpCoeffs ( 25.149 -0.0104152 0.000584232 -7.54109e-07 2.97753e-10 -112513 -54.9776 ); } } -AL2 +Al2 { specie { @@ -3064,7 +3064,7 @@ HCNO+_Fulminic_cat lowCpCoeffs ( 1.1113 0.0257273 -3.99372e-05 3.18403e-08 -9.91911e-12 145418 15.4371 ); } } -CH3CL +CH3Cl { specie { @@ -3224,7 +3224,7 @@ C8H18(L)_isooctane lowCpCoeffs ( 17.5199 0.0157484 7.35947e-05 -6.10398e-10 4.70619e-13 -37742.3 -68.3211 ); } } -CBrCL2F___11B1 +CBrCl2F___11B1 { specie { @@ -3464,7 +3464,7 @@ Si+ lowCpCoeffs ( 4.23261 -0.00743109 1.31426e-05 -1.07436e-08 3.34175e-12 148410 -2.74005 ); } } -SiCL4 +SiCl4 { specie { @@ -3512,7 +3512,7 @@ SiO2(b-qz) lowCpCoeffs ( 29.6202 -0.0476273 2.62543e-05 0 0 -122857 -156.169 ); } } -FeCL2(S) +FeCl2(S) { specie { @@ -3624,7 +3624,7 @@ C4H4N2_PYRIMIDINE lowCpCoeffs ( 1.63714 0.0119774 6.83832e-05 -1.0465e-07 4.42186e-11 22212.5 18.6564 ); } } -C3BR3_Allene_Rad. +C3Br3_Allene_Rad. { specie { @@ -3672,7 +3672,7 @@ H2O+ lowCpCoeffs ( 4.02466 -0.00108851 5.13577e-06 -4.40028e-09 1.40727e-12 116896 0.699969 ); } } -Fe2CL6 +Fe2Cl6 { specie { @@ -3720,7 +3720,7 @@ BI2 lowCpCoeffs ( 3.3065 0.0158184 -2.88094e-05 2.45287e-08 -7.96353e-12 27157.1 14.9424 ); } } -C2HCLF_1,1-CLF +C2HClF_1,1-ClF { specie { @@ -3752,7 +3752,7 @@ Mg2F4 lowCpCoeffs ( 1.51049 0.0696575 -0.000139294 1.2747e-07 -4.37228e-11 -209218 16.3106 ); } } -C6H2CL3O_RAD +C6H2Cl3O_RAD { specie { @@ -3816,7 +3816,7 @@ BiF2 lowCpCoeffs ( 3.10494 0.0151822 -2.53454e-05 1.9977e-08 -6.06776e-12 -25510.8 13.5101 ); } } -ALH3(a)_hexagonal +AlH3(a)_hexagonal { specie { @@ -4040,7 +4040,7 @@ C8H12_3,6-Dimeth lowCpCoeffs ( 3.35348 0.0295908 8.59569e-05 -1.33332e-07 5.53072e-11 3491.85 11.6563 ); } } -CCL2F-CHF2 +CCl2F-CHF2 { specie { @@ -4248,7 +4248,7 @@ Ca+ lowCpCoeffs ( 2.5 0 0 0 0 92324.2 5.07768 ); } } -FeCL2 +FeCl2 { specie { @@ -4280,7 +4280,7 @@ C12H8_Acenaphtyl lowCpCoeffs ( -2.14922 0.0589101 6.42492e-05 -1.41294e-07 6.47477e-11 28938 33.6791 ); } } -PF3CL2 +PF3Cl2 { specie { @@ -4328,7 +4328,7 @@ O2_singlet lowCpCoeffs ( 3.78535 -0.00321929 1.12323e-05 -1.17254e-08 4.1766e-12 10292.3 3.2732 ); } } -ALF+ +AlF+ { specie { @@ -4728,7 +4728,7 @@ CO2- lowCpCoeffs ( 2.49677 0.00870769 -4.87281e-06 -4.90572e-10 9.38694e-13 -42687.4 9.97856 ); } } -PCL3 +PCl3 { specie { @@ -4984,7 +4984,7 @@ F2H-____FHF- lowCpCoeffs ( 3.32548 0.00415755 3.33684e-06 -7.76225e-09 3.38752e-12 -87832.1 7.32348 ); } } -C6H3CL3O_TriClPhen +C6H3Cl3O_TriClPhen { specie { @@ -5608,7 +5608,7 @@ C2H2FCl_1,1-FCl lowCpCoeffs ( 0.912416 0.0311142 -3.24491e-05 1.67416e-08 -3.16508e-12 -21292.1 20.903 ); } } -AL(L) +Al(L) { specie { @@ -5784,7 +5784,7 @@ C3F7_CF3CF*CF3_M lowCpCoeffs ( 3.14242 0.0603443 -6.17598e-05 2.7938e-08 -4.02551e-12 -165147 16.6898 ); } } -C12H4CL6O2_BIFENYL +C12H4Cl6O2_BIFENYL { specie { @@ -5832,7 +5832,7 @@ CH2OH+ lowCpCoeffs ( 3.54817 -0.00288791 2.98391e-05 -3.33578e-08 1.20141e-11 85029.7 7.01729 ); } } -PCL2- +PCl2- { specie { @@ -6232,7 +6232,7 @@ C10H20_3-decene- lowCpCoeffs ( 2.73154 0.0788863 2.51642e-05 -8.5251e-08 3.92428e-11 -20689.8 25.7334 ); } } -C3H5Cl__CHCL=CHCH3 +C3H5Cl__CHCl=CHCH3 { specie { @@ -6360,7 +6360,7 @@ C lowCpCoeffs ( 2.55424 -0.000321538 7.33792e-07 -7.32235e-10 2.66521e-13 85442.7 4.53131 ); } } -PbCL3 +PbCl3 { specie { @@ -6584,7 +6584,7 @@ C12H7_Acenaphtynyl lowCpCoeffs ( -2.23704 0.0620074 4.69636e-05 -1.20874e-07 5.68319e-11 60886.8 33.8046 ); } } -C5H3CL3_CY-1,2,4CL +C5H3Cl3_CY-1,2,4Cl { specie { @@ -6616,7 +6616,7 @@ C3D6_Cyclopropan lowCpCoeffs ( -1.18501 0.0361683 -2.53517e-06 -2.83415e-08 1.57552e-11 2767.63 26.5463 ); } } -CL2O2 +Cl2O2 { specie { @@ -6648,7 +6648,7 @@ PH3+ lowCpCoeffs ( 2.49088 0.00917665 -7.25623e-06 4.81735e-09 -1.58795e-12 115032 9.37716 ); } } -MgAL2O4(cr) +MgAl2O4(cr) { specie { @@ -6696,7 +6696,7 @@ NO3 lowCpCoeffs ( 2.17359 0.0104903 1.10473e-05 -2.81562e-08 1.36584e-11 7812.91 14.6022 ); } } -SiCL +SiCl { specie { @@ -6760,7 +6760,7 @@ C6H4O2__O=C6H4=O lowCpCoeffs ( 0.856753 0.0415771 4.09304e-06 -4.07329e-08 2.08924e-11 -16679.3 21.4023 ); } } -C2H3CLO2 +C2H3ClO2 { specie { @@ -6808,7 +6808,7 @@ Hg(L) lowCpCoeffs ( 3.68613 -0.000884371 -2.58545e-06 8.12482e-09 -5.52476e-12 -1050.3 -11.5403 ); } } -C12H4CL5O2_Radic +C12H4Cl5O2_Radic { specie { @@ -6920,7 +6920,7 @@ C4H8O2_Butyricacid lowCpCoeffs ( 6.55569 0.00119881 9.25041e-05 -1.19594e-07 4.69862e-11 -57428.4 3.36227 ); } } -CF3-CHCLF__FC-124 +CF3-CHClF__FC-124 { specie { @@ -6952,7 +6952,7 @@ Ag lowCpCoeffs ( 2.5 0 0 0 0 33520 6.56282 ); } } -ALF2 +AlF2 { specie { @@ -7048,7 +7048,7 @@ C5H10__2MB-3-ene lowCpCoeffs ( 7.22291 -0.00273953 0.000104969 -1.31727e-07 5.12971e-11 -6107.68 -1.8469 ); } } -C2BR5 +C2Br5 { specie { @@ -7080,7 +7080,7 @@ C6H2Cl3O3_BiCy lowCpCoeffs ( 0.82596 0.0897047 -8.89846e-05 3.66349e-08 -3.29896e-12 -36.1541 24.2683 ); } } -CBrCLF2 +CBrClF2 { specie { @@ -7128,7 +7128,7 @@ C8H5_C6H5-CC* lowCpCoeffs ( 1.77838 0.0324194 3.85016e-05 -8.03842e-08 3.6269e-11 76600.4 19.3639 ); } } -COHCL2___Radical +COHCl2___Radical { specie { @@ -7208,7 +7208,7 @@ C12H20O10_Cellobi lowCpCoeffs ( 8.32198 0.0628814 0.000271753 -4.29459e-07 1.80191e-10 -174415 -4.13432 ); } } -C5H7CL +C5H7Cl { specie { @@ -7560,7 +7560,7 @@ CO2_cy__C(OO) lowCpCoeffs ( 3.18456 0.00536293 2.20597e-06 -8.41227e-09 4.16779e-12 21632.5 8.74099 ); } } -PbCL4 +PbCl4 { specie { @@ -7592,7 +7592,7 @@ C20H40O2_etStearat lowCpCoeffs ( -2.70218 0.226825 -8.75531e-05 -4.39254e-08 3.47715e-11 -101728 60.8589 ); } } -PCL +PCl { specie { @@ -7640,7 +7640,7 @@ C2Cl4_Tetrachlor lowCpCoeffs ( 3.11949 0.0449195 -7.36241e-05 5.96895e-08 -1.89904e-11 -4918.58 12.6542 ); } } -ALO- +AlO- { specie { @@ -7752,7 +7752,7 @@ CHF3__FLUOROFORM lowCpCoeffs ( 2.73539 0.00872479 1.74822e-05 -3.21505e-08 1.41695e-11 -84684 12.488 ); } } -BrCL +BrCl { specie { @@ -8184,7 +8184,7 @@ C6H10O5_Levogluco lowCpCoeffs ( 1.02548 0.0539526 5.79178e-05 -1.24491e-07 5.63562e-11 -97953 24.8253 ); } } -PFCL- +PFCl- { specie { @@ -8248,7 +8248,7 @@ s-1-C10H7C*O lowCpCoeffs ( 0.247025 0.0623078 3.25269e-05 -9.98773e-08 4.79264e-11 18078.8 27.46 ); } } -CH2CLF__GC-31 +CH2ClF__GC-31 { specie { @@ -8344,7 +8344,7 @@ C4H8_Cyclobutan lowCpCoeffs ( 3.14397 -0.00504252 0.000120645 -1.5841e-07 6.38394e-11 1919.48 10.6618 ); } } -DCL +DCl { specie { @@ -8584,7 +8584,7 @@ C8H15_1-octenyl- lowCpCoeffs ( 3.9658 0.0500732 4.58634e-05 -9.55246e-08 4.20969e-11 9477.34 19.0962 ); } } -SiCL3 +SiCl3 { specie { @@ -8952,7 +8952,7 @@ Cr7C3(S) lowCpCoeffs ( 1.2648 0.135086 -0.000236887 1.97375e-07 -6.14407e-11 -23973 -14.4012 ); } } -FeCL +FeCl { specie { @@ -9064,7 +9064,7 @@ C6H7+_C5H4-1-CH3 lowCpCoeffs ( -1.46109 0.0501602 -1.7565e-05 -1.40099e-08 9.74331e-12 119212 31.9146 ); } } -PFCL2 +PFCl2 { specie { @@ -9176,7 +9176,7 @@ SB(s) lowCpCoeffs ( 2.12274 0.00603818 -1.41051e-05 1.52518e-08 -5.38507e-12 -804.253 -7.91696 ); } } -CCLF2 +CClF2 { specie { @@ -9528,7 +9528,7 @@ NO2+ lowCpCoeffs ( 3.56214 0.00343629 -1.19401e-07 -1.31592e-09 5.01139e-13 114780 7.19236 ); } } -C2H3CL +C2H3Cl { specie { @@ -9576,7 +9576,7 @@ Fe(CO)5 lowCpCoeffs ( 1.32844 0.114541 -0.00022444 2.11015e-07 -7.45587e-11 -91425.7 19.3738 ); } } -CHCLF +CHClF { specie { @@ -9768,7 +9768,7 @@ Cr3C2(S) lowCpCoeffs ( -1.6814 0.0744936 -0.00012215 9.39506e-08 -2.71337e-11 -12169 2.29813 ); } } -PCL5 +PCl5 { specie { @@ -9832,7 +9832,7 @@ C6H5NO_Nitrosobe lowCpCoeffs ( 1.68039 0.0292539 5.20478e-05 -9.72307e-08 4.29288e-11 21733.6 20.1972 ); } } -CCLF3___FC-13 +CClF3___FC-13 { specie { @@ -9992,7 +9992,7 @@ C10H8__AZULENE lowCpCoeffs ( -0.627409 0.0405369 8.4064e-05 -1.5093e-07 6.63559e-11 31574.8 30.3043 ); } } -PF2CL3 +PF2Cl3 { specie { @@ -10024,7 +10024,7 @@ C8_linear_triplet lowCpCoeffs ( 3.14179 0.0514027 -7.82216e-05 6.51159e-08 -2.18045e-11 179419 5.9977 ); } } -CCL3O* +CCl3O* { specie { @@ -10088,7 +10088,7 @@ C3H6O2_EthylFormat lowCpCoeffs ( 5.59041 0.00242724 6.61618e-05 -8.61264e-08 3.38174e-11 -47569.9 4.84087 ); } } -C6HCL3OH__3-YL_RAD +C6HCl3OH__3-YL_RAD { specie { @@ -10136,7 +10136,7 @@ CCl3 lowCpCoeffs ( 2.66358 0.0271296 -4.42403e-05 3.46851e-08 -1.05867e-11 6882.02 14.1173 ); } } -GeCL3 +GeCl3 { specie { @@ -10168,7 +10168,7 @@ C14H6N6O12_HNS lowCpCoeffs ( 7.35142 0.152248 -3.6908e-06 -1.32914e-07 7.04139e-11 19976 6.96546 ); } } -SiHCL3 +SiHCl3 { specie { @@ -10456,7 +10456,7 @@ C2H2_acetylene lowCpCoeffs ( 0.80868 0.0233616 -3.55172e-05 2.80153e-08 -8.50075e-12 26429 13.9397 ); } } -ALF3 +AlF3 { specie { @@ -10952,7 +10952,7 @@ C2H2O2__HOCCOH lowCpCoeffs ( 4.39325 0.0178016 -1.81564e-05 1.11665e-08 -2.9637e-12 -5323.32 9.51277 ); } } -C2HCLF2-1,1 +C2HClF2-1,1 { specie { @@ -10968,7 +10968,7 @@ C2HCLF2-1,1 lowCpCoeffs ( 2.04804 0.0295909 -2.80654e-05 1.12979e-08 -1.01686e-12 -41870.5 17.0867 ); } } -ClO2___CLOO*___H +ClO2___ClOO*___H { specie { @@ -10984,7 +10984,7 @@ ClO2___CLOO*___H lowCpCoeffs ( 4.26695 0.00747999 -1.15233e-05 9.93421e-09 -3.48897e-12 10707.3 7.19227 ); } } -SO2CL2 +SO2Cl2 { specie { @@ -11496,7 +11496,7 @@ C5H8O2_MeCrotanoat lowCpCoeffs ( 5.79381 0.0245644 3.60443e-05 -6.23879e-08 2.61793e-11 -44636.7 4.57237 ); } } -PFCL4 +PFCl4 { specie { @@ -11992,7 +11992,7 @@ D2O2 lowCpCoeffs ( 3.99336 0.00303683 1.02968e-05 -1.60577e-08 6.83692e-12 -18743.3 5.12865 ); } } -CHCL=CH* +CHCl=CH* { specie { @@ -12104,7 +12104,7 @@ C4H4__1-butene-3 lowCpCoeffs ( 1.37369 0.0288801 -1.46864e-05 -3.91045e-09 4.78134e-12 33063.3 17.5941 ); } } -HCLO2 +HClO2 { specie { @@ -12200,7 +12200,7 @@ O+ lowCpCoeffs ( 2.5 0 0 0 0 187935 4.39338 ); } } -C12H5CL4O3_Rad +C12H5Cl4O3_Rad { specie { @@ -12264,7 +12264,7 @@ C2H5O_CH3CH*OH lowCpCoeffs ( 4.22283 0.00512175 3.48387e-05 -4.91944e-08 2.01184e-11 -8356.22 8.01676 ); } } -C3H3Cl_3CyCLPropen +C3H3Cl_3CyClPropen { specie { @@ -12312,7 +12312,7 @@ BH lowCpCoeffs ( 3.54452 -0.000231822 -1.32913e-07 2.13394e-09 -1.32335e-12 52920.3 0.530536 ); } } -B2CL4 +B2Cl4 { specie { @@ -12664,7 +12664,7 @@ C4H6O2_Diacetyl lowCpCoeffs ( 5.68608 0.0155041 3.82144e-05 -5.99463e-08 2.47932e-11 -41762.7 4.02905 ); } } -AL2O2 +Al2O2 { specie { @@ -12760,7 +12760,7 @@ Cr(OH)6 lowCpCoeffs ( -5.65718 0.136404 -0.000222736 1.74482e-07 -5.23661e-11 -125010 44.361 ); } } -MgCL+ +MgCl+ { specie { @@ -12872,7 +12872,7 @@ SbCl_singlet lowCpCoeffs ( 2.4133 0.0128929 -2.44407e-05 1.98759e-08 -5.99572e-12 20273.6 13.1774 ); } } -C2HBR4_1,1,1,2 +C2HBr4_1,1,1,2 { specie { @@ -12984,7 +12984,7 @@ C2H5O-__Ethoxy_a lowCpCoeffs ( 3.88372 0.00362649 3.51129e-05 -4.19768e-08 1.49671e-11 -23727.9 7.57799 ); } } -C12H4CL5O2_2p,4, +C12H4Cl5O2_2p,4, { specie { @@ -13144,7 +13144,7 @@ C5H11,t-pentyl lowCpCoeffs ( 6.44629 -0.00954232 0.000137892 -1.69242e-07 6.53098e-11 1508.39 5.43062 ); } } -PCL2 +PCl2 { specie { @@ -13464,7 +13464,7 @@ C6H lowCpCoeffs ( 0.905835 0.0607761 -0.000112134 1.02799e-07 -3.57814e-11 118105 17.5981 ); } } -C2CL3_RAD +C2Cl3_RAD { specie { @@ -13512,7 +13512,7 @@ CH2Br-CH2Br lowCpCoeffs ( 4.62116 0.00941442 3.26665e-05 -5.17217e-08 2.19246e-11 -6503.17 9.40527 ); } } -ALH2 +AlH2 { specie { @@ -14184,7 +14184,7 @@ C2H3O_Oxyrane_Rad lowCpCoeffs ( 3.58349 -0.00602276 6.32427e-05 -8.18541e-08 3.30445e-11 18568.1 9.59726 ); } } -S2CL +S2Cl { specie { @@ -14232,7 +14232,7 @@ NOH+_cation lowCpCoeffs ( 4.08416 -0.00241926 1.18224e-05 -1.16756e-08 3.86465e-12 138736 4.14404 ); } } -C3H2CL2__1,2_Dic +C3H2Cl2__1,2_Dic { specie { @@ -14344,7 +14344,7 @@ C2HF2__CHF=CF(E) lowCpCoeffs ( 3.0869 0.0160213 -7.49407e-06 -3.65235e-09 3.19176e-12 -6672.08 11.5974 ); } } -AL2O3(a) +Al2O3(a) { specie { @@ -14776,7 +14776,7 @@ Fe lowCpCoeffs ( 1.70744 0.0106339 -2.76118e-05 2.80918e-08 -1.0122e-11 49184.4 9.80811 ); } } -C2BR +C2Br { specie { @@ -14904,7 +14904,7 @@ s-1,5-C6H4__trans lowCpCoeffs ( 0.221633 0.0581529 -7.13934e-05 4.76726e-08 -1.28753e-11 60806.5 22.325 ); } } -CHBR +CHBr { specie { @@ -15048,7 +15048,7 @@ PO3 lowCpCoeffs ( 4.76937 0.00784394 3.34335e-06 -1.31052e-08 6.59556e-12 -55973.8 4.98978 ); } } -PF4CL +PF4Cl { specie { @@ -15288,7 +15288,7 @@ C32H13_OVALENYL lowCpCoeffs ( -9.14252 0.178117 4.87162e-05 -2.22438e-07 1.09692e-10 74571.6 65.7092 ); } } -C2CL2 +C2Cl2 { specie { @@ -15576,7 +15576,7 @@ ClO3___Chlorate lowCpCoeffs ( 1.54804 0.0255914 -3.27199e-05 1.9253e-08 -4.18676e-12 20946.5 18.7937 ); } } -AL(cr) +Al(cr) { specie { @@ -15656,7 +15656,7 @@ Mo(cr) lowCpCoeffs ( 1.32884 0.00982554 -2.1093e-05 2.0951e-08 -7.60703e-12 -684.365 -6.29287 ); } } -AL2O2+ +Al2O2+ { specie { @@ -15704,7 +15704,7 @@ NH2F lowCpCoeffs ( 4.43076 -0.00700448 3.24294e-05 -3.55242e-08 1.30599e-11 -10252.6 3.29678 ); } } -C2H4Cl_betaCLEthyl +C2H4Cl_betaClEthyl { specie { @@ -15784,7 +15784,7 @@ CO+ lowCpCoeffs ( 3.77062 -0.00201773 4.61082e-06 -2.99175e-09 6.06065e-13 149007 3.3813 ); } } -CH2CL2 +CH2Cl2 { specie { @@ -15896,7 +15896,7 @@ C12H8O2 lowCpCoeffs ( -1.48215 0.0751205 3.87198e-05 -1.19145e-07 5.69743e-11 -9056.11 32.9719 ); } } -CBRF3_FREON_1301 +CBrF3_FREON_1301 { specie { @@ -15976,7 +15976,7 @@ C18H34_1-Octadecy lowCpCoeffs ( -11.646 0.27397 -0.000297994 2.01809e-07 -5.91668e-11 -21318 96.8119 ); } } -C2HCL +C2HCl { specie { @@ -16136,7 +16136,7 @@ Ge2 lowCpCoeffs ( 1.86915 0.0207355 -4.51129e-05 4.06077e-08 -1.32217e-11 55553.6 15.6846 ); } } -C2H4O2CL2 +C2H4O2Cl2 { specie { @@ -16200,7 +16200,7 @@ C12H8Cl2O2_6,6-( lowCpCoeffs ( -5.72669 0.155871 -0.000158005 7.90551e-08 -1.57801e-11 -31851.6 56.0168 ); } } -AL(OH)2 +Al(OH)2 { specie { @@ -16216,7 +16216,7 @@ AL(OH)2 lowCpCoeffs ( 3.1217 0.0208986 -2.3495e-05 1.23528e-08 -2.11959e-12 -62732.6 11.1282 ); } } -CF2H-CCLF2_FC-124A +CF2H-CClF2_FC-124A { specie { @@ -16408,7 +16408,7 @@ C4H lowCpCoeffs ( 0.938093 0.038592 -6.86755e-05 6.13265e-08 -2.08966e-11 92312.3 16.501 ); } } -CLCLO +Cl2O { specie { @@ -16504,7 +16504,7 @@ C7H10_cyC5H9-CCH lowCpCoeffs ( 2.86273 0.0238049 8.02798e-05 -1.24667e-07 5.24739e-11 17577.4 16.0168 ); } } -ClO2___OCLO___HF +ClO2___OClO___HF { specie { @@ -16584,7 +16584,7 @@ NH2OH+ lowCpCoeffs ( 3.72525 0.00417577 9.81141e-06 -1.38336e-08 5.37208e-12 101394 6.30909 ); } } -MgCL +MgCl { specie { @@ -16824,7 +16824,7 @@ PH+ lowCpCoeffs ( 4.69912 -0.0050137 8.44515e-06 -5.45911e-09 1.2742e-12 146096 -1.93635 ); } } -C2HCL4_CHCl2-CCL2 +C2HCl4_CHCl2-CCl2 { specie { @@ -17256,7 +17256,7 @@ BF2 lowCpCoeffs ( 3.76866 0.00206633 8.29846e-06 -1.31415e-08 5.49423e-12 -61332.3 7.37107 ); } } -NH4CL(II) +NH4Cl(II) { specie { @@ -17304,7 +17304,7 @@ C7H5NO_Benzoxazole lowCpCoeffs ( -0.249438 0.0355983 5.64045e-05 -1.10126e-07 4.93628e-11 1629.13 28.0949 ); } } -Cu3CL3 +Cu3Cl3 { specie { @@ -17944,7 +17944,7 @@ C10H10_3-meIndene lowCpCoeffs ( 1.10114 0.0421733 8.14199e-05 -1.45129e-07 6.32748e-11 18168 22.5602 ); } } -C2H5CLO2 +C2H5ClO2 { specie { @@ -18120,7 +18120,7 @@ MgO(cr) lowCpCoeffs ( 78.7549 -0.528711 0.00124188 -1.22847e-06 4.37279e-10 -81264.3 -328.879 ); } } -C3H3Cl_CH2CL-CCH +C3H3Cl_CH2Cl-CCH { specie { @@ -18184,7 +18184,7 @@ CBr4 lowCpCoeffs ( 5.10359 0.0339593 -6.24045e-05 5.36484e-08 -1.7571e-11 9691.51 1.31944 ); } } -BAO(G) +BaO(G) { specie { @@ -18328,7 +18328,7 @@ NITROPROPYLENE_C lowCpCoeffs ( 3.65176 0.0201896 3.27505e-05 -5.72328e-08 2.41049e-11 -972.583 11.8667 ); } } -BCL +BCl { specie { @@ -18504,7 +18504,7 @@ Br2(cr) lowCpCoeffs ( 9.12519 -0.0826112 0.000699829 -2.40834e-06 3.21096e-09 -3304.08 -30.1719 ); } } -CLO3F +ClO3F { specie { @@ -18632,7 +18632,7 @@ T_Tritium__(g) lowCpCoeffs ( 2.5 -4.39695e-07 2.02543e-09 -2.95668e-12 1.35888e-15 26119.9 1.19728 ); } } -NH4CLO4(I) +NH4ClO4(I) { specie { @@ -18696,7 +18696,7 @@ CNN+ lowCpCoeffs ( 3.93138 0.0075873 -8.55735e-06 5.55474e-09 -1.58157e-12 196345 4.04892 ); } } -C4CL6_Butadiene +C4Cl6_Butadiene { specie { @@ -18760,7 +18760,7 @@ CH5N2__CH2*NHNH2 lowCpCoeffs ( 2.31544 0.0218627 -3.68464e-06 -1.3271e-08 8.00413e-12 30774.4 15.0726 ); } } -PF2CL +PF2Cl { specie { @@ -18920,7 +18920,7 @@ MgF2(cr)I lowCpCoeffs ( 3.15877 0.00196088 0.000105362 -2.77411e-07 2.08833e-10 -136720 -14.3472 ); } } -C6H5CL+_Chlorobe +C6H5Cl+_Chlorobe { specie { @@ -19080,7 +19080,7 @@ CH2=CH-NO2_Nitroe lowCpCoeffs ( 2.75939 0.0170696 2.37368e-05 -4.77983e-08 2.14793e-11 1843.4 14.6556 ); } } -C3HCL3__TriClAllen +C3HCl3__TriClAllen { specie { @@ -19256,7 +19256,7 @@ C4H6O_H3CCH2CH=C lowCpCoeffs ( 3.2361 0.0232109 2.16181e-05 -4.71002e-08 2.13586e-11 -12724.9 12.9611 ); } } -SCL2 +SCl2 { specie { @@ -19400,7 +19400,7 @@ C4H8O_2-Butanone lowCpCoeffs ( 6.61978 0.00851848 5.10322e-05 -6.58433e-08 2.4911e-11 -31525.2 -1.09485 ); } } -C2H4Cl_alfaCLEthyl +C2H4Cl_alfaClEthyl { specie { @@ -19480,7 +19480,7 @@ MgBr2(L) lowCpCoeffs ( 12.0272 0 0 0 0 -63633.8 -52.4664 ); } } -BCL+ +BCl+ { specie { @@ -19512,7 +19512,7 @@ CHNH2-__anion__H lowCpCoeffs ( 1.8202 0.0153201 -1.1192e-05 4.57191e-09 -7.44802e-13 40235.2 14.2819 ); } } -CHBrCL2__FC-20B1 +CHBrCl2__FC-20B1 { specie { @@ -19624,7 +19624,7 @@ CH3N__(H2C=NH) lowCpCoeffs ( 4.79303 -0.0126842 5.69767e-05 -6.34985e-08 2.37023e-11 9413.86 1.10278 ); } } -HALO2 +HAlO2 { specie { @@ -19656,7 +19656,7 @@ HCN lowCpCoeffs ( 2.25901 0.010051 -1.33515e-05 1.0092e-08 -3.0088e-12 14590.3 8.91632 ); } } -ALO2 +AlO2 { specie { @@ -19672,7 +19672,7 @@ ALO2 lowCpCoeffs ( 4.34295 0.00865076 -8.91493e-06 3.12927e-09 9.49015e-14 -6256.26 5.43603 ); } } -HOCL +HOCl { specie { @@ -19752,7 +19752,7 @@ C6H11I_IodocyHexan lowCpCoeffs ( 4.95589 0.00624026 0.00013695 -1.85304e-07 7.45516e-11 -8647.49 9.04456 ); } } -CL- +Cl- { specie { @@ -19832,7 +19832,7 @@ C7H7_Quadri_Base lowCpCoeffs ( -0.865668 0.0202947 0.000109981 -1.75784e-07 7.63992e-11 68615.1 31.45 ); } } -CBRCL3_Bromotric +CBrCl3_Bromotric { specie { @@ -19848,7 +19848,7 @@ CBRCL3_Bromotric lowCpCoeffs ( 2.8408 0.0425731 -7.69558e-05 6.54734e-08 -2.13015e-11 -7238.49 12.5268 ); } } -CCL3F___FC-11 +CCl3F___FC-11 { specie { @@ -20008,7 +20008,7 @@ FeSO4(S) lowCpCoeffs ( 1.36573 0.0529862 -7.03486e-05 4.90952e-08 -1.44139e-11 -113945 -6.31021 ); } } -C2BR4 +C2Br4 { specie { @@ -20056,7 +20056,7 @@ CH3-NH-NH-CH3_Sy lowCpCoeffs ( 5.41669 0.00250625 7.35471e-05 -9.60749e-08 3.79945e-11 10565.4 3.29279 ); } } -DOBR +DOBr { specie { @@ -20120,7 +20120,7 @@ C4__triplet lowCpCoeffs ( 3.68513 0.0184223 -3.11974e-05 2.9645e-08 -1.07298e-11 125759 5.42249 ); } } -SI2H6__Disilane +Si2H6__Disilane { specie { @@ -20168,7 +20168,7 @@ C3H2F3_CF3-CH=CH* lowCpCoeffs ( 0.681987 0.0469264 -4.86401e-05 2.2047e-08 -2.75415e-12 -47231.4 22.9561 ); } } -CL2 +Cl2 { specie { @@ -20184,7 +20184,7 @@ CL2 lowCpCoeffs ( 2.73638 0.00783526 -1.45105e-05 1.25731e-08 -4.13247e-12 -1058.8 9.44557 ); } } -AL2O+ +Al2O+ { specie { @@ -20264,7 +20264,7 @@ COH lowCpCoeffs ( 4.36381 -0.00535204 2.31955e-05 -2.66109e-08 1.02712e-11 25010.9 2.98106 ); } } -C4CL2 +C4Cl2 { specie { @@ -20328,7 +20328,7 @@ C5H10,cyclo- lowCpCoeffs ( 3.70339 -0.0115575 0.000164113 -2.0937e-07 8.31059e-11 -10938.9 11.9773 ); } } -DOCL +DOCl { specie { @@ -20408,7 +20408,7 @@ NO lowCpCoeffs ( 4.2186 -0.00463988 1.10443e-05 -9.34056e-09 2.80555e-12 9845.1 2.28061 ); } } -NO2CL +NO2Cl { specie { @@ -20488,7 +20488,7 @@ C6H9I-3-iodo lowCpCoeffs ( 3.97475 0.0142793 0.000103556 -1.4999e-07 6.192e-11 5835.6 13.0713 ); } } -FeCL3 +FeCl3 { specie { @@ -20536,7 +20536,7 @@ C22H18_(C10H7CH2)2 lowCpCoeffs ( -9.01278 0.205116 -0.000183057 1.10357e-07 -3.44709e-11 28550.4 69.335 ); } } -C2HCL5 +C2HCl5 { specie { @@ -20568,7 +20568,7 @@ C3H3+_CH2=C=CH+ lowCpCoeffs ( 1.5491 0.0233307 -1.70274e-05 4.66368e-09 2.21539e-13 143166 13.7174 ); } } -CCL4 +CCl4 { specie { @@ -20840,7 +20840,7 @@ ZrN(cr) lowCpCoeffs ( -1.60329 0.0435534 -0.000102727 1.12384e-07 -4.61701e-11 -45399.9 4.48755 ); } } -ALF +AlF { specie { @@ -20936,7 +20936,7 @@ MgI2 lowCpCoeffs ( 5.47324 0.0105458 -2.22792e-05 2.12039e-08 -7.48636e-12 -22593.5 4.23281 ); } } -C2CL +C2Cl { specie { @@ -21240,7 +21240,7 @@ CF- lowCpCoeffs ( 2.67417 0.00577946 -7.7641e-06 5.08964e-09 -1.30782e-12 22801.9 8.08085 ); } } -C5H8CL +C5H8Cl { specie { @@ -21352,7 +21352,7 @@ K(cr) lowCpCoeffs ( -2.08951 0.061632 -0.000240732 3.27256e-07 0 -636.098 9.11737 ); } } -ALO2- +AlO2- { specie { @@ -21576,7 +21576,7 @@ C3HCl2OH lowCpCoeffs ( 3.1571 0.0399226 -4.67896e-05 2.89518e-08 -7.27289e-12 -2951.93 14.6502 ); } } -NOCL +NOCl { specie { @@ -21656,7 +21656,7 @@ CBr3__Radical lowCpCoeffs ( 4.24875 0.0227424 -3.912e-05 3.19712e-08 -1.00758e-11 25938.1 10.3538 ); } } -CLF5 +ClF5 { specie { @@ -22040,7 +22040,7 @@ ZrC(cr) lowCpCoeffs ( -1.12575 0.0338354 -6.64955e-05 6.40913e-08 -2.42647e-11 -24347.1 2.77083 ); } } -CCL2F +CCl2F { specie { @@ -22392,7 +22392,7 @@ C3H4N__CH3-CH*-CN lowCpCoeffs ( 2.90886 0.021025 -3.11711e-06 -1.06743e-08 5.98989e-12 25029.2 12.2021 ); } } -PFCL +PFCl { specie { @@ -22520,7 +22520,7 @@ C3H6O3_Trioxane lowCpCoeffs ( 3.55244 0.00170629 9.91147e-05 -1.31999e-07 5.26422e-11 -59030.2 10.6185 ); } } -ALH +AlH { specie { @@ -22760,7 +22760,7 @@ D lowCpCoeffs ( 2.5 0 0 0 0 25921.3 0.591714 ); } } -C2CL2F4_CF3CFCL2 +C2Cl2F4_CF3CFCl2 { specie { @@ -22808,7 +22808,7 @@ SbCl2 lowCpCoeffs ( 3.26046 0.00813469 -5.31504e-06 -1.00842e-09 1.59478e-12 -13161.4 13.0106 ); } } -AL2O3 +Al2O3 { specie { @@ -22936,7 +22936,7 @@ C3H6_propylene lowCpCoeffs ( 3.83464 0.00329079 5.05228e-05 -6.66251e-08 2.63707e-11 788.717 7.53408 ); } } -FeCL3(s) +FeCl3(s) { specie { @@ -23096,7 +23096,7 @@ HNNH-__trans lowCpCoeffs ( 3.03932 0.00358025 8.30143e-06 -1.1908e-08 4.60611e-12 29701.1 8.63197 ); } } -SbCL5 +SbCl5 { specie { @@ -23240,7 +23240,7 @@ C9H18O6_TATP lowCpCoeffs ( -1.19327 0.16895 -0.000171505 1.01467e-07 -2.60451e-11 -53390.5 23.2901 ); } } -C12H5CL4O2_RAD +C12H5Cl4O2_RAD { specie { @@ -23448,7 +23448,7 @@ P2 lowCpCoeffs ( 2.9606 0.00385561 -2.87398e-06 -3.19976e-10 8.10023e-13 16290.7 8.34523 ); } } -CBR3CL__TriBromo +CBr3Cl__TriBromo { specie { @@ -23480,7 +23480,7 @@ C6H3_CH2=C=C=C=C=C lowCpCoeffs ( 1.50089 0.0545902 -7.88221e-05 6.27969e-08 -2.00769e-11 84913.4 17.6237 ); } } -CLF3 +ClF3 { specie { @@ -23592,7 +23592,7 @@ C3H4O2_AcrylAcid lowCpCoeffs ( 1.24227 0.0300699 -1.48207e-06 -2.42738e-08 1.33122e-11 -40866.8 21.9243 ); } } -CHFCLBr +CHFClBr { specie { @@ -23608,7 +23608,7 @@ CHFCLBr lowCpCoeffs ( 2.84647 0.0204936 -1.70059e-05 4.11372e-09 9.31157e-13 -29280.4 15.0637 ); } } -ALCL +AlCl { specie { @@ -23704,7 +23704,7 @@ CH3C(CH3)2CH3 lowCpCoeffs ( 3.56479 0.0290185 5.00307e-05 -8.66302e-08 3.72524e-11 -22877.4 6.73829 ); } } -GeCL2____triplet +GeCl2____triplet { specie { @@ -23720,7 +23720,7 @@ GeCL2____triplet lowCpCoeffs ( 4.11513 0.0153508 -3.27832e-05 3.13345e-08 -1.10726e-11 10627.5 10.2028 ); } } -CL2O7 +Cl2O7 { specie { @@ -23768,7 +23768,7 @@ C8H7N__o-ToluoNitr lowCpCoeffs ( 2.05214 0.038168 4.22551e-05 -8.69955e-08 3.87533e-11 20059 19.5286 ); } } -CLNC_biradical +ClNC_biradical { specie { @@ -23832,7 +23832,7 @@ NITRO-PENTANE lowCpCoeffs ( 4.00704 0.0229727 0.000104023 -1.55574e-07 6.44329e-11 -22634.2 13.9587 ); } } -AR +Ar { specie { @@ -23928,7 +23928,7 @@ Na2O(a) lowCpCoeffs 7 { 0 }; } } -FeCL2(L) +FeCl2(L) { specie { @@ -23960,7 +23960,7 @@ Na2O(c) lowCpCoeffs ( 2.1367 0.0391996 -8.50796e-05 8.70574e-08 -3.22937e-11 -51645.5 -11.76 ); } } -CF3-CHCL2__HF123 +CF3-CHCl2__HF123 { specie { @@ -24088,7 +24088,7 @@ C3H7_i-propyl lowCpCoeffs ( 5.47421 -0.00842537 8.04608e-05 -9.49288e-08 3.59831e-11 9049.39 3.40542 ); } } -ALOH +AlOH { specie { @@ -24280,7 +24280,7 @@ C8H18,n-octane lowCpCoeffs ( 12.5245 -0.0101019 0.000221993 -2.84864e-07 1.1241e-10 -29843.4 -19.711 ); } } -C12H6CL4O2 +C12H6Cl4O2 { specie { @@ -24408,7 +24408,7 @@ C12H10_biphenyl lowCpCoeffs ( 0.1946 0.053526 8.55001e-05 -1.63904e-07 7.29976e-11 19002.1 27.2149 ); } } -NH4CL(III) +NH4Cl(III) { specie { @@ -24424,7 +24424,7 @@ NH4CL(III) lowCpCoeffs ( 1.70591 0.0307824 -4.40956e-05 4.81013e-08 -1.91059e-11 -38502.2 -3.73732 ); } } -SO2FCL +SO2FCl { specie { @@ -24632,7 +24632,7 @@ C7H5(NO2)3_(TNT) lowCpCoeffs ( 3.19573 0.086222 -2.31687e-05 -4.31208e-08 2.63453e-11 -1609.11 15.4068 ); } } -C2H5CL +C2H5Cl { specie { @@ -24696,7 +24696,7 @@ CH3C lowCpCoeffs ( 3.59147 -6.65568e-05 2.69433e-05 -3.438e-08 1.35235e-11 59929.5 5.96528 ); } } -CH2CL +CH2Cl { specie { @@ -24856,7 +24856,7 @@ NCN lowCpCoeffs ( 2.79808 0.0100009 -9.59242e-06 4.75566e-09 -1.04349e-12 53857.5 8.6213 ); } } -CHBR2 +CHBr2 { specie { @@ -24904,7 +24904,7 @@ CH3-_anion lowCpCoeffs ( 4.35455 -0.00541267 2.17109e-05 -1.94567e-08 5.95104e-12 15405.2 -0.727196 ); } } -MgAL2O4(L) +MgAl2O4(L) { specie { @@ -25096,7 +25096,7 @@ C12H9,o-bipheny lowCpCoeffs ( 0.407668 0.0542795 7.12516e-05 -1.44404e-07 6.48498e-11 48535.2 28.1981 ); } } -CLF +ClF { specie { @@ -25160,7 +25160,7 @@ N2O+ lowCpCoeffs ( 3.28691 0.00740222 -4.86664e-06 7.32928e-10 2.98234e-13 159103 7.40137 ); } } -CLCN +ClCN { specie { @@ -25688,7 +25688,7 @@ C3H3Cl_Chloro-Al lowCpCoeffs ( 2.17406 0.0233296 -8.27347e-06 -8.72361e-09 6.26711e-12 19487 15.7635 ); } } -BFCL +BFCl { specie { @@ -25960,7 +25960,7 @@ C2H4F_beta-Fluor lowCpCoeffs ( 4.38589 0.00444185 2.81593e-05 -3.89282e-08 1.56056e-11 -9031.77 6.2837 ); } } -AL(OH)3 +Al(OH)3 { specie { @@ -26024,7 +26024,7 @@ H6F6 lowCpCoeffs ( 4.76645 0.0786031 -0.000121157 9.36149e-08 -2.78945e-11 -221172 12.5468 ); } } -GeCL2____singlet +GeCl2____singlet { specie { @@ -26056,7 +26056,7 @@ C3H6_cyclo- lowCpCoeffs ( 2.83279 -0.00521029 9.29583e-05 -1.22753e-07 4.99191e-11 5195.2 10.8306 ); } } -ALO+ +AlO+ { specie { @@ -26264,7 +26264,7 @@ H2O(L) lowCpCoeffs ( 72.5575 -0.662445 0.00256199 -4.36592e-06 2.78179e-09 -41886.5 -288.28 ); } } -CBr2CLF___11B3 +CBr2ClF___11B3 { specie { @@ -26520,7 +26520,7 @@ N2O3 lowCpCoeffs ( 5.81084 0.0143331 -1.96209e-05 1.73061e-08 -6.46554e-12 8191.84 1.20461 ); } } -CL +Cl { specie { @@ -26536,7 +26536,7 @@ CL lowCpCoeffs ( 2.26062 0.00154154 -6.80284e-07 -1.59973e-09 1.15417e-12 13855.3 6.57021 ); } } -Cl2C=C=CCL(O*) +Cl2C=C=CCl(O*) { specie { @@ -26584,7 +26584,7 @@ CrO lowCpCoeffs ( 3.18819 0.00146295 3.31396e-06 -6.66294e-09 3.11838e-12 21611.6 10.0817 ); } } -ALCL3 +AlCl3 { specie { @@ -26616,7 +26616,7 @@ C4H3_E-1yl_Radical lowCpCoeffs ( 0.554264 0.0386185 -4.70818e-05 3.0624e-08 -7.90588e-12 63797.5 21.0542 ); } } -COCL2 +COCl2 { specie { @@ -27272,7 +27272,7 @@ C4H5__1,3-Butadi lowCpCoeffs ( 2.00881 0.0250341 4.4793e-06 -2.6399e-08 1.34433e-11 36207 15.9914 ); } } -MgCL2(L) +MgCl2(L) { specie { @@ -27320,7 +27320,7 @@ CH3+ lowCpCoeffs ( 4.73044 -0.0086626 3.12269e-05 -3.13569e-08 1.09957e-11 131270 -3.03198 ); } } -ALBr3 +AlBr3 { specie { @@ -27448,7 +27448,7 @@ HPO lowCpCoeffs ( 4.13953 -0.00375644 2.10092e-05 -2.45888e-08 9.33164e-12 -12480.7 5.14556 ); } } -FeOCL(cr) +FeOCl(cr) { specie { @@ -27784,7 +27784,7 @@ CrO3 lowCpCoeffs ( 2.2336 0.0241281 -3.23842e-05 2.06088e-08 -5.05776e-12 -40222.5 13.7496 ); } } -BOCL2 +BOCl2 { specie { @@ -27800,7 +27800,7 @@ BOCL2 lowCpCoeffs ( 2.39602 0.0242258 -3.58262e-05 2.65234e-08 -7.85785e-12 -45009.4 15.654 ); } } -Fe2CL4 +Fe2Cl4 { specie { @@ -28344,7 +28344,7 @@ CD2_Deutherometh lowCpCoeffs ( 3.55503 0.00336947 -3.5028e-06 4.99693e-09 -2.45123e-12 44827.3 3.42741 ); } } -C2H2CL2_1,1- +C2H2Cl2_1,1- { specie { @@ -28360,7 +28360,7 @@ C2H2CL2_1,1- lowCpCoeffs ( 1.09096 0.0338226 -4.14124e-05 2.66328e-08 -6.88458e-12 -1247.49 19.9996 ); } } -BFCL2 +BFCl2 { specie { @@ -28504,7 +28504,7 @@ C3H2(1)_HCC-CH** lowCpCoeffs ( 2.87527 0.0199236 -2.41971e-05 1.66378e-08 -4.69231e-12 96819.2 8.88674 ); } } -HALO +HAlO { specie { @@ -28776,7 +28776,7 @@ C6H7_1,3,5_Linear lowCpCoeffs ( 2.82605 0.0348405 1.31407e-05 -4.6882e-08 2.29961e-11 49458.2 17.0295 ); } } -HCLO4 +HClO4 { specie { @@ -28872,7 +28872,7 @@ N2- lowCpCoeffs ( 3.87906 -0.00316855 8.46825e-06 -7.28826e-09 2.18785e-12 21755.2 3.12725 ); } } -BCL2+ +BCl2+ { specie { @@ -29016,7 +29016,7 @@ NH4NO3_gas lowCpCoeffs ( 4.14853 0.0269825 -9.75933e-06 -6.09907e-09 4.33965e-12 -30074.6 8.49838 ); } } -CL+ +Cl+ { specie { @@ -29128,7 +29128,7 @@ F2O+__FOF+ lowCpCoeffs ( 2.46499 0.0109177 -1.05316e-05 4.05496e-09 -3.04762e-13 154795 13.2086 ); } } -ALF2- +AlF2- { specie { @@ -29320,7 +29320,7 @@ C10H8O__Naphtol lowCpCoeffs ( -2.08768 0.07681 -1.53593e-05 -4.04658e-08 2.3376e-11 -6290.56 34.3331 ); } } -ALH3 +AlH3 { specie { @@ -29384,7 +29384,7 @@ s-1,2,3,5-C6H2Cl4 lowCpCoeffs ( 2.48196 0.0655633 -5.95894e-05 2.22036e-08 -1.43435e-12 -5391.51 16.9276 ); } } -CCL2F2_FREON-12 +CCl2F2_FREON-12 { specie { @@ -29704,7 +29704,7 @@ CH3S_Radical lowCpCoeffs ( 2.56437 0.0115796 -4.5012e-06 -5.02342e-10 6.95253e-13 13370.6 11.2505 ); } } -CHFCL2___FC-21 +CHFCl2___FC-21 { specie { @@ -30200,7 +30200,7 @@ C2H2Br2_trans lowCpCoeffs ( 3.8637 0.016965 -3.41692e-06 -1.08161e-08 6.58651e-12 10083.8 10.913 ); } } -SiCL2 +SiCl2 { specie { @@ -30440,7 +30440,7 @@ C4F8_CY lowCpCoeffs ( -6.40876 0.117788 -0.000157354 1.1578e-07 -3.71123e-11 -184189 56.1863 ); } } -CHCL3_Chloroform +CHCl3_Chloroform { specie { @@ -30584,7 +30584,7 @@ CH3-NH-NH2 lowCpCoeffs ( 3.36546 0.00916487 4.07415e-05 -6.18271e-08 2.62064e-11 11498.2 9.75315 ); } } -SCL +SCl { specie { @@ -31224,7 +31224,7 @@ C24H17 lowCpCoeffs ( -16.409 0.226724 -0.000140015 -2.78751e-09 2.47131e-11 70999.3 110.51 ); } } -BCL2 +BCl2 { specie { @@ -31464,7 +31464,7 @@ CI lowCpCoeffs ( 1.89139 0.0167386 -3.68508e-05 3.50616e-08 -1.22019e-11 67533.2 14.609 ); } } -C12H6CL2O2 +C12H6Cl2O2 { specie { @@ -31512,7 +31512,7 @@ C13H10O__Benzoph lowCpCoeffs ( 2.03306 0.0530785 0.000104699 -1.89967e-07 8.33778e-11 4094.98 22.7448 ); } } -C2H2CL2_Equilibriu +C2H2Cl2_Equilibriu { specie { @@ -31544,7 +31544,7 @@ HNO2+_cis____HF2 lowCpCoeffs ( 2.63706 0.0102578 -5.14296e-06 -5.04116e-10 9.47515e-13 120845 12.4287 ); } } -CBR +CBr { specie { @@ -31624,7 +31624,7 @@ H2Sn(C2H5)2 lowCpCoeffs ( 5.22643 0.0383917 2.00663e-05 -5.18249e-08 2.32704e-11 3442.92 7.61235 ); } } -AL2O3(b) +Al2O3(b) { specie { @@ -31672,7 +31672,7 @@ MgSiO3(III) lowCpCoeffs 7 { 0 }; } } -C5H7CL2 +C5H7Cl2 { specie { @@ -31736,7 +31736,7 @@ HCCNO2 lowCpCoeffs ( 1.34403 0.0333183 -3.93939e-05 2.41125e-08 -5.90505e-12 31935.8 18.7891 ); } } -S2CL2 +S2Cl2 { specie { @@ -31944,7 +31944,7 @@ C4H9O_DiEthyl_Et lowCpCoeffs ( 7.25386 -0.000750391 0.000104998 -1.35171e-07 5.26869e-11 -8118.19 -0.573033 ); } } -C2BR6 +C2Br6 { specie { @@ -32248,7 +32248,7 @@ C4H8O2_DIOXANE lowCpCoeffs ( 4.81265 -0.00385996 0.000125372 -1.60862e-07 6.33257e-11 -37571.3 6.04153 ); } } -ALO +AlO { specie { @@ -32392,7 +32392,7 @@ NO2- lowCpCoeffs ( 3.09784 0.00370486 5.92941e-06 -1.09497e-08 4.62722e-12 -24155.4 9.48237 ); } } -C2HBR4_1,1,2,2 +C2HBr4_1,1,2,2 { specie { @@ -32424,7 +32424,7 @@ F2+ lowCpCoeffs ( 3.96417 -0.000599836 4.03663e-06 -4.74261e-09 1.76772e-12 181724 2.80862 ); } } -CF2CL-CHCLF_123a +CF2Cl-CHClF_123a { specie { @@ -32456,7 +32456,7 @@ COOH lowCpCoeffs ( 2.92208 0.00762454 3.29884e-06 -1.07135e-08 5.11587e-12 -23028.2 11.2926 ); } } -CH3COCL_Acetyl-CL +CH3COCl_Acetyl-Cl { specie { @@ -32472,7 +32472,7 @@ CH3COCL_Acetyl-CL lowCpCoeffs ( 3.9884 0.0126777 7.80939e-06 -1.82292e-08 7.97984e-12 -30830 8.16676 ); } } -NE +Ne { specie { @@ -33048,7 +33048,7 @@ C2H5O-__CH3C*HOH- lowCpCoeffs ( 2.73686 0.0206277 -7.16876e-06 -3.02068e-09 2.28832e-12 -6393.69 12.5982 ); } } -C12H4CL6O2__tric +C12H4Cl6O2__tric { specie { @@ -33064,7 +33064,7 @@ C12H4CL6O2__tric lowCpCoeffs ( 3.28452 0.141319 -0.000138658 5.99059e-08 -7.31751e-12 -30439.2 19.9985 ); } } -COCL +COCl { specie { @@ -33400,7 +33400,7 @@ C4H10_isobutane lowCpCoeffs ( 4.45479 0.00826059 8.29886e-05 -1.14648e-07 4.6457e-11 -18459.4 4.92741 ); } } -C12H5CL5O2_PD +C12H5Cl5O2_PD { specie { @@ -33592,7 +33592,7 @@ MgSO4(I) lowCpCoeffs 7 { 0 }; } } -C2HFCL2_equilibr +C2HFCl2_equilibr { specie { @@ -33800,7 +33800,7 @@ C18H36O2_etPalmita lowCpCoeffs ( 0.607765 0.187616 -4.8932e-05 -5.75354e-08 3.32268e-11 -96555.9 43.5519 ); } } -COFCL +COFCl { specie { @@ -33896,7 +33896,7 @@ C6H6+_Benzene_ion lowCpCoeffs ( -2.36188 0.050756 -2.00023e-05 -1.27434e-08 9.63134e-12 116788 33.7617 ); } } -BRCN +BrCN { specie { @@ -33976,7 +33976,7 @@ C8H7___i-styryl lowCpCoeffs ( 0.595576 0.0431716 3.39695e-05 -8.55153e-08 4.02635e-11 41975.6 25.7012 ); } } -GeCL +GeCl { specie { @@ -33992,7 +33992,7 @@ GeCL lowCpCoeffs ( 2.72445 0.00895175 -1.25463e-05 6.75349e-09 -1.04008e-12 7190.16 11.8835 ); } } -CHCLF2__HCFC-22 +CHClF2__HCFC-22 { specie { @@ -34632,7 +34632,7 @@ C19H36O2_meOleic lowCpCoeffs ( 1.03901 0.189498 -4.90209e-05 -6.24649e-08 3.76956e-11 -82267.1 52.4855 ); } } -MgCL2 +MgCl2 { specie { @@ -34696,7 +34696,7 @@ C6H6_1,3-Butadie lowCpCoeffs ( 0.744284 0.0472659 -2.19464e-05 -9.84219e-09 9.27386e-12 39556.6 21.8138 ); } } -MgCL2(cr) +MgCl2(cr) { specie { @@ -34744,7 +34744,7 @@ GeS2(II)(s) lowCpCoeffs ( 5.26457 0.0158411 -3.14864e-05 3.00355e-08 -1.04866e-11 -17420.7 -22.3062 ); } } -AL2O +Al2O { specie { @@ -34792,7 +34792,7 @@ Mg2SiO4(L) lowCpCoeffs 7 { 0 }; } } -SCL2+ +SCl2+ { specie { @@ -34888,7 +34888,7 @@ C2Cl5___Pentachl lowCpCoeffs ( 3.91975 0.0549683 -9.27441e-05 7.45661e-08 -2.32158e-11 -284.949 13.3912 ); } } -C2BR3 +C2Br3 { specie { @@ -35048,7 +35048,7 @@ C8H7___1,3,5,7_Cy lowCpCoeffs ( 0.221489 0.0439671 3.08077e-05 -8.02318e-08 3.77773e-11 58455.7 25.8576 ); } } -PBS(cr)__GALENA +PbS(cr)__GALENA { specie { @@ -35208,7 +35208,7 @@ C4H6Cl2_1,4-DiCl lowCpCoeffs ( 4.62931 0.0213074 4.38339e-05 -8.04356e-08 3.58875e-11 -8812.42 12.3975 ); } } -CHBr2CL +CHBr2Cl { specie { @@ -35272,7 +35272,7 @@ ClC2H4OH__ATcT_C lowCpCoeffs ( 3.29693 0.0155882 2.61101e-05 -4.87089e-08 2.16773e-11 -33904.2 13.6163 ); } } -ALBr +AlBr { specie { @@ -35336,7 +35336,7 @@ Na2O lowCpCoeffs ( 4.47778 0.0141517 -2.77158e-05 2.4968e-08 -8.46423e-12 -3756.21 3.92862 ); } } -CHCL +CHCl { specie { @@ -35416,7 +35416,7 @@ C4F6_CycloButene lowCpCoeffs ( 4.2381 0.0498 -4.01139e-05 9.85389e-09 1.49299e-12 -148774 8.3064 ); } } -C24CL12_Coronene +C24Cl12_Coronene { specie { @@ -35672,7 +35672,7 @@ C7H8__1,6-diyne lowCpCoeffs ( 2.65094 0.0475342 -6.58275e-06 -2.70985e-08 1.531e-11 44797.6 14.6492 ); } } -CHCL2 +CHCl2 { specie { @@ -35784,7 +35784,7 @@ B3O3F3 lowCpCoeffs ( 2.25601 0.046567 -3.26831e-05 1.27816e-09 5.045e-12 -289030 16.0606 ); } } -PbCL +PbCl { specie { @@ -35832,7 +35832,7 @@ C10_linear_triple lowCpCoeffs ( 3.4855 0.0640662 -9.35342e-05 7.56085e-08 -2.48799e-11 206209 10.6203 ); } } -C2CL2F4__FC-114 +C2Cl2F4__FC-114 { specie { @@ -35928,7 +35928,7 @@ C7H5NS_Benzothiaz lowCpCoeffs ( -0.923877 0.0491355 1.97405e-05 -7.21022e-08 3.54777e-11 22598.7 30.7415 ); } } -ALCL2 +AlCl2 { specie { @@ -36200,7 +36200,7 @@ HNO3+ lowCpCoeffs ( 0.696075 0.0308976 -4.05429e-05 2.68505e-08 -7.08467e-12 122156 22.6095 ); } } -CCLF +CClF { specie { @@ -36408,12 +36408,12 @@ C3H7NO3_NPN lowCpCoeffs ( 4.69954 0.0174527 6.53066e-05 -9.90515e-08 4.08918e-11 -24608.3 11.0308 ); } } -AIR +air { specie { nMoles 1; - molWeight 0; + molWeight 28.9644; } thermodynamics { @@ -36808,7 +36808,7 @@ CH2O+_Fornald_cati lowCpCoeffs ( 2.99008 0.00405957 7.18536e-06 -1.01674e-08 3.74118e-12 112947 8.64302 ); } } -C12H6CL2O +C12H6Cl2O { specie { @@ -36952,7 +36952,7 @@ Na2O(L) lowCpCoeffs 7 { 0 }; } } -CH2BRCOOH +CH2BrCOOH { specie { diff --git a/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.H b/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.H index 7d788fe4df..f9294eedd0 100644 --- a/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.H +++ b/src/OpenFOAM/containers/Dictionaries/DictionaryBase/DictionaryBase.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -74,13 +74,15 @@ class DictionaryBase : public IDLListType { - // Private data +protected: + + // Protected data //- HashTable of the entries held on the IDLListType for quick lookup HashTable hashedTs_; - // Private Member functions + // Protected Member functions // Add the IDLListType entries into the HashTable void addEntries(); @@ -146,6 +148,7 @@ public: // and annul the argument. void transfer(DictionaryBase&); + // Member operators void operator=(const DictionaryBase&); diff --git a/src/OpenFOAM/containers/Dictionaries/PtrDictionary/PtrDictionary.H b/src/OpenFOAM/containers/Dictionaries/PtrDictionary/PtrDictionary.H index efa739d26a..a287e326cb 100644 --- a/src/OpenFOAM/containers/Dictionaries/PtrDictionary/PtrDictionary.H +++ b/src/OpenFOAM/containers/Dictionaries/PtrDictionary/PtrDictionary.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,11 +25,10 @@ Class Foam::PtrDictionary Description - Template dictionary class which does not manages the storage - associated with it. + Template dictionary class which manages the storage associated with it. - It is derived from DictionaryBase instantiated on a non-memory managed - form of intrusive doubly-linked list of T. + It is derived from DictionaryBase instantiated on a memory managed form of + intrusive doubly-linked list of \. SourceFiles PtrDictionary.C @@ -73,6 +72,21 @@ public: //- Construct from Istream PtrDictionary(Istream&); + + + // Member operators + + //- Find and return entry + const T& operator[](const word& key) const + { + return *DictionaryBase, T>::operator[](key); + } + + //- Find and return entry + T& operator[](const word& key) + { + return *DictionaryBase, T>::operator[](key); + } }; diff --git a/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.C b/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.C new file mode 100644 index 0000000000..dae34e82fe --- /dev/null +++ b/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.C @@ -0,0 +1,127 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +#include "PtrListDictionary.H" + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +template +Foam::PtrListDictionary::PtrListDictionary(const label size) +: + DictionaryBase, T>(2*size) +{ + PtrList::setSize(size); +} + + +template +Foam::PtrListDictionary::PtrListDictionary(const PtrListDictionary& dict) +: + DictionaryBase, T>(dict) +{} + + +template +template +Foam::PtrListDictionary::PtrListDictionary(Istream& is, const INew& iNew) +: + DictionaryBase, T>(is, iNew) +{} + + +template +Foam::PtrListDictionary::PtrListDictionary(Istream& is) +: + DictionaryBase, T>(is) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template +inline Foam::autoPtr Foam::PtrListDictionary::set +( + const label i, + const word& key, + T* ptr +) +{ + if (!DictionaryBase, T>::hashedTs_.insert(key, ptr)) + { + FatalErrorIn + ( + "PtrListDictionary::set(const label i, const word& key, T* ptr)" + ) << "Cannot insert with key '" << key << "' into hash-table" + << abort(FatalError); + } + return PtrList::set(i, ptr); +} + + +template +inline Foam::autoPtr Foam::PtrListDictionary::set +( + const label i, + const word& key, + autoPtr& aptr +) +{ + T* ptr = aptr.ptr(); + if (!DictionaryBase, T>::hashedTs_.insert(key, ptr)) + { + FatalErrorIn + ( + "PtrListDictionary::" + "set(const label i, const word& key, autoPtr& aptr)" + ) << "Cannot insert with key '" << key << "' into hash-table" + << abort(FatalError); + } + return PtrList::set(i, ptr); +} + + +template +inline Foam::autoPtr Foam::PtrListDictionary::set +( + const label i, + const word& key, + tmp& t +) +{ + T* ptr = t.ptr(); + if (!DictionaryBase, T>::hashedTs_.insert(key, ptr)) + { + FatalErrorIn + ( + "PtrListDictionary::" + "set(const label i, const word& key, tmp& t)" + ) << "Cannot insert with key '" << key << "' into hash-table" + << abort(FatalError); + } + return PtrList::set(i, ptr); +} + + +// ************************************************************************* // diff --git a/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.H b/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.H new file mode 100644 index 0000000000..761bccd76e --- /dev/null +++ b/src/OpenFOAM/containers/Dictionaries/PtrListDictionary/PtrListDictionary.H @@ -0,0 +1,121 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OpenFOAM is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License + along with OpenFOAM. If not, see . + +Class + Foam::PtrListDictionary + +Description + Template dictionary class which manages the storage associated with it. + + It is derived from DictionaryBase instantiated on the memory managed PtrList + of \ to provide ordered indexing in addition to the dictionary lookup. + +SourceFiles + PtrListDictionary.C + +\*---------------------------------------------------------------------------*/ + +#ifndef PtrListDictionary_H +#define PtrListDictionary_H + +#include "DictionaryBase.H" +#include "PtrList.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ + +/*---------------------------------------------------------------------------*\ + Class PtrListDictionary Declaration +\*---------------------------------------------------------------------------*/ + +template +class PtrListDictionary +: + public DictionaryBase, T> +{ + +public: + + // Constructors + + //- Construct given initial list size + PtrListDictionary(const label size); + + //- Copy construct + PtrListDictionary(const PtrListDictionary&); + + //- Construct from Istream using given Istream constructor class + template + PtrListDictionary(Istream&, const INew&); + + //- Construct from Istream + PtrListDictionary(Istream&); + + + // Member functions + + //- Set element to pointer provided and return old element + autoPtr set(const label, const word& key, T*); + + //- Set element to autoPtr value provided and return old element + autoPtr set(const label, const word& key, autoPtr&); + + //- Set element to tmp value provided and return old element + autoPtr set(const label, const word& key, tmp&); + + + // Member operators + + using PtrList::operator[]; + + //- Find and return entry + const T& operator[](const word& key) const + { + return *DictionaryBase, T>::operator[](key); + } + + //- Find and return entry + T& operator[](const word& key) + { + return *DictionaryBase, T>::operator[](key); + } +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#ifdef NoRepository +# include "PtrListDictionary.C" +#endif + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LList.H b/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LList.H index 3e4ed069c9..e8a9ff22d4 100644 --- a/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LList.H +++ b/src/OpenFOAM/containers/LinkedLists/accessTypes/LList/LList.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -203,6 +203,7 @@ public: // and annul the argument list. void transfer(LList&); + // Member operators void operator=(const LList&); @@ -265,6 +266,16 @@ public: } }; + inline iterator begin() + { + return LListBase::begin(); + } + + inline const iterator& end() + { + return static_cast(LListBase::end()); + } + // STL const_iterator @@ -313,6 +324,26 @@ public: } }; + inline const_iterator cbegin() const + { + return LListBase::cbegin(); + } + + inline const const_iterator& cend() const + { + return static_cast(LListBase::cend()); + } + + inline const_iterator begin() const + { + return LListBase::begin(); + } + + inline const const_iterator& end() const + { + return static_cast(LListBase::end()); + } + // IOstream operators diff --git a/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.H b/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.H index 893af00422..b2ec4c8fca 100644 --- a/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.H +++ b/src/OpenFOAM/containers/LinkedLists/accessTypes/UILList/UILList.H @@ -209,6 +209,16 @@ public: } }; + inline iterator begin() + { + return LListBase::begin(); + } + + inline const iterator& end() + { + return static_cast(LListBase::end()); + } + // STL const_iterator @@ -256,6 +266,26 @@ public: } }; + inline const_iterator cbegin() const + { + return LListBase::cbegin(); + } + + inline const const_iterator& cend() const + { + return static_cast(LListBase::cend()); + } + + inline const_iterator begin() const + { + return LListBase::begin(); + } + + inline const const_iterator& end() const + { + return static_cast(LListBase::end()); + } + // STL const_reverse_iterator @@ -298,6 +328,29 @@ public: } }; + inline const_reverse_iterator crbegin() const + { + return LListBase::crbegin(); + } + + inline const const_reverse_iterator& crend() const + { + return + static_cast(LListBase::crend()); + } + + + inline const_reverse_iterator rbegin() const + { + return LListBase::rbegin(); + } + + inline const const_reverse_iterator& rend() const + { + return + static_cast(LListBase::rend()); + } + // STL member operators diff --git a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H index 095e51fe1f..0e7fc75aa8 100644 --- a/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H +++ b/src/OpenFOAM/containers/LinkedLists/linkTypes/DLListBase/DLListBase.H @@ -263,6 +263,7 @@ public: inline const_iterator begin() const; inline const const_iterator& end() const; + // STL const_reverse_iterator //- An STL-conforming const_reverse_iterator @@ -300,6 +301,7 @@ public: inline const_reverse_iterator rbegin() const; inline const const_reverse_iterator& rend() const; + private: //- Iterator returned by end() @@ -310,7 +312,6 @@ private: //- const_reverse_iterator returned by end() static const_reverse_iterator endConstRevIter_; - }; diff --git a/src/OpenFOAM/containers/LinkedLists/user/DLPtrList.H b/src/OpenFOAM/containers/LinkedLists/user/DLPtrList.H index 6e83434125..9793d8be9f 100644 --- a/src/OpenFOAM/containers/LinkedLists/user/DLPtrList.H +++ b/src/OpenFOAM/containers/LinkedLists/user/DLPtrList.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -58,12 +58,6 @@ public: DLPtrList() {} - //- Construct given initial T - DLPtrList(T a) - : - LPtrList(a) - {} - //- Construct from Istream using given Istream constructor class template DLPtrList(Istream& is, const INew& inewt) diff --git a/src/OpenFOAM/containers/Lists/PtrList/PtrList.H b/src/OpenFOAM/containers/Lists/PtrList/PtrList.H index 357b078dbf..b3b2924d9f 100644 --- a/src/OpenFOAM/containers/Lists/PtrList/PtrList.H +++ b/src/OpenFOAM/containers/Lists/PtrList/PtrList.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -32,6 +32,7 @@ Description pointer. SourceFiles + PtrListI.H PtrList.C PtrListIO.C @@ -80,6 +81,34 @@ inline label operator- const typename PtrList::iterator& ); +template +inline typename PtrList::const_iterator operator+ +( + const typename PtrList::const_iterator&, + label +); + +template +inline typename PtrList::const_iterator operator+ +( + label, + const typename PtrList::const_iterator& +); + +template +inline typename PtrList::const_iterator operator- +( + const typename PtrList::const_iterator&, + label +); + +template +inline label operator- +( + const typename PtrList::const_iterator&, + const typename PtrList::const_iterator& +); + template Istream& operator>>(Istream&, PtrList&); @@ -245,7 +274,9 @@ public: // Random access iterator for traversing PtrList. class iterator; + class const_iterator; friend class iterator; + friend class const_iterator; //- An STL-conforming iterator class iterator @@ -254,6 +285,8 @@ public: public: + friend class const_iterator; + //- Construct for a given PtrList entry inline iterator(T**); @@ -303,6 +336,87 @@ public: inline iterator end(); + // STL const_iterator + // Random access iterator for traversing PtrList. + + //- An STL-conforming const_iterator + class const_iterator + { + const T* const* ptr_; + + public: + + //- Construct for a given PtrList entry + inline const_iterator(const T* const*); + + //- Construct from an iterator + inline const_iterator(const iterator&); + + + // Member operators + + inline bool operator==(const const_iterator&) const; + inline bool operator!=(const const_iterator&) const; + + typedef const T& Tref; + inline Tref operator*(); + inline Tref operator()(); + + inline const_iterator operator++(); + inline const_iterator operator++(int); + + inline const_iterator operator--(); + inline const_iterator operator--(int); + + inline const_iterator operator+=(label); + + friend const_iterator operator+ + ( + const const_iterator&, + label + ); + friend const_iterator operator+ + ( + label, + const const_iterator& + ); + + inline const_iterator operator-=(label); + + friend const_iterator operator- + ( + const const_iterator&, + label + ); + + friend label operator- + ( + const const_iterator&, + const const_iterator& + ); + + inline const T& operator[](label); + + inline bool operator<(const const_iterator&) const; + inline bool operator>(const const_iterator&) const; + + inline bool operator<=(const const_iterator&) const; + inline bool operator>=(const const_iterator&) const; + }; + + //- Return an const_iterator to begin traversing the PtrList. + inline const_iterator cbegin() const; + + //- Return an const_iterator to end traversing the PtrList. + inline const_iterator cend() const; + + //- Return an const_iterator to begin traversing the PtrList. + inline const_iterator begin() const; + + //- Return an const_iterator to end traversing the PtrList. + inline const_iterator end() const; + + // IOstream operator //- Read List from Istream, discarding contents of existing List. diff --git a/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H b/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H index e6acf7fab6..a2970eb361 100644 --- a/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H +++ b/src/OpenFOAM/containers/Lists/PtrList/PtrListI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -23,8 +23,6 @@ License \*---------------------------------------------------------------------------*/ -#include "error.H" - #include "autoPtr.H" #include "tmp.H" @@ -373,4 +371,227 @@ inline typename Foam::PtrList::iterator Foam::PtrList::end() } +// * * * * * * * * * * * * * * * STL const_iterator * * * * * * * * * * * * // + +template +inline Foam::PtrList::const_iterator::const_iterator(const T* const* ptr) +: + ptr_(ptr) +{} + + +template +inline Foam::PtrList::const_iterator::const_iterator(const iterator& iter) +: + ptr_(iter.ptr_) +{} + + +template +inline bool Foam::PtrList::const_iterator::operator== +( + const const_iterator& iter +) const +{ + return ptr_ == iter.ptr_; +} + + +template +inline bool Foam::PtrList::const_iterator::operator!= +( + const const_iterator& iter +) const +{ + return ptr_ != iter.ptr_; +} + + +template +inline const T& Foam::PtrList::const_iterator::operator*() +{ + return **ptr_; +} + + +template +inline const T& Foam::PtrList::const_iterator::operator()() +{ + return operator*(); +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::const_iterator::operator++() +{ + ++ptr_; + return *this; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::const_iterator::operator++(int) +{ + const_iterator tmp = *this; + ++ptr_; + return tmp; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::const_iterator::operator--() +{ + --ptr_; + return *this; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::const_iterator::operator--(int) +{ + const_iterator tmp = *this; + --ptr_; + return tmp; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::const_iterator::operator+=(label n) +{ + ptr_ += n; + return *this; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::operator+(const typename PtrList::const_iterator& iter, label n) +{ + typename PtrList::const_iterator tmp = iter; + return tmp += n; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::operator+(label n, const typename PtrList::const_iterator& iter) +{ + typename PtrList::const_iterator tmp = iter; + return tmp += n; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::const_iterator::operator-=(label n) +{ + ptr_ -= n; + return *this; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::operator-(const typename PtrList::const_iterator& iter, label n) +{ + typename PtrList::const_iterator tmp = iter; + return tmp -= n; +} + + +template +inline Foam::label Foam::operator- +( + const typename PtrList::const_iterator& iter1, + const typename PtrList::const_iterator& iter2 +) +{ + return (iter1.ptr_ - iter2.ptr_)/sizeof(T*); +} + + +template +inline const T& Foam::PtrList::const_iterator::operator[](label n) +{ + return *(*this + n); +} + + +template +inline bool Foam::PtrList::const_iterator::operator< +( + const const_iterator& iter +) const +{ + return ptr_ < iter.ptr_; +} + + +template +inline bool Foam::PtrList::const_iterator::operator> +( + const const_iterator& iter +) const +{ + return ptr_ > iter.ptr_; +} + + +template +inline bool Foam::PtrList::const_iterator::operator<= +( + const const_iterator& iter +) const +{ + return ptr_ <= iter.ptr_; +} + + +template +inline bool Foam::PtrList::const_iterator::operator>= +( + const const_iterator& iter +) const +{ + return ptr_ >= iter.ptr_; +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::begin() const +{ + return ptrs_.begin(); +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::end() const +{ + return ptrs_.end(); +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::cbegin() const +{ + return ptrs_.begin(); +} + + +template +inline typename Foam::PtrList::const_iterator +Foam::PtrList::cend() const +{ + return ptrs_.end(); +} + + // ************************************************************************* // diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C index b9ed09ae80..fdb38737a5 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C +++ b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.C @@ -178,8 +178,8 @@ Foam::dimensioned Foam::dimensioned::lookupOrDefault ( const word& name, const dictionary& dict, - const Type& defaultValue, - const dimensionSet& dims + const dimensionSet& dims, + const Type& defaultValue ) { if (dict.found(name)) @@ -193,13 +193,25 @@ Foam::dimensioned Foam::dimensioned::lookupOrDefault } +template +Foam::dimensioned Foam::dimensioned::lookupOrDefault +( + const word& name, + const dictionary& dict, + const Type& defaultValue +) +{ + return lookupOrDefault(name, dict, dimless, defaultValue); +} + + template Foam::dimensioned Foam::dimensioned::lookupOrAddToDict ( const word& name, dictionary& dict, - const Type& defaultValue, - const dimensionSet& dims + const dimensionSet& dims, + const Type& defaultValue ) { Type value = dict.lookupOrAddDefault(name, defaultValue); @@ -207,6 +219,18 @@ Foam::dimensioned Foam::dimensioned::lookupOrAddToDict } +template +Foam::dimensioned Foam::dimensioned::lookupOrAddToDict +( + const word& name, + dictionary& dict, + const Type& defaultValue +) +{ + return lookupOrAddToDict(name, dict, dimless, defaultValue); +} + + // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // template diff --git a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H index bb7f632918..40baca77f6 100644 --- a/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H +++ b/src/OpenFOAM/dimensionedTypes/dimensionedType/dimensionedType.H @@ -123,13 +123,21 @@ public: // Static member functions - //- Construct from dictionary, with default value. + //- Construct from dictionary, with default dimensions and value. static dimensioned lookupOrDefault ( const word&, const dictionary&, - const Type& defaultValue = pTraits::zero, - const dimensionSet& dims = dimless + const dimensionSet& dims = dimless, + const Type& defaultValue = pTraits::zero + ); + + //- Construct from dictionary dimensionless with value. + static dimensioned lookupOrDefault + ( + const word&, + const dictionary&, + const Type& defaultValue = pTraits::zero ); //- Construct from dictionary, with default value. @@ -138,8 +146,17 @@ public: ( const word&, dictionary&, - const Type& defaultValue = pTraits::zero, - const dimensionSet& dims = dimless + const dimensionSet& dims = dimless, + const Type& defaultValue = pTraits::zero + ); + + //- Construct from dictionary, dimensionless with default value. + // If the value is not found, it is added into the dictionary. + static dimensioned lookupOrAddToDict + ( + const word&, + dictionary&, + const Type& defaultValue = pTraits::zero ); diff --git a/src/OpenFOAM/meshes/meshShapes/face/face.C b/src/OpenFOAM/meshes/meshShapes/face/face.C index e7b8c5e3e9..30847ce3ca 100644 --- a/src/OpenFOAM/meshes/meshShapes/face/face.C +++ b/src/OpenFOAM/meshes/meshShapes/face/face.C @@ -427,18 +427,22 @@ bool Foam::face::sameVertices(const face& a, const face& b) forAll(a, i) { - bool found = false; - - forAll(b, j) + // Count occurrences of a[i] in a + label aOcc = 0; + forAll(a, j) { - if (a[i] == b[j]) - { - found = true; - break; - } + if (a[i] == a[j]) aOcc++; } - if (!found) return false; + // Count occurrences of a[i] in b + label bOcc = 0; + forAll(b, j) + { + if (a[i] == b[j]) bOcc++; + } + + // Check if occurrences of a[i] in a and b are the same + if (aOcc != bOcc) return false; } return true; diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C index 2739e828b3..b36a0e9579 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalMeshData.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -2746,22 +2746,44 @@ void Foam::globalMeshData::updateMesh() Pout<< "globalMeshData : merge dist:" << tolDim << endl; } + // *** Temporary hack to avoid problems with overlapping communication + // *** between these reductions and the calculation of deltaCoeffs + label comm = UPstream::worldComm + 1; + // Total number of faces. - nTotalFaces_ = returnReduce(mesh_.nFaces(), sumOp