cohesion between polyhedral particles

Asked by Mahdeyeh on 2019-04-19

Hello,

How I can create polyhedral particles that they have cohesion between themselves?

thanks a lot

Question information

Language:
English Edit question
Status:
Answered
For:
Yade Edit question
Assignee:
No assignee Edit question
Last query:
2019-05-04
Last reply:
2019-05-06
Robert Caulk (rcaulk) said : #1

Does it answer your question [1]?

[1]https://answers.launchpad.net/yade/+question/255247

Jan Stránský (honzik) said : #2

Hello,
try to use Ig2_Polyhedra_Polyhedra_ScGeom [1] and then materials, Ip2 and Law2 as if you simulate cohesive spheres.
cheers
Jan

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

mohsen (agha-mohsena) said : #3

Hi every one to

I joined this discussion since it is my question too.
@ Robert:

It seems that some attributes have been added to PolyhedraMat that could model cohesion such as : sigmaCZ. so it seems that comment #1 in your referenced question is not valid now. Am i right?

@ Jan:
i think the question refers to the cohesion between the polyhedra particles and there is no sphere.
Do you mean to set the attributes in PolyhedraMat such as:
sigmaCZ
strengthTau

and continuing the same as cohesive spheres?
.
Can you please put a MWE here!

Regards

Jan Stránský (honzik) said : #4

Hi Mohsen,

I meant to use Ig2_Polyhedra_Polyhedra_ScGeom, which from two colliding polyhedrons creates ScGeom instance. Then you can use CpmMat, CohFrictMat or whatever else which wokrs for spheres, but would not be (currently) possible with PolyhedraPhys.

As far as I understand the code [1], sigmaCZ and strengthTau are used by PolyhedraSplitter, which (under certain circumstances) break one polyhedron into several independent polyhedrons.

Depending on OP ("polyhedral particles that they have cohesion between themselves"), it could be the answer..

MWE later..

[1] https://gitlab.com/yade-dev/trunk/blob/master/pkg/dem/Polyhedra.cpp#L305
[2] https://gitlab.com/yade-dev/trunk/blob/master/pkg/dem/Polyhedra_splitter.cpp#L258

mohsen (agha-mohsena) said : #5

Thanks Jan

Do you mean the same as following:

InteractionLoop(
   [Ig2_Polyhedra__Polyhedra__ScGeom()], # collision geometry
  [Ip2_CpmMat_CpmMat_CpmPhys()], # collision "physics"
  [Law2_ScGeom_CpmPhys_Cpm] # contact law -- apply forces
 ),
?
It would not work since there is no particle with CpmMat in scene, but they are all of PolyhedraMat.
Hence as you said currently it is not possible to model two polyhedras with a bond considering both cohesion and tension between two particles?

MWE would be appreciated if you had time.

Regards

Mahdeyeh (mahdiye.sky) said : #6

Hi every one
Thank you all for your informations and answers, but as Mohsen said I still need an answer.

Jan Stránský (honzik) said : #8

Hi, sorry for late answer. A MWE:

###
O.materials.append(JCFpmMat(young=10e9,cohesion=1e20,tensileStrength=1e20))
O.engines = [
   ForceResetter(),
   InsertionSortCollider([Bo1_Polyhedra_Aabb()]),
   InteractionLoop(
      [Ig2_Polyhedra_Polyhedra_ScGeom()],
      [Ip2_JCFpmMat_JCFpmMat_JCFpmPhys(cohesiveTresholdIteration=1)],
      [Law2_ScGeom_JCFpmPhys_JointedCohesiveFrictionalPM()],
   ),
   NewtonIntegrator(),
]
def poly(x0,**kw):
   pts = [(x0+x,y,z) for y in (0,1) for z in (0,1) for x in (0,1)]
   return polyhedron(pts,**kw)
ps = p1,p2,p3 = [poly(x,color=color,wire=False) for x,color in zip((0,1-1e-9,3),((1,0,0),(1,1,0),(0,0,1)))]
O.bodies.append(ps)
p3.state.vel = (-500,0,0)
O.dt = 1e-8
###

red and yellow particles are conented with a cohesive link, the blue one is just an "impactor"

ScGeom6D is not implemented, but Ig2_Plyhedra_Polyhedra_ScGeom should be a good inspiration if needed

HTH
Jan

Can you help with this problem?

Provide an answer of your own, or ask Mahdeyeh for more information if necessary.

To post a message you must log in.