← Back to team overview

yade-users team mailing list archive

[Question #707124]: Error in contact with various shapes of particles with multiple materials

 

New question #707124 on Yade:
https://answers.launchpad.net/yade/+question/707124

Hello everyone,
I am running yade2019 software on ubantu 16.04 system with a model containing spherical particles (frictmat material) and polyhedral particles (polyhedramat material) and the basic model script is as follows:

from libyade import yade
from yade import geom,utils
from yade import polyhedra_utils
from yade import ymport,timing
from yade import pack,export
from yade import *
from math import *

matP1 = PolyhedraMat()
matP1.density = 2500 #kg/m^3 
matP1.young = 5.5e7
matP1.poisson = 0.21 # real 0.21
matP1.frictionAngle = 0.65

matF1 = PolyhedraMat()
matF1.density = 2600 #kg/m^3 
matF1.young = 5.5e7
matF1.poisson = 0.21 # real 0.21
matF1.frictionAngle = 0.2

gravel = FrictMat()
gravel.density = 1950 #kg/m^3 
gravel.young = 7e6 #Pa 1E7
gravel.poisson = 0.33 # 20000/1E7
gravel.frictionAngle = 0.23 #rad

O.materials.append(matP1)
O.materials.append(matF1)
O.materials.append(gravel)

O.bodies.append(utils.facet(((0,0,0),(0.76,0,0),(0.76,0,0.35)),dynamic=None,fixed=True,material=matF1))
O.bodies.append(ymport.text('/home/xue/chongsuan1/sphere.dat',material=gravel,shift=Vector3(0,0,-0.02)))
O.bodies.append(ymport.textPolyhedra('/home/xue/chongsuan/group/ballast.dat',material=matP1,shift=Vector3(0,0,-0.02)))

O.engines =[
	ForceResetter(),
	InsertionSortCollider([Bo1_Polyhedra_Aabb(),Bo1_Wall_Aabb(),Bo1_Facet_Aabb(),Bo1_Sphere_Aabb()],verletDist=.0005),
	InteractionLoop(
 [Ig2_Wall_Polyhedra_PolyhedraGeom(),Ig2_Polyhedra_Polyhedra_PolyhedraGeom(),Ig2_Facet_Polyhedra_PolyhedraGeom(),Ig2_Sphere_Sphere_ScGeom(),Ig2_Sphere_Polyhedra_ScGeom(),Ig2_Facet_Sphere_ScGeom(),Ig2_Wall_Sphere_ScGeom(),Ig2_Polyhedra_Polyhedra_ScGeom()],
               [Ip2_PolyhedraMat_PolyhedraMat_PolyhedraPhys(),Ip2_FrictMat_PolyhedraMat_FrictPhys(),Ip2_FrictMat_FrictMat_FrictPhys()],
		[Law2_PolyhedraGeom_PolyhedraPhys_Volumetric(),Law2_ScGeom_FrictPhys_CundallStrack()],   # contact law -- apply forces #Bo1_Cylinder_Aabb()
	),
	NewtonIntegrator(damping=0.7,gravity=(0,0,-0.3),label='newton'),
]


But it shows the error reported as follows:

FATAL /home/xue/dem-fem-coupling-master/installation/_build/yade/source/pkg/common/InteractionLoop.cpp:143 action: None of given Law2 functors can handle interaction #3841+1642, types geom:PolyhedraGeom=10 and phys:FrictPhys=3 (LawDispatcher::getFunctor2D returned empty functor)

I have tried many times, the id order of the interactions in this error report is "sphere + polyhedra", which is the opposite order of Ip2_FrictMat_PolyhedraMat_FrictPhys() that I use. Are these two related? How can I fix the error?

Thank you for your attention and support.

xue

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