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