yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #19089
[Question #678742]: [PeriTriaxController]Unstable behavior of frictionangle
New question #678742 on Yade:
https://answers.launchpad.net/yade/+question/678742
Hi,
1. I use isotropic compression of particles with different frictionAngles to obtain different porosity.
2. After the completion of isotropic compression, the particles are changed into the same frictionAngle3 for one-dimensional compression, that is, only the z-axis surface is in motion.
3. My purpose is to observe the stress transformation in one-dimensional compression of samples with different porosity.
My question is:
If I use frictionAngle1, greater friction, the stress curve is smooth.
But if I use frictionAngle1, which is less friction, the stress curve has some frictional wobble.
Since the final particle properties are the same, why is the stress curve unstable?
Thanks a lot.
James
#################
# encoding: utf-8
from yade import pack, qt, plot
sigmaIso=-25000
O.periodic=True
frictionAngle1=0.0286
frictionAngle9=12.1339
frictionAngle11=14.03624347
sphere=O.materials.append(FrictMat(young=64e6,poisson=0.12,density=2650,frictionAngle=radians(frictionAngle1),label='sphere'))
length=.04
sp=pack.SpherePack()
sp.makeCloud((0,0,0),(length,length,length),rMean=.0025,rRelFuzz=.2,periodic=True)
n=sp.toSimulation(material=sphere)
O.engines=[
ForceResetter(),
InsertionSortCollider([Bo1_Sphere_Aabb()]),
InteractionLoop(
[Ig2_Sphere_Sphere_ScGeom()],
[Ip2_FrictMat_FrictMat_FrictPhys()],
[Law2_ScGeom_FrictPhys_CundallStrack()]
),
PeriTriaxController(label='triax',
goal=(sigmaIso,sigmaIso,sigmaIso),stressMask=7,
dynCell=True,maxStrainRate=(1000,1000,1000),
maxUnbalanced=3e-3,relStressTol=1e-3,
growDamping=0,
doneHook='compactionFinished()'
),
NewtonIntegrator(damping=.1),
PyRunner(command='num()',initRun=1,nDo=1),
]
O.dt=.5*PWaveTimeStep()
qt.Controller()
O.run()
def num():
print(O.bodies[-1].id)
def addPlotData1():
plot.addData(unbalanced=unbalancedForce(),i=O.iter,
sxx=-triax.stress[0],syy=-triax.stress[1],szz=-triax.stress[2],
exx=-triax.strain[0],eyy=-triax.strain[1],ezz=-triax.strain[2],
q=-triax.stress[2]+0.5*(triax.stress[0]+triax.stress[1]),
p=-(triax.stress[0]+triax.stress[1]+triax.stress[2])/3,
)
print('sxx=',-triax.stress[0],'syy=',-triax.stress[1],'szz=',-triax.stress[2])
print('exx=',-triax.strain[0],'eyy=',-triax.strain[1],'ezz=',-triax.strain[2])
print('p=',-(triax.stress[1]+triax.stress[0]+triax.stress[2])/3,'q=',triax.stress[1]-triax.stress[2])
plot.plots={'i':('unbalanced',),'i ':('sxx','syy','szz'),' i':('exx','eyy','ezz'),' p ':('q'),}
plot.plot()
def compactionFinished():
print('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
print(porosity())
O.engines += [PyRunner(command='addPlotData1()',iterPeriod=500)];
for i in n:
O.bodies[i].material.frictionAngle=radians(frictionAngle11)
O.cell.trsf=Matrix3.Identity
triax.dynCell=True
triax.growDamping=0
triax.goal=(0,0,-1000000)
triax.maxStrainRate=(0,0,.1)
triax.stressMask=4
triax.maxUnbalanced=3e-3
triax.doneHook='triaxFinished()'
def triaxFinished():
print 'Finished'
O.pause()
--
You received this question notification because your team yade-users is
an answer contact for Yade.