Triaxial Simulation

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
ZNizamani
Posts: 5
Joined: Sun Oct 25, 2015 11:44 pm

Triaxial Simulation

Post by ZNizamani »

Hi Everyone,

I am trying to simulate the code using PDMY02 model, it is nothing but just modified form of Drucker Prager. I don't see any difference while changing parameters. Could you please help me? I want to plot stress and strain curve, stress path and displacement time history... but when I do I don't get plasticity in the below example just linear relationship. In conventional Triaxial test, there are two stages, in first stage consolidation occurs and then shearing. Could also elaborate the stage transfering point in the code?
Please give positive reponse.

Thanks

kind regards
Zubair

#-------------------------------------------------------
# create the modelBuilder and build the model
#-------------------------------------------------------
wipe

model BasicBuilder -ndm 3 -ndf 3

#--create the nodes
node 1 1.0 0.0 0.0
node 2 1.0 1.0 0.0
node 3 0.0 1.0 0.0
node 4 0.0 0.0 0.0
node 5 1.0 0.0 1.0
node 6 1.0 1.0 1.0
node 7 0.0 1.0 1.0
node 8 0.0 0.0 1.0

#--triaxial test boundary conditions
fix 1 0 1 1
fix 2 0 0 1
fix 3 1 0 1
fix 4 1 1 1
fix 5 0 1 0
fix 6 0 0 0
fix 7 1 0 0
fix 8 1 1 0

#--define material parameters for the model
#---bulk modulus
set k 66144.32793
#---shear modulus
set G 132.3769071
#---Friction Angle
set FricAng 33
#---Shear strain
set ShearStr 0.1
#---Reference Pressure
set RefPre 158.43
#---Pressure Dependet
set PressDepen 0.5
#---Phase Trasnformation Angle
set PTA 20
#---mass density
set mDen 1.830
#Contraction Parameter
set Contrac1 0.080
set Contrac2 2.20
set Contrac3 0.180
# Dilation Parameter
set Dilat1 0.160
set Dilat2 3.00
set Dilat3 0.00
# phase Transformation strain
set PT 1


#--material models


#nDMaterial PressureDependMultiYield02 $tag $nd $rho $refShearModul $refBulkModul $frictionAng $peakShearStra $refPress $pressDependCoe $PTAng $contrac1 $contrac3 $dilat1 $dilat3 <$noYieldSurf=20 <$r1 $Gs1 …> $contrac2=5. $dilat2=3. $liquefac1=1. $liquefac2=0. $e=0.6 $cs1=0.9 $cs2=0.02 $cs3=0.7 $pa=101 <$c=0.1>>
nDMaterial PressureDependMultiYield02 2 3 $mDen $G $k $FricAng $ShearStr $RefPre $PressDepen \
$PTA $Contrac1 $Contrac3 $Dilat1 $Dilat3


#--create the element

# typ tag nodes matID bforce1 bforce2 bforce3
element stdBrick 1 1 2 3 4 5 6 7 8 2 0.0 0.0 0.0

puts "model Built..."

#-------------------------------------------------------
# create the recorders
#-------------------------------------------------------
set step 0.1

# record nodal displacements
recorder Node -file displacements1.out -time -dT $step -nodeRange 1 8 -dof 1 2 3 disp

# record the element stress, strain, and state at one of the Gauss points
recorder Element -ele 1 -time -file stress1.out -dT $step material 2 stress
recorder Element -ele 1 -time -file strain1.out -dT $step material 2 strain
recorder Element -ele 1 -time -file state1.out -dT $step material 2 state

puts "recorders set..."

#-------------------------------------------------------
# create the loading
#-------------------------------------------------------

#--pressure magnitude

set pNode [expr -$RefPre/4]

#--loading object for hydrostatic pressure
pattern Plain 1 {Series -time {0 10 100} -values {0 1 1} -factor 1} {
load 1 $pNode 0.0 0.0
load 2 $pNode $pNode 0.0
load 3 0.0 $pNode 0.0
load 5 $pNode 0.0 0.0
load 6 $pNode $pNode 0.0
load 7 0.0 $pNode 0.0
}

#--loading object deviator stress
pattern Plain 2 Series -time {0 10 100} -values {0 1 10} -factor 1} {
load 5 0.0 0.0 $pNode
load 6 0.0 0.0 $pNode
load 7 0.0 0.0 $pNode
load 8 0.0 0.0 $pNode
}

#-------------------------------------------------------
# create the analysis
#-------------------------------------------------------

integrator LoadControl 0.05
numberer RCM
system SparseGeneral
constraints Transformation
test NormDispIncr 1e-5 10 1
algorithm Newton
analysis Static

puts "starting the hydrostatic analysis..."
set startT [clock seconds]
analyze 1000

set endT [clock seconds]
puts "triaxial shear application finished..."
puts "loading analysis execution time: [expr $endT-$startT] seconds."

wipe
skamalzare
Posts: 112
Joined: Thu Jun 27, 2013 11:45 am
Location: Seattle, WA

Re: Triaxial Simulation

Post by skamalzare »

Hi Nizamani,

PDMY02 material by default is set to elastic stage. You need to change its stage to plastic to observe plastic behavior. The command is:

Elastic (default): updateMaterialStage -material $MaterialTagNo -stage 0
Plasitc: updateMaterialStage -material $MaterialTagNo -stage 1

To model triaxial tests, I suggest the following procedure:
- Turn on InitialStateAnalysis (to be able to reset the deformations before consolidation)
- Step 1: Perform elastic and then plastic gravity analyses (let the material stage stay on plasticity)
- Turn off InitialStateAnalysis (deformations are reset to zero)
- Step 2: Apply the consolidation all-around loads (wait enough for excess PWP to dissipate or deformations stop)
- Step 3: Apply the deviatoric load

In your model, you are applying all the three steps together while the material is set on elasticity. What can help you is to review some of the examples in Wiki.

Bests,
Soheil
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
ZNizamani
Posts: 5
Joined: Sun Oct 25, 2015 11:44 pm

Re: Triaxial Simulation

Post by ZNizamani »

Thank you Soheil for your response. I'm a newbie to this framework and I need to simulate this work. I tried as you said but I could not do it accordingly.I will be thankful if you correct the errors in the above code and write the whole code here, So I can plot the stress-strain response and displacement history.

I will be waiting for your positive response

kind regards,
Nizamani
francisconazar
Posts: 10
Joined: Fri Jan 16, 2015 12:07 pm
Location: Universidad de Chile

Re: Triaxial Simulation

Post by francisconazar »

I believe you can put the confining pressure with body forces rather than nodal loads, for example:

set pres -2 # kg/cm2
element stdBrick 1 1 2 3 4 5 6 7 8 2 $pres $pres $pres

This is what I do. Also, the gravity can be input as a body force also, so in the z direction one can sum the gravity. Although I don't believe it changes a lot the result.

As Soheil Said, you need to set

updateMaterialStage -material $MaterialTagNo -stage 1

before the analysis in order to obtain plastic behaviour.
Post Reply