Triaxial calibration with PDMY02 material

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

Moderators: silvia, selimgunay, Moderators

Post Reply
andrestorres
Posts: 2
Joined: Wed Apr 20, 2016 9:49 am
Location: Universidad de Chile

Triaxial calibration with PDMY02 material

Post by andrestorres » Wed Apr 05, 2017 2:30 pm

Hi everyone,

I'm trying to calibrate the PDMY02 parameters with the results of ciclyc and monotonic undrained triaxial tests. At this far, i've been unable to get good results. In the monotonic undrained simulation, I can recreate a contractive behaviour, but not a dilative behaviour, wich is the behaviour of my clean sand.

The principal problem is that the pore pressure don't stabilize when it takes negative values, and it keep decreasing and decreasing whenever I impose a deformation to the soil. I really don't know if it's the code (it's a simply modification of the code used in the example of ManzariDafalias material) or the parameters that i'm using the problem. The monotonic undrained triaxial simulation is the principal problem, because I obtain good results when I simulate a cyclic triaxial test.

Here is the code i'm using, with the principal parameters i'm using too. Don't know why, but when I fit the pore pressure curve I only get a variation of "q" and "p" remains almost constant until the effective stress path reach to the phase transformation line... (sorry for the bad english in this last part, in other words, the effective stress path it's almost a straight line that goes up in the vertical direction in 90 degrees)

wipe

# ------------------------ #
# Test Specific parameters #
# ------------------------ #
# Confinement Stress
set pConf -100.0
# Deviatoric strain
set devDisp -0.3
# Permeablity
set perm 1.0e-10
# Initial void ratio
set vR 0.6

# Rayleigh damping parameter
set damp 0.1
set omega1 0.0157
set omega2 64.123
set a1 [expr 2.0*$damp/($omega1+$omega2)]
set a0 [expr $a1*$omega1*$omega2]

# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# HHHHHHHHHHHHHHHHHHHHHHHHHHHCreate ModelHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
# HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

# Create a 3D model with 4 Degrees of Freedom
model BasicBuilder -ndm 3 -ndf 4

# Create 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

# Create Fixities
fix 1 0 1 1 1
fix 2 0 0 1 1
fix 3 1 0 1 1
fix 4 1 1 1 1
fix 5 0 1 0 1
fix 6 0 0 0 1
fix 7 1 0 0 1
fix 8 1 1 0 1

nDMaterial PressureDependMultiYield02 1 3 2.04 3.29e4 7.13e4 36 0.1\
101.0 0.5 30 0.0 0.2 0.2 \
0.0 20 2.0 3.0 1.0 \
0.0 0.6 0.95 0.12 0.0 101.0

# Create element
# SSPbrickUP tag i j k l m n p q matTag fBulk fDen k1 k2 k3 void alpha <b1 b2 b3>
element SSPbrickUP 1 1 2 3 4 5 6 7 8 1 6.88e6 1.0 $perm $perm $perm $vR 1.5e-9

# Create recorders
recorder Node -file disp.out -time -nodeRange 1 8 -dof 1 2 3 disp
recorder Node -file press.out -time -nodeRange 1 8 -dof 4 vel
recorder Element -file stress.out -time stress
recorder Element -file strain.out -time strain


# Create analysis
constraints Penalty 1.0e18 1.0e18
test NormDispIncr 1.0e-5 20 1
algorithm Newton
numberer RCM
system BandGeneral
integrator Newmark 0.5 0.25
rayleigh $a0 0. $a1 0.0
analysis Transient

# Apply confinement pressure
set pNode [expr $pConf / 4.0]
pattern Plain 1 {Series -time {0 10000 1e10} -values {0 1 1} -factor 1} {
load 1 $pNode 0.0 0.0 0.0
load 2 $pNode $pNode 0.0 0.0
load 3 0.0 $pNode 0.0 0.0
load 4 0.0 0.0 0.0 0.0
load 5 $pNode 0.0 $pNode 0.0
load 6 $pNode $pNode $pNode 0.0
load 7 0.0 $pNode $pNode 0.0
load 8 0.0 0.0 $pNode 0.0
}
analyze 100 100

# Let the model rest and waves damp out
analyze 50 100

# Close drainage valves
for {set x 1} {$x<9} {incr x} {
remove sp $x 4
}

updateMaterialStage -material 1 -stage 1

analyze 50 100

# Read vertical displacement of top plane
set vertDisp [nodeDisp 5 3]
# Apply deviatoric strain
set lValues [list 1 [expr 1+$devDisp/$vertDisp] [expr 1+$devDisp/$vertDisp]]
set ts "{Series -time {20000 1020000 10020000} -values {$lValues} -factor 1}"

# loading object deviator stress
eval "pattern Plain 2 $ts {
sp 5 3 $vertDisp
sp 6 3 $vertDisp
sp 7 3 $vertDisp
sp 8 3 $vertDisp
}"

# Set number and length of (pseudo)time steps
set dT 100
set numStep 10000

# Analyze and use substepping if needed
set remStep $numStep
set success 0
proc subStepAnalyze {dT subStep} {
if {$subStep > 10} {
return -10
}
for {set i 1} {$i < 3} {incr i} {
puts "Try dT = $dT"
set success [analyze 1 $dT]
if {$success != 0} {
set success [subStepAnalyze [expr $dT/2.0] [expr $subStep+1]]
if {$success == -10} {
puts "Did not converge."
return success
}
} else {
if {$i==1} {
puts "Substep $subStep : Left side converged with dT = $dT"
} else {
puts "Substep $subStep : Right side converged with dT = $dT"
}
}
}
return success
}

puts "Start analysis"
set startT [clock seconds]

while {$success != -10} {
set subStep 0
set success [analyze $remStep $dT]
if {$success == 0} {
puts "Analysis Finished"
break
} else {
set curTime [getTime]
puts "Analysis failed at $curTime . Try substepping."
set success [subStepAnalyze [expr $dT/2.0] [incr subStep]]
set curStep [expr int(($curTime-20000)/$dT + 1)]
set remStep [expr int($numStep-$curStep)]
puts "Current step: $curStep , Remaining steps: $remStep"
}
}
set endT [clock seconds]
puts "loading analysis execution time: [expr $endT-$startT] seconds."

wipe

sadeghihabib
Posts: 5
Joined: Tue Jan 30, 2018 1:24 am
Contact:

Re: Triaxial calibration with PDMY02 material

Post by sadeghihabib » Wed Jan 31, 2018 5:20 am

Dear andrestorres
Hi
I am modeling cyclic simple shear and my results are not good. could you fix your problem, finally? can you post your final Tcl script here, Please?
Habibollah Sadeghi
MSc Student of Geotechnical Engineering
Sharif University of technology
Tehran, Iran

sinapourabbasi
Posts: 2
Joined: Sun Dec 29, 2019 2:28 pm

Re: Triaxial calibration with PDMY02 material

Post by sinapourabbasi » Wed Jan 01, 2020 4:38 am

Hi all
Can anyone explain to me what the $Ce coefficient is in the code below?


nDMaterial PressureDependMultiYield02 1 3 $rho $refShearModul $refBulkModul $frictionAng $peakShearStra $refPress $pressDependCoe $PTAng $contrac1 $contrac3 $dilat1 $dilat3 20 $contrac2 $dilat2 $liquefac1 $liquefac2 $e $cs1 $cs2 $cs3 $pa $ce; # 0 1.

Post Reply