32 template<
class CloudType>
53 AWe_ = (k21*
sqrt(WeTransition_) - 1.0)/
pow4(WeTransition_);
57 template<
class CloudType>
63 WeTransition_(bum.WeTransition_),
70 template<
class CloudType>
77 template<
class CloudType>
107 scalar semiMass = nParticle*
pow3(d);
110 scalar rtd = 0.5*this->TABCmu_*
mu/(
rho*r2);
113 scalar omega2 = this->TABComega_*
sigma/(
rho*r3) - rtd*rtd;
117 scalar omega =
sqrt(omega2);
118 scalar romega = 1.0/omega;
120 scalar We = rhoc*
sqr(Urmag)*r/
sigma;
121 scalar Wetmp = We/this->TABtwoWeCrit_;
123 scalar
y1 =
y - Wetmp;
124 scalar y2 = yDot*romega;
148 scalar theta =
acos((1.0 - Wetmp)/a);
158 tb = (theta -
phi)*romega;
164 yDot = -a*omega*
sin(omega*tb +
phi);
171 scalar sqrtWe = AWe_*
pow4(We) + 1.0;
172 scalar Kbr = k1_*omega*sqrtWe;
174 if (We > WeTransition_)
177 Kbr =k2_*omega*sqrtWe;
180 scalar rWetmp = 1.0/Wetmp;
181 scalar cosdtbu =
max(-1.0,
min(1.0, 1.0 - rWetmp));
182 scalar dtbu = romega*
acos(cosdtbu);
183 scalar decay =
exp(-Kbr*dtbu);
185 scalar
rNew = decay*r;
203 nParticle = semiMass/
pow3(d);
ETAB(const dictionary &, CloudType &)
Construct from dictionary.
dimensionedScalar acos(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
A list of keyword definitions, which are a keyword followed by a number of values (eg...
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)
virtual ~ETAB()
Destructor.
bool readEntry(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX, IOobjectOption::readOption readOpt=IOobjectOption::MUST_READ) const
Find entry and assign to T val. FatalIOError if it is found and the number of tokens is incorrect...
dimensionedScalar exp(const dimensionedScalar &ds)
constexpr scalar twoPi(2 *M_PI)
const dictionary & coeffDict() const
Return const access to the coefficients dictionary.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
dimensionedScalar y1(const dimensionedScalar &ds)
const uniformDimensionedVectorField & g
dimensionedScalar sin(const dimensionedScalar &ds)
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
virtual bool defaultCoeffs(const bool printMsg) const
Returns true if defaultCoeffs is true and outputs on printMsg.
surfaceScalarField phic(mixture.cAlpha() *mag(alphaPhic/mesh.magSf()))
const dimensionedScalar mu
Atomic mass unit.
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)
Templated break-up model class.
Templated base class for dsmc cloud.