Problem with recording excess pore water pressure

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Lanka
Posts: 21
Joined: Mon Feb 19, 2007 6:38 pm
Location: Fugro

Problem with recording excess pore water pressure

Post by Lanka »

Hi,
I am using PDMY material (coupled with FluidSolidPorous Material) to simulate saturated, undrained elastic-plastic response of soil. I use 4 node quad elements to model soil. When I try to record pore pressures and pore pressure ratios, I am getting only the time array in the output file.

This is how I record pressure.

recorder Element -ele 565 -time -file press1.out -dT 0.0005 material 1 pressure
recorder Element -ele 565 -time -file press3.out -dT 0.0005 material 3 pressure

Can anybody check this script? Thanks in advance.

-Lanka.
rjaeger
Posts: 102
Joined: Thu Aug 31, 2006 9:57 pm
Location: UC Davis

Post by rjaeger »

Hi Lanka,

what type of element do you have? Is it the UCSD four node quad UP or a UCSD nine four node quad, etc.?

-Robbie
Lanka
Posts: 21
Joined: Mon Feb 19, 2007 6:38 pm
Location: Fugro

Post by Lanka »

Hi Robbie

I am using 4 node quad elements, not UP elements.

Thanks.

-Lanka.
peymannp
Posts: 3
Joined: Tue Mar 19, 2013 4:05 am
Location: sharif university of technology

Re: Problem with recording excess pore water pressure

Post by peymannp »

Hi all
I have the same problem , is there anyone can help ??
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Problem with recording excess pore water pressure

Post by fmk »

the recorder options depend on element and mateial you are using. what are they?
skamalzare
Posts: 112
Joined: Thu Jun 27, 2013 11:45 am
Location: Seattle, WA

Re: Problem with recording excess pore water pressure

Post by skamalzare »

Hi all,

I have the same problem too. It is really confusing. Here are my code details:

nDMaterial PressureDependMultiYield 1 2 $mass $G $B 31.4 .1 80 0.5 26.5 0.17 0.4 10 10 0.015 1.0
nDMaterial FluidSolidPorous 2 2 1 2.2e6
----
element quad $m $n1 $n2 $n3 $n4 $thick "PlaneStrain" $matag $press 0.0 $wgX $wgY
----
recorder Element -ele 1 -time -file SK_OpenSees_PWP.out material 1 pressure

And like other folks, I am only recording one column showing the time for my Pore Water Pressure. The extremely surprising point is that, in the OpenSees Wiki, there is an example with exactly same commands, and that example records the PWP! I checked my commands with the example's command, they are exactly the same. I greatly appreciate if anyone can tell me what is happening here?

P.S> Another strange thing which is happening, is in the stress recorder. Again having exactly the same commands, my code records 6 different columns in its stress output, but the OpenSees-example recorder records 4 columns of stress. The model is a 2D, 2 DOF, therefore the recorders must record 6 outputs (as it is said in the manual) but opensees-example output has only 4 columns! This makes the Attached MATLAB code to draw a wrong stress path too!

Thanks All,
Soheil
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Problem with recording excess pore water pressure

Post by fmk »

can you post a 1 or 2 ele example .. i want to see what exact material you are passing to the element. also through in the command you are using for the stress recorder to see what is up.
skamalzare
Posts: 112
Joined: Thu Jun 27, 2013 11:45 am
Location: Seattle, WA

Re: Problem with recording excess pore water pressure

Post by skamalzare »

eval exec >&@stdout <@stdin [auto_execok cls]

puts "******************************************************************"
puts " Performing Cyclic loading "
puts "******************************************************************"

wipe

###################################
# Inputs:

set mass 2
set fmass 1
set G 6.e4
set B 2.4e5
set press 0
set accMul 2
set accDt 0.0166
set loadBias 0
set period 1
set deltaT 0.01
set numSteps 2000
set gamma 0.6


###################################
# Defining Geometery:

# Height of mesh area:
set Height_Mesh 1

# Length of mesh area:
set Length_Mesh 1

# Length of Elements (Elements have square shape):
set Length_Element 1

# Number of Elements:
set N_Elements [expr ($Height_Mesh/$Length_Element)*($Length_Mesh/$Length_Element)]

puts "Number of Elements: $N_Elements"
puts " "

###################################
# Defining Nodes:
# *******************************************************************
# *******************************************************************
set n 1
set y -$Length_Element

model basic -ndm 2 -ndf 2

for {set y_con 1} {$y_con <= [expr ($Height_Mesh/$Length_Element)+1]} {incr y_con 1 } {
set y [expr $y+$Length_Element]
set x 0
for {set x_con 1} {$x_con <= [expr $Length_Mesh/$Length_Element+1]} {incr x_con 1} {
node $n $x $y
#puts "$n $x $y"
incr n 1
set x [expr $x+$Length_Element]
}
}
set N_Nodes [expr $n-1]
puts "Nodes are definied."
puts "Total number of Nodes: $N_Nodes"
puts " "
puts "---------------------------------------------------------"
puts " "
#after 1000

###################################
# Defining Soil Material:

nDMaterial PressureDependMultiYield 1 2 $mass $G $B 31.4 .1 80 0.5 26.5 0.17 0.4 10 10 0.015 1.0

nDMaterial FluidSolidPorous 2 2 1 2.2e6

puts "All materials are defined."
puts "---------------------------------------------------------"
puts " "
#after 1000

###################################
# Defining Soil Elements
# *******************************************************************
# *******************************************************************

set m 1

set Total_no_column int([expr $Length_Mesh/$Length_Element+1])
set thick 1
set matag 1
set wgY [expr -9.81*($mass-$fmass)]
set wgX [expr -$wgY*$loadBias]

