New question #699362 on Yade: https://answers.launchpad.net/yade/+question/699362
After isotropic consolidation, the confining pressure remains unchanged in the X and Y directions, and the axial compression in the Z-axis direction is 40%, which has not yet reached the critical state. Usually, the critical state can be reached at 25% of the axial strain. Why is this? The procedure is as follows: from __future__ import print_function from yade import pack, qt, plot from math import * nRead=readParamsFromTable( ## model parameters num_spheres=30000, targetPorosity= .32, confiningPressure=-50000, ## material parameters compFricDegree=25,#contact friction during the confining phase finalFricDegree=30,#contact friction during the deviatoric loading young=2e8, poisson=.2, density=2650, alphaKr=7.5, alphaKtw=0, competaRoll=.1, finaletaRoll=.1, etaTwist=0, normalCohesion=0, shearCohesion=0, ## fluid parameters fluidDensity=1000, dynamicViscosity=.001, ## control parameters damp=0, stabilityThreshold=.001, ## output specifications filename='suffusion', unknowOk=True ) from yade.params.table import * O.load('compactedStatesuffusion25.yade.gz') ##__________________________________third section, deviatoric loading__________________________ triax.width0=aabbDim()[0] triax.height0=aabbDim()[1] triax.depth0=aabbDim()[2] # change control type: keep constant confinement in x,y, 40% compression in z triax.stressMask=3 triax.goal3=-.1 triax.goal1=confiningPressure triax.goal2=confiningPressure # enable energy tracking in the code O.trackEnergy=True # define function to record history def history(): sig_xx=-triax.stress(triax.wall_right_id)[0] sig_yy=-triax.stress(triax.wall_top_id)[1] sig_zz=-triax.stress(triax.wall_front_id)[2] plot.addData(unbalanced=unbalancedForce(),i=O.iter,exx=-triax.strain[0], eyy=-triax.strain[1], ezz=-triax.strain[2], sxx=sig_xx,syy=sig_yy,szz=sig_zz, ev=-triax.strain[0]-triax.strain[1]-triax.strain[2], dsratio=(-sig_zz+sig_xx)/((-sig_xx-sig_yy-sig_zz)/3.0), porosity=porosity(),Etot=O.energy.total(),**O.energy# save all available energy data ) O.engines=O.engines+[PyRunner(command='history()',iterPeriod=500)] t0=O.time while True: O.run(1000,True) print('running',-triax.strain[2]) unb=unbalancedForce() if unb<stabilityThreshold and abs(-.4-triax.strain[2])/0.4<0.001: break # define what to plot plot.plots={'i':('unbalanced','porosity'),' i':('sxx','syy','szz',None,'exx','eyy','ezz'),' ezz':('dsratio'),'ezz':('ev')} # show the plot plot.plot() # save plot data plot.saveDataTxt('uneroded_soil.txt') The calculation result is shown in the figure in the link: https://ibb.co/Yc7jbbQ Obviously the volumetric strain is still changing and has not reached the critical state -- 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@lists.launchpad.net Unsubscribe : https://launchpad.net/~yade-users More help : https://help.launchpad.net/ListHelp