32template<
class CloudType>
53 AWe_ = (k21*
sqrt(WeTransition_) - 1.0)/
pow4(WeTransition_);
57template<
class CloudType>
63 WeTransition_(bum.WeTransition_),
70template<
class CloudType>
77template<
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 cosdtbu =
clamp((1.0 - 1.0/Wetmp), -1, 1);
181 scalar dtbu = romega*
acos(cosdtbu);
182 scalar decay =
exp(-Kbr*dtbu);
184 scalar
rNew = decay*r;
202 nParticle = semiMass/
pow3(d);
surfaceScalarField phic(mixture.cAlpha() *mag(alphaPhic/mesh.magSf()))
const uniformDimensionedVectorField & g
Templated break-up model class.
BreakupModel(CloudType &owner)
Construct null from owner.
const CloudType & owner() const
Return const access to the owner cloud.
virtual ~ETAB()
Destructor.
ETAB(const dictionary &, CloudType &)
Construct from dictionary.
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.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
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,...
const dictionary & coeffDict() const
Return const access to the coefficients dictionary.
const dictionary & dict() const
Return const access to the cloud dictionary.
virtual bool defaultCoeffs(const bool printMsg) const
Returns true if defaultCoeffs is true and outputs on printMsg.
constexpr scalar twoPi(2 *M_PI)
DSMCCloud< dsmcParcel > CloudType
dimensionedScalar exp(const dimensionedScalar &ds)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar pow3(const dimensionedScalar &ds)
dimensionedScalar sin(const dimensionedScalar &ds)
dimensionSet clamp(const dimensionSet &a, const dimensionSet &range)
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
dimensionedScalar y1(const dimensionedScalar &ds)
dimensionedScalar sqrt(const dimensionedScalar &ds)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
dimensionedScalar pow4(const dimensionedScalar &ds)
dimensionedScalar acos(const dimensionedScalar &ds)
dimensionedScalar sigma("sigma", dimMass/sqr(dimTime), transportProperties)