← Back to team overview

yade-users team mailing list archive

Re: [Question #703805]: How to achieve the cohesion bond constraint between particles of CohFrictMat in code

 

Question #703805 on Yade changed:
https://answers.launchpad.net/yade/+question/703805

    Status: Open => Answered

Jan Stránský proposed the following answer:
> coordinates=numpy.genfromtxt("zuobiao.csv",delimiter=",")
//(0.01,0.01,0) (0.03,0.01,0)

If providing code, please provide MWE [1]
W = working, such that we can directly run it.
I **assume** it could be rewritten as
coordinates=(0.01,0.01,0),(0.03,0.01,0)
but is is much more preferable that you provide the code to be used.

> the particle of ID=0 and the particle of ID=1 will move together at a
constant velocity to the left.

No, not at all.

If you prescribe force, constant acceleration (not velocity) would be
meaningful. Velocity should be increasing.

If you clump the particles together (to form a rigid body), then they will move with same velocity (together?).
If they are not clumped, they do NOT move with same velocity (just print velocities in your script, they are not the same), there is no reason for it.

> In theory, A and B are bonded as a whole, so they will move to the
left as a whole,

depending on the definition "bonded as a whole", "move as a whole" and other conditions.
- if the bond stiffness is "low", inertia of particles "high" the force "high", the will not "move as a whole"
- the cohesive bond may break
- ...

> but how is the internal force between the other two particles
calculated and added in the code?

The internal forces is computed similarly to any other (cohesive or non-cohesive) contact law.
a) Based on mutual motion, the value of internal force is evaluated
b) The force is applied to the interacting bodies (same value, opposite direction)

For Law2_ScGeom6D_CohFrictPhys_CohesionMoment (as in the provided code), it would be:
a) function go [2], search normalForce and shearForce
b) [3] 

Cheers
Jan

[1] https://www.yade-dem.org/wiki/Howtoask
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/CohesiveFrictionalContactLaw.cpp#L109
[3] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/CohesiveFrictionalContactLaw.cpp#L168

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.