ReactingMultiphaseParcel,ReactingParcel: Use T0 for consistent radiation transfer

Resolves bug-report http://www.openfoam.org/mantisbt/view.php?id=1636
This commit is contained in:
Henry Weller
2015-06-15 17:40:48 +01:00
parent f9358d33a0
commit 08191ee828
3 changed files with 14 additions and 13 deletions

View File

@ -360,14 +360,16 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
label gid = composition.localToCarrierId(LIQ, i); label gid = composition.localToCarrierId(LIQ, i);
td.cloud().rhoTrans(gid)[cellI] += dm*YMix[LIQ]*YLiquid_[i]; td.cloud().rhoTrans(gid)[cellI] += dm*YMix[LIQ]*YLiquid_[i];
} }
/*
// No mapping between solid components and carrier phase // No mapping between solid components and carrier phase
/*
forAll(YSolid_, i) forAll(YSolid_, i)
{ {
label gid = composition.localToCarrierId(SLD, i); label gid = composition.localToCarrierId(SLD, i);
td.cloud().rhoTrans(gid)[cellI] += dm*YMix[SLD]*YSolid_[i]; td.cloud().rhoTrans(gid)[cellI] += dm*YMix[SLD]*YSolid_[i];
} }
*/ */
td.cloud().UTrans()[cellI] += dm*U0; td.cloud().UTrans()[cellI] += dm*U0;
td.cloud().hsTrans()[cellI] += dm*HsEff(td, pc, T0, idG, idL, idS); td.cloud().hsTrans()[cellI] += dm*HsEff(td, pc, T0, idG, idL, idS);
@ -441,8 +443,9 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
td.cloud().UTrans()[cellI] += dm*U0; td.cloud().UTrans()[cellI] += dm*U0;
td.cloud().hsTrans()[cellI] += dm*hs; td.cloud().hsTrans()[cellI] += dm*hs;
} }
/*
// No mapping between solid components and carrier phase // No mapping between solid components and carrier phase
/*
forAll(YSolid_, i) forAll(YSolid_, i)
{ {
scalar dm = np0*dMassSolid[i]; scalar dm = np0*dMassSolid[i];
@ -453,6 +456,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
td.cloud().hsTrans()[cellI] += dm*hs; td.cloud().hsTrans()[cellI] += dm*hs;
} }
*/ */
forAll(dMassSRCarrier, i) forAll(dMassSRCarrier, i)
{ {
scalar dm = np0*dMassSRCarrier[i]; scalar dm = np0*dMassSRCarrier[i];
@ -474,7 +478,7 @@ void Foam::ReactingMultiphaseParcel<ParcelType>::calc
if (td.cloud().radiation()) if (td.cloud().radiation())
{ {
const scalar ap = this->areaP(); const scalar ap = this->areaP();
const scalar T4 = pow4(this->T_); const scalar T4 = pow4(T0);
td.cloud().radAreaP()[cellI] += dt*np0*ap; td.cloud().radAreaP()[cellI] += dt*np0*ap;
td.cloud().radT4()[cellI] += dt*np0*T4; td.cloud().radT4()[cellI] += dt*np0*T4;
td.cloud().radAreaPT4()[cellI] += dt*np0*ap*T4; td.cloud().radAreaPT4()[cellI] += dt*np0*ap*T4;

View File

@ -304,9 +304,6 @@ void Foam::ReactingParcel<ParcelType>::cellValueSourceCorrection
this->Tc_ = td.cloud().constProps().TMin(); this->Tc_ = td.cloud().constProps().TMin();
} }
// constant pressure
// this->pc_ = this->pc_;
} }
@ -433,7 +430,7 @@ void Foam::ReactingParcel<ParcelType>::calc
// Sources // Sources
//~~~~~~~~ // ~~~~~~~
// Explicit momentum source for particle // Explicit momentum source for particle
vector Su = vector::zero; vector Su = vector::zero;
@ -608,7 +605,7 @@ void Foam::ReactingParcel<ParcelType>::calc
if (td.cloud().radiation()) if (td.cloud().radiation())
{ {
const scalar ap = this->areaP(); const scalar ap = this->areaP();
const scalar T4 = pow4(this->T_); const scalar T4 = pow4(T0);
td.cloud().radAreaP()[cellI] += dt*np0*ap; td.cloud().radAreaP()[cellI] += dt*np0*ap;
td.cloud().radT4()[cellI] += dt*np0*T4; td.cloud().radT4()[cellI] += dt*np0*T4;
td.cloud().radAreaPT4()[cellI] += dt*np0*ap*T4; td.cloud().radAreaPT4()[cellI] += dt*np0*ap*T4;

View File

@ -172,6 +172,9 @@ void Foam::ThermoParcel<ParcelType>::calc
const scalar np0 = this->nParticle_; const scalar np0 = this->nParticle_;
const scalar mass0 = this->mass(); const scalar mass0 = this->mass();
// Store T for consistent radiation source
const scalar T0 = this->T_;
// Calc surface values // Calc surface values
// ~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~
@ -210,9 +213,6 @@ void Foam::ThermoParcel<ParcelType>::calc
// Sum Ni*Cpi*Wi of emission species // Sum Ni*Cpi*Wi of emission species
scalar NCpW = 0.0; scalar NCpW = 0.0;
// Store T for consistent radiation source
const scalar T0 = this->T_;
// Calculate new particle temperature // Calculate new particle temperature
this->T_ = this->T_ =
this->calcHeatTransfer this->calcHeatTransfer