diff --git a/applications/solvers/modules/fluid/multiphaseEuler/functionObjects/wallBoilingProperties/wallBoilingProperties.C b/applications/solvers/modules/fluid/multiphaseEuler/functionObjects/wallBoilingProperties/wallBoilingProperties.C index 6870767e2d..635b459766 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/functionObjects/wallBoilingProperties/wallBoilingProperties.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/functionObjects/wallBoilingProperties/wallBoilingProperties.C @@ -92,7 +92,7 @@ bool Foam::functionObjects::wallBoilingProperties::execute() bool Foam::functionObjects::wallBoilingProperties::write() { - volScalarField dDepartureField + volScalarField dDeparture ( volScalarField::New ( @@ -101,7 +101,7 @@ bool Foam::functionObjects::wallBoilingProperties::write() dimensionedScalar(dimLength, 0) ) ); - volScalarField fDepartureField + volScalarField fDeparture ( volScalarField::New ( @@ -110,7 +110,7 @@ bool Foam::functionObjects::wallBoilingProperties::write() dimensionedScalar(inv(dimTime), 0) ) ); - volScalarField nucSiteDensityField + volScalarField nucleationSiteDensity ( volScalarField::New ( @@ -119,29 +119,29 @@ bool Foam::functionObjects::wallBoilingProperties::write() dimensionedScalar(inv(dimArea), 0) ) ); - volScalarField fLiquidField + volScalarField wetFraction ( volScalarField::New ( - IOobject::groupName("fLiquid", phase_.name()), + IOobject::groupName("wetFraction", phase_.name()), mesh_, dimensionedScalar(dimless, 0) ) ); - volScalarField quenchingHeatFluxField + volScalarField qQuenching ( volScalarField::New ( - IOobject::groupName("quenchingHeatFlux", phase_.name()), + IOobject::groupName("qQuenching", phase_.name()), mesh_, dimensionedScalar(dimEnergy*inv(dimTime*dimArea), 0) ) ); - volScalarField evaporativeHeatFluxField + volScalarField qEvaporative ( volScalarField::New ( - IOobject::groupName("evaporativeHeatFlux", phase_.name()), + IOobject::groupName("qEvaporative", phase_.name()), mesh_, dimensionedScalar(dimEnergy*inv(dimTime*dimArea), 0) ) @@ -170,28 +170,28 @@ bool Foam::functionObjects::wallBoilingProperties::write() const alphatWallBoilingWallFunction >(alphatBf[patchi]); - dDepartureField.boundaryFieldRef()[patchi] = + dDeparture.boundaryFieldRef()[patchi] = alphatw.dDeparture(); - fDepartureField.boundaryFieldRef()[patchi] = - alphatw.depFrequency(); - nucSiteDensityField.boundaryFieldRef()[patchi] = - alphatw.nucSiteDensity(); - fLiquidField.boundaryFieldRef()[patchi] = - alphatw.wallLiquidFraction(); - quenchingHeatFluxField.boundaryFieldRef()[patchi] = - alphatw.quenching(); - evaporativeHeatFluxField.boundaryFieldRef()[patchi] = - alphatw.evaporative(); + fDeparture.boundaryFieldRef()[patchi] = + alphatw.fDeparture(); + nucleationSiteDensity.boundaryFieldRef()[patchi] = + alphatw.nucleationSiteDensity(); + wetFraction.boundaryFieldRef()[patchi] = + alphatw.wetFraction(); + qQuenching.boundaryFieldRef()[patchi] = + alphatw.qQuenching(); + qEvaporative.boundaryFieldRef()[patchi] = + alphatw.qEvaporative(); } } } - dDepartureField.write(); - fDepartureField.write(); - nucSiteDensityField.write(); - fLiquidField.write(); - quenchingHeatFluxField.write(); - evaporativeHeatFluxField.write(); + dDeparture.write(); + fDeparture.write(); + nucleationSiteDensity.write(); + wetFraction.write(); + qQuenching.write(); + qEvaporative.write(); return true; } diff --git a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C index e69815b963..87f247b3e1 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C +++ b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C @@ -84,6 +84,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField fLiquid_(p.size(), 0), qq_(p.size(), 0), qe_(p.size(), 0), + tau_(0.8), partitioningModel_(nullptr), nucleationSiteModel_(nullptr), departureDiamModel_(nullptr), @@ -116,6 +117,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField fLiquid_(p.size(), 0), qq_(p.size(), 0), qe_(p.size(), 0), + tau_(dict.lookupOrDefault("bubbleWaitingTimeRatio", 0.8)), partitioningModel_(nullptr), nucleationSiteModel_(nullptr), departureDiamModel_(nullptr), @@ -245,6 +247,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField fLiquid_(mapper(psf.fLiquid_)), qq_(mapper(psf.qq_)), qe_(mapper(psf.qe_)), + tau_(psf.tau_), partitioningModel_(psf.partitioningModel_, false), nucleationSiteModel_(psf.nucleationSiteModel_, false), departureDiamModel_(psf.departureDiamModel_, false), @@ -269,6 +272,7 @@ alphatWallBoilingWallFunctionFvPatchScalarField fLiquid_(psf.fLiquid_), qq_(psf.qq_), qe_(psf.qe_), + tau_(psf.tau_), partitioningModel_(psf.partitioningModel_, false), nucleationSiteModel_(psf.nucleationSiteModel_, false), departureDiamModel_(psf.departureDiamModel_, false), @@ -598,7 +602,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() 2*(alphaw*Cpw)*fDep_ *sqrt ( - (0.8/max(fDep_, small))/(pi*alphaw/rhoLiquidw) + (tau_/max(fDep_, small))/(pi*alphaw/rhoLiquidw) ) ); @@ -719,6 +723,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::write(Ostream& os) const alphatPhaseChangeWallFunctionFvPatchScalarField::write(os); writeEntry(os, "phaseType", phaseTypeNames_[phaseType_]); + writeEntry(os, "bubbleWaitingTimeRatio", tau_); writeEntry(os, "alphatConv", alphatConv_); writeEntry(os, "dDeparture", dDep_); writeEntry(os, "depFrequency", fDep_); diff --git a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H index 6d416f31b1..0c8e0b251a 100644 --- a/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H +++ b/applications/solvers/modules/fluid/multiphaseEuler/multiphaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H @@ -88,6 +88,7 @@ Usage nucleationSiteModel| | yes | departureDiamModel| | yes | departureFreqModel| | yes | + bubbleWaitingTime| | no | yes \endtable NOTE: Runtime selectable submodels may require model specific entries @@ -202,6 +203,8 @@ private: //- Evaporative surface heat flux scalarField qe_; + //- Bubble waiting time ratio + scalar tau_; //- Run-time selected heat flux partitioning model autoPtr @@ -289,31 +292,31 @@ public: } //- Return the departure frequency field [Hz] - const scalarField& depFrequency() const + const scalarField& fDeparture() const { return fDep_; } //- Return the nucleation site density field [1/m^2] - const scalarField& nucSiteDensity() const + const scalarField& nucleationSiteDensity() const { return N_; } //- Return the wall liquid fraction field [-] - const scalarField& wallLiquidFraction() const + const scalarField& wetFraction() const { return fLiquid_; } //- Return the quenching surface heat flux field [W/m^2] - const scalarField& quenching() const + const scalarField& qQuenching() const { return qq_; } //- Return the evaporative surface heat flux field [W/m^2] - const scalarField& evaporative() const + const scalarField& qEvaporative() const { return qe_; } diff --git a/tutorials/modules/multiphaseEuler/wallBoiling/Allrun b/tutorials/modules/multiphaseEuler/wallBoiling/Allrun index aa7c72cb87..fb8223cca5 100755 --- a/tutorials/modules/multiphaseEuler/wallBoiling/Allrun +++ b/tutorials/modules/multiphaseEuler/wallBoiling/Allrun @@ -38,7 +38,7 @@ runApplication -append foamPostProcess -latestTime -func " patch=wall, surfaceFormat=raw, interpolate=false, - fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid fLiquid.liquid quenchingHeatFlux.liquid evaporativeHeatFlux.liquid) + fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid wetFraction.liquid qQuenching.liquid qEvaporative.liquid) )" ./validation/createWallBoilingPropertiesGraphs diff --git a/tutorials/modules/multiphaseEuler/wallBoilingIATE/Allrun b/tutorials/modules/multiphaseEuler/wallBoilingIATE/Allrun index 10cc7832ee..bd96ed4575 100755 --- a/tutorials/modules/multiphaseEuler/wallBoilingIATE/Allrun +++ b/tutorials/modules/multiphaseEuler/wallBoilingIATE/Allrun @@ -38,7 +38,7 @@ runApplication -append foamPostProcess -latestTime -func " patch=wall, surfaceFormat=raw, interpolate=false, - fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid fLiquid.liquid quenchingHeatFlux.liquid evaporativeHeatFlux.liquid) + fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid wetFraction.liquid qQuenching.liquid qEvaporative.liquid) )" ./validation/createWallBoilingPropertiesGraphs diff --git a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/Allrun b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/Allrun index 05a5c3504b..59ef3762d6 100755 --- a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/Allrun +++ b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperse/Allrun @@ -39,7 +39,7 @@ runApplication -append foamPostProcess -latestTime -func " patch=wall, surfaceFormat=raw, interpolate=false, - fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid fLiquid.liquid quenchingHeatFlux.liquid evaporativeHeatFlux.liquid) + fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid wetFraction.liquid qQuenching.liquid qEvaporative.liquid) )" ./validation/createWallBoilingPropertiesGraphs diff --git a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/Allrun b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/Allrun index 421afa9512..9935a96442 100755 --- a/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/Allrun +++ b/tutorials/modules/multiphaseEuler/wallBoilingPolydisperseTwoGroups/Allrun @@ -39,7 +39,7 @@ runApplication -append foamPostProcess -latestTime -func " patch=wall, surfaceFormat=raw, interpolate=false, - fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid fLiquid.liquid quenchingHeatFlux.liquid evaporativeHeatFlux.liquid) + fields=(dDeparture.liquid fDeparture.liquid nucleationSiteDensity.liquid wetFraction.liquid qQuenching.liquid qEvaporative.liquid) )" ./validation/createWallBoilingPropertiesGraphs