yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #06345
Re: [Question #205137]: impact of sphere on a granular media
Question #205137 on Yade changed:
https://answers.launchpad.net/yade/+question/205137
mer samuel posted a new comment:
As suggested by Jan here comes some more details of my code
material affectation:
O.materials.append(FrictMat(label='wallmat'))
O.materials.append(FrictMat(label='spheremat'))
O.materials.append(FrictMat(label='impactmat'))
wallMatIds=[]
upperWallMatIds=[]
sphereMatIds=[]
impactMatIds=[]
for i in O.materials:
if (i.label=='wallmat'):
wallMatIds.append(i.id)
i.young=wYoung;i.poisson=wPoisson;i.density=wDensity;i.frictionAngle=wFrictionAngleDepot;
elif (i.label=='spheremat'):
sphereMatIds.append(i.id)
i.young=sYoung;i.poisson=sPoisson;i.density=sDensity;i.frictionAngle=sFrictionAngleDepot;i.normalCohesion=sNormalCohesion; i.shearCohesion=sShearCohesion;i.momentRotationLaw=True;
elif (i.label=='impactmat'):
impactMatIds.append(i.id)
i.young=sYoung;i.poisson=sPoisson;i.density=sDensity;i.frictionAngle=sFrictionAngleDepot;i.normalCohesion=sNormalCohesion; i.shearCohesion=sShearCohesion;i.momentRotationLaw=True;
initial conditions:
######Positions########
rMed=(rMax+rMin)/2
dxb=0
xb = 0
yb = dyBox/2
zb = dzBox + 2*rMed
print 'nouvelles positions initiales', dxb, xb, yb, zb
######speed
vxb= 1.6*math.sqrt(9.8*2*(rMax+rMin)/2)*cos(60*3.1416/180)
vyb = 0.
vzb = -1.6*math.sqrt(9.8*2*(rMax+rMin)/2)*sin(60*3.1416/180)
engines:
O.engines=[
ForceResetter(), # on remet a zeros les forces de cohesion entre les differents corps du système
InsertionSortCollider([ # on definie les types d'element du systeme
Bo1_Sphere_Aabb(),
Bo1_Box_Aabb(),
Bo1_Facet_Aabb(),Bo1_Wall_Aabb()
]),
InteractionLoop( # on definie les interactions entre elements du systeme
[Ig2_Sphere_Sphere_ScGeom(), Ig2_Facet_Sphere_ScGeom(), Ig2_Box_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
GravityEngine(gravity=[0,0,-9.8],label='gravity'), # on implemente les force qui s'appliquent au système (gravité)
NewtonIntegrator(damping=0.0,label='Integrator'), # On met a jour les positions en utilisant l'integrateur de Newton
]
I hope this can give you a good enough overview of the program.
Samuel
--
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.
Follow ups
References