Problem with recording excess pore water pressure
Moderators: silvia, selimgunay, Moderators
Problem with recording excess pore water pressure
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.
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.
Re: Problem with recording excess pore water pressure
Hi all
I have the same problem , is there anyone can help ??
I have the same problem , is there anyone can help ??
Re: Problem with recording excess pore water pressure
the recorder options depend on element and mateial you are using. what are they?
-
- Posts: 112
- Joined: Thu Jun 27, 2013 11:45 am
- Location: Seattle, WA
Re: Problem with recording excess pore water pressure
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
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
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
Re: Problem with recording excess pore water pressure
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.
-
- Posts: 112
- Joined: Thu Jun 27, 2013 11:45 am
- Location: Seattle, WA
Re: Problem with recording excess pore water pressure
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
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
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
-
- Posts: 112
- Joined: Thu Jun 27, 2013 11:45 am
- Location: Seattle, WA
Re: Problem with recording excess pore water pressure
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
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
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
Re: Problem with recording excess pore water pressure
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)
-
- Posts: 112
- Joined: Thu Jun 27, 2013 11:45 am
- Location: Seattle, WA
Re: Problem with recording excess pore water pressure
Thank you very much indeed. I greatly appreciate your help. The problem is fixed.
Sincerely Yours,
Soheil
Sincerely Yours,
Soheil
---
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC
PhD, EIT, Geotechnical Engineer
Condon-Johnson & Associates INC