30 template<
class CloudType>
43 if (!this->defaultCoeffs(
true))
45 this->coeffDict().lookup(
"k1") >> k1_;
46 this->coeffDict().lookup(
"k2") >> k2_;
47 this->coeffDict().lookup(
"WeTransition") >> WeTransition_;
51 AWe_ = (k21*
sqrt(WeTransition_) - 1.0)/
pow4(WeTransition_);
55 template<
class CloudType>
61 WeTransition_(bum.WeTransition_),
68 template<
class CloudType>
75 template<
class CloudType>
105 scalar semiMass = nParticle*
pow3(d);
108 scalar rtd = 0.5*this->
TABCmu_*mu/(rho*r2);
111 scalar omega2 = this->
TABComega_*sigma/(rho*r3) - rtd*rtd;
115 scalar omega =
sqrt(omega2);
116 scalar romega = 1.0/omega;
118 scalar We = rhoc*
sqr(Urmag)*r/
sigma;
121 scalar
y1 = y - Wetmp;
122 scalar y2 = yDot*romega;
124 scalar a =
sqrt(y1*y1 + y2*y2);
132 phic =
max(
min(phic, 1), -1);
134 scalar phit =
acos(phic);
146 scalar theta =
acos((1.0 - Wetmp)/a);
156 tb = (theta -
phi)*romega;
162 yDot = -a*omega*
sin(omega*tb + phi);
169 scalar sqrtWe = AWe_*
pow4(We) + 1.0;
170 scalar Kbr = k1_*omega*sqrtWe;
172 if (We > WeTransition_)
175 Kbr =k2_*omega*sqrtWe;
178 scalar rWetmp = 1.0/Wetmp;
179 scalar cosdtbu =
max(-1.0,
min(1.0, 1.0 - rWetmp));
180 scalar dtbu = romega*
acos(cosdtbu);
181 scalar decay =
exp(-Kbr*dtbu);
183 scalar
rNew = decay*r;
201 nParticle = semiMass/
pow3(d);
ETAB(const dictionary &, CloudType &)
Construct from dictionary.
dimensionedScalar acos(const dimensionedScalar &ds)
A list of keyword definitions, which are a keyword followed by any number of values (e...
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
virtual ~ETAB()
Destructor.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedScalar y1(const dimensionedScalar &ds)
const scalar twoPi(2 *pi)
dimensionedScalar sin(const dimensionedScalar &ds)
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedScalar pow3(const dimensionedScalar &ds)
virtual bool update(const scalar dt, const vector &g, scalar &d, scalar &tc, scalar &ms, scalar &nParticle, scalar &KHindex, scalar &y, scalar &yDot, const scalar d0, const scalar rho, const scalar mu, const scalar sigma, const vector &U, const scalar rhoc, const scalar muc, const vector &Urel, const scalar Urmag, const scalar tMom, scalar &dChild, scalar &massChild)
Update the parcel properties.
dimensionedScalar pow4(const dimensionedScalar &ds)
dimensioned< scalar > mag(const dimensioned< Type > &)
Templated break-up model class.
Templated base class for dsmc cloud.