Problem about record cylinder lateral strain
Hi,
I asked a question about measuring the transverse strain of cylinder in uniaxial compression test and referred to the method in [1]. However, I encountered new problems, as described below (the MWE is attached at the end)
With the progress of uniaxial compression, the measured transverse strain will fluctuate (generally increasing, but decreasing, and violently fluctuating with the end of compression)
The following is the code part. Thank you for your help!
-------
from yade import pack, ymport, plot, utils, export, timing
import sys
rate=-0.2
saveVTK=2000
intR=1.5
density=2640
young=90e9
friction=25
poisson=0.4
tens=8e6
cohes=40e6
mn,mx=Vector3(
OUT='compressio
name='cylinder'
r1=0.0001
r2=0.0006
O.materials.
bottom,
radius=0.0125
sp=pack.
pred=pack.
sp=pack.
spheres=
totalSpheres=
print('The number of sphere is:',totalSpheres)
bb=utils.
negIds,
O.engines=[
ForceResetter(),
InsertionSortC
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
UniaxialStrain
GlobalStiffnes
NewtonIntegrat
PyRunner(
PyRunner(
]
def recorder():
elat_
yade.
'elateral'
plot.
def stopIfDamaged(
extremum = max(abs(sigma) for sigma in plot.data['sigma'])
s = abs(plot.
e = abs(plot.
if O.iter < 1000 or s > .5*extremum and e < maxEps:
return
if abs(s)/
print('Simulation finished')
presentcohesi
for i in O.interactions:
if hasattr(i.phys, 'isCohesive'):
if i.phys.isCohesive == True:
print('the number of cohesive bond now is:',presentcoh
print('Max stress and strain:
O.pause()
def lateral():
elatTot=0.0
nTot=0
for b in O.bodies:
x=b.state.
y=b.state.
d=sqrt(
if d > r1 and d < r2:
b.shape.
xnew=
ynew=
dnew=
elat=(dnew-d)/d
elatTot+=elat
nTot+=1
elat_avg=
return elat_avg
plot.plots=
plot.plot()
O.step()
SSgeom.
Saabb.aabbEnlar
strainer.dead=0
O.run()
-------
[1]https:/
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Ziyu Wang
- Solved:
- Last query:
- Last reply: