Droplet coalescence
A fairly simple showcase is the dynamics of two coalescing sessile droplets. Of course we are not the first ones to take a look at this problem and in fact the literature concerning coalescing droplets is vast. For example references [1,2,3,4,5] study the coalescence dynamics of freely suspended droplets. While references [6,7] focus on coalescence of sessile droplets on partially wetting substrates with contact angles below
The simulation is performed within the quasi two-dimensional (fast prototyping) system. Everything, besides the visualization with Plots.jl, is contained in the Swalbe.jl package. However for convenience we define two more functions. The first one contains the simulation, so we can run it with different parameters just by switching input arguments. The second one is for data analysis.
Experiment and analysis functions
The fluid dynamics simulation
run_drop_coal()
Computation of the bridge height
brdige_height()
One minor addition, for convenience we use a recipe
that works quite similar to matplotlibs markevery
function.
run_drop_coal()
Simulation for droplet coalescence in quasi two dimensions.
bridge_height()
Function that tracks the height or thickness at a single well defined lattice point.
false
Initial condition
The plot below describes the initial condition of our numerical experiment. Two droplets that are barely touching with a contact angle θ of 20° (or π/9).
Due to surface tension (γ) we expect that these two droplets will coalesce into a single one. That is because a single droplet does have less surface area than two smaller ones and therefore it is an energetically favorable state.
Experiment
We start the numerical experiment or simulation by simply calling the function that we defined before: run_drop_coal()
.
The data will be saved to an array that contains n-time steps and the whole height field. Something that is only possible with numerical simulations is to change parameters at will. We do this by changing the surface tension γ of our test liquid. Of course changing the contact angle θ or the kinematic viscosity ν would as well be possible.
Data
Below is an example of the data that was generated during the simulation. We saved all Tmax
time steps of all L
lattice points in data_merge[:,:,γ]
where we can specify the desired γ
value in the last column of the array. Displayed is the data of the run with γ=8×10⁻⁵, or simply the first run.
A short word of caution. The lattice Boltzmann method is not perfect. On the plus side we have a relatively simple algorithm and the scales well. One of the downsides however is the fact that this method is derived from the Boltzmann equation. Therefore trying to make sense of these surface tension values is not too helpful. Interpreting results in terms of SI units is often not the best way. Personally I like to work with dimensionless numbers and relevant length and time scales.
Instead of adding SI units to the plots we normalize with characteristic quantities of the experiment.
20000×1024 Matrix{Float64}:
0.05 0.05 0.05 0.05 … 0.05 0.05 0.05
0.05 0.05 0.05 0.05 0.05 0.05 0.05
0.05 0.05 0.05 0.05 0.05 0.05 0.05
0.05 0.05 0.05 0.05 0.05 0.05 0.05
0.05 0.05 0.05 0.05 0.05 0.05 0.05
0.05 0.05 0.05 0.05 … 0.05 0.05 0.05
0.05 0.05 0.05 0.05 0.05 0.05 0.05
⋮ ⋱
0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808
0.0499808 0.0499808 0.0499808 0.0499808 … 0.0499808 0.0499808 0.0499808
0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808
0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808
0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808
0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808 0.0499808
Since a plot says more than a few thousand columns, here is a plot of three different time steps. The initial kink between the two droplets is quickly smoothed out and the bridge (h₀) connecting the two droplets is growing.
Under the bridge
The next point on the list is to measure the evolution of the bridge height h₀. We expect that the height will grow according to some power law, in fact given theoretical assumptions, see refs. [6,7], we hope to observe
Luckily this is a fairly easy task, since by definition the touching point of the droplets is at the center of the substrate.
Now there are two data sets
Film thicknesses:
bridge heights:
Especially the bridge heights should likely collapse to a single curve upon rescaling with a characteristic time scale
where
τ(γ, R, μ)
Computes a characteristic time scale.
Results
In the following we show the results collected. First being the evolution of the bridge height h₀(t). This information may not be too insightful, because the data is given in terms of lattice Boltzmann units (l.b.u.). To overcome this issue we have two natural scales. On the one hand a time scale defined by τ and on the other hand a length scale given by the spheres radii R.
τ ... time
R ... length
In the plot below we see that pure data spans four different curves, based on their respective surface tensions.
In the box below the lattice Boltzmann time steps are normalized and nondimensionalized with τ.