← Back to team overview

yade-users team mailing list archive

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