yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #16239
Re: [Question #643798]: gridpfacet.cylinder interacting with walls, spheres, facetbox etc.
Question #643798 on Yade changed:
https://answers.launchpad.net/yade/+question/643798
Status: Answered => Open
Andrea Puglisi is still having a problem:
Dear Klaus,
with quite a large delay I wish to thank you. I continued to work with
clumps of spheres, it seemed to me simpler. Now I would like to try
again with the pfacet approach. I am trying a simple exercise, i.e.
replace your cylinder with an object (a tetrahedron from a .gts file,
http://gts.sourceforge.net/samples/tetrahedron.gts.gz ) which *should*
be transported by the horizontal belt.
Again I face the problem already described to you at the beginning. The
object apparently does not interact with the belt. I can't understand
the basic rules of interaction of grids.
from yade.gridpfacet import *
##### Parameter ####
r=1 # radius cylinder
phi=30. # friction angle
E=1e7 # Young's modulus
#### Engines ####
O.engines=[
ForceResetter(),
InsertionSortCollider([
Bo1_Sphere_Aabb(),
Bo1_Wall_Aabb(),
Bo1_PFacet_Aabb(),
]),
InteractionLoop([
Ig2_GridNode_GridNode_GridNodeGeom6D(),
Ig2_Wall_Sphere_ScGeom(),
Ig2_Sphere_PFacet_ScGridCoGeom(),
],
[
Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False), # internal cylinder physics
Ip2_FrictMat_FrictMat_FrictPhys() # physics for external interactions, i.e., cylinder-cylinder interaction
],
[
Law2_ScGeom6D_CohFrictPhys_CohesionMoment(), # contact law for "internal" cylinder forces
Law2_ScGeom_FrictPhys_CundallStrack(),
]
),
NewtonIntegrator(gravity=(-0.,0,-10),damping=0.5,label='newton'),
]
#### Creat materials ####
O.materials.append( CohFrictMat( young=E,poisson=0.3,density=1000,frictionAngle=radians(phi),normalCohesion=1e10,shearCohesion=1e10,momentRota\
tionLaw=True,label='cMat' ) ) # material to create the gridConnections
O.materials.append( FrictMat( young=E,poisson=0.3,density=1000,frictionAngle=radians(phi),label='fMat' ) ) # material for general interactions
#### Create box and wall ####
wallId = O.bodies.append( wall(position=(0,0,0),sense=0, axis=2,color=[0,1,1],material='fMat') )
O.bodies[wallId].state.vel=Vector3(1.,0,0)
O.bodies[wallId].mask=3
#### Create cylinder ####
#nodeIds=[]
#cylIds=[]
#nodeIds.append( O.bodies.append( gridNode([0,2*r,0],r,wire=False,fixed=False,material='cMat',color=[1,0,0]) ) )
#nodeIds.append( O.bodies.append( gridNode([0,2*r,2*r],r,wire=False,fixed=False,material='cMat',color=[1,0,0]) ) )
nodeIds,cylIds,pfIds = gtsPFacet('tetra.gts',shift=(0,0,3),scale=1.,radius=1e-2,wire=False,fixed=False,materialNodes='cMat',material='fMat',c\
olor=[0,0,1])
for id in nodeIds:
O.bodies[id].bounded=1
O.bodies[id].mask=2
#cylIds.append( O.bodies.append(
gridConnection(nodeIds[1],nodeIds[0],r,color=[1,0,0],material='fMat') )
)
#### Creat a pFacets -> based on 3 vertices ####
#v1=Vector3(0,4*r,0)
#v2=Vector3(20*r,-r,0)
#v3=Vector3(20*r,-r,10*r)
#vertices=[v1,v2,v3]
#pfacetCreator1(vertices,r/2.,nodesIds=[],cylIds=[],pfIds=[],wire=False,color=[1,1,1],fixed=True,materialNodes='cMat',material='fMat')
#### For viewing ####
from yade import qt
qt.View()
Gl1_Sphere.stripes=True
#### Set a time step ####
O.dt=1e-05
#### Allows to reload the simulation ####
O.saveTmp()
--
You received this question notification because your team yade-users is
an answer contact for Yade.