for {set no_row 0} {$no_row < [expr $Height_Mesh/$Length_Element]} {incr no_row 1} {
for {set no_column 0} {$no_column < [expr $Length_Mesh/$Length_Element]} {incr no_column 1} {
set n1 [expr $m+$no_row]
set n2 [expr $m+$no_row+1]
set n3 [expr $m+$no_row+1+$Total_no_column]
set n4 [expr $m+$no_row+$Total_no_column]

element quad $m $n1 $n2 $n3 $n4 $thick "PlaneStrain" $matag $press 0.0 $wgX $wgY
incr m 1
}
}
#after 1000000

set Num_Columns $Total_no_column

puts "Soil Elements are defined."
puts "---------------------------------------------------------"
puts " "
#after 1000

###################################
# Defining Boundaries:

set i 1
set y -$Length_Element

fix 1 1 1
fix 2 1 1

# Tip: From example 22 of Elgaml - Tie all disp. DOFs at same level

for {set y_con 1} {$y_con <= [expr ($Height_Mesh/$Length_Element)]} {incr y_con 1 } {
set i [expr $i+$Num_Columns]
for {set j [expr $i+1]} {$j <= [expr $i+$Num_Columns-1]} {incr j 1} {
#set j [expr $i+$Num_Columns-1]
equalDOF $i $j 1 2
puts "Periodic boundary $i $j"
}
}

puts "Boundaries are defined."
puts "---------------------------------------------------------"
puts " "
#after 1000

###################################
# Material Stage:
updateMaterialStage -material 1 -stage 0
updateMaterialStage -material 2 -stage 0

puts "Material stage is updated to Linear Elastic."
puts "---------------------------------------------------------"
puts " "
#after 1000

###################################
# Applying the gravity loads - Elastic Behavior:

# analysis objects
constraints Transformation
test NormDispIncr 1e-5 10 0
algorithm ModifiedNewton
numberer RCM
system ProfileSPD
integrator LoadControl 1 1 1 1

analysis Static
analyze 2

puts "Garvity loads are applied. - Elastic Behavior"
puts "---------------------------------------------------------"
puts " "
#after 1000

###################################
# Applying the gravity loads - Elasto Plastic Behavior:

# Material Stage:
updateMaterialStage -material 1 -stage 1
updateMaterialStage -material 2 -stage 1
updateMaterials -material 1 bulkModulus [expr $G*2/3]

puts "Material stage is updated to Elasto-Plastic behavior."
puts "---------------------------------------------------------"
puts " "
#after 1000

# Question: OpenSees website example --> They have not analyzed the plastic consolidation. Why?
# analyze 5 5e5

# puts "Garvity loads are applied. - Plastic Behavior"
puts "---------------------------------------------------------"
puts " "
#after 1000

###################################
# Loading:
setTime 0.0
wipeAnalysis

set t_current 0
set t_final 15

# Newmark parameters
set gamma 0.6
set beta [expr pow($gamma+0.5, 2)/4]

pattern UniformExcitation 1 1 -accel "Sine 0 10 $period -factor $accMul"

recorder Node -file SK_OpenSees_Disp.out -time -node 3 -dof 1 2 -dT $deltaT disp
recorder Node -file SK_OpenSees_Acce.out -time -node 3 -dof 1 2 -dT $deltaT accel
recorder Element -ele 1 -time -file SK_OpenSees_Stress.out material 1 stress
recorder Element -ele 1 -time -file SK_OpenSees_Strain.out material 1 strain
recorder Element -ele 1 -time -file SK_OpenSees_PWP.out material 1 pressure

puts "** Loading Loading Loading **"
puts "---------------------------------------------------------"
puts "---------------------------------------------------------"
puts " "
#after 1000
set massProportionalDamping 0. ;
set InitStiffnessProportionalDamping 0.002;

constraints Transformation
test NormDispIncr 1e-4 10 0
algorithm Newton
numberer RCM
system ProfileSPD
rayleigh $massProportionalDamping 0.0 $InitStiffnessProportionalDamping 0.0
integrator Newmark $gamma $beta
analysis VariableTransient


analyze $numSteps $deltaT [expr $deltaT/100] $deltaT 5
set t_current [getTime]
puts "time = $t_current sec"

puts "****************************************"
puts "FINISHED COMPUTATION FOR CYCLIC LOADING."
puts "****************************************"
wipe
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
skamalzare
Posts: 112
Joined: Thu Jun 27, 2013 11:45 am
Location: Seattle, WA

Re: Problem with recording excess pore water pressure

Post by skamalzare »

The code I have posted above is doing the same analysis of the OpenSees website example - http://opensees.berkeley.edu/wiki/index ... Example_13
In the example, if you change the number of y elements to 1 and run it, you can see that, the recorders record PWP for the element and the stress output file has 4 columns. First, the stress output file should have 6 outputs. Second, I don't understand why my code doesn't record any PWP! I would greatly appreciate, if someone could tell me what is wrong with my code.

Thanks,
Soheil
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: Problem with recording excess pore water pressure

Post by fmk »

you are passing matTag 1 to the element and not 2 .. material 1 does not respond to pressurem mat 2 does. the file contains 4 columns, 1 for the time and the other 3 for the materials stresses (it is a plane strain problem)
skamalzare
Posts: 112
Joined: Thu Jun 27, 2013 11:45 am
Location: Seattle, WA

Re: Problem with recording excess pore water pressure

Post by skamalzare »

Thank you very much indeed. I greatly appreciate your help. The problem is fixed.

Sincerely Yours,
Soheil
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
Post Reply