yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #22325
Re: [Question #688994]: pore pressure in periodic triaxial test
Question #688994 on Yade changed:
https://answers.launchpad.net/yade/+question/688994
Chareyre proposed the following answer:
Hello, pore pressure refers to the pressure of a pore fluid. You are not
simulating a pore fluid, and therefore the notion is irrelevant. Effective
stress is nothing but total stress. And there is no «consolidation» in the
sense of Terzaghi (reason why I was confused when you used that name for
isotropic confinment).
Bruno
Le mer. 26 févr. 2020 09:14, yangsiyuan <
question688994@xxxxxxxxxxxxxxxxxxxxx> a écrit :
> New question #688994 on Yade:
> https://answers.launchpad.net/yade/+question/688994
>
> Hello everyone:
>
> In the numerical simulation of the periodic triaxial undrained test, the
> effective stress remains unchanged after cyclic shear stress is applied
> again. I want to know why the effective stress does not decrease and how
> the pore pressure is considered in the periodic triaxial test. Here's my
> code, hoping to get some advice.
>
> ############################################
> ### generate particles in the packing ###
> ############################################
> from yade import plot
> from yade import pack,qt
>
> O.periodic=True
> O.cell.setBox(.016,.016,.016)
> radius=0.4e-3
>
> O.materials.append(FrictMat(young=70e9,poisson=0.3,frictionAngle=0.13,density=2650*1e4,label='spheres'))
> sp=pack.SpherePack()
>
> sp.makeCloud(minCorner=(0,0,0),maxCorner=(.016,.016,.016),psdSizes=[0.00045,0.000525,0.0006,0.000675,0.00075,0.000825,0.0009],psdCumm=[0,0.167,.333,.5,.667,0.833,1],num=10000,distributeMass=True,periodic=True)
> O.bodies.append([utils.sphere(s[0],s[1]) for s in sp])
> V_sphere=utils.getSpheresVolume()
> V_cell=O.cell.hSize[0,0] * O.cell.hSize[1,1] * O.cell.hSize[2,2]
> print 'void ratio:',(V_cell-V_sphere)/V_sphere,'dt:',utils.PWaveTimeStep()
> O.save('gen-ball.xml')
> qt.View()
>
>
> ############################################
> ### consolidate the packing to reach the required confining pressure ###
> ############################################
> from yade import plot,qt
> from yade.pack import *
> O=Omega()
> O.load('gen-ball.xml')
> radius=0.4e-3
> for b in O.bodies:
> b.mat.frictionAngle=0.119
>
> V_sphere=utils.getSpheresVolume()
> O.engines=[
> ForceResetter(),
> InsertionSortCollider([Bo1_Sphere_Aabb()],verletDist=.05*radius),
> InteractionLoop(
> [Ig2_Sphere_Sphere_ScGeom()],
> [Ip2_FrictMat_FrictMat_MindlinPhys()],
> [Law2_ScGeom_MindlinPhys_Mindlin(includeMoment=False)]
> ),
>
> PeriTriaxController(dynCell=True,maxUnbalanced=2e-3,relStressTol=2e-5,goal=[-1e5,-1e5,-1e5],stressMask=7,globUpdate=5,maxStrainRate=[0.1,0.1,0.1],doneHook='triaxDone()',label='triax'),
> NewtonIntegrator(damping=.2),
> ]
>
> def triaxDone():
> print 'Here we are:
> stress',triax.stress,'strain',triax.strain,'stiffness',triax.stiff
> O.pause()
>
> O.dt=0.4*utils.PWaveTimeStep()
> O.run()
> O.wait()
> O.save('Phase1.xml.bz2')
>
> #######################################
> ### cyclic shear ###"
> #######################################
> from yade.pack import *
> O=Omega()
> O.load('Phase1.xml.bz2')
> cycle=0
> g0=O.cell.hSize[0,2]*100.0/O.cell.hSize[2,2]
>
> O.dt=utils.PWaveTimeStep()
> O.cell.velGrad=Matrix3(0,0,-0.01,0,0,0,0,0,0)
> time=0
> count=0
> count1=0
> zero=1
> stop=0
> count2=0
> while 1:
> O.run(100,True)
> count=count+1
> count1=count1+1
> gamma=O.cell.hSize[0,1]*100/O.cell.hSize[1,1]-g0
> if count==32:
> count=0
>
> stress=utils.getStress()
> sigmazx=stress[0,2]/-1000
> sigmazz=stress[2,2]/1000.0
> if sigmazx>25:
> count=0
> count1=0
> count2=count2+1
> O.cell.velGrad=Matrix3(0,0,0.01,0,0,0,0,0,0)
> if sigmazx<-25:
> count=0
> count1=0
> count2=count2+1
> O.cell.velGrad=Matrix3(0,0,-0.01,0,0,0,0,0,0)
>
> print
> 'Speed:',O.cell.velGrad[0,2],'time:',O.realtime,'cycle:',cycle,'szx:',sigmazx,'stop:',stop
> if count2==2:
> cycle=cycle+1
> count2=0
> if count1==4:
> defData(cycle)
> count1=0
> if gamma>2:
> O.save('gamma3.xml.bz2')
> break
>
>
> Thank you very much!
>
>
> --
> You received this question notification because your team yade-users is
> an answer contact for Yade.
>
> _______________________________________________
> Mailing list: https://launchpad.net/~yade-users
> Post to : yade-users@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~yade-users
> More help : https://help.launchpad.net/ListHelp
>
>
>
--
You received this question notification because your team yade-users is
an answer contact for Yade.