ENH: spray - parcel code clean-up

This commit is contained in:
andy
2013-11-12 15:17:44 +00:00
parent e949770310
commit d7b7643ff4
2 changed files with 14 additions and 29 deletions

View File

@ -93,13 +93,11 @@ void Foam::SprayParcel<ParcelType>::calc
td.cloud().constProps().setTMax(TMax); td.cloud().constProps().setTMax(TMax);
// store the parcel properties // store the parcel properties
const scalarField& Y(this->Y()); this->Cp() = composition.liquids().Cp(pc0, T0, X0);
scalarField X(composition.liquids().X(Y)); sigma_ = composition.liquids().sigma(pc0, T0, X0);
scalar rho0 = composition.liquids().rho(pc0, T0, X0);
this->Cp() = composition.liquids().Cp(this->pc_, T0, X);
sigma_ = composition.liquids().sigma(this->pc_, T0, X);
scalar rho0 = composition.liquids().rho(this->pc_, T0, X);
this->rho() = rho0; this->rho() = rho0;
mu_ = composition.liquids().mu(pc0, T0, X0);
ParcelType::calc(td, dt, cellI); ParcelType::calc(td, dt, cellI);
@ -113,11 +111,13 @@ void Foam::SprayParcel<ParcelType>::calc
this->Cp() = composition.liquids().Cp(this->pc_, T1, X1); this->Cp() = composition.liquids().Cp(this->pc_, T1, X1);
sigma_ = composition.liquids().sigma(this->pc_, T1, X); sigma_ = composition.liquids().sigma(this->pc_, T1, X1);
scalar rho1 = composition.liquids().rho(this->pc_, T1, X1); scalar rho1 = composition.liquids().rho(this->pc_, T1, X1);
this->rho() = rho1; this->rho() = rho1;
mu_ = composition.liquids().mu(this->pc_, T1, X1);
scalar d1 = this->d()*cbrt(rho0/rho1); scalar d1 = this->d()*cbrt(rho0/rho1);
this->d() = d1; this->d() = d1;
@ -360,10 +360,6 @@ void Foam::SprayParcel<ParcelType>::solveTABEq
const scalar dt const scalar dt
) )
{ {
typedef typename TrackData::cloudType::reactingCloudType reactingCloudType;
const CompositionModel<reactingCloudType>& composition =
td.cloud().composition();
const scalar& TABCmu = td.cloud().breakup().TABCmu(); const scalar& TABCmu = td.cloud().breakup().TABCmu();
const scalar& TABWeCrit = td.cloud().breakup().TABWeCrit(); const scalar& TABWeCrit = td.cloud().breakup().TABWeCrit();
const scalar& TABComega = td.cloud().breakup().TABComega(); const scalar& TABComega = td.cloud().breakup().TABComega();
@ -372,26 +368,19 @@ void Foam::SprayParcel<ParcelType>::solveTABEq
scalar r2 = r*r; scalar r2 = r*r;
scalar r3 = r*r2; scalar r3 = r*r2;
const scalarField& Y(this->Y());
scalarField X(composition.liquids().X(Y));
scalar rho = composition.liquids().rho(this->pc(), this->T(), X);
scalar mu = composition.liquids().mu(this->pc(), this->T(), X);
scalar sigma = composition.liquids().sigma(this->pc(), this->T(), X);
// inverse of characteristic viscous damping time // inverse of characteristic viscous damping time
scalar rtd = 0.5*TABCmu*mu/(rho*r2); scalar rtd = 0.5*TABCmu*mu_/(this->rho()*r2);
// oscillation frequency (squared) // oscillation frequency (squared)
scalar omega2 = TABComega*sigma/(rho*r3) - rtd*rtd; scalar omega2 = TABComega*sigma_/(this->rho()*r3) - rtd*rtd;
if (omega2 > 0) if (omega2 > 0)
{ {
scalar omega = sqrt(omega2); scalar omega = sqrt(omega2);
scalar rhoc = this->rhoc(); scalar rhoc = this->rhoc();
scalar Wetmp = this->We(this->U(), r, rhoc, sigma)/TABWeCrit; scalar We = this->We(this->U(), r, rhoc, sigma_)/TABWeCrit;
scalar y1 = this->y() - Wetmp; scalar y1 = this->y() - We;
scalar y2 = this->yDot()/omega; scalar y2 = this->yDot()/omega;
// update distortion parameters // update distortion parameters
@ -400,7 +389,7 @@ void Foam::SprayParcel<ParcelType>::solveTABEq
scalar e = exp(-rtd*dt); scalar e = exp(-rtd*dt);
y2 = (this->yDot() + y1*rtd)/omega; y2 = (this->yDot() + y1*rtd)/omega;
this->y() = Wetmp + e*(y1*c + y2*s); this->y() = We + e*(y1*c + y2*s);
if (this->y() < 0) if (this->y() < 0)
{ {
this->y() = 0.0; this->y() = 0.0;
@ -408,7 +397,7 @@ void Foam::SprayParcel<ParcelType>::solveTABEq
} }
else else
{ {
this->yDot() = (Wetmp - this->y())*rtd + e*omega*(y2*c - y1*s); this->yDot() = (We - this->y())*rtd + e*omega*(y2*c - y1*s);
} }
} }
else else

View File

@ -101,11 +101,9 @@ bool Foam::ReitzDiwakar<CloudType>::update
scalar We = 0.5*rhoc*sqr(Urmag)*d/sigma; scalar We = 0.5*rhoc*sqr(Urmag)*d/sigma;
scalar Re = Urmag*d/nuc; scalar Re = Urmag*d/nuc;
scalar sqRey = sqrt(Re);
if (We > Cbag_) if (We > Cbag_)
{ {
if (We > Cstrip_*sqRey) if (We > Cstrip_*sqrt(Re))
{ {
scalar dStrip = sqr(2.0*Cstrip_*sigma)/(rhoc*pow3(Urmag)*muc); scalar dStrip = sqr(2.0*Cstrip_*sigma)/(rhoc*pow3(Urmag)*muc);
scalar tauStrip = Cs_*d*sqrt(rho/rhoc)/Urmag; scalar tauStrip = Cs_*d*sqrt(rho/rhoc)/Urmag;
@ -117,9 +115,7 @@ bool Foam::ReitzDiwakar<CloudType>::update
else else
{ {
scalar dBag = 2.0*Cbag_*sigma/(rhoc*sqr(Urmag)); scalar dBag = 2.0*Cbag_*sigma/(rhoc*sqr(Urmag));
scalar tauBag = Cb_*d*sqrt(rho*d/sigma); scalar tauBag = Cb_*d*sqrt(rho*d/sigma);
scalar fraction = dt/tauBag; scalar fraction = dt/tauBag;
// new droplet diameter, implicit calculation // new droplet diameter, implicit calculation