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

I'm trying to get values of final porosity for different internal friction 
angle after every isocompression. With the increment of 'internal friction 
angle' the value of porosity should be increased.  But I found porosity doesn't 
increasing with the increasing value of internal friction angle. I found 
friction angle=porosity: 0.1=.3855, 10=.4200, 20=.4374, 30=.4408 40=.4319 
50=4085, 60=.4114, 70=.4346, 80=.4413, 90=.4367, 100=.4240. Don't understand 
why this is happening. Please help me out

my simulation script:
========================================
# encoding: utf-8

# periodic triaxial test simulation

sigmaIso=-1e5

#import matplotlib
#matplotlib.use('Agg')

# generate loose packing
from yade import pack, qt, plot

O.periodic=True
O.materials.append(FrictMat(young=60000000,poisson=.3,density=2600,frictionAngle=60,label='spheres',))
sp = pack.SpherePack()
sp.makeCloud(minCorner=(0,0,0),maxCorner=(.1,.1,.1),rMean=0.002,rRelFuzz=0.0001,num=4000,periodic=True,seed=1)
sp.toSimulation()
O.cell.hSize = Matrix3(.1,0,0, 0,.1,0, 0,0,.1)

O.engines=[
        ForceResetter(),
        InsertionSortCollider([Bo1_Sphere_Aabb()]),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom()],
                [Ip2_FrictMat_FrictMat_FrictPhys()],
                [Law2_ScGeom_FrictPhys_CundallStrack()]
        ),
        PeriTriaxController(label='triax',
                # specify target values and whether they are strains or stresses
                goal=(sigmaIso,sigmaIso,sigmaIso),stressMask=7,
                # type of servo-control
                dynCell=True,maxStrainRate=(1000,1000,1000),
                # wait until the unbalanced force goes below this value
                maxUnbalanced=.000001,relStressTol=2e-3,
                # call this function when goal is reached and the packing is 
stable
                doneHook='compactionFinished()'
        ),
        NewtonIntegrator(damping=.2),
        PyRunner(command='addPlotData()',iterPeriod=500),
]
O.dt=.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],
Z=avgNumInteractions(),
porosity=porosity(),
                # save all available energy data
                Etot=O.energy.total(),**O.energy
        )

        
plot.saveDataTxt('macroFile',vars=('i','sxx','syy','szz','exx','eyy','ezz',
                'unbalanced','porosity'))

# enable energy tracking in the code
O.trackEnergy=True

# define what to plot
plot.plots={'i':('porosity',),'i ':('sxx','syy','szz'),' i':('exx','eyy','ezz'),
        # energy plot
        'ezz':('szz'),
}
# show the plot
plot.plot()

def compactionFinished():
        print 'IsoCompression Finished'
        O.Pause()
        # set the current cell configuration to be the reference one
        O.cell.trsf=Matrix3.Identity
        # change control type: keep constant confinement in x,y, 20% 
compression in z
        triax.goal=(sigmaIso,sigmaIso,-0.1)
        triax.stressMask=3
        # allow faster deformation along x,y to better maintain stresses
        triax.maxStrainRate=(1000,1000,.001)
        # next time, call triaxFinished instead of compactionFinished
        triax.doneHook='triax1Finished()'
        # do not wait for stabilization before calling triaxFinished
        triax.maxUnbalanced=0.0001


def triax1Finished():
        print 'Triaxial1 Finished'
        O.Pause()
================================================

Please give me suggestion what should I do? Thanks in advance.


toufiq

-- 
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

Reply via email to