5.4.2. Spreading of a droplet

We can use the same equation class to calculate the spreading of a droplet. For that, we have to switch to an axisymmetric coordinate system and also make sure that the droplet can spread at all. For the latter, we must make sure that the droplet does not end at its radius \(R\) with \(h(R,t)=0\), since this would exclude any change in the height according to (5.6). A conventional way to resolve this is the addition of a precursor film with a thin thickness compared to the droplet. The thickness of the this film will control the spreading velocity. Additionally, one may add a disjoining pressure. Thereby, one can e.g. enforce the spreading to stop at a finite contact angle:

from lubrication import *

class DropletSpreading(Problem):
     def __init__(self):
             super(DropletSpreading,self).__init__()
             self.hp=0.0075 # precursor height
             self.sigma=1 # surface tension
             self.R,self.h_center=1,0.5 # initial radius and height of the droplet
             self.theta_eq=pi/8  # equilibrium contact angle


     def define_problem(self):
             self.set_coordinate_system("axisymmetric")
             self.add_mesh(LineMesh(N=500,size=5)) # simple line mesh

             h=var("h") # Building disjoining pressure
             disjoining_pressure=5*self.sigma*self.hp**2*self.theta_eq**2*(h**3 - self.hp**3)/(3*h**6)

             eqs=LubricationEquations(sigma=self.sigma,disjoining_pressure=disjoining_pressure) # equations
             eqs+=TextFileOutput() # output
             h_init=maximum(self.h_center*(1-(var("coordinate_x")/self.R)**2),self.hp) # Initial height
             eqs+=InitialCondition(h=h_init)

             self.add_equations(eqs@"domain") # adding the equation


if __name__=="__main__":
     with DropletSpreading() as problem:
             problem.run(1000,outstep=True,startstep=0.01,maxstep=10,temporal_error=1)
Spreading of a droplet

Fig. 5.11 Spreading of a droplet until the equilibrium contact angle is reached, which is enforced by the disjoining pressure.