SPH
|
Handler merging particles into a single, larger particles. More...
#include <Collision.h>
Public Member Functions | |
MergingCollisionHandler (const RunSettings &settings) | |
MergingCollisionHandler (const Float bounceLimit, const Float rotationLimit) | |
virtual void | initialize (Storage &storage) override |
virtual CollisionResult | collide (const Size i, const Size j, FlatSet< Size > &toRemove) override |
Computes the outcome of collision between i-th and j-th particle. More... | |
![]() | |
virtual | ~Polymorphic () |
Handler merging particles into a single, larger particles.
The volume of the merger is the sum of volumes of colliders. Particles are only merged if the relative velocity of collision is lower than the escape velocity and if the angular frequency of the would-be merger is lower than the break-up frequency; if not, CollisionResult::NONE is returned.
Definition at line 117 of file Collision.h.
|
inlineexplicit |
Definition at line 132 of file Collision.h.
|
inlineexplicit |
Definition at line 137 of file Collision.h.
|
inlineoverridevirtual |
Computes the outcome of collision between i-th and j-th particle.
It is guaranteed that this function is called after initialize has been called (at least once) and that the storage object passed to initialize is valid, so it is allowed (and recommended) to storage a pointer to the storage.
i,j | Indices of particles in the storage. |
toRemove | Indices of particles to be removed from the storage. May already contain some indices, collision handler should only add new indices and it shall not clear the storage. |
Implements ICollisionHandler.
Definition at line 154 of file Collision.h.
|
inlineoverridevirtual |
Implements ICollisionHandler.
Definition at line 141 of file Collision.h.