Hi everyone,
I'm beginner in Yade. I woul like to obtain a trapeze surface that I created in GTS. From the "horse" script I modified some properties to obtain a surface that when applied the force of gravity (in direction and of my script) does not generate gaps in the trapezoidal volume. Thank you for the information or suggestions !
...
if surf.is_closed():
pred=pack.inGtsSurface(surf)
aabb=pred.aabb()
dim0=aabb[1][0]-aabb[0][0]; radius=dim0/40. # get some characteristic dimension, use it for radius
# O.bodies.append(pack.regularHexa(pred,radius,gap=radius/4.))
Mat1=O.materials.append(FrictMat(young=1e7,poisson=0.2,density=2500,frictionAngle=radians(30))) #Declarando el material de las esferas
#O.bodies.append(pack.randomDensePack(pred,spheresInCell=1000,dim=None, radius=0.05,rRelFuzz=0.05,material=Mat1))
#surf.translate(0,0,-(aabb[1][2]-aabb[0][2])) # move surface down so that facets are underneath the falling spheres
sp=pack.randomDensePack(pred,spheresInCell=2000,radius=0.01,rRelFuzz=0.005,memoizeDb=None,returnSpherePack=True,material=Mat1)
sp.toSimulation()
Mat2=O.materials.append(FrictMat(young=1e6,poisson=1,density=1e2,frictionAngle=radians(0))) #Declarando el material de la superficie gts
O.bodies.append(pack.gtsSurface2Facets(surf,material=Mat2,wire=True))
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(),Bo1_Facet_Aabb()],label='collider'), #Sirve para decir cuales son las esferas que estan una al lado de otra de acuerdo a lo que se requiere
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom(),Ig2_Facet_Sphere_ScGeom()], # Que tipo de interaccion existe
[Ip2_FrictMat_FrictMat_FrictPhys()], #Ley par material friccionante
[Law2_ScGeom_FrictPhys_CundallStrack()], #Ley de contacto entre esferas
),
NewtonIntegrator(damping=.1,gravity=[0,-9.81,0]), #Gravedad en Y
PyRunner(iterPeriod=2000,command='timing.stats(); O.pause();'),
PyRunner(iterPeriod=100,command='addPlotData()')
...