yade-users team mailing list archive
-
yade-users team
-
Mailing list archive
-
Message #25135
Re: [Question #695679]: stress path
Question #695679 on Yade changed:
https://answers.launchpad.net/yade/+question/695679
Status: Answered => Open
ehsan benabbas is still having a problem:
Thank you Bruno for your response. I made the following changes to the
code, but the problem is for b=0 (which means confining pressures must
be equal as b=(sigma1-sigma3)/(sigma2-sigma3) when the axial/vertical
direction is direction 2) I get different results in comparison with the
case that I had not used "b and p" parameters. I mean when I add these
changes, when I put b=0, it must be the same as before, however, I get
much higher confining pressures and axial pressure.
To follow the aforementioned logic for defining a loading path, first I defined the following parameters:
################# LOADING #################
strainRate=-0.5 # %/sec
target_strain=0.35
p=-5e5 # Mean Stress , KPa ... Pa=N/m2
sigmaIso=p # Confining Pressure , Kpa ... Pa=N/m2
# Note that direction 2 is vertical/axial and directions 1 & 3 are lateral/confining
b=0 # b = (sigma1-sigma3)/(sigma2-sigma3)
Second, for confining pressure I defined the following lines:
###############################################################
################# APPLYING CONFINING PRESSURE #################
print ('============ APPLYING CONFINING PRESSURE ============')
triax.goal1 = sigmaIso
triax.goal2 = sigmaIso
triax.goal3 = sigmaIso
while 1:
O.run(ORN,True)
unb = unbalancedForce()
meanS=(triax.stress(triax.wall_right_id)[0]+triax.stress(triax.wall_top_id)[1]+triax.stress(triax.wall_front_id)[2])/3
ConfStressRatio=abs(sigmaIso-triax.meanStress)/abs(sigmaIso)
print ('~~~~~~~~~~~~~ Phase_01: Converging to Isotropic Compression, 50kPa ~~~~~~~~~~~~~')
print ('ConfSratio:',ConfStressRatio,' step:', O.iter/ORN, ' Time:',O.time, ' iter/sec',O.speed)
print ('mean stress engine:',triax.meanStress,' mean stress (Calculated):',meanS)
if unb<stabilityThreshold and ConfStressRatio<PCPC:
break
and finally, in the deviatoric phase of the triaxial test I defined the following lines:
######################################################
################# DEVIATORIC LOADING #################
print ('============ APPLYING DEVIATORIC LOADING ============')
triax.internalCompaction=False
setContactFriction(0.5)
# Allow walls to move. >>> False means fixed , True means free to move
triax.wall_top_activated=True
triax.wall_bottom_activated=False
triax.wall_left_activated=True
triax.wall_right_activated=True
triax.wall_back_activated=True
triax.wall_front_activated=True
# Make Stress Control on X,Y,Z directions by setting True, False means Strain Control
triax.stressControl_1=True
triax.stressControl_2=False
triax.stressControl_3=True
# set the rate of strain to the desirable axis
triax.strainRate2=strainRate
# set the deviatoric conditions
triax.stressMask = 5
triax.goal2 = strainRate
sigma2=triax.goal2
sigma1=(((1-b)*3*p)+(((2*b)-1)*sigma2))/(2-b)
triax.goal1 = sigma1
sigma3=((3*p)-((b+1)*sigma2))/(2-b)
triax.goal3 = sigma3
newton.damping=damp
while 1:
O.run(ORN,True)
unb=unbalancedForce()
axialS=triax.stress(triax.wall_top_id)[1]
eps2=triax.strain[1]
eps2cal=(triax.height-Ls)/Ls
print ('~~~~~~~~~~~~~ Phase_02: Converging to Deviatoric Compression, Strain Rate ~~~~~~~~~~~~~')
print ('sigma2: ',axialS, ' q: ', axialS-sigmaIso,' step= ', O.iter/ORN,' Time:',O.time, ' iter/sec',O.speed)
print ('Strain2 Calculated: ',eps2cal, ' Strain2 engine: ',eps2,'axial deformation (%)', (eps2-e22Check)*100)
if abs(eps2-e22Check)>=target_strain: #triax.sigma2
break
print ('################## Deviatoric phase is finished and saved
successfully ##################')
--
You received this question notification because your team yade-users is
an answer contact for Yade.