Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Mo() const { const uniformDimensionedVectorField& g = phase().U().db().lookupObject<uniformDimensionedVectorField>("g"); return mag(g)*pow4(otherPhase().nu())*sqr(otherPhase().rho()) *(otherPhase().rho() - phase().rho()) /pow3(fluid().sigma()); }
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ur() const { const uniformDimensionedVectorField& g = phase().U().db().lookupObject<uniformDimensionedVectorField>("g"); return sqrt(2.0) *pow025 ( fluid().sigma()*mag(g) *(otherPhase().rho() - phase().rho()) /sqr(otherPhase().rho()) ) *pow(max(1 - phase(), scalar(0)), 1.75); }
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Re() const { return max(Ur()*phase().d()/otherPhase().nu(), scalar(1.0e-3)); }
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::Ut() const { return sqrt(2*otherPhase().turbulence().k()); }
Foam::tmp<Foam::volScalarField> Foam::diameterModels::IATEsource::We() const { return otherPhase().rho()*sqr(Ur())*phase().d()/fluid().sigma(); }
Foam::tmp<Foam::fvScalarMatrix> Foam::diameterModels::IATEsources::wallBoiling::R ( const volScalarField& alphai, 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 = phase().db().lookupObjectRef<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]/(alphai[faceCelli]*rho[faceCelli]); Rdk[faceCelli] = R[faceCelli]*(6.0/dDep[facei]); } } } } return Rdk - fvm::Sp(R, kappai); }