← Back to team overview

yade-users team mailing list archive

[Question #670282]: about cpm material

 

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

I write codes like this:
------------------------------------------------------------------------------------
from yade import pack,geom,qt
from yade.gridpfacet import *
from pylab import *

 
O.engines=[ 
ForceResetter(),
InsertionSortCollider([
Bo1_Sphere_Aabb(),Bo1_GridConnection_Aabb(),Bo1_Facet_Aabb(),
]), 
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),
Ig2_Facet_Sphere_ScGeom(),
Ig2_Sphere_GridConnection_ScGridCoGeom(),
Ig2_GridNode_GridNode_GridNodeGeom6D(),
Ig2_GridConnection_GridConnection_GridCoGridCoGeom(),],
[Ip2_CpmMat_CpmMat_CpmPhys(),
Ip2_FrictMat_CpmMat_FrictPhys(),
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False)],
[Law2_ScGeom_CpmPhys_Cpm(),
Law2_ScGeom_FrictPhys_CundallStrack(),
Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),
Law2_ScGridCoGeom_FrictPhys_CundallStrack()]
), 
NewtonIntegrator(gravity=(0,0,-10),damping=0.1,label='newton')]

O.materials.append(CohFrictMat(young=3e2,poisson=0.3,density=1e1,frictionAngle=10,normalCohesion=1e7,shearCohesion=1e7,momentRotationLaw=True,label='spheremat')) 

O.materials.append(FrictMat(young=3e2,poisson=.25,frictionAngle=0.5,density=1e1,label='face'))

O.materials.append(CpmMat(density=1e1,young=3e2,poisson=0.25,frictionAngle=0.5,sigmaT=2e1,epsCrackOnset=1e-4,relDuctility=30,label='spheresh'))
### Parameters of a rectangular grid ### 
L=0.1 #length [m] 
l=0.05	#width	[m] 
nbL=10	#number of nodes for the length	[#] 
nbl=5	#number of nodes for the width	[#] 
r=L/100.0	#radius 
color=[255./255.,102./255.,0./255.] 
nodesIds=[] 
#Create all nodes first : 
for i in range(0,nbL): 
for j in range(0,nbl): 
nodesIds.append( O.bodies.append(gridNode([i*L/nbL,j*l/nbl,0],r,wire=False,fixed=False,material='spheremat',color=color)) ) 


#Create connection between the nodes 
for i in range(0,len(nodesIds)): 
for j in range(i+1,len(nodesIds)): 
dist=(O.bodies[i].state.pos - O.bodies[j].state.pos).norm() 
if(dist<=L/nbL*1.01): 
O.bodies.append( gridConnection(i,j,r,color=color) ) 

#Set a fixed node
O.bodies[0].dynamic=False
O.bodies[4].dynamic=False
O.bodies[45].dynamic=False
O.bodies[49].dynamic=False

O.bodies.append(sphere([0.05,0.025,0.01],0.0061,material='spheresh'))
O.bodies.append(sphere([0.04,0.023,0.01],0.0021,material='spheresh'))
O.bodies.append(sphere([0.03,0.028,0.008],0.0061,material='spheresh'))
S1=len(O.bodies)

O.bodies.append(geom.facetBox((L/2.0,l/2.0,-0.01),(L*1.2/2,l*1.2/2,L),wallMask=63,material='face'))

S2=len(O.bodies)

for i in range(S1,S2):
O.bodies[i].dynamic=False

O.dt=1e-06

-----------------------------------------------------------------------------
After some timr it runs,  I get the message:
--------------------------------------------------------------------------
FATAL /home/dj/yade/trunk/pkg/dem/ConcretePM.cpp:380 go: Verification `!std::isnan(epsN)' failed!
FATAL /home/dj/yade/trunk/pkg/dem/ConcretePM.cpp:380 go: in interaction #137+#83
terminate called without an active exception
--------------------------------------------------------------------------------
can you tell me what's wrong with it?Thanks a lot!

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