← Back to team overview

yade-users team mailing list archive

Re: [Question #256746]: Question about UniaxialStrainer

 

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

Description changed to:
Hi all YADE users,

I tried to do an uniaxial compression test and plot the stress and strain curve. But I have encountered some problems when using UniaxialStrainer. I used CoFrictMat as the mateial in my simulation. I ran the program for one step and used plot.data to check the values and it showed that the stress was at the order of 1e9 (I expected it to be much more smaller initially since the strain rate I set was very low). And after I started running the program. The stress just kept decreasing. So no increasing of stress at all.
 
I attached my script. Could anyone tell me where I went wrong?

from yade import pack,plot,pack

idParticulate=O.materials.append(CohFrictMat(young=30e9,poisson=0.2,alphaKr=3,alphaKtw=3,density=2700,frictionAngle=radians(30),
isCohesive=True,momentRotationLaw=True,normalCohesion=-3.5e6,shearCohesion=-10e6,etaRoll=-3,etaTwist=-3))


pred=pack.inCylinder((0,0,0),(0,0,0.2),0.05)

TST=SpherePack()

TS=pack.randomDensePack(pred,radius=0.008,returnSpherePack=True)

TS.toSimulation(material=idParticulate)

bb=uniaxialTestFeatures()
negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area']

O.dt=1e-5*PWaveTimeStep()

O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb(aabbEnlargeFactor=1.5,label='bo1s')]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom6D(interactionDetectionFactor=1.5,label='ig2ss')],
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False)],
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment()]
),
NewtonIntegrator(),
UniaxialStrainer(strainRate=-0.00005,axis=axis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=pi*0.05*0.05,
blockDisplacements=False,blockRotations=False,setSpeeds=False,label='strainer'),
PyRunner(iterPeriod=50,command='addPlotData()',label='plotDataCollector',initRun=True)
]


def addPlotData():
       yade.plot.addData(t=O.time,i=O.iter,Strain=-strainer.strain,AverageStress=-strainer.avgStress)


plot.plots={'Strain':('AverageStress',)}
plot.plot()


O.step()

bo1s.aabbEnlargeFactor=1.0
ig2ss.interactionDetectionFactor=1.0

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