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.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to