Breakup¶
Header file: <libs/superdrops/collisions/breakup.hpp>
[source]
-
template<NFragments NFrags>
struct DoBreakup¶ Public Functions
-
bool operator()(Superdrop &drop1, Superdrop &drop2, const double prob, const double phi_coll, const double phi_out) const¶
Operator used as an adaptor such that DoBreakup satisfies the PairEnactX concept and so can be used as the EnactCollision function-like object in the DoCollisions struct.
This operator calls functions to enact the collision-breakup of two super-droplets.
NOTE: phi_out is not used since outcome of collision is already pre-determined to be breakup.
- Parameters:
drop1 – First superdroplet.
drop2 – Second superdroplet.
prob – Probability of collision.
phi_coll – Random number in the range [0.0, 1.0] for collision.
phi_out – Random number in the range [0.0, 1.0] for outcome of collision (not used).
- Returns:
True if the resulting superdroplet is null, otherwise false.
Private Functions
-
unsigned int breakup_gamma(const double prob, const double phi) const¶
-
bool operator()(Superdrop &drop1, Superdrop &drop2, const double prob, const double phi_coll, const double phi_out) const¶
-
template<PairProbability Probability, NFragments NFrags>
inline MicrophysicalProcess auto CollBu(const unsigned int interval, const std::function<double(unsigned int)> int2realtime, const Probability collbuprob, const NFrags nfrags)¶
-
template<PairProbability Probability, NFragments NFrags>
inline MicrophysicalProcess auto CollBu(const unsigned int interval, const std::function<double(unsigned int)> int2realtime, const Probability collbuprob, const NFrags nfrags, const uint64_t seed)¶