yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #27799
Re: [Question #701845]: Has ZeroInitForce been implemented?
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.