yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #23750
Re: [Question #692003]: How to make a cube concrete specimen with polyhedrons and small balls?
Question #692003 on Yade changed:
https://answers.launchpad.net/yade/+question/692003
Status: Open => Answered
Jan Stránský proposed the following answer:
Hello,
1) follow instructions from my 1st answer
2) thanks for more info. Have a look at this MWE:
###
O.materials.append(CpmMat())
O.engines = [
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Polyhedra_Aabb()]),
InteractionLoop(
[
Ig2_Sphere_Sphere_ScGeom(),
Ig2_Sphere_Polyhedra_ScGeom(),
Ig2_Polyhedra_Polyhedra_ScGeom(),
],
[Ip2_CpmMat_CpmMat_CpmPhys()],
[Law2_ScGeom_CpmPhys_Cpm()],
),
NewtonIntegrator(),
]
sph1 = sphere((3,0,0),1)
sph2 = sphere((3,0,3),1)
poly1 = polyhedron(((0,0,0),(1,0,0),(0,1,0),(0,0,1)))
poly2 = polyhedron(((0,0,3),(1,0,3),(0,1,3),(0,0,4)))
O.bodies.append((sph1,sph2,poly1,poly2))
createInteraction(sph1.id,sph2.id)
createInteraction(sph1.id,poly1.id)
createInteraction(poly1.id,poly2.id)
###
The problem is that currently (AFAIK) you cannot create interactions for non-overlapping polyhedron-polyhedron [1] and sphere-polyhedron [2] couples.
It would need modification of source code and proper implementation of interactionDetectionFactor, see [3].
cheers
Jan
[1] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/Polyhedra_Ig2.cpp#L557
[2] https://gitlab.com/yade-dev/trunk/-/blob/master/pkg/dem/Polyhedra_Ig2.cpp#L497
[3] https://yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ig2_Sphere_Sphere_ScGeom.interactionDetectionFactor
--
You received this question notification because your team yade-users is
an answer contact for Yade.