From f0c5504ae9d833b48811b18cd41b0f8265330958 Mon Sep 17 00:00:00 2001 From: andy <andy> Date: Wed, 1 Aug 2012 17:20:22 +0100 Subject: [PATCH] ENH: Collecting radiation contributions during parcel tracking --- .../ReactingMultiphaseParcel.C | 10 ++++++++++ .../Templates/ReactingParcel/ReactingParcel.C | 10 ++++++++++ .../parcels/Templates/ThermoParcel/ThermoParcel.C | 12 +++++++++++- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C index 4be1fcdd123..b2111c24348 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingMultiphaseParcel/ReactingMultiphaseParcel.C @@ -466,6 +466,16 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc // Update sensible enthalpy transfer td.cloud().hsTrans()[cellI] += np0*dhsTrans; td.cloud().hsCoeff()[cellI] += np0*Sph; + + // Update radiation fields + if (td.cloud().radiation()) + { + const scalar ap = this->areaP(); + const scalar T4 = pow4(this->T_); + td.cloud().radAreaP()[cellI] += dt*np0*ap; + td.cloud().radT4()[cellI] += dt*np0*T4; + td.cloud().radAreaP()[cellI] += dt*np0*ap*T4; + } } } diff --git a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C index cfd21ceed01..e9bc8153045 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ReactingParcel/ReactingParcel.C @@ -458,6 +458,16 @@ void Foam::ReactingParcel<ParcelType>::calc // Update sensible enthalpy transfer td.cloud().hsTrans()[cellI] += np0*dhsTrans; td.cloud().hsCoeff()[cellI] += np0*Sph; + + // Update radiation fields + if (td.cloud().radiation()) + { + const scalar ap = this->areaP(); + const scalar T4 = pow4(this->T_); + td.cloud().radAreaP()[cellI] += dt*np0*ap; + td.cloud().radT4()[cellI] += dt*np0*T4; + td.cloud().radAreaP()[cellI] += dt*np0*ap*T4; + } } } diff --git a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C index b64b1e8f99d..cb9b7142049 100644 --- a/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C +++ b/src/lagrangian/intermediate/parcels/Templates/ThermoParcel/ThermoParcel.C @@ -144,7 +144,7 @@ void Foam::ThermoParcel<ParcelType>::calcSurfaceValues Ts = td.cloud().constProps().TMin(); } - // Assuming thermo props vary linearly with T for small dT + // Assuming thermo props vary linearly with T for small d(T) const scalar TRatio = Tc_/Ts; rhos = this->rhoc_*TRatio; @@ -252,6 +252,16 @@ void Foam::ThermoParcel<ParcelType>::calc // Update sensible enthalpy coefficient td.cloud().hsCoeff()[cellI] += np0*Sph; + + // Update radiation fields + if (td.cloud().radiation()) + { + const scalar ap = this->areaP(); + const scalar T4 = pow4(this->T_); + td.cloud().radAreaP()[cellI] += dt*np0*ap; + td.cloud().radT4()[cellI] += dt*np0*T4; + td.cloud().radAreaP()[cellI] += dt*np0*ap*T4; + } } } -- GitLab