← Back to team overview

yade-users team mailing list archive

[Question #678796]: Periodic triaxial test

 

New question #678796 on Yade:
https://answers.launchpad.net/yade/+question/678796

hello all,

1. How can I control strain in the "PeriTriaxController"?
2.Is it possible to add shear on the boundary condition with this engine? 
3. another question is that I can not draw diagram of Stress in compaction direction vs strain in compaction direction. what is the problem in your opinion?
my code is:

from yade import utils, plot
from yade import pack, qt
from datetime import datetime

O.periodic=True
O.cell.refSize=(2e-1,2e-1,2e-1)

O.materials.append(CohFrictMat(normalCohesion= 1e20, shearCohesion= 1e20, isCohesive= True, young=6.81e8, density=1377.5, poisson=0.3, frictionAngle= 0.31, fragile=False, label='Coke'))

nums=['t']

mats=['Coke']

coke=(5e-3,1000)

nums=pack.SpherePack()

nums.makeCloud((0,0,0),(2e-1,2e-1,2e-1),rMean=coke[0],rRelFuzz=1e-4,num=coke[1])

O.bodies.append([utils.sphere(c,r,material=mats[0]) for c,r in nums])

sigmaIso=-1e5

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=(10,10,10),
		maxUnbalanced=.1,relStressTol=1e-3,
		doneHook='compactionFinished()'
     ),

     NewtonIntegrator(damping=0.4),
     
     PyRunner(command='addPlotData()',iterPeriod=100),

]


O.dt=0.5*PWaveTimeStep()


def addPlotData():
	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])
#        print 'normal stress', triax.stress[2]

#        print 'normal strain', triax.strain[2]



plot.plots={('ezz'):('szz')}


plot.plot()

def compactionFinished():

	O.cell.trsf=Matrix3.Identity

	triax.goal=(sigmaIso,sigmaIso,-.2)
	triax.stressMask=3

	triax.maxStrainRate=(10,10,10)

	triax.doneHook='triaxFinished()'

	triax.maxUnbalanced=10

def triaxFinished():
	print 'Finished'
	O.pause()


The code does not draw "plot.plots={('ezz'):('szz')}". I was wondering if you could help me to fix this problem. Thank you very much for your help in advance.

Best Regards

Alireza


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