Question #701845 on Yade changed:
https://answers.launchpad.net/yade/+question/701845

    Status: Answered => Open

Gianni Pellegrini is still having a problem:
Hi,
thank you, Bruno. 
I thought that the function name had changed during these years.

I think I was able to follow the same method used in the discussion.
If I am not wrong, the initial values of the cohesion (normal and shear) can be 
any positive number to make it work.
The real values would be set up through
for i in O.interactions:
  i.phys.unp = i.geom.penetrationDepth

since     fragile=False?

Thank you

This is my MWE but it needs a saved version of the cell and packing.


from yade import pack, export, ymport
import numpy as np

  
frictionAngle = 0.5
sigmaIso=-1e5
poisson=0.2
R=1e-3 
rate=1e-4
density= 1e12
alphaKr=2.0
alphaKtw=2.0
etaRoll=0.1
young=1E9
cohN=0
cohT=0
#SETTINGS
O.periodic = True
ac = np.load('T1.cellSizeCloud.npy')
O.cell.hSize=ac

############################################################
pp = O.materials.append(CohFrictMat(
        young=young,
        poisson=poisson,
        frictionAngle=frictionAngle,
        density=density,
        isCohesive=True,
    fragile=False,
        alphaKr=alphaKr,
        alphaKtw=alphaKtw,
        momentRotationLaw=True,
        etaRoll=etaRoll,
    normalCohesion=cohN,
    shearCohesion=cohT,
        ))
############################################################
O.engines = [
        ForceResetter(
               ),
        InsertionSortCollider([Bo1_Sphere_Aabb()]),
        InteractionLoop([Ig2_Sphere_Sphere_ScGeom6D()], 
[Ip2_CohFrictMat_CohFrictMat_CohFrictPhys(setCohesionNow=True,setCohesionOnNewContacts=False)],[Law2_ScGeom6D_CohFrictPhys_CohesionMoment(useIncrementalForm=True,always_use_moment_law=True)]),
        NewtonIntegrator(damping=.2),
        PyRunner(command='Test()', realPeriod=1),
        ]


O.cell.velGrad=Matrix3(0,0,0,0,0,0,0,0,0)
packing = ymport.text("T1.packing",color=(1,1,0),material=pp)
O.bodies.append(packing)
O.step()
#overlaps = [i.geom.penetrationDepth for i in O.interactions]
#print(overlaps)
O.dt = 0.5 * PWaveTimeStep()
print(' pressure:', getStress().trace() / 3.) 
for i in O.interactions:
  i.phys.unp = i.geom.penetrationDepth
print('changing')     


def Test():    
    print(' pressure:', getStress().trace() / 3.) 
    #if (getStress().trace() / 3.) > -1e3:
        #print('Done')
        #O.pause()
    

O.run()

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