Go to the documentation of this file.
30 template<
class CloudType>
37 template<
class CloudType>
47 bool coalescence =
false;
49 const vector& pos1 = p1.position();
50 const vector& pos2 = p2.position();
60 scalar vAlign = URel & (d/(magd + ROOTVSMALL));
64 const scalar d1 = p1.d();
65 const scalar d2 = p2.d();
67 scalar sumD = d1 + d2;
69 if (vAlign*dt > magd - 0.5*sumD)
71 scalar magU1 =
mag(
U1) + ROOTVSMALL;
72 scalar magU2 =
mag(
U2) + ROOTVSMALL;
76 scalar n1n2 = n1 & n2;
80 scalar
det = 1.0 -
sqr(n1n2);
100 scalar closestDist =
mag(p1c - p2c);
103 pow(0.5*sumD/
max(0.5*sumD, closestDist), cSpace_)
106 scalar xx = this->owner().
rndGen().template sample01<scalar>();
113 coalescence = this->collideSorted(dt, p1, p2, m1, m2);
117 coalescence = this->collideSorted(dt, p2, p1, m2, m1);
130 template<
class CloudType>
143 template<
class CloudType>
157 template<
class CloudType>
dimensionedScalar beta("beta", dimless/dimTemperature, laminarTransport)
virtual bool collideParcels(const scalar dt, parcelType &p1, parcelType &p2, scalar &m1, scalar &m2)
Collide parcels and return true if mass has changed.
scalar cTime_
Time coefficient.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
dimensionedScalar exp(const dimensionedScalar &ds)
dimensioned< scalar > mag(const dimensioned< Type > &)
Collision model by P.J. O'Rourke.
Random & rndGen()
Return refernce to the random object.
virtual ~TrajectoryCollision()
Destructor.
TrajectoryCollision(const dictionary &dict, CloudType &cloud)
Construct from dictionary.
Trajectory collision model by N. Nordin, based on O'Rourke's collision model.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Templated base class for dsmc cloud.
A list of keyword definitions, which are a keyword followed by any number of values (e....
CloudType::parcelType parcelType
Convenience typedef to the cloud's parcel type.
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionedScalar e
Elementary charge.
virtual void collide(const scalar dt)
Main collision routine.
scalar cSpace_
Space coefficient.
dimensionedScalar det(const dimensionedSphericalTensor &dt)
stressControl lookup("compactNormalStress") >> compactNormalStress