incrememntal compression with engine
Hello !
I try to simulate triaxial compression with confinement of 1 MPa test on 3 steps:
1) isotropic loading sigma1=
2) loading the specimen by incrementing sigma1=1 MPa every 200 iterations until peak
3) in the post-peak stage, i load the specimen with strain Rate = 0.01 m/s
The problem is the code take in consideration the first and the third step. In fact, when the isotropic loading finish, i have a loading with the strain rate and not with the incrementation of sigma1.
Jabrane
This is the code.
from yade import ymport, utils , plot
import math
PACKING=
OUT=PACKING+
DAMP=0.4
saveData=100
iterMax=2000000
saveVTK=10000
confinement=-1e6
delta_stress=-1e6
stress_max=-200e6
strainRate=-0.01
intR=1.4450546
DENS=4000
YOUNG=65e9
FRICT=10
ALPHA=0.4
TENS=8e6
COH=160e6
def sphereMat(): return JCFpmMat(
def wallMat(): return JCFpmMat(
O.bodies.
dim=utils.
xinf=dim[0][0]
xsup=dim[1][0]
X=xsup-xinf
yinf=dim[0][1]
ysup=dim[1][1]
Y=ysup-yinf
zinf=dim[0][2]
zsup=dim[1][2]
Z=zsup-zinf
R=0
Rmax=0
numSpheres=0.
for o in O.bodies:
if isinstance(
numSpheres+=1
R+=o.
if o.shape.
Rmax=
Rmean=R/numSpheres
O.reset()
mn,mx=Vector3(
walls=utils.
wallIds=
O.bodies.
O.engines=[
InteractionLoop(
[Ig2_
[Ip2_
[Law2_
),
TriaxialStress
]
O.step();
SSgeom.
Saabb.aabbEnlar
O.engines = O.engines[
while 1:
if confinement==0:
O.run(
break
O.run(100,True)
unb=unbalance
meanS=
print 'unbalanced force:',unb,' mean stress: ',meanS
if unb<0.005 and abs(meanS-
O.run(
e10=
e20=
e30=
break
O.bodies[
O.bodies[
O.engines = O.engines[
for i in range(0,
if ( abs(triax.goal2) < abs(stress_max) ):
O.run(200,True)
triax.
O.engines = O.engines[
O.run(200000,True)
O.run(iterMax)
Question information
- Language:
- English Edit question
- Status:
- Answered
- For:
- Yade Edit question
- Assignee:
- No assignee Edit question
- Last query:
- Last reply:
Can you help with this problem?
Provide an answer of your own, or ask Yor1 for more information if necessary.