alphatWallBoilingWallFunction: Usability improvements
Bubble waiting time ratio has been made a user adjustable parameter, and the names of the fields reported by the wallBoilingProperties function have been rationalised.
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
||||
@ -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<scalar>("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_);
|
||||
|
||||
@ -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<wallBoilingModels::partitioningModel>
|
||||
@ -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_;
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user