void Foam::ThermoParcel<ParcelType>::calcSurfaceValues ( TrackData& td, const label cellI, const scalar T, scalar& Ts, scalar& rhos, scalar& mus, scalar& Pr, scalar& kappas ) const { // Surface temperature using two thirds rule Ts = (2.0*T + Tc_)/3.0; if (Ts < td.cloud().constProps().TMin()) { if (debug) { WarningIn ( "void Foam::ThermoParcel<ParcelType>::calcSurfaceValues" "(" "TrackData&, " "const label, " "const scalar, " "scalar&, " "scalar&, " "scalar&, " "scalar&, " "scalar&" ") const" ) << "Limiting parcel surface temperature to " << td.cloud().constProps().TMin() << nl << endl; } Ts = td.cloud().constProps().TMin(); } // Assuming thermo props vary linearly with T for small d(T) const scalar TRatio = Tc_/Ts; rhos = this->rhoc_*TRatio; tetIndices tetIs = this->currentTetIndices(); mus = td.muInterp().interpolate(this->position(), tetIs)/TRatio; Pr = td.cloud().constProps().Pr(); Pr = max(ROOTVSMALL, Pr); kappas = Cpc_*mus/Pr; kappas = max(ROOTVSMALL, kappas); }
void Foam::KinematicParcel<ParcelType>::setCellValues ( TrackData& td, const scalar dt, const label cellI ) { tetIndices tetIs = this->currentTetIndices(); rhoc_ = td.rhoInterp().interpolate(this->position(), tetIs); if (rhoc_ < td.cloud().constProps().rhoMin()) { if (debug) { WarningIn ( "void Foam::KinematicParcel<ParcelType>::setCellValues" "(" "TrackData&, " "const scalar, " "const label" ")" ) << "Limiting observed density in cell " << cellI << " to " << td.cloud().constProps().rhoMin() << nl << endl; } rhoc_ = td.cloud().constProps().rhoMin(); } Uc_ = td.UInterp().interpolate(this->position(), tetIs); muc_ = td.muInterp().interpolate(this->position(), tetIs); // Apply dispersion components to carrier phase velocity Uc_ = td.cloud().dispersion().update ( dt, cellI, U_, Uc_, UTurb_, tTurb_ ); }
void Foam::ThermoParcel<ParcelType>::calcSurfaceValues ( TrackData& td, const label cellI, const scalar T, scalar& Ts, scalar& rhos, scalar& mus, scalar& Pr, scalar& kappa ) const { // Surface temperature using two thirds rule Ts = (2.0*T + Tc_)/3.0; // Assuming thermo props vary linearly with T for small dT scalar factor = td.TInterp().interpolate(this->position(), cellI)/Ts; rhos = this->rhoc_*factor; mus = td.muInterp().interpolate(this->position(), cellI)/factor; Pr = td.constProps().Pr(); kappa = cpc_*mus/Pr; }