← Back to team overview

yade-users team mailing list archive

Re: [Question #264456]: Simple compression on an sphere assembly

 

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

    Status: Solved => Open

GERARD Damien is still having a problem:
Hello,
I would like to make additions compared to my old message.
By testing high Young's modules, the balls go in all directions. Here is my script.
What should I do?
I thought it was necessary to reset to zero contact forces at the first time step but I do not know what commands I have to write in my script. Do you think it's the right solution? and what are these commands?
Moreover, what are the commands to know the value of the contact forces for each interaction / contact?
Thank you in advance.
--------------------------------------------------------------
from yade import pack
from math import *
from yade import plot
from yade import qt

vitesse=0.1
cohN=50e5
cohT=35e5
E=50e9
nu=0.3
d=2310
phi=35
rayon_s=0.005
rayon_g=0.05
rayon_boite=rayon_g+0.0001
espace=0.0
gravity=0

O.materials.append(CohFrictMat(young=E,poisson=nu,density=d,frictionAngle=radians(phi),normalCohesion=cohN,shearCohesion=cohT,label='sol'))
O.materials.append(CohFrictMat(young=10e13,poisson=0,density=10000,frictionAngle=radians(10),normalCohesion=0,shearCohesion=0,label='walls'))


mn,mx=(-rayon_boite*2,-rayon_boite,-rayon_boite*2),(rayon_boite*2,rayon_boite,rayon_boite*2)
walls=utils.aabbWalls([mn,mx],thickness=0,material='walls')
wallIds=O.bodies.append(walls)

sp=pack.regularHexa(yade._packPredicates.inSphere(center=(0,0,0),radius=rayon_g),gap=espace,radius=rayon_s,material='sol') 
O.bodies.append(sp)

for i in O.interactions:
	i.phys.unp = i.phys.penetrationDepth

O.engines=[
    ForceResetter(),
    InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1),Bo1_Box_Aabb()]),
    InteractionLoop(
        [Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1),Ig2_Box_Sphere_ScGeom6D()], 
        [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False),Ip2_FrictMat_FrictMat_FrictPhys()],
        [Law2_ScGeom6D_CohFrictPhys_CohesionMoment()] 
        ),
    GlobalStiffnessTimeStepper(active=1,timeStepUpdateInterval=5,timestepSafetyCoefficient=0.8, defaultDt=utils.PWaveTimeStep()),
    TranslationEngine(
    translationAxis=(0,-1,0),
    ids=[3],
    label='tl',
    velocity=vitesse
    ),
    NewtonIntegrator(damping=0.3, gravity=[0, gravity, 0]),
]

O.dt=utils.PWaveTimeStep()
O.usesTimeStepper=True

qt.Controller()
qt.View()


O.saveTmp()

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.