Distant interactions with aabbEnlargeFactor & interactionDetectionFactor

Asked by Nicolas Godet

Dear all,

I still have the desire to model a water-saturated flowing material. The fluid coupling will be too complicated. It requires to modify the C++ code, it is not feasible during my internship.

I turned to frictional viscous law. [1]
To simulate the presence of the fluid between particles, I thought I could use aabbEnlargeFactor and interactionDetectionFactor to create distant interactions between particles.

My question is : What is the behavior of the viscous law (or all other laws) when 2 fictive enlarged particles overlap ? (Like this http://prntscr.com/iwfv1v)
Does parameters of material/physic/law is proportional to the "overlapping ratio" ? (0 when the distance between particles is > 2 * fictive radius and 1 when their is a real contact between particles)

The fact is I want that the force exert by a particle on the other is proportional to the relative velocity and inversely proportional to the distance between particles.
Repulsive force when 2 particles get closer and "attractive" force when 2 particles recede.
I think I will have to code a Python function to apply this kind of force on each particle.

Regards,
Nicolas

P.S.: Here is my actual code to run some tests : https://pastebin.com/7BNK4KJL

[1] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Law2_ScGeom_ViscoFrictPhys_CundallStrack

Question information

Language:
English Edit question
Status:
Solved
For:
Yade Edit question
Assignee:
No assignee Edit question
Solved by:
William Chevremont
Solved:
Last query:
Last reply:
Revision history for this message
Best William Chevremont (william.chevremont) said :
#1

Hi Nicolas,

What you are looking about is lubricated contact law. It's still under development but you can already use it.

Here is an example of collider/interaction loop:

InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.5, label="aabb")],verletDist=-0.1,allowBiggerThanPeriod=False),
InteractionLoop(
        [Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1.5,label="Ig2")],
        [Ip2_ElastMat_ElastMat_LubricationPhys(eta=m_viscosity,eps=m_roughness)],
        [Law2_ScGeom_ImplicitLubricationPhys(activateNormalLubrication=True,
                                                                activateTangencialLubrication=True,
                                                                activateTwistLubrication=False,
                                                                activateRollLubrication=False,
                                                                debug=False)]
    ),

For instance, the lubrication force is not calculated further than one particle radius. So, having a factor of more than 2 is useless.

Revision history for this message
Nicolas Godet (nicolas.godet) said :
#3

Thanks William Chèvremont, that solved my question.