void Foam::ThermoParcel<ParcelType>::setCellValues ( TrackData& td, const scalar dt, const label cellI ) { ParcelType::setCellValues(td, dt, cellI); tetIndices tetIs = this->currentTetIndices(); Cpc_ = td.CpInterp().interpolate(this->position(), tetIs); Tc_ = td.TInterp().interpolate(this->position(), tetIs); if (Tc_ < td.cloud().constProps().TMin()) { if (debug) { WarningIn ( "void Foam::ThermoParcel<ParcelType>::setCellValues" "(" "TrackData&, " "const scalar, " "const label" ")" ) << "Limiting observed temperature in cell " << cellI << " to " << td.cloud().constProps().TMin() << nl << endl; } Tc_ = td.cloud().constProps().TMin(); } }
void Foam::ThermoParcel<ParcelType>::setCellValues ( TrackData& td, const scalar dt, const label cellI ) { KinematicParcel<ParcelType>::setCellValues(td, dt, cellI); cpc_ = td.cpInterp().interpolate(this->position(), cellI); Tc_ = td.TInterp().interpolate(this->position(), cellI); if (Tc_ < td.constProps().TMin()) { WarningIn ( "void Foam::ThermoParcel<ParcelType>::setCellValues" "(" "TrackData&, " "const scalar, " "const label" ")" ) << "Limiting observed temperature in cell " << cellI << " to " << td.constProps().TMin() << nl << endl; Tc_ = td.constProps().TMin(); } }
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; }