← Back to team overview

yade-users team mailing list archive

Re: [Question #292870]: how to block the rotations of loading plates?

 

Question #292870 on Yade changed:
https://answers.launchpad.net/yade/+question/292870

behzad posted a new comment:
Jerome,

well, that's my problem. They must stay fixed with zero rotation. but
they don't. Check it out:


O.reset()
from yade import utils, plot
from yade import pack, qt


O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Box_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(),Ig2_Box_Sphere_ScGeom6D()],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True, setCohesionOnNewContacts=True)],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(),Law2_ScGeom_FrictPhys_CundallStrack()]),
NewtonIntegrator(damping=0.4,gravity=[0,0,0])
]

O.dt=1e-6
#============================MATERIALS===============================================================

cokeMat=O.materials.append(CohFrictMat(young=1e6,normalCohesion=1e3
,shearCohesion=2e4 ,isCohesive=True,
poisson=0.3,density=1377,frictionAngle=1,fragile=True,label='coke'))

cokeMat=O.materials.append(CohFrictMat(young=1e7,normalCohesion=1e6
,shearCohesion=5e5 ,isCohesive=False,
poisson=0.3,density=1377,frictionAngle=500,fragile=True,label='wall'))


#================================================================================================


sp=pack.SpherePack()
pred=pack.inCylinder((0,0,0.002),(0,0,0.21),0.05)

O.bodies.append(pack.regularOrtho(pred,radius=0.005,gap=-1e-6,
material='coke'))


#============================WALLS===============================================================

box_lower = O.bodies.append(box((0,0,0.0),(0.05,0.05,0.0001),fixed=True,material='wall'))
box_upper = O.bodies.append(box((0,0,0.21),(0.05,0.05,0.0001),fixed=True,material='wall'))


O.bodies[box_upper].state.blockedDOFs='xyzXYZ'

O.bodies[box_lower].state.blockedDOFs='xyzXYZ'

#================================================================================================

for x in range(len(O.bodies)):
	if (O.bodies[x]):
                if isinstance(O.bodies[x].shape,Sphere):
			O.bodies[x].shape.color=(0,0.3,0.7)
		else:
			O.bodies[x].shape.color=(0.51,0.51,0.51)

O.engines=O.engines+[UniaxialStrainer(strainRate=-20,axis=2,asymmetry=0,posIds=[box_upper],negIds=[box_lower],
crossSectionArea=0.0025,label='strainer')]

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