Introducing viscous forces in a liquid bridge

Asked by Rioual on 2019-10-09


I would like to take into account liquid bonding forces between particles.
Capillary forces are already implemented in YADE but for very viscous
fluids or high velocity, the viscous contribution can be dominant (Capillary number >>1).
It is typically an aditionnal viscous force proportional to the relative velocity between
particles (see for instance: Washino et al, Powder Technology 302 (2016) 100-107).
What would be the strategy to implement this liquid viscous force in Yade ??



Question information

English Edit question
Yade Edit question
No assignee Edit question
Solved by:
Anton Gladky
Last query:
Last reply:
Jérôme Duriez (jduriez) said : #1


If you have a closed form expression, then it is quite easy to add the force to each body from Python (then from C++ if the extra cost of this operation -- always greater in Python than in C++ -- is a problem).

O.forces.addF(i.id1,- yourForceVectorHere) # i is an interaction

Interaction forces proportional to relative velocity already exist in YADE, and even with extra fluid-induced forces: see [*] and related classes. See examples at [**]

Probably many other ideas: YADE being open source, you can implement everything you want ! (typically with new Engine classes)

Maybe you can try to give more details if you want more answers.


Rioual (francois-rioual-v) said : #2

Hello Jerome,

Thanks for the feedback.
ViscElCapMat would indeed be the closest to what I am looking for but I can not find the theoretical details of the law, in particular the implementation of the viscous contributions.
In my case and according to theory, the normal viscous force is proportional to the relative translational velocity between two particles with a damping coefficient which is a function of the separation distance between the two particles.
The tangential viscous force is proportional to both the relative translational and rotational velocities with two damping coefficients which are again functions of the separation distance between the particles (Washino et al, Powder Technology 302 (2016) 100-107).
So this sounds more tricky....
My best wishes


Jérôme Duriez (jduriez) said : #3

As for more details about ViscElCapMat, you might found some in (if I'm not mistaken, that's the paper related to this code). Source code is at [*]

Maybe you do need a new consitutive law. In this case, C++ coding new Material, Ip2 and Law2 functors would be the (only) way to go. You may take inspiration from existing contact models ([*] for instance). The procedure also had been discussed somewhere in the mailing list.

Anyhow, significant understanding of YADE internals and C++ would help / be gained in the process..

[* and .cpp

Rioual (francois-rioual-v) said : #4

Hello Jerome,

Yes, ViscElCapMat is more precisely a viscoelastic model of contact (very usual) added to a capillary force so this is not what I wanted to model: adding the viscous contribution of the liquid bridge between two particles. So I probably would need a new constitutive law as you suggest...



There is probably no need to get both capillary force and viscous force from a single model.
The viscous (lubrication) forces are given by Law2_ScGeom_ImplicitLubricationPhys.

Rioual (francois-rioual-v) said : #6

Hi Bruno,

That's a very interesting option; the previous theory of viscous contribution of bridges (evoked above) was derived
indeed from Reynolds equation of lubrication.
Where can I get all the theoretical details of Law2_ScGeom_ImplicitLubricationPhys and references ??
I don't see viscosity as an input parameter ??
Aren't there any technical difficulties with YADE dealing with two different interaction laws for the same
 couple of particles ??

All the best,


>Where can I get all the theoretical details of Law2_ScGeom_ImplicitLubricationPhys and references ??

There is paper in preparation, but overall lubrication is lubrication, there are plenty papers about it.
See for instance

>I don't see viscosity as an input parameter ??

You should.

> two different interaction laws

Capillary forces do not come from an interaction law actually, hence no issue in principle.


Best Anton Gladky (gladky-anton) said : #8

I would recommend you to extend an existing law instead of writing a new one, if it is possible. Thus you can escape the code duplication and pain of adding new files from scratch.

Rioual (francois-rioual-v) said : #9

Thanks Anton Gladky, that solved my question.

Jérôme Duriez (jduriez) said : #10

See maybe Ip2_FrictMat_FrictMat_LubricationPhys.eta for the fluid viscosity in Lubrication classes