yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #15599
Re: [Question #657061]: Compression strength
Question #657061 on Yade changed:
https://answers.launchpad.net/yade/+question/657061
SayedHessam posted a new comment:
Dear Jan,
Thank you for your handy responses and comments. However, I have
modified my script based on your last comments but now I can not run my
model anymore. Even when I want to sun model =, YADE gives me an error.
My edited script:
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:
print "interaction",i
i.phys.unp = i.phys.penetrationDepth
def plotAddData():
f = O.forces.f(3)[1]
d = 2*rayon_g
load = f/pow(d,2)
plot.addData(
dspl = O.bodies[3].state.displ()[1],
load = load,
)
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]),
PyRunner(iterPeriod=10,command='plotAddData()'),
]
O.step()
for i in O.interactions:
i.phys.unp = i.geom.penetrationDepth
print len([i for i in O.interactions])
O.dt=utils.PWaveTimeStep()
O.usesTimeStepper=True
qt.Controller()
qt.View()
plot.plots = {'dspl': 'load'}
plot.plot()
O.saveTmp()
Best Regards
Sam
--
You received this question notification because your team yade-users is
an answer contact for Yade.