Search found 12 matches

by yingying
Sat Mar 10, 2018 3:33 pm
Forum: OpenSees.exe Users
Topic: Dynamic analysis with a modeled reservoir
Replies: 1
Views: 2317

Dynamic analysis with a modeled reservoir

I have meshed a dam and a reservoir (see image: https://ibb.co/nq0207). I am trying to do a coupled seismic analysis and I currently have the gravity analysis working with the following boundary conditions:

Base of dam is fixed in the vertical direction. Sides of foundation (orange in the image) are tied DOFs. The side of the reservoir (yellow) is fixed in the horizontal direction.

The results of the gravity analysis (displacement and pwp) look reasonable, however I cannot get a dynamic analysis to work.

I have tried changing the boundary conditions of the reservoir to Lysmer dashpots (this causes the gravity analysis to not run at all). I have a similar model, but without the reservoir, and a dynamic analysis works fine on it. The reason I have included the reservoir is so that the pwp and the hydrostatic pressures can be defined.

I have defined the reservoir using the following material "nDMaterial ElasticIsotropic 5 30 0.499998 1" and have created it using quadUP elements. Is this causing my dynamic analysis to not run at all?

My script is as follows:

#-------------------------------------------------------------------------------------------
# DEFINE NODES FOR SOIL ELEMENTS
#-------------------------------------------------------------------------------------------

# soil nodes are created in 2 dimensions, with 2 translational dof
model BasicBuilder -ndm 2 -ndf 3

# 2 ndm (number of dimensions), therefore NODE ID X Y
# define soil nodes

source nodes.tcl

puts "Finished creating all soil nodes..."


#-------------------------------------------------------------------------------------------
# DEFINE BOUNDARY CONDITIONS
#-------------------------------------------------------------------------------------------

# define fixity of base nodes for gravity analysis

source fix.tcl

# creating equal DOF for foundation layer base and sides
equalDOF 286 318 1 2
equalDOF 319 351 1 2
equalDOF 352 384 1 2
equalDOF 385 417 1 2
equalDOF 418 450 1 2
equalDOF 451 483 1 2
equalDOF 484 516 1 2
equalDOF 517 549 1 2
equalDOF 550 582 1 2
equalDOF 583 615 1 2
equalDOF 616 648 1 2
equalDOF 649 681 1 2
equalDOF 682 714 1 2
equalDOF 715 747 1 2
equalDOF 748 780 1 2
equalDOF 781 813 1 2
equalDOF 814 846 1 2
equalDOF 847 879 1 2
equalDOF 880 912 1 2
equalDOF 913 945 1 2
equalDOF 946 963 1 2


# pwp

fix 218 0 0 1
fix 219 0 0 1
fix 220 0 0 1
fix 221 0 0 1
fix 83 0 0 1
fix 58 0 0 1
fix 59 0 0 1
fix 60 0 0 1
fix 104 0 0 1
fix 278 0 0 1
fix 279 0 0 1
fix 280 0 0 1
fix 281 0 0 1
fix 222 0 0 1
fix 223 0 0 1
fix 224 0 0 1
fix 84 0 0 1
fix 61 0 0 1
fix 63 0 0 1
fix 105 0 0 1
fix 282 0 0 1
fix 283 0 0 1
fix 284 0 0 1
fix 285 0 0 1

fix 150 0 0 1
fix 155 0 0 1
fix 160 0 0 1
fix 165 0 0 1
fix 164 0 0 1
fix 229 0 0 1
fix 233 0 0 1
fix 237 0 0 1
fix 241 0 0 1
fix 245 0 0 1
fix 249 0 0 1
fix 253 0 0 1
fix 257 0 0 1
fix 261 0 0 1
fix 265 0 0 1
fix 269 0 0 1
fix 273 0 0 1
fix 277 0 0 1

fix 145 0 0 1
fix 140 0 0 1
fix 955 0 0 1
fix 956 0 0 1
fix 957 0 0 1
fix 958 0 0 1
fix 959 0 0 1
fix 960 0 0 1
fix 961 0 0 1
fix 962 0 0 1
fix 963 0 0 1


puts "Finished creating all boundary conditions..."

#-------------------------------------------------------------------------------------------
# MESH GEOMETRY
#-------------------------------------------------------------------------------------------

# number of nodes
set numNodes 1138

# number of elements
set numEle 1065

#-------------------------------------------------------------------------------------------
# MATERIAL PARAMETERS
#-------------------------------------------------------------------------------------------

# combined undrained bulk modulus (kPa)
set bulk [expr 2.2e6/1]

# fluid mass density
set fmass 1

# initial permeability coefficient in horizontal direction for gravity analysis
set hPerm 1

# initial permeability coefficient in vertical direction for gravity analysis
set vPerm 1

#peak shear strain (gamma max)
set peakSS 0.1

#Reference mean effective confining pressure (default is 100) (p'r)
set refPress 1200

#pressure dependent coefficient (default 0) (d)
set refCoef 2

# phase transformation angle (deg)

set phaseAng 27

#number of yield surfaces (default 20)
set noYieldSurf 25

#-------------------------------------------------------------------------------------------
# OTHER PROPERTIES
#-------------------------------------------------------------------------------------------

# USER DEFINED VARIABLES

# Gravity m/s2
set g 9.81

set gravX 0

set gravY [expr -$g]

#---RAYLEIGH DAMPING PARAMETERS
set pi 3.141592654
# damping ratio - 5 percent damping
set damp 0.05
# lower frequency
set omega1 [expr 2*$pi*0.2]
# upper frequency
set omega2 [expr 2*$pi*20]
# damping coefficients
set a0 [expr 2*$damp*$omega1*$omega2/($omega1 + $omega2)]
set a1 [expr 2*$damp/($omega1 + $omega2)]

puts "damping coefficients: a_0 = $a0; a_1 = $a1"

#---ANALYSIS PARAMETERS
# Newmark parameters
set gamma 0.5
set beta 0.25

#Analysis settings
#time step
set dT 0.02
#number of steps
set nSteps 400

#-------------------------------------------------------------------------------------------
# DEFINE MATERIAL
#-------------------------------------------------------------------------------------------


# clay core

set hPerm1 1e-10

set vPerm1 1e-10

#saturated soil mass density
set rho1 2

# shear modulus - 200x3.5 (kPa)
set G1 700000

#bulk modulus - roughly triple shear modulus (kPa)
set B1 1517000

# friction angle
set frictAng1 37

nDMaterial PressureDependMultiYield 1 2 $rho1 $G1 $B1 $frictAng1 $peakSS $refPress $refCoef $phaseAng 0.0 0.0 0.0 0.0 0.0 0.0 $noYieldSurf




# sand filters

set hPerm2 1e-3

set vPerm2 1e-3

#saturated soil mass density
set rho2 2.18

# shear modulus - 200x3.5 (kPa)
set G2 700000

#bulk modulus - roughly triple shear modulus (kPa)
set B2 1517000

# friction angle
set frictAng2 37

nDMaterial PressureDependMultiYield 2 2 $rho2 $G2 $B2 $frictAng2 $peakSS $refPress $refCoef $phaseAng 0.0 0.0 0.0 0.0 0.0 0.0 $noYieldSurf





#rockfill shells

set hPerm3 1e-2

set vPerm3 1e-2

#saturated soil mass density
set rho3 2.08

# shear modulus - 200x3.5 (kPa)
set G3 700000

#bulk modulus - roughly triple shear modulus (kPa)
set B3 1517000

# friction angle
set frictAng3 37

nDMaterial PressureDependMultiYield 3 2 $rho3 $G3 $B3 $frictAng3 $peakSS $refPress $refCoef $phaseAng 0.0 0.0 0.0 0.0 0.0 0.0 $noYieldSurf




# foundation alluvium

set hPerm4 1e-7

set vPerm4 1e-7

#saturated soil mass density
set rho4 2.08

# shear modulus - 200x3.5 (kPa)
set G4 700000

#bulk modulus - roughly triple shear modulus (kPa)
set B4 1517000

# friction angle
set frictAng4 37

nDMaterial PressureDependMultiYield 4 2 $rho4 $G4 $B4 $frictAng4 $peakSS $refPress $refCoef $phaseAng 0.0 0.0 0.0 0.0 0.0 0.0 $noYieldSurf


# reservoir water

nDMaterial ElasticIsotropic 5 30 0.499998 1

puts "Finished creating materials..."

#-------------------------------------------------------------------------------------------
# DASHPOT
#-------------------------------------------------------------------------------------------

source dashpot.tcl

# dashpot size element x rock density x rock VS
set mC 1000

uniaxialMaterial Viscous 4000 $mC 1

element zeroLength 3000 2000 2001 -mat 4000 -dir 1
element zeroLength 3001 2002 2003 -mat 4000 -dir 1
element zeroLength 3002 2004 2005 -mat 4000 -dir 1
element zeroLength 3003 2006 2007 -mat 4000 -dir 1
element zeroLength 3004 2008 2009 -mat 4000 -dir 1
element zeroLength 3005 2010 2011 -mat 4000 -dir 1
element zeroLength 3006 2012 2013 -mat 4000 -dir 1
element zeroLength 3007 2014 2015 -mat 4000 -dir 1
element zeroLength 3008 2016 2017 -mat 4000 -dir 1
element zeroLength 3009 2018 2019 -mat 4000 -dir 1
element zeroLength 3010 2020 2021 -mat 4000 -dir 1
element zeroLength 3011 2022 2023 -mat 4000 -dir 1
element zeroLength 3012 2024 2025 -mat 4000 -dir 1
element zeroLength 3013 2026 2027 -mat 4000 -dir 1
element zeroLength 3014 2028 2029 -mat 4000 -dir 1
element zeroLength 3015 2030 2031 -mat 4000 -dir 1
element zeroLength 3016 2032 2033 -mat 4000 -dir 1
element zeroLength 3017 2034 2035 -mat 4000 -dir 1

puts "Finished creating dashpot material..."



#-------------------------------------------------------------------------------------------
# DEFINE SOIL ELEMENTS
#-------------------------------------------------------------------------------------------

# define soil elements

source ele.tcl

puts "Finished creating all elements..."


#------------------------------------------------------------------------------------------
# CREATE GRAVITY RECORDERS
#------------------------------------------------------------------------------------------

# record nodal displacement and acceleration

recorder Node -file Gdisp.out -time -nodeRange 1 $numNodes -dof 1 2 disp
recorder Node -file Gpwp.out -time -nodeRange 1 $numNodes -dof 3 vel

puts "Finished creating gravity recorders..."


#-------------------------------------------------------------------------------------------
# APPLY GRAVITY LOADING
#-------------------------------------------------------------------------------------------

# update materials to ensure elastic behavior
updateMaterialStage -material 1 -stage 0
updateMaterialStage -material 2 -stage 0
updateMaterialStage -material 3 -stage 0
updateMaterialStage -material 4 -stage 0


timeSeries Linear 1499

pattern Plain 3 1499 {
sp 946 3 529.74
sp 947 3 529.74
sp 948 3 529.74
sp 949 3 529.74
sp 950 3 529.74
sp 951 3 529.74
sp 952 3 529.74
sp 953 3 529.74
sp 954 3 529.74
sp 106 3 529.74
sp 111 3 500.31
sp 116 3 470.88
sp 121 3 441.45
sp 126 3 412.02
sp 131 3 382.59
sp 132 3 382.59
sp 166 3 353.16
sp 170 3 323.73
sp 174 3 294.3
sp 178 3 264.87
sp 182 3 235.44
sp 186 3 206.01
sp 190 3 176.58
sp 194 3 147.15
sp 198 3 117.72
sp 202 3 88.29
sp 206 3 58.86
sp 210 3 29.43
sp 214 3 0

}


constraints Transformation
test NormDispIncr 0.0005 30 2
algorithm Newton
numberer RCM
system ProfileSPD
integrator Newmark 1.5 1
analysis Transient

analyze 10 100

puts "Finished with elastic gravity analysis..."


# update material to consider plastic behavior
updateMaterialStage -material 1 -stage 1
updateMaterialStage -material 2 -stage 1
updateMaterialStage -material 3 -stage 1
updateMaterialStage -material 4 -stage 1


# execute plastic gravity analysis
analyze 10 0.005

# holds gravity constant and restart time

puts "Finished with plastic gravity analysis..."


#------------------------------------------------------------------------------------------
# UPDATE ELEMENT PERMEABILITY
#-------------------------------------------------------------------------------------------

source Paramh_r_coup.tcl

source Paramv_r_coup.tcl


source updateParamh_r_coup.tcl

puts "Finished updating permh..."


source updateParamv_r_coup.tcl

puts "Finished updating permv..."


#------------------------------------------------------------------------------------------
# CREATE DYNAMIC RECORDERS
#-------------------------------------------------------------------------------------------

# reset time and analysis
setTime 0.0
wipeAnalysis
remove recorders

# want to record acceleration
recorder Node -file disp.out -time -nodeRange 1 $numNodes -dof 1 2 disp
#recorder Node -file vel.out -time -nodeRange 1 $numNodes -dof 1 2 vel
#recorder Node -file accelbase.out -time -node 1071 -dof 1 2 accel
recorder Node -file accelcrest.out -time -node 62 -dof 1 accel
recorder Node -file pwp.out -time -nodeRange 1 $numNodes -dof 3 vel


#recorder Element -file stress1.out -time -ele 103 material 1 stress
#recorder Element -file strain1.out -time -ele 103 material 1 strain


#-------------------------------------------------------------------------------------------
# APPLY EARTHQUAKE ACCELERATION
#------------------------------------------------------------------------------------------

#acceleration file
set accelFile "eq2accel.csv"
set cFactor 0.00001

#timeseries object
#set accelSeries "Series -dt $dT -filePath $accelFile -factor $cFactor"

timeSeries Path 1500 -dt $dT -filePath $accelFile -factor $cFactor

#apply acceleration load (tagID) (direction of excitation)
pattern UniformExcitation 2 1 -accel 1500

puts "Dynamic loading created..."

# clear previously defined analysis parameters
wipeAnalysis

constraints Penalty 1.e18 1.e18
test NormDispIncr 0.005 50 2
algorithm KrylovNewton
numberer RCM
system ProfileSPD
rayleigh $a0 $a1 0.0 0.0
integrator Newmark $gamma $beta
analysis Transient

# executes the analysis
analyze $nSteps $dT

puts "Finished with plastic dynamic analysis..."


wipe
by yingying
Thu Feb 15, 2018 9:37 am
Forum: OpenSees.exe Users
Topic: Defining pore water pressure boundary conditions
Replies: 0
Views: 1451

Defining pore water pressure boundary conditions

I am trying to model the pore water pressure in a dam with the upstream face submerged by the reservoir.

I know I can set the pore water pressure fixities, however so far I have only found this useful if I have a level water table - however in my situation, since there is a body of water on a side of the dam, how can I define them with a specific value of pore water pressure e.g. depth x 9.81?

I am trying to define the hydrostatic conditions so that I can model the pore water pressures at equilibrium within the dam.
by yingying
Tue Feb 13, 2018 5:51 pm
Forum: OpenSees.exe Users
Topic: Coupled analysis
Replies: 3
Views: 3216

Re: Coupled analysis

I believe I have made some improvements to the script and am getting closer to solving this problem:

I defined a gwt by assigning nodes above it with fixed pwp, and nodes below it with free pwp.
For the gravity analysis, I have assigned the permeabilities to be 1 (to ensure hydrostatic conditions), and then I have updated the permabilities for the dynamic analysis.

This runs fine if I do an elastic analysis, i.e. I don't update the material stage to 1. However when I try to run a plastic gravity analysis after the elastic gravity analysis, the script does not run and I get QNAN errors.

What is it that I am still missing? Or could i be defining some parameters incorrectly?
by yingying
Tue Feb 13, 2018 12:40 pm
Forum: OpenSees.exe Users
Topic: Coupled analysis
Replies: 3
Views: 3216

Re: Coupled analysis

What will the eigenvalue analysis do?

I have assigned masses to the surface nodes where they are submerged under the water table - is this correct?
by yingying
Thu Feb 08, 2018 11:18 am
Forum: OpenSees.exe Users
Topic: Coupled analysis
Replies: 3
Views: 3216

Coupled analysis

I am currently having some trouble running a coupled analysis of an earth dam.

The uncoupled analysis using quad elements ran fine and showed reasonable results. However changing the quad elements to Four Node Quad u-p Elements (element quadUP) gives QNAN errors during the dynamic analysis (the gravity analysis seems to run fine).

Other than changing the ndf to 3, updating the pwp fixities, and adding the properties required for the quadUP elements, the file is the same as the uncoupled analysis.

Are there any obvious changes I have missed out or things I should be looking for in my script in order for the dynamic analysis to work?
by yingying
Sat Jan 20, 2018 9:19 am
Forum: OpenSees.exe Users
Topic: Modelling pore water pressures
Replies: 0
Views: 1732

Modelling pore water pressures

Hi,

Is it possible to model pore water pressures using a quad element? The examples I have seen use 9-noded elements and I have yet to find an example using a 4-noded element.

Thanks
by yingying
Thu Jan 11, 2018 5:51 am
Forum: OpenSees.exe Users
Topic: Failing to converge
Replies: 12
Views: 9410

Failing to converge

I am running two earthquakes on a model simulating an earth dam. The first earthquake is shorter and has smaller accelerations, this runs fine. However when I run the second earthquake, it fails to converge:

WARNING: CTestNormDispIncr::test() - failed to converge
after: 30 iterations current Norm: 6.7019e-005 (max: 5e-005, Norm deltaR: 2899.44)
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 10.92
OpenSees > analyze failed, returned: -3 error flag

When I increase the NormDispIncr iterations from 30 to 100, the model fails to converge at a later time (40secs rather than 10.92secs, the total length of the earthquake is 60secs). When I change the iterations to 200, it once again fails to converge at 40secs.

WARNING: CTestNormDispIncr::test() - failed to converge
after: 200 iterations current Norm: 0.000124496 (max: 5e-005, Norm deltaR: 4679.25)
NewtnRaphson::solveCurrentStep() -the ConvergenceTest object failed in test()
DirectIntegrationAnalysis::analyze() - the Algorithm failed at time 40.02
OpenSees > analyze failed, returned: -3 error flag
-3
OpenSees >

What could be the possible causes of this and how can i fix this?
by yingying
Tue Dec 26, 2017 4:00 am
Forum: OpenSees.exe Users
Topic: Stress and Strain outputs
Replies: 3
Views: 3197

Re: Stress and Strain outputs

selimgunay wrote:
> For uniaxial materials, output strains are axial stress and strain.
> Therefore, you cannot find the shear stresses and strains. Which material
> and element are you using?

I am using a PressureDependMultiYield material (I am trying to model soils).
by yingying
Sun Dec 24, 2017 12:01 pm
Forum: OpenSees.exe Users
Topic: Applying an earthquake acceleration to model
Replies: 6
Views: 5546

Applying an earthquake acceleration to model

I am analysing an earth dam under a seismic acceleration - what is the correct way of applying the acceleration?

I am using the following the define the acceleration:

set accelFile "eq2accel.csv"
set cFactor 1
timeSeries Path 1000 -dt $dT -filePath $accelFile -factor $cFactor
pattern UniformExcitation 2 1 -accel 1000

I believe the UniformExcitation is applied to all fully fixed nodes, do I fix one base node or fix all the base nodes? When I run the model with all the base nodes fixed, the output accelerations I get from the crest of the dam are much greater than expected, however when I fix only one base node, the crest accelerations are smaller than expected.
by yingying
Sun Dec 24, 2017 3:06 am
Forum: OpenSees.exe Users
Topic: Stress and Strain outputs
Replies: 3
Views: 3197

Stress and Strain outputs

The recorder for stress and strains, what are the headings that are outputted?

Why are there more columns for stress and which are the columns I need to find the shear stresses and strains?
by yingying
Sat Dec 02, 2017 9:20 am
Forum: OpenSees.exe Users
Topic: Error with defining seismic motion
Replies: 1
Views: 1854

Error with defining seismic motion

I am trying to define a seismic motion in my model using the following input:

INPUT
set accelFile "EQ2accel.csv"
set cFactor 1
set accelSeries "Series -dt $dT -filePath $accelFile -factor $cFactor"
pattern UniformExcitation 2 1 -accel $accelSeries

However when I run the model in OpenSees, I get the following:

OUTPUT
OpenSees > set accelFile "EQ2accel.csv"
EQ2accel.csv
OpenSees > set cFactor 1
1
OpenSees >
OpenSees > set accelSeries "Series -dt $dT -filePath $accelFile -factor $cFactor"
Series -dt 0.02 -filePath EQ2accel.csv -factor 1
OpenSees >
OpenSees > pattern UniformExcitation 2 1 -accel $accelSeries
expected integer but got "-dt"

Does this mean the analysis is not reading my timesteps correctly? How can I fix this?
by yingying
Sat Dec 02, 2017 4:11 am
Forum: OpenSees.exe Users
Topic: Seismic Analysis of Earth Dam
Replies: 0
Views: 1628

Seismic Analysis of Earth Dam

Hi All,

I am a new user of OpenSees and am currently writing a script to analysis the seismic response of a 2D earth dam on a foundation layer. The geometry for this is relatively simple and I have created the mesh for this (link to what the mesh looks like - https://ibb.co/eXUwKb).

I am applying the earthquake using the commands: accelSeries and pattern UniformExcitation. I have fixed the base of the foundation layer - I believe this is how the acceleration is applied to the model?

Unfortunately the output results I am getting do not make sense - for example, the magnitude of the output accelerations at the berm are a magnitude of 10 greater than the crest accelerations.

Understandably this is likely due to how the script is written, any pointers in the correct direction would be much appreciated.