diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files index 4f1288f7af8e728ef70ab9afbf899ba3ad88e45d..4b0a2cd0af0731203d8e0e932173adecf1388e35 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/Make/files @@ -56,6 +56,8 @@ derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFreq derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/newDepartureFrequencyModel.C derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C +derivedFvPatchFields/wallBoilingSubModels/IATEsource/wallBoiling.C + derivedFvPatchFields/alphatPhaseChangeJayatillekeWallFunction/alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.C derivedFvPatchFields/alphatFixedDmdtWallBoilingWallFunction/alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField.C derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C index e13e850b23073c30f8e089b431102ba70381547a..2ee2e53cc3ca8170d857b61261b5f40ee1e02b61 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C @@ -84,6 +84,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField relax_(0.5), AbyV_(p.size(), 0), alphatConv_(p.size(), 0), + dDep_(p.size(), 0), partitioningModel_(nullptr), nucleationSiteModel_(nullptr), departureDiamModel_(nullptr), @@ -92,7 +93,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField AbyV_ = this->patch().magSf(); forAll(AbyV_, facei) { - label faceCelli = this->patch().faceCells()[facei]; + const label faceCelli = this->patch().faceCells()[facei]; AbyV_[facei] /= iF.mesh().V()[faceCelli]; } } @@ -111,6 +112,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField relax_(dict.lookupOrDefault<scalar>("relax", 0.5)), AbyV_(p.size(), 0), alphatConv_(p.size(), 0), + dDep_(p.size(), 0), partitioningModel_(nullptr), nucleationSiteModel_(nullptr), departureDiamModel_(nullptr), @@ -192,6 +194,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField relax_(psf.relax_), AbyV_(psf.AbyV_), alphatConv_(psf.alphatConv_, mapper), + dDep_(psf.dDep_, mapper), partitioningModel_(psf.partitioningModel_), nucleationSiteModel_(psf.nucleationSiteModel_), departureDiamModel_(psf.departureDiamModel_), @@ -209,6 +212,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField relax_(psf.relax_), AbyV_(psf.AbyV_), alphatConv_(psf.alphatConv_), + dDep_(psf.dDep_), partitioningModel_(psf.partitioningModel_), nucleationSiteModel_(psf.nucleationSiteModel_), departureDiamModel_(psf.departureDiamModel_), @@ -227,6 +231,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField relax_(psf.relax_), AbyV_(psf.AbyV_), alphatConv_(psf.alphatConv_), + dDep_(psf.dDep_), partitioningModel_(psf.partitioningModel_), nucleationSiteModel_(psf.nucleationSiteModel_), departureDiamModel_(psf.departureDiamModel_), @@ -444,15 +449,12 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() ); // Bubble departure diameter: - const scalarField dDep + dDep_ = departureDiamModel_->dDeparture ( - departureDiamModel_->dDeparture - ( - liquid, - vapor, - patchi, - Tsub - ) + liquid, + vapor, + patchi, + Tsub ); // Bubble departure frequency: @@ -463,7 +465,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() liquid, vapor, patchi, - dDep + dDep_ ) ); @@ -473,12 +475,12 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const scalarField Ja(rhoLiquidw*Cpw*Tsub/(rhoVaporw*L)); const scalarField Al(fLiquid*4.8*exp(-Ja/80)); - const scalarField A2(min(M_PI*sqr(dDep)*N*Al/4, scalar(1))); + const scalarField A2(min(M_PI*sqr(dDep_)*N*Al/4, scalar(1))); const scalarField A1(max(1 - A2, scalar(1e-4))); - const scalarField A2E(min(M_PI*sqr(dDep)*N*Al/4, scalar(5))); + const scalarField A2E(min(M_PI*sqr(dDep_)*N*Al/4, scalar(5))); // Wall evaporation heat flux [kg/s3 = J/m2s] - const scalarField Qe((1.0/6.0)*A2E*dDep*rhoVaporw*fDep*L); + const scalarField Qe((1.0/6.0)*A2E*dDep_*rhoVaporw*fDep*L); // Volumetric mass source in the near wall cell due to the // wall boiling @@ -540,8 +542,8 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() Info<< " L: " << gMin(L) << " - " << gMax(L) << endl; Info<< " Tl: " << gMin(Tl) << " - " << gMax(Tl) << endl; Info<< " N: " << gMin(N) << " - " << gMax(N) << endl; - Info<< " dDep: " << gMin(dDep) << " - " - << gMax(dDep) << endl; + Info<< " dDep_: " << gMin(dDep_) << " - " + << gMax(dDep_) << endl; Info<< " fDep: " << gMin(fDep) << " - " << gMax(fDep) << endl; Info<< " Al: " << gMin(Al) << " - " << gMax(Al) << endl; diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H index 52d488b1779fb9310e5b6fa14036bb4e1df6a1e2..d724d9861156f1fccee8dd0768198eb4f72f6494 100755 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H @@ -178,6 +178,9 @@ private: //- Convective turbulent thermal diffusivity scalarField alphatConv_; + //- Departure diameter field + scalarField dDep_; + //- Run-time selected heat flux partitioning model autoPtr<wallBoilingModels::partitioningModel> partitioningModel_; @@ -266,6 +269,13 @@ public: // Member functions + //- Calculate and return the departure diameter field + const scalarField& dDeparture() const + { + return dDep_; + } + + // Evaluation functions //- Update the coefficients associated with the patch field diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/wallBoilingSubModels/IATEsource/wallBoiling.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/wallBoilingSubModels/IATEsource/wallBoiling.C new file mode 100644 index 0000000000000000000000000000000000000000..fbc20370df89505451ca445aa51915bebc6282ae --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/wallBoilingSubModels/IATEsource/wallBoiling.C @@ -0,0 +1,143 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 <http://www.gnu.org/licenses/>. + +\*---------------------------------------------------------------------------*/ + +#include "wallBoiling.H" +#include "phaseCompressibleTurbulenceModel.H" +#include "alphatWallBoilingWallFunctionFvPatchScalarField.H" +#include "fvmSup.H" +#include "addToRunTimeSelectionTable.H" + +// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // + +namespace Foam +{ +namespace diameterModels +{ +namespace IATEsources +{ + defineTypeNameAndDebug(wallBoiling, 0); + addToRunTimeSelectionTable(IATEsource, wallBoiling, dictionary); +} +} +} + + +// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // + +Foam::diameterModels::IATEsources::wallBoiling::wallBoiling +( + const IATE& iate, + const dictionary& dict +) +: + IATEsource(iate) +{} + + +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +Foam::tmp<Foam::fvScalarMatrix> +Foam::diameterModels::IATEsources::wallBoiling::R +( + volScalarField& kappai +) const +{ + volScalarField::Internal R + ( + IOobject + ( + "wallBoiling:R", + phase().time().timeName(), + phase().mesh() + ), + phase().mesh(), + dimensionedScalar("R", dimless/dimTime, 0) + ); + + volScalarField::Internal Rdk + ( + IOobject + ( + "wallBoiling:Rdk", + phase().time().timeName(), + phase().mesh() + ), + phase().mesh(), + dimensionedScalar("Rdk", kappai.dimensions()/dimTime, 0) + ); + + const phaseCompressibleTurbulenceModel& turbulence = + const_cast<phaseCompressibleTurbulenceModel&> + ( + phase().db().lookupObject<phaseCompressibleTurbulenceModel> + ( + IOobject::groupName + ( + turbulenceModel::propertiesName, + otherPhase().name() + ) + ) + ); + + const tmp<volScalarField> talphat(turbulence.alphat()); + const volScalarField::Boundary& alphatBf = talphat().boundaryField(); + + const scalarField& rho = phase().rho(); + + typedef compressible::alphatWallBoilingWallFunctionFvPatchScalarField + alphatWallBoilingWallFunction; + + forAll(alphatBf, patchi) + { + if + ( + isA<alphatWallBoilingWallFunction>(alphatBf[patchi]) + ) + { + const alphatWallBoilingWallFunction& alphatw = + refCast<const alphatWallBoilingWallFunction>(alphatBf[patchi]); + + const scalarField& dmdt = alphatw.dmdt(); + const scalarField& dDep = alphatw.dDeparture(); + + const labelList& faceCells = alphatw.patch().faceCells(); + + forAll(alphatw, facei) + { + if (dmdt[facei] > SMALL) + { + const label faceCelli = faceCells[facei]; + R[faceCelli] = (dmdt[facei]/rho[faceCelli]); + Rdk[faceCelli] = R[faceCelli]*(6.0/dDep[facei]); + } + } + } + } + + return Rdk - fvm::Sp(R, kappai); +} + + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/wallBoilingSubModels/IATEsource/wallBoiling.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/wallBoilingSubModels/IATEsource/wallBoiling.H new file mode 100644 index 0000000000000000000000000000000000000000..b1dff1a70e8c74160f39d7cb6e516291ab08315d --- /dev/null +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseCompressibleTurbulenceModels/derivedFvPatchFields/wallBoilingSubModels/IATEsource/wallBoiling.H @@ -0,0 +1,94 @@ +/*---------------------------------------------------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | + \\ / A nd | Copyright (C) 2016 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 <http://www.gnu.org/licenses/>. + +Class + Foam::diameterModels::IATEsources::wallBoiling + +Description + Wall-boiling IATE source. + +SourceFiles + wallBoiling.C + +\*---------------------------------------------------------------------------*/ + +#ifndef wallBoiling_H +#define wallBoiling_H + +#include "IATEsource.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +namespace Foam +{ +namespace diameterModels +{ +namespace IATEsources +{ + +/*---------------------------------------------------------------------------*\ + Class wallBoiling Declaration +\*---------------------------------------------------------------------------*/ + +class wallBoiling +: + public IATEsource +{ + +public: + + //- Runtime type information + TypeName("wallBoiling"); + + + // Constructors + + wallBoiling + ( + const IATE& iate, + const dictionary& dict + ); + + + //- Destructor + virtual ~wallBoiling() + {} + + + // Member Functions + + virtual tmp<fvScalarMatrix> R(volScalarField& kappai) const; +}; + + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +} // End namespace IATEsources +} // End namespace diameterModels +} // End namespace Foam + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +#endif + +// ************************************************************************* // diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C index e085403f76a894307e143dfc5dd445c0523ac441..0a469859da2b16a00d516eb1c5d523002afc931e 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATE.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -116,43 +116,33 @@ Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATE::dsm() const return max(6/max(kappai_, 6/dMax_), dMin_); } -// Placeholder for the nucleation/condensation model -// Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATE::Rph() const -// { -// const volScalarField& T = phase_thermo().T(); -// const volScalarField& p = phase_.p(); -// -// scalar A, B, C, sigma, vm, Rph; -// -// volScalarField ps(1e5*pow(10, A - B/(T + C))); -// volScalarField Dbc -// ( -// 4*sigma*vm/(constant::physicoChemical::k*T*log(p/ps)) -// ); -// -// return constant::mathematical::pi*sqr(Dbc)*Rph; -// } - void Foam::diameterModels::IATE::correct() { // Initialise the accumulated source term to the dilatation effect - volScalarField R + fvScalarMatrix R ( + -fvm::SuSp ( - (1.0/3.0) - /max ( - fvc::average(phase_ + phase_.oldTime()), - residualAlpha_ + (1.0/3.0) + /max + ( + fvc::average(phase_ + phase_.oldTime()), + residualAlpha_ + ) ) + *( + fvc::ddt(phase_) + fvc::div(phase_.alphaPhi()) + - phase_.continuityError()/phase_.rho() + ), + kappai_ ) - *(fvc::ddt(phase_) + fvc::div(phase_.alphaPhi())) ); // Accumulate the run-time selectable sources forAll(sources_, j) { - R -= sources_[j].R(); + R += sources_[j].R(kappai_); } fv::options& fvOptions(fv::options::New(phase_.mesh())); @@ -163,8 +153,7 @@ void Foam::diameterModels::IATE::correct() fvm::ddt(kappai_) + fvm::div(phase_.phi(), kappai_) - fvm::Sp(fvc::div(phase_.phi()), kappai_) == - - fvm::SuSp(R, kappai_) - //+ Rph() // Omit the nucleation/condensation term + R + fvOptions(kappai_) ); diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H index 5e135c16152439099c206e30e015056f486d1d14..e4b6b6ed5e6b1b0e7a0091cc7642bfb9d9c2d27a 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/IATEsource/IATEsource.H @@ -177,7 +177,7 @@ public: //- Return the bubble Webber number tmp<volScalarField> We() const; - virtual tmp<volScalarField> R() const = 0; + virtual tmp<fvScalarMatrix> R(volScalarField& kappai) const = 0; }; diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C index 86072b8dd0a78da67d3a736e101ec0c99a0a25a5..4a9cba011044a551d721ce71918867af0c3ddf74 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "randomCoalescence.H" +#include "fvmSup.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -59,42 +60,39 @@ randomCoalescence // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> -Foam::diameterModels::IATEsources::randomCoalescence::R() const +Foam::tmp<Foam::fvScalarMatrix> +Foam::diameterModels::IATEsources::randomCoalescence::R +( + volScalarField& kappai +) const { - tmp<volScalarField> tR + volScalarField::Internal R ( - new volScalarField + IOobject ( - IOobject - ( - "R", - iate_.phase().time().timeName(), - iate_.phase().mesh() - ), - iate_.phase().mesh(), - dimensionedScalar("R", dimless/dimTime, 0) - ) + "randomCoalescence:R", + iate_.phase().time().timeName(), + iate_.phase().mesh() + ), + iate_.phase().mesh(), + dimensionedScalar("R", dimless/dimTime, 0) ); - volScalarField R = tR(); - - scalar Crc = Crc_.value(); - scalar C = C_.value(); - scalar alphaMax = alphaMax_.value(); - volScalarField Ut(this->Ut()); + const scalar Crc = Crc_.value(); + const scalar C = C_.value(); + const scalar alphaMax = alphaMax_.value(); + const volScalarField Ut(this->Ut()); const volScalarField& alpha = phase(); - const volScalarField& kappai = iate_.kappai(); - scalar cbrtAlphaMax = cbrt(alphaMax); + const scalar cbrtAlphaMax = cbrt(alphaMax); forAll(R, celli) { if (alpha[celli] < alphaMax - SMALL) { - scalar cbrtAlphaMaxMAlpha = cbrtAlphaMax - cbrt(alpha[celli]); + const scalar cbrtAlphaMaxMAlpha = cbrtAlphaMax - cbrt(alpha[celli]); R[celli] = - (-12)*phi()*kappai[celli]*alpha[celli] + 12*phi()*kappai[celli]*alpha[celli] *Crc *Ut[celli] *(1 - exp(-C*cbrt(alpha[celli]*alphaMax)/cbrtAlphaMaxMAlpha)) @@ -102,7 +100,7 @@ Foam::diameterModels::IATEsources::randomCoalescence::R() const } } - return tR; + return -fvm::Sp(R, kappai); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H index 42dad81250152fa932f6815f210a4e8f5043fb15..febd48b4bec075502cc9c1cee7100892c04ae503 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/randomCoalescence/randomCoalescence.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -89,7 +89,7 @@ public: // Member Functions - virtual tmp<volScalarField> R() const; + virtual tmp<fvScalarMatrix> R(volScalarField& kappai) const; }; diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C index 1dde056beb451e69b9071781c96815837c3cb607..2ada8383ee04a3c7a279ccea62f5b0981cc4ad55 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "turbulentBreakUp.H" +#include "fvmSup.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -58,46 +59,39 @@ turbulentBreakUp // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> -Foam::diameterModels::IATEsources::turbulentBreakUp::R() const +Foam::tmp<Foam::fvScalarMatrix> +Foam::diameterModels::IATEsources::turbulentBreakUp::R +( + volScalarField& kappai +) const { - tmp<volScalarField> tR + volScalarField::Internal R ( - new volScalarField + IOobject ( - IOobject - ( - "R", - iate_.phase().time().timeName(), - iate_.phase().mesh() - ), - iate_.phase().mesh(), - dimensionedScalar("R", dimless/dimTime, 0) - ) + "turbulentBreakUp:R", + iate_.phase().time().timeName(), + iate_.phase().mesh() + ), + iate_.phase().mesh(), + dimensionedScalar("R", kappai.dimensions()/dimTime, 0) ); - volScalarField R = tR(); - - scalar Cti = Cti_.value(); - scalar WeCr = WeCr_.value(); - volScalarField Ut(this->Ut()); - volScalarField We(this->We()); - const volScalarField& d(iate_.d()()); + const scalar Cti = Cti_.value(); + const scalar WeCr = WeCr_.value(); + const volScalarField Ut(this->Ut()); + const volScalarField We(this->We()); forAll(R, celli) { if (We[celli] > WeCr) { R[celli] = - (1.0/3.0) - *Cti/d[celli] - *Ut[celli] - *sqrt(1 - WeCr/We[celli]) - *exp(-WeCr/We[celli]); + 2*Cti*Ut[celli]*sqrt(1 - WeCr/We[celli])*exp(-WeCr/We[celli]); } } - return tR; + return fvm::Su(R, kappai); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H index d2040379c3bc24eae6261f96f5b7d77eeca57811..8f6112f66ddfbb9115f1b3da76b91ee01a65dd17 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/turbulentBreakUp/turbulentBreakUp.H @@ -1,8 +1,8 @@ -/*---------------------------------------------------------------------------*\ +/*---------------------------------------------------------------------------* \ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -87,7 +87,7 @@ public: // Member Functions - virtual tmp<volScalarField> R() const; + virtual tmp<fvScalarMatrix> R(volScalarField& kappai) const; }; diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C index 20634b3204cc1e742b88f4d0ec34c083dd5c7649..3e3b35e4b460d4fb2790d0353b48ef8d38c72f47 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -24,6 +24,7 @@ License \*---------------------------------------------------------------------------*/ #include "wakeEntrainmentCoalescence.H" +#include "fvmSup.H" #include "addToRunTimeSelectionTable.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -62,10 +63,13 @@ wakeEntrainmentCoalescence // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -Foam::tmp<Foam::volScalarField> -Foam::diameterModels::IATEsources::wakeEntrainmentCoalescence::R() const +Foam::tmp<Foam::fvScalarMatrix> +Foam::diameterModels::IATEsources::wakeEntrainmentCoalescence::R +( + volScalarField& kappai +) const { - return (-12)*phi()*Cwe_*cbrt(CD())*iate_.a()*Ur(); + return -fvm::SuSp(12*phi()*Cwe_*cbrt(CD())*iate_.a()*Ur(), kappai); } diff --git a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H index ed18bbc9b3c391e11befb3923964c711a02d446a..64c8c2b98f9e92ce2d499af7298ae11038aa4639 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H +++ b/applications/solvers/multiphase/reactingEulerFoam/reactingTwoPhaseEulerFoam/twoPhaseSystem/diameterModels/IATE/IATEsources/wakeEntrainmentCoalescence/wakeEntrainmentCoalescence.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013-2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -86,7 +86,7 @@ public: // Member Functions - virtual tmp<volScalarField> R() const; + virtual tmp<fvScalarMatrix> R(volScalarField& kappai) const; }; diff --git a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C index 27646f6dbbdd4a025333909b44a84b9e139e0e25..e6c2a9bd99eee1f5b502a7e2bb5ef6207cdb2153 100644 --- a/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C +++ b/src/TurbulenceModels/compressible/turbulentFluidThermoModels/derivedFvPatchFields/wallFunctions/alphatWallFunctions/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2015 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2015-2016 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -49,8 +49,8 @@ alphatPhaseChangeWallFunctionFvPatchScalarField ) : fixedValueFvPatchScalarField(p, iF), - dmdt_(p.size(), 0.0), - mDotL_(p.size(), 0.0) + dmdt_(p.size(), 0), + mDotL_(p.size(), 0) {} @@ -63,8 +63,8 @@ alphatPhaseChangeWallFunctionFvPatchScalarField ) : fixedValueFvPatchScalarField(p, iF, dict), - dmdt_(p.size(), 0.0), - mDotL_(p.size(), 0.0) + dmdt_(p.size(), 0), + mDotL_(p.size(), 0) { if (dict.found("dmdt")) { diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/T.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/T.gas new file mode 100644 index 0000000000000000000000000000000000000000..31f188e880bd1dbf3b39a6a18c99646f5bd46128 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/T.gas @@ -0,0 +1,53 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "5"; + object T.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 368; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 368; + } + outlet + { + type inletOutlet; + phi phi.gas; + inletValue uniform 368; + value uniform 368; + } + wall1 + { + type zeroGradient; + } + wall2 + { + type copiedFixedValue; + sourceFieldName T.liquid; + value uniform 368; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/T.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/T.liquid new file mode 100644 index 0000000000000000000000000000000000000000..d2c4c4648b3cacac558103f9a01cda43137ef396 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/T.liquid @@ -0,0 +1,55 @@ +/*--------------------------------*- 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 volScalarField; + location "5"; + object T.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 1 0 0 0]; + +internalField uniform 368; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 368; + } + outlet + { + type inletOutlet; + phi phi.liquid; + inletValue uniform 368; + value uniform 368; + } + wall1 + { + type zeroGradient; + } + wall2 + { + type fixedMultiPhaseHeatFlux; + relax 0.5; + q uniform 0; + phase "liquid"; + value uniform 368; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/U.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/U.gas new file mode 100644 index 0000000000000000000000000000000000000000..4eea782c9180ed5e2d2e78338857434ac9fff587 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/U.gas @@ -0,0 +1,54 @@ +/*--------------------------------*- 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 volVectorField; + location "0"; + object U.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 1 0); + +boundaryField +{ + inlet + { + type mapped; + field U.gas; + setAverage 1; + average (0 1 0); + interpolationScheme cell; + value uniform (0 1 0); + } + outlet + { + type pressureInletOutletVelocity; + phi phi.gas; + value uniform (0 1 0); + } + wall1 + { + type slip; + } + wall2 + { + type slip; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/U.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/U.liquid new file mode 100644 index 0000000000000000000000000000000000000000..f0433c8302bf6cf91a249d72a18fcf75ab1ddf81 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/U.liquid @@ -0,0 +1,54 @@ +/*--------------------------------*- 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 volVectorField; + location "0"; + object U.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -1 0 0 0 0]; + +internalField uniform (0 1 0); + +boundaryField +{ + inlet + { + type mapped; + field U.liquid; + setAverage 1; + average (0 1 0); + interpolationScheme cell; + value uniform (0 1 0); + } + outlet + { + type pressureInletOutletVelocity; + phi phi.liquid; + value uniform (0 1 0); + } + wall1 + { + type noSlip; + } + wall2 + { + type noSlip; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alpha.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alpha.gas new file mode 100644 index 0000000000000000000000000000000000000000..ee7b855f1f220b6e5e6dc5f63b43d16e6da0041e --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alpha.gas @@ -0,0 +1,51 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object alpha.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 0; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 0; + } + outlet + { + type inletOutlet; + phi phi.gas; + inletValue uniform 0; + value uniform 0; + } + wall1 + { + type zeroGradient; + } + wall2 + { + type zeroGradient; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alpha.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alpha.liquid new file mode 100644 index 0000000000000000000000000000000000000000..d5601d6a37cbc0645422b39e3b124e593d4c8a89 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alpha.liquid @@ -0,0 +1,51 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object alpha.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + inlet + { + type calculated; + value uniform 1; + } + outlet + { + type calculated; + value uniform 1; + } + wall1 + { + type calculated; + value uniform 1; + } + wall2 + { + type calculated; + value uniform 1; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alphat.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alphat.gas new file mode 100644 index 0000000000000000000000000000000000000000..5498b8f205b5987d96188aad1b876b217bc71efc --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alphat.gas @@ -0,0 +1,65 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object alphat.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 1e-8; + +boundaryField +{ + inlet + { + type calculated; + value uniform 1e-8; + } + outlet + { + type calculated; + value uniform 1e-8; + } + wall1 + { + type compressible::alphatPhaseChangeJayatillekeWallFunction; + Prt 0.85; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + wall2 + { + type compressible::alphatWallBoilingWallFunction; + phaseType vapor; + Prt 0.85; + Cmu 0.09; + kappa 0.41; + E 9.8; + partitioningModel + { + type Lavieville; + alphaCrit 0.2; + } + value uniform 0; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alphat.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alphat.liquid new file mode 100644 index 0000000000000000000000000000000000000000..b9ff04db89f3e1ec1823c8f0fe106b2f7e6ba641 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/alphat.liquid @@ -0,0 +1,80 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object alphat.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -1 0 0 0 0]; + +internalField uniform 1e-8; + +boundaryField +{ + inlet + { + type calculated; + value uniform 1e-8; + } + outlet + { + type calculated; + value uniform 1e-8; + } + wall1 + { + type compressible::alphatPhaseChangeJayatillekeWallFunction; + Prt 0.85; + Cmu 0.09; + kappa 0.41; + E 9.8; + + value uniform 1e-8; + } + wall2 + { + type compressible::alphatWallBoilingWallFunction; + phaseType liquid; + Prt 0.85; + Cmu 0.09; + kappa 0.41; + E 9.8; + relax 0.01; + dmdt uniform 0; + partitioningModel + { + type Lavieville; + alphaCrit 0.2; + } + nucleationSiteModel + { + type LemmertChawla; + } + departureDiamModel + { + type TolubinskiKostanchuk; + } + departureFreqModel + { + type Cole; + } + value uniform 0.01; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/epsilon.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/epsilon.gas new file mode 100644 index 0000000000000000000000000000000000000000..1cf8c62917045f7482f9d001d4c421b0e006a1a9 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/epsilon.gas @@ -0,0 +1,62 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object epsilon.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.001; + +boundaryField +{ + inlet + { + type mapped; + field epsilon.gas; + setAverage 0; + average 0; + interpolationScheme cell; + value uniform 0.01; + } + outlet + { + type inletOutlet; + phi phi.gas; + inletValue uniform 0.001; + } + wall1 + { + type epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.001; + } + wall2 + { + type epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.001; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/epsilon.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/epsilon.liquid new file mode 100644 index 0000000000000000000000000000000000000000..0ee42c77102b40d9c50bce170c0a0f76c35e70ab --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/epsilon.liquid @@ -0,0 +1,63 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object epsilon.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -3 0 0 0 0]; + +internalField uniform 0.001; + +boundaryField +{ + inlet + { + type mapped; + field epsilon.liquid; + setAverage 0; + average 0; + interpolationScheme cell; + value uniform 0.001; + } + outlet + { + type inletOutlet; + phi phi.liquid; + inletValue uniform 0.00015; + value uniform 0.001; + } + wall1 + { + type epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.001; + } + wall2 + { + type epsilonWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.001; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/k.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/k.gas new file mode 100644 index 0000000000000000000000000000000000000000..40de4d9d96d9b75775c437f6c30fff9ce3668d51 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/k.gas @@ -0,0 +1,57 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object k.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.01; + +boundaryField +{ + inlet + { + type mapped; + field k.gas; + setAverage 0; + average 0; + interpolationScheme cell; + value uniform 0.01; + } + outlet + { + type inletOutlet; + phi phi.gas; + inletValue uniform 0.01; + value uniform 0.01; + } + wall1 + { + type kqRWallFunction; + value uniform 0.01; + } + wall2 + { + type kqRWallFunction; + value uniform 0.01; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/k.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/k.liquid new file mode 100644 index 0000000000000000000000000000000000000000..0cff3a0a149b1fbbd1ad0dd67e477cf74f93d24f --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/k.liquid @@ -0,0 +1,57 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object k.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -2 0 0 0 0]; + +internalField uniform 0.01; + +boundaryField +{ + inlet + { + type mapped; + field k.liquid; + setAverage 0; + average 0; + interpolationScheme cell; + value uniform 0.01; + } + outlet + { + type inletOutlet; + phi phi.liquid; + inletValue uniform 3.75e-05; + value uniform 0.01; + } + wall1 + { + type kqRWallFunction; + value uniform 0.01; + } + wall2 + { + type kqRWallFunction; + value uniform 0.01; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/kappai.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/kappai.gas new file mode 100644 index 0000000000000000000000000000000000000000..2e6b572113f179952e8e6207fdbf4f47c305ef76 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/kappai.gas @@ -0,0 +1,50 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object kappai.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 -1 0 0 0 0 0]; + +internalField uniform 13333; + +boundaryField +{ + inlet + { + type fixedValue; + value $internalField; + } + + outlet + { + type inletOutlet; + phi phi.gas; + inletValue $internalField; + value $internalField; + } + + "wall.*" + { + type zeroGradient; + } + + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/nut.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/nut.gas new file mode 100644 index 0000000000000000000000000000000000000000..94928c3ce0b15993ff947f493cb55c4a91e32e47 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/nut.gas @@ -0,0 +1,57 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object nut.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0.0001; + +boundaryField +{ + inlet + { + type calculated; + value uniform 0.0001; + } + outlet + { + type calculated; + value uniform 0.0001; + } + wall1 + { + type nutkWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + wall2 + { + type nutkWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/nut.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/nut.liquid new file mode 100644 index 0000000000000000000000000000000000000000..70e2e63c822573ff6ba537bccee41b08a6ee785f --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/nut.liquid @@ -0,0 +1,57 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object nut.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 2 -1 0 0 0 0]; + +internalField uniform 0.0001; + +boundaryField +{ + inlet + { + type calculated; + value uniform 0.0001; + } + outlet + { + type calculated; + value uniform 0.0001; + } + wall1 + { + type nutkWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.0001; + } + wall2 + { + type nutkWallFunction; + Cmu 0.09; + kappa 0.41; + E 9.8; + value uniform 0.0001; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/p b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/p new file mode 100644 index 0000000000000000000000000000000000000000..219a0bfbf8512eb155dc6f82d35463b73c4ff49c --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/p @@ -0,0 +1,51 @@ +/*--------------------------------*- 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 volScalarField; + location "0"; + object p; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000; + +boundaryField +{ + inlet + { + type calculated; + value uniform 100000; + } + outlet + { + type calculated; + value uniform 100000; + } + wall1 + { + type calculated; + value uniform 100000; + } + wall2 + { + type calculated; + value uniform 100000; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/p_rgh b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/p_rgh new file mode 100644 index 0000000000000000000000000000000000000000..3512d1360d65d8f04c3a9b8c7e26207f85dc60c2 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/p_rgh @@ -0,0 +1,49 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class volScalarField; + location "5"; + object p_rgh; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [1 -1 -2 0 0 0 0]; + +internalField uniform 100000; + +boundaryField +{ + inlet + { + type fixedFluxPressure; + } + outlet + { + type prghPressure; + p uniform 100000; + value uniform 100000; + } + wall1 + { + type fixedFluxPressure; + } + wall2 + { + type fixedFluxPressure; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/water.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/water.gas new file mode 100644 index 0000000000000000000000000000000000000000..d8209473bc1c0fc71e3db3bc9441ff2e3c70db67 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/water.gas @@ -0,0 +1,51 @@ +/*--------------------------------*- 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 volScalarField; + location "5"; + object water.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 1; + } + outlet + { + type inletOutlet; + phi phi.gas; + inletValue uniform 1; + value uniform 1; + } + wall1 + { + type zeroGradient; + } + wall2 + { + type zeroGradient; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/water.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/water.liquid new file mode 100644 index 0000000000000000000000000000000000000000..62f98bcc6ef96a3b062412a7fa739f6d8eda797e --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/0/water.liquid @@ -0,0 +1,51 @@ +/*--------------------------------*- 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 volScalarField; + location "5"; + object water.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 0 0 0 0 0 0]; + +internalField uniform 1; + +boundaryField +{ + inlet + { + type fixedValue; + value uniform 1; + } + outlet + { + type inletOutlet; + phi phi.liquid; + inletValue uniform 1; + value uniform 1; + } + wall1 + { + type zeroGradient; + } + wall2 + { + type zeroGradient; + } + defaultFaces + { + type empty; + } +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/Allclean b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/Allclean new file mode 100755 index 0000000000000000000000000000000000000000..4d3ae417ce60f091e742856da3d5aeefe43c7c4f --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/Allclean @@ -0,0 +1,10 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial clean functions +. $WM_PROJECT_DIR/bin/tools/CleanFunctions + +cleanCase +cp ./system/controlDict.org ./system/controlDict + +#------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/Allrun b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/Allrun new file mode 100755 index 0000000000000000000000000000000000000000..31bd53b872b1d7fb6d9179d0ee7dd5173c18264d --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/Allrun @@ -0,0 +1,15 @@ +#!/bin/sh +cd ${0%/*} || exit 1 # Run from this directory + +# Source tutorial run functions +. $WM_PROJECT_DIR/bin/tools/RunFunctions + +application=`getApplication` + +runApplication blockMesh +runApplication $application +foamDictionary system/controlDict -entry endTime -set 5 +foamDictionary 2/T.liquid -entry boundaryField.wall2.q -set 1e5 +runApplication -a $application + +#------------------------------------------------------------------------------ diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/chemistryProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/chemistryProperties.gas new file mode 100644 index 0000000000000000000000000000000000000000..6b8951c7108e468242abfa84da76e748568014b5 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/chemistryProperties.gas @@ -0,0 +1,41 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object chemistryProperties.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +chemistryType +{ + chemistrySolver EulerImplicit; + chemistryThermo rho; +} + +chemistry off; + +initialChemicalTimeStep 1e-07; + +EulerImplicitCoeffs +{ + cTauChem 1; + equilibriumRateLimiter off; +} + +odeCoeffs +{ + solver Rosenbrock43; + absTol 1e-12; + relTol 0.01; +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/combustionProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/combustionProperties.gas new file mode 100644 index 0000000000000000000000000000000000000000..51002472936b9aef961d5497b579661d5a1debac --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/combustionProperties.gas @@ -0,0 +1,34 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object combustionProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +combustionModel PaSR<rhoChemistryCombustion>; + +active false; + +laminarCoeffs +{} + +noCombustionCoeffs +{} + +PaSRCoeffs +{ + Cmix 1.0; + turbulentReaction yes; +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/g b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/g new file mode 100644 index 0000000000000000000000000000000000000000..b2809d8ba6d86681bef9ae0548b6c1e30de6728c --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/g @@ -0,0 +1,21 @@ +/*--------------------------------*- 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 uniformDimensionedVectorField; + location "constant"; + object g; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +dimensions [0 1 -2 0 0 0 0]; +value ( 0 -9.81 0 ); + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/phaseProperties b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/phaseProperties new file mode 100644 index 0000000000000000000000000000000000000000..335786a3c4b6fb5aca36a9963d2dfcf069e1a993 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/phaseProperties @@ -0,0 +1,272 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object phaseProperties; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +type thermalPhaseChangeTwoPhaseSystem; + +phases (gas liquid); + +volatile "water"; + +massTransfer on; + +gas +{ + type multiComponentPhaseModel; + diameterModel IATE; + + IATECoeffs + { + dMax 1e-2; + dMin 1e-4; + residualAlpha 1e-4; + + sources + ( + wakeEntrainmentCoalescence + { + Cwe 0.002; + } + + randomCoalescence + { + Crc 0.04; + C 3; + alphaMax 0.75; + } + + turbulentBreakUp + { + Cti 0.085; + WeCr 6; + } + + wallBoiling + {} + ); + } + + constantCoeffs + { + d 0.00045; + } + + isothermalCoeffs + { + d0 0.00045; + p0 1e5; + } + + Sc 0.7; + + residualAlpha 1e-4; +} + +liquid +{ + type multiComponentPhaseModel; + diameterModel constant; + constantCoeffs + { + d 0.00045; + } + Sc 0.7; + + residualAlpha 1e-4; +} + +blending +{ + default + { + type linear; + continuousPhase liquid; + minFullyContinuousAlpha.gas 0.7; + minPartlyContinuousAlpha.gas 0.5; + minFullyContinuousAlpha.liquid 0.7; + minPartlyContinuousAlpha.liquid 0.5; + } + + heatTransfer + { + type linear; + continuousPhase liquid; + minFullyContinuousAlpha.gas 1; + minPartlyContinuousAlpha.gas 0; + minFullyContinuousAlpha.liquid 1; + minPartlyContinuousAlpha.liquid 0; + } + + massTransfer + { + type linear; + continuousPhase liquid; + minFullyContinuousAlpha.gas 1; + minPartlyContinuousAlpha.gas 0; + minFullyContinuousAlpha.liquid 1; + minPartlyContinuousAlpha.liquid 0; + } +} + +surfaceTension +( + (gas and liquid) + { + type constant; + sigma 0.07; + } +); + +saturationModel +{ + type polynomial; + C<8> + ( + 308.0422 + 0.0015096 + -1.61589e-8 + 1.114106e-13 + -4.52216e-19 + 1.05192e-24 + -1.2953e-30 + 6.5365e-37 + ); +}; + +aspectRatio +( + (gas in liquid) + { + type constant; + E0 1.0; + } + + (liquid in gas) + { + type constant; + E0 1.0; + } +); + +drag +( + (gas in liquid) + { + type SchillerNaumann; + residualRe 1e-3; + swarmCorrection + { + type none; + } + } + + (liquid in gas) + { + type SchillerNaumann; + residualRe 1e-3; + swarmCorrection + { + type none; + } + } +); + +virtualMass +( + (gas in liquid) + { + type constantCoefficient; + Cvm 0.5; + } + + (liquid in gas) + { + type constantCoefficient; + Cvm 0.5; + } +); + +interfaceComposition +(); + +heatTransfer.gas +( + (gas in liquid) + { + type spherical; + residualAlpha 1e-3; + } + + (liquid in gas) + { + type RanzMarshall; + residualAlpha 1e-3; + } +); + +heatTransfer.liquid +( + (gas in liquid) + { + type RanzMarshall; + residualAlpha 1e-3; + } + + (liquid in gas) + { + type spherical; + residualAlpha 1e-3; + } +); + +massTransfer.gas +(); + +massTransfer.liquid +(); + +lift +(); + +wallLubrication +( + (gas in liquid) + { + type Antal; + Cw1 -0.01; + Cw2 0.05; + Cwc 10.0; + Cwd 6.8; + p 1.7; + } +); + +turbulentDispersion +( + (gas in liquid) + { + type Burns; + sigma 0.7; + Ctd 1.0; + residualAlpha 1e-3; + } +); + +// Minimum allowable pressure +pMin 10000; + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/thermophysicalProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/thermophysicalProperties.gas new file mode 100644 index 0000000000000000000000000000000000000000..7b3b350ea14dcbaea5829c70a7e87b0c4f9965e8 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/thermophysicalProperties.gas @@ -0,0 +1,68 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties.gas; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture multiComponentMixture; + transport const; + thermo hRefConst; + equationOfState perfectGas; + specie specie; + energy sensibleEnthalpy; +} + +dpdt no; + +species +( + water +); + +inertSpecie water; + +chemistryReader foamChemistryReader; + +foamChemistryFile "$FOAM_CASE/constant/reactions.gas"; + +water +{ + specie + { + nMoles 1; + molWeight 18.0153; + } + equationOfState + { + rho 1; + } + + thermodynamics + { + Hf 0; + Cp 12078.4; + Tref 373.55; + Href 2675500; + } + transport + { + mu 1.2256e-5; + Pr 2.289; + } +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/thermophysicalProperties.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/thermophysicalProperties.liquid new file mode 100644 index 0000000000000000000000000000000000000000..7406b2ce4f0eaa763c60a1898670ceb0449e869e --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/thermophysicalProperties.liquid @@ -0,0 +1,67 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object thermophysicalProperties.liquid; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +thermoType +{ + type heRhoThermo; + mixture multiComponentMixture; + transport const; + thermo hRefConst; + equationOfState rhoConst; + specie specie; + energy sensibleEnthalpy; +} + +dpdt no; + +species +( + water +); + +inertSpecie water; + +"(mixture|H2O|water)" +{ + specie + { + nMoles 1; + molWeight 18.0153; + } + equationOfState + { + R 3000; + rho0 959; + rho 959; + } + thermodynamics + { + Hf 0; + Cp 4195; + Tref 373.55; + Href 417500; + } + transport + { + mu 2.8291e-4; + Pr 2.289; + } +} + + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/turbulenceProperties.gas b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/turbulenceProperties.gas new file mode 100644 index 0000000000000000000000000000000000000000..40de4981f5767295705a66a762e606c70075c713 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/turbulenceProperties.gas @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties.air; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel continuousGasKEpsilon; + + turbulence on; + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/turbulenceProperties.liquid b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/turbulenceProperties.liquid new file mode 100644 index 0000000000000000000000000000000000000000..2c0b129e11d457ee978f649634ab68af4bb2e3ab --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/constant/turbulenceProperties.liquid @@ -0,0 +1,28 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "constant"; + object turbulenceProperties.water; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +simulationType RAS; + +RAS +{ + RASModel LaheyKEpsilon; + + turbulence on; + printCoeffs on; +} + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/blockMeshDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/blockMeshDict new file mode 100644 index 0000000000000000000000000000000000000000..d2ab81e94bf78621ac88194925ebed94e6be52db --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/blockMeshDict @@ -0,0 +1,80 @@ +/*--------------------------------*- 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 blockMeshDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +convertToMeters 1; + +vertices +( + (0 0 0) + (0.05 0 0) + (0.05 2 0) + (0 2 0) + (0 0 0.1) + (0.05 0 0.1) + (0.05 2 0.1) + (0 2 0.1) +); + +blocks +( + hex (0 1 2 3 4 5 6 7) (25 75 1) simpleGrading (1 1 1) +); + +boundary +( + inlet + { + type mappedPatch; + offset (0 0.1 0); + sampleRegion region0; + sampleMode nearestCell; + samplePatch none; + + faces + ( + (1 5 4 0) + ); + } + + outlet + { + type patch; + faces + ( + (3 7 6 2) + ); + } + + wall1 + { + type wall; + faces + ( + (0 4 7 3) + ); + } + + wall2 + { + type wall; + faces + ( + (2 6 5 1) + ); + } +); + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/controlDict b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/controlDict new file mode 100644 index 0000000000000000000000000000000000000000..6ea473a1efffdf7d5b3353df0d80d6193d7f8936 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/controlDict @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application reactingTwoPhaseEulerFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 2; + +deltaT 1e-4; + +writeControl adjustableRunTime; + +writeInterval 0.5; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 9; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep yes; + +maxCo 0.05; + +maxDeltaT 0.001; + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/controlDict.org b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/controlDict.org new file mode 100644 index 0000000000000000000000000000000000000000..6ea473a1efffdf7d5b3353df0d80d6193d7f8936 --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/controlDict.org @@ -0,0 +1,54 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object controlDict; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +application reactingTwoPhaseEulerFoam; + +startFrom latestTime; + +startTime 0; + +stopAt endTime; + +endTime 2; + +deltaT 1e-4; + +writeControl adjustableRunTime; + +writeInterval 0.5; + +purgeWrite 0; + +writeFormat ascii; + +writePrecision 9; + +writeCompression uncompressed; + +timeFormat general; + +timePrecision 6; + +runTimeModifiable yes; + +adjustTimeStep yes; + +maxCo 0.05; + +maxDeltaT 0.001; + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/fvSchemes b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/fvSchemes new file mode 100644 index 0000000000000000000000000000000000000000..f85e922d8da4b895da1d4060645cae4e4ae04a6e --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/fvSchemes @@ -0,0 +1,78 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSchemes; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +ddtSchemes +{ + default Euler; +} + +gradSchemes +{ + default Gauss linear; +} + +divSchemes +{ + default none; + + "div\(phi,alpha.*\)" Gauss vanLeer; + "div\(phir,alpha.*\)" Gauss vanLeer; + + "div\(phi.*,kappai.*\)" Gauss vanLeer; + + "div\(alphaRhoPhi.*,U.*\)" Gauss limitedLinearV 1; + "div\(phi.*,U.*\)" Gauss limitedLinearV 1; + + "div\(alphaRhoPhi.*,Yi\)" Gauss limitedLinear 1; + "div\(alphaRhoPhi.*,(h|e).*\)" Gauss limitedLinear 1; + "div\(alphaRhoPhi.*,K.*\)" Gauss limitedLinear 1; + "div\(alphaPhi.*,p\)" Gauss limitedLinear 1; + + "div\(alphaRhoPhi.*,(k|epsilon).*\)" Gauss upwind; + "div\(phim,(k|epsilon)m\)" Gauss upwind; + + "div\(\(\(\(alpha.*\*thermo:rho.*\)\*nuEff.*\)\*dev2\(T\(grad\(U.*\)\)\)\)\)" Gauss linear; +} + +laplacianSchemes +{ + default Gauss linear uncorrected; +} + +interpolationSchemes +{ + default linear; +} + +snGradSchemes +{ + default uncorrected; +} + +fluxRequired +{ + default no; +} + +wallDist +{ + method meshWave; + nRequired yes; +} + + +// ************************************************************************* // diff --git a/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/fvSolution b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/fvSolution new file mode 100644 index 0000000000000000000000000000000000000000..bad11a5762201f1966cdfd3b0517eff1ebd5ec4f --- /dev/null +++ b/tutorials/multiphase/reactingTwoPhaseEulerFoam/RAS/wallBoilingIATE/system/fvSolution @@ -0,0 +1,113 @@ +/*--------------------------------*- C++ -*----------------------------------*\ +| ========= | | +| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | +| \\ / O peration | Version: dev | +| \\ / A nd | Web: www.OpenFOAM.org | +| \\/ M anipulation | | +\*---------------------------------------------------------------------------*/ +FoamFile +{ + version 2.0; + format ascii; + class dictionary; + location "system"; + object fvSolution; +} +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +solvers +{ + "alpha.*" + { + nAlphaCorr 1; + nAlphaSubCycles 3; + } + + p_rgh + { + solver GAMG; + smoother DIC; + tolerance 1e-8; + relTol 0.01; + maxIter 100; + minIter 2; + } + + p_rghFinal + { + $p_rgh; + relTol 0; + } + + "U.*" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-6; + relTol 0; + minIter 1; + } + + "(e|h).*" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-12; + relTol 0.001; + minIter 1; + maxIter 20; + } + + "(k|epsilon|Theta).*" + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-8; + relTol 0; + minIter 1; + } + + "kappai.gas.*" + { + solver PBiCGStab; + preconditioner DILU; + tolerance 1e-6; + relTol 0; + } + + Yi + { + solver smoothSolver; + smoother symGaussSeidel; + tolerance 1e-6; + relTol 0; + minIter 1; + residualAlpha 1e-8; + } +} + +PIMPLE +{ + nOuterCorrectors 6; + nCorrectors 1; + nNonOrthogonalCorrectors 0; + nEnergyCorrectors 2; + faceMomentum yes; +} + +relaxationFactors +{ + fields + { + iDmdt 0.1; + } + + equations + { + ".*" 1; + "h.*" 0.3; + } +} + + +// ************************************************************************* //