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

Hi guys,

I am a new user of Yade and I am trying to simulate a cohesive material 
consists of sand particles that are connected by some elastic material. I 
choose the CohfrictMat as material and Ip2_CohFrictMat_CohFrictMat_CohFrictPhys 
for bonding. The question is when I define the normal stiffness of bonding (or 
contact), it is calculated by [1] harmonic average like: 1/(E1.D1)+1/(E2.D2). 
It is reasonable when two particles are compacting to each other. But when the 
two particles are under tension stress and leave each other, the stiffness of 
bonding should have nothing to do with the modulus of particle self and it 
should only depend on the bonding material itself. Also the shear stiffness 
should be different. As we know[2] the tensile crack is one of the main 
mechanism of compression.  So how to define the stiffness of tensile?

###############################################here is my 
code########################



from __future__ import division
from __future__ import print_function

from future import standard_library
standard_library.install_aliases()
from yade import plot,pack,timing
import time, sys, os, copy
readParamsFromTable(noTableOk=True, # unknownOk=True,
        young=1e6,
        poisson=.6,

        sigmaT=3.5e6,
        frictionAngle=atan(0.8),
        epsCrackOnset=1e-4,
        relDuctility=30,

        intRadius=1.5,
        dtSafety=.8,
        damping=0.4,
        strainRateTension=-1,
        strainRateCompression=-.5,
        setSpeeds=True,

        specimenLength=.04,
        sphereRadius=0.001,

        # isotropic confinement (should be negative)
        isoPrestress=0,
)

from yade.params.table import *
#alphaKr=30,alphaKtw=30,
O.materials.append(CohFrictMat(young=young,poisson=poisson,density=2600,frictionAngle=radians(30),normalCohesion=1e3,shearCohesion=1e3,momentRotationLaw=True,etaRoll=0.1,label='spheres'))
#concreteId=O.materials.append(FrictMat(young=15e6,poisson=.4,frictionAngle=0,density=0,label='frictionlessWalls'))

sp=pack.randomDensePack(pack.inAlignedBox((0,0,0),(specimenLength,specimenLength,specimenLength)),spheresInCell=2000,radius=sphereRadius,memoizeDb='/tmp/triaxPackCache.sqlite',returnSpherePack=True)
sp.toSimulation()
bb=uniaxialTestFeatures()
negIds,posIds,axis,crossSectionArea=bb['negIds'],bb['posIds'],bb['axis'],bb['area']
O.dt=0.5*PWaveTimeStep()


O.engines=[
        ForceResetter(),
        
InsertionSortCollider([Bo1_Sphere_Aabb(label='is2aabb'),],verletDist=.05*sphereRadius),
        InteractionLoop(
                [Ig2_Sphere_Sphere_ScGeom6D()],
                [Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow = 
True)],
                #setCohesionNow = True,setCohesionOnNewContacts = True
                
[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True),
                Law2_ScGeom_FrictPhys_CundallStrack()],
        ),
        NewtonIntegrator(damping=damping,label='damper'),
        #CpmStateUpdater(realPeriod=.5),
UniaxialStrainer(strainRate=strainRateTension,axis=axis,asymmetry=0,posIds=posIds,negIds=negIds,crossSectionArea=crossSectionArea,blockDisplacements=False,blockRotations=False,setSpeeds=setSpeeds,label='strainer'),
PyRunner(virtPeriod=1e-3/strainRateTension,realPeriod=1,command='addPlotData()',label='plotDataCollector',initRun=True),
        #PyRunner(realPeriod=4,command='stopIfDamaged()',label='damageChecker'),
#
]
plot.plots={'eps':('sigma',)}
def addPlotData():
        
yade.plot.addData({'t':O.time,'i':O.iter,'eps':-(strainer.strain),'sigma':-(strainer.avgStress+isoPrestress),})
        
        
plot.plot(subPlots=False)


O.timingEnabled=False


O.run()
################


Best regards,
Aaron

[1] 
https://www.yade-dem.org/doc/yade.wrapper.html#yade.wrapper.Ip2_FrictMat_FrictMat_FrictPhys
[2] Potyondy, D. O., & Cundall, P. A. (2004). A bonded-particle model for rock. 
International journal of rock mechanics and mining sciences, 41(8), 1329-1364.

-- 
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     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to