← Back to team overview

yade-users team mailing list archive

Re: [Question #657061]: Compression strength

 

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

    Status: Answered => Open

SayedHessam is still having a problem:
Dear Jan,

Thank you for your perfect response.
However, my result is different than my reference. Because the graph is based on LOAD and DISPLACEMENT. While my result is based on FORCE. So, How can I change force to load in my script?

Here is my final 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:
 i.phys.unp = i.phys.penetrationDepth

def plotAddData():
    plot.addData(
        dspl = O.bodies[3].state.displ()[1],
        force = O.forces.f(3)[1],
    )

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.dt=utils.PWaveTimeStep()
O.usesTimeStepper=True

qt.Controller()
qt.View()

plot.plots = {'dspl': 'force'}
plot.plot()

O.saveTmp()

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.