This example showcases some of the capabilities of the
DROPLETPHASE solver in resolving collisions. The corresponding models and UCV syntax can also be found on the
DropletCollisions page.
Starting point
As a starting point, we consider a block of
DROPLETPHASE points which are filled within a cone geometry and with randomly varied droplet diameters:

The random variation of droplet size was defined via
INITDATA(
$DUST$,%ind_d30%) = [ nrand(
&InitD30&,
&D30sigma&) ]
where
%ind_d30% is the index storing the diameter of
DROPLETPHASE particles. After initialization we will let these particles fall down under the effect of gravity which is pointing towards the tip of the cone, i.e. in negative z-direction.
Defining the collision model
To model the expected rebound of particles from the walls of the cone, we have to enable the collision model for boundaries by specifying
BC_v(
$wallt$) = (
%BND_COLLISION%,
&kn_pw&,
&en_pw&,
&Ea_pw&,
&Ra_pw&,
&mu_pw& ,
&SF_pw&,
&theta_pw&)
for the velocity boundary condition of all parts of the cone. Details on the arguments may be found under
%BND_COLLISION%. It is important to note that the spring stiffness needs to be adapted to the configuration at hand. Specifically this means that it has to be chosen large enough so that overlaps do not become too large for the given particle masses and collision velocity. In addition to boundary collisions, we also want to consider interactions between the particles so that they can stack on top of each other when gathering in the tip of the cone. This may be enabled via
ParticleInteraction($DUST$) = (&kn_pp&, &en_pp&, &Ea_pp&, &Ra_pp&, &mu_pp&)
Again, for an explanation of the parameters we refer to the ParticleInteraction. The models behind both
%BND_COLLISION% and ParticleInteraction are described in detail in
DropletCollisions.
Time step restrictions and subcycling
To accurately reproduce collision dynamics it is important to make sensible choices for the time step within the
DROPLETPHASE. In this example, two special time step restrictions are used:
Restriction via COEFF_dt_d30:
This is similar to
COEFF_dt in that it ensures that points only travel a certain distance within each time step. The
DROPLETPHASE-specific
COEFF_dt_d30 only distinguishes itself from
COEFF_dt by taking the particle radius instead of the smoothing length as reference distance. By supplying a value smaller than 1.0 it is guaranteed that all collisions captured by at least a single time step.
Restriction via DELT_dt_AddCond:
While no collision would go unnoticed for
COEFF_dt_d30 smaller than 1.0, there is no guarantee that with this restriction alone the theoretical behavior of the collision model is reproduced accurately for all values of the spring stiffness. To alleviate this problem and make sure that every collision is reproduced to a satisfactory degree, we prescribe the additional condition
DELT_dt_AddCond(
$DUST$) = [
&frac_dtcoll&*min(equn{
$DUST_dt_coll_pw$},equn{
$DUST_dt_coll_pp$}) ]
which ensures that multiple timesteps are within the theoretical contact duration of a collision.
Subcycling:
In order to avoid that all point organization routines are called in every one of the small time steps imposed by the above conditions, we further enable the subcycling within the
DROPLETPHASE by setting
COMP_DropletphaseSubcycles = 1 # turn on subcycling
See
COMP_DropletphaseSubcycles for more information on the subcycling and the meaning of this particular parameter.
Simulation result
Running the simulation with the predefined settings will show that particles are colliding with the side wall of the cone and slide downwards toward the tip, as is depicted in the following image:

The user is encouraged to try out modifications of the predefined switches and in particular the time step parameters above. An important step towards setting up own simulations using the
DROPLETPHASE collision capabilities is building an understanding of why different time step restrictions are necessary and which behavior has to be expected whenever they are violated.