Comparing Base Shear Forces and Displacements of … · ABSTRACT Comparing Base Shear Forces and...
Transcript of Comparing Base Shear Forces and Displacements of … · ABSTRACT Comparing Base Shear Forces and...
Comparing Base Shear Forces and Displacements of
SDOF and MDOF Models Subjected to
Earthquake Ground Motions
Reed E. Crosby
A project submitted to the faculty of Brigham Young University
in partial fulfillment of the requirements for the degree of
Master of Science
Paul William Richards, Chair Fernando S. Fonseca
Kevin W. Franke
Department of Civil Engineering
Brigham Young University
April 2013
Copyright © 2013 Reed Crosby
All Rights Reserved
ABSTRACT
Comparing Base Shear Forces and Displacements of SDOF and MDOF Models Subjected to
Earthquake Ground Motions
Reed Crosby Department of Civil Engineering, BYU
Master of Science
This project compares base shear and displacement response spectra for single degree of freedom models and multi-degree of freedom models that have varying damping values and stiffness distribution methods. The response spectra are affected by the Rayleigh damping values and further research needs to be performed to generate results that can be validated by real-world tests. The results contained in the project correctly represent the mathematical models but the models may not represent real-life structures. Keywords: SDOF models, MDOF models, OpenSees, base shear Force, Displacement, Rayleigh Damping, Response Spectra.
ACKNOWLEDGEMENTS
Special thanks to Dr. Paul Richards for the guidance given throughout the project and the
many hours spent helping to solve problems encountered throughout the research. Also, thanks
to Kyle Atwood for helping with the stiffness distribution files.
v
TABLE OF CONTENTS
LIST OF TABLES .................................................................................................................................... vii
LIST OF FIGURES ................................................................................................................................... ix
1 Introduction ........................................................................................................................................ 1
2 Methods ............................................................................................................................................... 2
2.1 Creating a Basic Model ............................................................................................................... 2
2.2 Model Parameters ........................................................................................................................ 4
2.3 Earthquake Ground Motions ....................................................................................................... 5
2.4 Outputs ........................................................................................................................................ 7
3 Results and discussion ........................................................................................................................ 9
3.1 Verification .................................................................................................................................. 9
3.1.1 SeismoSoft .............................................................................................................................. 9
3.1.2 PEER Database ..................................................................................................................... 10
3.2 Base Shear ................................................................................................................................. 11
3.2.1 Rayleigh Damping ................................................................................................................. 14
3.3 Displacement ............................................................................................................................. 17
3.4 Conclusions ............................................................................................................................... 20
REFERENCES ........................................................................................................................................... 21
Appendix A. ............................................................................................................................................... 23
A.1 Graphs ....................................................................................................................................... 24
B.4 Stiffness Distribution Values ..................................................................................................... 34
Appendix B. TCL code ........................................................................................................................ 35
B.1 Main Code ................................................................................................................................. 35
B.2 Input File ................................................................................................................................... 38
B.3 Procedures ................................................................................................................................. 40
vi
vii
LIST OF TABLES
Table A-1: Earthquake group A and group B with the file names ........................................23
Table B-2: Stiffness Distribution Values used for Method 2 ................................................34
viii
ix
LIST OF FIGURES
Figure 2-1: Example of a simple model .............................................................................................................3
Figure 2-2: Spectral acceleration response spectra for group A ground motions including the mean spectrum ...............................................................................................................................6
Figure 2-3: Spectral acceleration response spectra for group B ground motions including the mean spectrum. ..............................................................................................................................7
Figure 3-1: Mean Response Spectra from (a) SeismoSpect, (b) SDOF models, (c) 2DOF Models, and (d) 3DOF Models Using Earthquake Group A and 0% Damping ..................................10
Figure 3-2: Comparison of accelerations from the PEER ground motion database (left) and from OpenSees code (right) corresponding to 2% damping .........................................................11
Figure 3-3: Comparison of displacements from the PEER ground motion database (left) and from OpenSees code (right) corresponding to 2% damping .........................................................11
Figure 3-4: Normalized base shear for earthquake group A with 2% damping and all members with uniform stiffness ..........................................................................................................12
Figure 3-5: Normalized base shear for earthquake group A with 0% damping and all members with uniform stiffness ..........................................................................................................12
Figure 3-6: Normalized base shear for earthquake group A with 0% damping and all members with non-uniform stiffness ...................................................................................................13
Figure 3-7: Normalized base shear for earthquake group A with 2% damping and all members with non-uniform stiffness ...................................................................................................13
Figure 3-8: Mass-damping and stiffness-damping components to Rayleigh Damping .....................................14
Figure 3-9: Case I – Rayleigh damping with 5% damping ................................................................................16
Figure 3-10: Case II – Mass-proportional damping only with 5% damping .....................................................16
Figure 3-11: Case III – Stiffness-proportional damping only with 5% damping ...............................................17
Figure 3-12: Displacement for earthquake group A with 0% damping and all members with uniform stiffness ..........................................................................................................................18
Figure 3-13: Displacement for earthquake group A with 2% damping and all members with uniform stiffness ..........................................................................................................................18
Figure 3-14: Displacement for earthquake group A with 2% damping and all members with non-uniform stiffness ..................................................................................................................19
Figure 3-15: Displacement for earthquake group A with 0% damping and all members with non-uniform stiffness ..................................................................................................................19
x
Figure A-1: Stiffness distribution alternative method ....................................................................................... 23
Figure A-2: Normalized base shear for earthquake group A with 5% damping and all members with uniform stiffness ......................................................................................................... 24
Figure A-3: Normalized base shear for earthquake group A with 5% damping and all members with non-uniform stiffness .................................................................................................. 24
Figure A-4: Displacement for earthquake group A with 5% damping and all members with uniform stiffness ......................................................................................................................... 25
Figure A-5: Displacement for earthquake group A with 5% damping and all members with non-uniform stiffness .................................................................................................................. 25
Figure A-6: Normalized base shear for earthquake group B with 0% damping and all members with uniform stiffness ......................................................................................................... 26
Figure A-7: Normalized base shear for earthquake group B with 2% damping and all members with uniform stiffness ......................................................................................................... 26
Figure A-8: Normalized base shear for earthquake group B with 5% damping and all members with uniform stiffness ......................................................................................................... 27
Figure A-9: Normalized base shear for earthquake group B with 2% damping and all members with non-uniform stiffness .................................................................................................. 28
Figure A-10: Normalized base shear for earthquake group B with 0% damping and all members with non-uniform stiffness .................................................................................................. 28
Figure A-11: Normalized base shear for earthquake group B with 5% damping and all members with non-uniform stiffness .................................................................................................. 29
Figure A-12: Displacement for earthquake group B with 2% damping and all members with uniform stiffness ......................................................................................................................... 30
Figure A-13: Displacement for earthquake group B with 0% damping and all members with uniform stiffness ......................................................................................................................... 30
Figure A-14: Displacement for earthquake group B with 5% damping and all members with uniform stiffness ......................................................................................................................... 31
Figure A-15: Displacement for earthquake group B with 2% damping and all members with non-uniform stiffness .................................................................................................................. 32
Figure A-16: Displacement for earthquake group B with 0% damping and all members with non-uniform stiffness .................................................................................................................. 32
Figure A-17: Displacement for earthquake group B with 2% damping and all members with non-uniform stiffness .................................................................................................................. 33
1
1 INTRODUCTION
The equivalent lateral force method uses the natural period from simple, single degree of freedom
(SDOF) models to calculate base shear forces used in seismic design of buildings. The buildings are
represented by “equivalent” SDOF models. The natural period of these simplified models is based on the
height of the building and the type of lateral resisting system used in the building. The period is used to
determine the magnitude of the base shear force by using spectral acceleration graphs and equations.
The spectral acceleration graphs and equations in ASCE 7-10 are all based on SDOF models because
they are easy to analyze compared to multi-degree of freedom (MDOF) models and can lead to a
conservative building design. The SDOF models can be overly conservative though, and result in
unnecessarily high base shear forces. The high base shear forces may result in less economical buildings.
SDOF and MDOF models were created and analyzed in order to discover if the “equivalent” SDOF
systems currently used in design could be improved in order to create a more accurate design method.
The models consisted of masses attached by springs and subjected to earthquake ground motions. The
models create systems that use mathematical means to analyze “buildings” and calculate the base shear
and maximum displacements for a given ground motion.
2
2 METHODS
Models were generated and subjected to ground motions. Base shear forces and
maximum displacements were recorded.
2.1 Creating a Basic Model
Open System for Earthquake Engineering Simulation (OpenSees) software that
incorporates Tool Command Language (Tcl) was used to build and analyze hundreds of models.
OpenSees is open-source software developed by the University of California, Berkley for
“simulating the response of structural and geotechnical systems subjected to earthquakes.” The
OpenSees engine has a number of built-in commands that facilitate the process of creating
models, subjecting them to ground motions, and recording results. The models were built by
writing Tool Command Language (Tcl) scripts that ran in the OpenSees engine. All of the Tcl
scripts used can be seen in Appendix B.
The models consisted of a series of nodes that were connected by elements that were
made up of materials. The nodes were assigned coordinates, mass values, and degrees of
freedom. The first node was fixed and all other nodes were free to move in one direction. Each
node was assigned an equal mass in order to create a uniform mass distribution. The nodes were
then joined by elements that were assigned a stiffness value (k), as seen in Figure 2-1.
T
model wi
all of the
througho
the equiv
decreases
referred t
In
were gen
achieved
eigenvalu
compared
natural p
V
OpenSee
within th
proportio
The relative
ith a desired
elements ha
out the text. M
valent lateral
s. The stiffne
to as “non-u
n the overall
nerated. The
d. The model
ue command
d to the desi
eriod of the
Various Rayl
es provides a
he structure.
onal damping
stiffness of e
d natural peri
ad an equal s
Method two
l force. The s
ess follows a
niform distr
l procedure,
model’s stif
l was built th
d was used to
red natural p
model was t
eigh dampin
a Rayleigh D
Rayleigh da
g using the f
each elemen
iod. Method
stiffness. Th
used a stiffn
stiffness dec
a quadratic c
ibution” thro
explained in
ffness was ch
he first time
o find the fir
period of the
the same as t
ng values we
Damping com
amping comb
following eq
Figure 2-1:
3
nt was varied
one used a u
his will be ref
ness distribu
creases as the
curve from 1
oughout the
n the next sec
hanged until
with a trial s
rst natural pe
e model and
the desired n
ere used and
mmand that w
bines mass-p
quations:
Example of a
d using two d
uniform stiff
ferred to as “
ution based o
e lateral forc
1 to zero (Fig
text.
ction, model
l the desired
stiffness assi
eriod of the m
the stiffness
natural perio
compared th
was used to r
proportional
a simple model
different me
ffness distrib
“uniform dis
on a triangula
ce applied to
gure A-1). Th
ls with differ
natural freq
igned to each
model. The
s was change
od.
hroughout th
represent the
damping wi
l
thods to crea
bution in whi
stribution”
ar distributio
o the element
his will be
rent periods
quency was
h element. T
actual value
ed until the
he analyses.
e damping
ith stiffness-
ate a
ich
on of
t
The
was
-
Damping
values of
for mode
2.2 Mo
T
file that u
T
B.2). The
maximum
number o
method,
g based on th
f 0%, 2%, an
els representi
odel Param
The program
used the othe
The models w
e variables th
m period for
of DOFs, end
and the file n
he first and th
nd 5% damp
ing building
eters
consisted of
er files to pe
were created
hat are defin
the analyses
ding number
names for th
hird modes w
ing. These d
s.
f an input fil
erform the an
based off of
ned in the file
s, the change
r of DOFs, d
he output file
4
was used for
damping valu
le, a procedu
nalyses and c
f variables d
e are mass, s
e of the perio
desired param
es.
r the analyse
ues are the m
ures file, an e
create the ou
defined withi
starting stiffn
od between
meter to reco
es of the MD
most commo
earthquake f
utput file.
in the input f
fness, minim
analyses, da
ord, stiffness
(
(
(
DOF models
only used val
file, and a m
file (Append
mum and
amping, start
s distribution
(2-1)
(2-2)
(2-3)
with
lues
ain
dix
ting
n
5
Procedures were written in the procedures file (Appendix B.3) and called in the main
script (Appendix B.1) in order to break the required actions into smaller parts. Each procedure
requires inputs and then returns an output needed for the main program. The procedures contain
action scripts that build the model, run the earthquake ground motion, record the maximum
outputs, change the starting parameters, and perform other necessary actions to analyze the
models.
The earthquake file is a list of all of the names of the ground motion files that would be
used in the analyses. The ground motion acceleration files were all kept in the same folder to be
used by the program. The list of file names can be seen in Table A-1.
The main script used the above files as well as three main loops to create the output file.
The program created a model and ran it through all of the desired earthquakes (loop 1) read from
a file with a list of the earthquake files that were to be included in the analyses. The model was
then modified to have a different desired natural period. The first loop was repeated for the new
model and the model was modified again. This is repeated until the maximum desired natural
period was reached (loop 2). The number of degrees of freedom was increased and loop 1 and
loop 2 were repeated. The number of DOFs was increased in this manner until the maximum
number of DOFs was reached (loop 3).
2.3 Earthquake Ground Motions
The Pacific Earthquake Engineering Research Center (PEER) Ground Motion Database
was used to create two groups of similar earthquake ground motions. The database was searched
by using a target design spectrum to find two groups with 20 earthquakes each that were
comparable to a target design spectrum. Earthquake sites for Group A include Parkfield, Imperial
Valley, Irpinia (Italy), Morgan Hill, Loma Prieta, Kocaeli (Turkey), Chi-Chi (Taiwan), and
Duzce (T
Westmor
Mendoci
B
The indiv
Figure 2-
A earthqu
used wer
Figure the mea
Turkey). Eart
rland, Coalin
ino.
Both groups o
vidual spectr
-2 and Figur
uakes maint
re unscaled g
2-2: Spectraan spectrum
thquake site
nga, Northrid
of earthquak
ral accelerati
re 2-3 for ear
ain the maxi
ground motio
l acceleration
s for Group
dge, San Fer
kes had simil
ions as well
rthquake gro
imum accele
ons obtained
n response sp
6
B include M
rnando, Fruil
lar unscaled,
as the mean
oup A and ea
eration longe
d from the PE
pectra for gr
Managua (Ni
li (Italy), Im
, maximum m
n spectral acc
arthquake gr
er than group
EER ground
roup A groun
caragua), Li
mperial Valle
mean accele
celeration ca
roup B, respe
p B. All of th
d motion data
nd motions in
ivermore,
ey, and Cape
eration spect
an be seen in
ectively. Gro
he earthquak
abase.
ncluding
e
tra.
n
oup
kes
2.4 Ou
Op
under the
earthquak
found by
order to p
displacem
T
user inpu
the displa
period. T
displacem
values ar
maximum
Figthe
utputs
penSees was
e specified e
kes were ave
y taking the t
provide com
ment was rec
The program
uts and was u
acement is a
The model is
ment for each
re arithmetic
m average di
gure 2-3: Spee mean spectr
used to mea
arthquake gr
eraged to fin
total base she
mparable data
corded for th
output file w
used to creat
as follows: F
then subject
h of the grou
ally average
isplacement.
ectral accelerrum.
asure the bas
round motio
nd an averag
ear reaction
a between SD
he last node i
was created t
te response s
irst, a model
ted to a serie
und motions
ed to produce
. The desired
ration respon
7
se shear and
ons. The max
e maximum
and dividing
DOF models
in the model
through a se
spectra. The
l is built in t
es of ground
s is recorded
e a single po
d natural per
nse spectra fo
maximum d
ximum desir
value. The n
g it by the to
s and MDOF
l.
eries of writt
process to o
the program
d motions an
and stored i
oint correspo
riod is then i
or group B g
displacement
red values fo
normalized b
otal weight o
F models. Th
ten procedur
obtain respon
with the des
nd the maxim
in a list. The
onding to a p
increased an
ground motio
t of each mo
or a group of
base shear w
of the model
he maximum
es with give
nse spectra f
sired natural
mum
ese maximum
period and
d this proces
ons including
odel
f
was
in
m
en
for
m
ss is
g
8
repeated until the maximum specified period is reached and each maximum average
displacement is stored in a list. The number of degrees of freedom is then increased by one and
the steps are all repeated. This whole process is repeated until the maximum specified number of
DOFs is reached. The list for each DOF is printed to an output file that can easily produce
response spectra.
Damping values and the method used to distribute the stiffness were altered to create base
shear and displacement response spectra that could be compared. The normalized base shear and
maximum displacement for each stiffness distribution method with each value of damping were
recorded for both groups of earthquakes. Response spectra were created for each variation.
9
3 RESULTS AND DISCUSSION
3.1 Verification
The analytical models are only valid if the results can be verified and the procedures and
processes used can be validated. Individual procedures as well as the groups of procedures
within the code had to be verified to work correctly and give expected results. The complexity of
MDOF models makes it necessary to verify simple models and then assume that the models
continue to represent more complex models. The methods discussed below were used to verify
individual procedures as well as the code as a whole.
3.1.1 SeismoSoft
SeismoSoft provides earthquake engineering software that analyzes ground motions. The
ground motions can be input into SeismoSoft to create design spectra, find displacements, and
find accelerations for SDOF systems. The values found from SeismoSoft software were
compared to the analytical models. The SeismoSoft data can be seen in Figure 3-1 (a).
Multiple cases had to be compared to make sure that the program was working for each
different case. Figure 3-1 (b) shows results from a simple SDOF model with a single mass on top.
Figure 3-1 (c) shows results from a 2DOF model with a very small mass at the first node and a
large mass at the second (top) node. Figure 3-1 (d) shows the results from a 3DOF model with
FigM
very sma
three DO
structure
response
3.1.2 P
Th
contains
accelerat
compared
Figure 3-2
models w
gure 3-1: MeModels Using E
all masses at
OF models ac
. Earthquake
spectrum fo
PEER Datab
e PEER Gro
response spe
tion and disp
d to the resp
2 and Figure
with 2% dam
ean ResponseEarthquake
the first two
ct just like a
e group A w
or each case
base
ound Motion
ectra results
placement re
ponse spectra
3-3. The res
mping and un
(c)
(a)
e Spectra froGroup A an
o nodes and
SDOF mode
ith 0% damp
is identical,
n Database u
for multiple
sponse spect
a obtained fr
ponse spectr
niform stiffne
om (a) Seismd 0% Dampi
10
a large mass
el because o
ping and uni
validating th
sed to obtain
e damping va
tra for SDOF
rom the writt
ra below cor
ess. This val
oSpect, (b) Sing
s at the third
of the small m
iform stiffne
he program
n all of the e
alues for eac
F systems fr
ten program
rrespond to t
lidates the S
SDOF model
d (top) node.
masses in the
ess was used
when 0% da
earthquake g
ch ground m
rom the data
m and were co
the results fr
DOF model
(
(
s, (c) 2DOF M
The two and
e middle of t
d in all cases.
amping is us
ground motio
motion. The
abase were
ompared in
rom SDOF
s with damp
d)
(b)
Models, and
d
the
. The
sed.
ons
ping.
(d) 3DOF
Figure 3-2OpenSees
3.2 Ba
Re
distributi
method a
affects th
distributi
Results f
Figure 3-from Ope
: Comparisocode (right)
ase Shear
sponse spec
ion were cr
and the damp
he base shea
ion with 0%
for structures
-3: ComparisenSees code
on of acceleracorrespondin
ctra for the n
eated for m
ping in the s
ar values. Th
% and 2% d
s with non-u
son of displa(right) corre
ations from tng to 2% dam
normalized b
models rangi
structure we
he normalize
amping can
uniform stiffn
cements fromesponding to
11
the PEER grmping
base shear fo
ing from 1
ere changed i
ed base shea
be seen in
ness are in F
m the PEER 2% damping
round motion
force with va
to 25 DOF
in order to c
ar for structu
Figure 3-5
Figure 3-6 and
ground motig
n database (l
arying damp
Fs. The stiff
compare how
ures with a
and Figure 3
d Figure 3-7.
ion database
eft) and from
ping and stif
fness distrib
w each param
uniform stif
3-4, respecti
e (left) and
m
ffness
bution
meter
ffness
ively.
12
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure 3-4: Normalized base shear for earthquake group A with 2% damping and all members with uniform stiffness
Figure 3-5: Normalized base shear for earthquake group A with 0% damping and all members with uniform stiffness
13
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure 3-7: Normalized base shear for earthquake group A with 2% damping and all members with non-uniform stiffness
Figure 3-6: Normalized base shear for earthquake group A with 0% damping and all members with non-uniform stiffness
14
The damping used in the structure has a huge effect on the base shear force. The damping
affects the normalized base shear forces of the models with natural periods ranging from 0
seconds to 1.5 seconds the most. The largest change in base shear force is the jump from a SDOF
to a 2DOF model. The 2DOF model has a base shear force ranging from 30%-60% of the SDOF
value from 0.5 seconds to 1.5 seconds. The results show that a SDOF “equivalent” model would
be vastly overconservative for 2% damping if used for a MDOF structure.
The stiffness distribution has little to no effect on the values of the base shear forces. The
base shear force depends on the natural period of the model. The model with uniform stiffness
has to have the same natural period as a model with non-uniform stiffness. The overall stiffness
of the building is what affects the base shear force of the building.
3.2.1 Rayleigh Damping
The Rayleigh damping used is commonly used in modeling structures. It involves a mass-
proportional damping coefficient and a stiffness-proportional damping coefficient (Figure 3-8).
Figure 3-8: Mass-damping and stiffness-damping components to Rayleigh Damping
The adverse affects of Rayleigh damping has been the topic of research for John F. Hall
and Finley A. Charney. Research performed by John F. Hall on damping looks at mis-using
Rayleigh damping. His research shows that the damping force grows unrealistically large in
situations where non-linear analyses are used and further research is needed to formulate better
Dam
ping ζn
Natural Frequency, ωn
Mass Damping
Rayleigh Damping
Stiffness Damping
strategies
in inelast
O
coefficien
different
and equa
damping
w
N
case, the
Each cas
coefficien
damping
shows th
damping
mass-pro
proportio
s to remedy
tic systems.
One remedy
nt and limiti
types of dam
ations descr
were calcul
where the var
Normalized b
mass-propo
e used a targ
nts based o
coefficient
he results us
, and Figure
oportional d
onal damping
the problem
suggested
ing the stiffn
mping on m
ribed above
lated based o
riables are as
base shear f
ortional damp
get damping
on the first
based on th
ing tradition
e 3-11 shows
damping con
g was not lim
ms. Mr. Charn
by Hall req
ness coeffici
models. The R
e. The mass
on the follow
s described i
force respon
ping only ca
g value of 5%
and third n
he first natu
nal Rayleigh
s the stiffne
ntributes th
mited in this
15
ney focuses
quired elim
ient. An ana
Rayleigh dam
s proportion
wing two equ
in section 2.
nse spectra w
ase, and the s
% damping. C
natural frequ
ural frequenc
h damping, F
ss-proportio
he most to
analysis.
on the prob
minating the
alyisis was p
mping was c
nal damping
uations:
1.
were created
stiffness pro
Case I, Rayl
uencies. Ca
cy using the
Figure 3-10 s
onal damping
the Raylei
blems with R
mass-propo
performed to
calculated u
g and stiffn
d for the R
oportional da
leigh dampin
se II and I
e above equa
shows the m
g. The resul
igh dampin
Rayleigh dam
ortional dam
o see the effe
using the met
ness proport
Rayleigh dam
amping only
ng, calculate
II calculated
ations. Figur
mass-proport
lts show tha
g. The stif
(3-1)
(3-2)
mping
mping
ect of
thods
tional
mping
case.
ed the
d the
re 3-9
tional
at the
ffness
16
0
1
2
3
4
5
6
7
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
0
1
2
3
4
5
6
7
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure 3-9: Case I – Rayleigh damping with 5% damping
Figure 3-10: Case II – Mass-proportional damping only with 5% damping
17
3.3 Displacement
The displacement response spectra for models representing 1 to 25 story buildings were
also analyzed with the same changing parameters. The displacements for structures with a
uniform stiffness distribution with 0% and 2% damping can be seen in Figure 3-12 and Figure 3-13
and for structures with non-uniform stiffness distribution in Figure 3-14 and Figure 3-15.
0
1
2
3
4
5
6
7
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure 3-11: Case III – Stiffness-proportional damping only with 5% damping
18
0
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
0
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure 3-13: Displacement for earthquake group A with 2% damping and all members with uniform stiffness
Figure 3-12: Displacement for earthquake group A with 0% damping and all members with uniform stiffness
19
0
10
20
30
40
50
60
70
80
90
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
0
10
20
30
40
50
60
70
80
90
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure 3-14: Displacement for earthquake group A with 2% damping and all members with non-uniform stiffness
Figure 3-15: Displacement for earthquake group A with 0% damping and all members with non-uniform stiffness
20
The damping value affected the displacement in the models. The damping value affected
the overall magnitude of the displacements for all the DOFs equally. The difference between the
DOFs remained similar with increasing damping.
The stiffness distribution method used affected the overall magnitudes of the
displacements as well as the difference between the DOFs. The uniform stiffness distribution
experienced a 40% increase in displacement at six seconds from a SDOF model to a 25 DOF
model. The non-uniform stiffness distribution experienced an 82% increase in displacement at
six seconds from the SDOF model to the 25 DOF model. The increase in displacement is due to
the decreased stiffness of the members at the top of the structure.
All of the results shown above were obtained from earthquake group A. The results
obtained from earthquake group B and also the results with models that have 5% damping can be
seen in Appendix A. They were not included in the main text because the 5% damping gave very
similar results to 2% damping and earthquake group B gave very similar results to earthquake
group A.
3.4 Conclusions
The results correctly represent the mathematical models within the program but the
mathematical may not represent the real-life structures. The models are performing as expected
given the inputs of the program. The effect that Rayleigh damping has on the models suggests
that the damping coefficient is unrealistically large and the results are non-conservative. The
values cannot be used to correctly analyze if the “equivalent” SDOF systems could be improved
in order to create a more accurate design method without further research into the problems
associated with Rayleigh damping.
21
REFERENCES
Charney, Finley A. "Unintended Consequences of Modeling Damping in Structures.(Author Abstract)(Technical Report)." Journal of Structural Engineering 2008: 581.
Hall, John F. "Problems Encountered from the use (Or Misuse) of Rayleigh Damping." Earthquake Engineering & Structural Dynamics 2006: 525-45.
OpenSees, The Regents of the University of California (2006). Retrieved from http://opensees.berkeley.edu/
PEER Ground Motion Database, The Regents of the University of California, Berkeley (2010). Retrieved from http://peer.berkeley.edu/peer_ground_motion_database
22
Earth
Imperia
Imperia
Imperia
Chi‐Ch
Chi‐Ch
Duzce,
Imperia
Loma P
Kocael
Chi‐Ch
APPEND
T
stiffness
hquake Site
Earthqu
al Valley, Ca
al Valley, Ca
al Valley, Ca
i, Taiwan
i, Taiwan
Turkey
al Valley, Ca
Prieta, Ca
i, Turkey
i, Taiwan
Table
DIX A.
This appendi
distribution
Fig
File N
NGA_no_179_
NGA_no_179_
NGA_no_180_
NGA_no_180_
NGA_no_183_
NGA_no_183_
NGA_no_184_
NGA_no_184_
NGA_no_779_
NGA_no_779_
NGA_no_1158
NGA_no_1158
NGA_no_1504
NGA_no_1504
NGA_no_1508
NGA_no_1508
NGA_no_1511
NGA_no_1511
NGA_no_1605
NGA_no_1605
uake Group A
e A-1: Earthq
ix contains
method used
gure A-1: Stif
Name
_H‐E04140
_H‐E04230
_H‐E05140
_H‐E05230
_H‐E08140
_H‐E08230
_H‐EDA270
_H‐EDA360
_LGP000
_LGP090
8_DZC180
8_DZC270
4_TCU067‐E
4_TCU067‐N
8_TCU072‐E
8_TCU072‐N
1_TCU076‐E
1_TCU076‐N
5_DZC180
5_DZC270
A
quake group
extra inform
d for method
ffness distrib
23
Ea
Man
Live
We
Nor
San
Fuil
Imp
Cap
Coa
Coa
p A and grou
mation abou
d 2 and Tabl
bution altern
arthquake Si
nagua, Nicarag
ermore, Ca
stomorland, C
rthridge, Ca
Fernando, Ca
i, Italy
perial Valley, C
pe Mendocino,
Eart
alinga, Ca
alinga, Ca
up B with the
ut the resea
le A.1 lists th
ative method
ite F
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
NGA_no_
gua
Ca
Ca
, Ca
hquake Grou
e file names
arch. Figure
he earthquak
d
ile Name
_95_A‐MAN09
_95_A‐MAN18
_215_A‐SRM07
_215_A‐SRM34
_315_NIL000
_315_NIL090
_411_D‐PVP27
_411_D‐PVP36
_412_D‐PVY04
_412_D‐PVY13
_983_0655‐022
_983_0655‐292
_77_PUL164
_77_PUL254
_126_GAZ000
_126_GAZ090
_723_B‐PTS225
_723_B‐PTS315
_828_PET000
_828_PET090
up B
e A.1 show
ke groups us
90
80
70
40
70
60
45
35
2
2
5
5
ws the
sed.
24
Figure A-3: Normalized base shear for earthquake group A with 5% damping and all members with non-uniform stiffness
Figure A-2: Normalized base shear for earthquake group A with 5% damping and all members with uniform stiffness
A.1 Graphs
Graphs for a limited number of tests are contained in the main body of this paper. The
graphs for the other analyses are contained below for normalized base shear and displacement.
The first group of graphs is for earthquake group A and the second group of graphs is for
earthquake group B.
0
0.2
0.4
0.6
0.8
1
1.2
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
0
0.2
0.4
0.6
0.8
1
1.2
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
25
Figure A-5: Displacement for earthquake group A with 5% damping and all members with non-uniform stiffness
Figure A-4: Displacement for earthquake group A with 5% damping and all members with uniform stiffness
0
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
0
10
20
30
40
50
60
70
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
26
Earthquake Group B
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Reaction
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-6: Normalized base shear for earthquake group B with 0% damping and all members with uniform stiffness
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-7: Normalized base shear for earthquake group B with 2% damping and all members with uniform stiffness
27
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-8: Normalized base shear for earthquake group B with 5% damping and all members with uniform stiffness
28
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-9: Normalized base shear for earthquake group B with 2% damping and all members with non-uniform stiffness
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-10: Normalized base shear for earthquake group B with 0% damping and all members with non-uniform stiffness
29
0
0.5
1
1.5
2
2.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Norm
alized Base Shear
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-11: Normalized base shear for earthquake group B with 5% damping and all members with non-uniform stiffness
30
0
5
10
15
20
25
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-12: Displacement for earthquake group B with 2% damping and all members with uniform stiffness
0
5
10
15
20
25
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-13: Displacement for earthquake group B with 0% damping and all members with uniform stiffness
31
0
5
10
15
20
25
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-14: Displacement for earthquake group B with 5% damping and all members with uniform stiffness
32
0
5
10
15
20
25
30
35
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-15: Displacement for earthquake group B with 2% damping and all members with non-uniform stiffness
0
5
10
15
20
25
30
35
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-16: Displacement for earthquake group B with 0% damping and all members with non-uniform stiffness
33
0
5
10
15
20
25
30
35
0 1 2 3 4 5 6 7 8 9
Displacement [in]
Period [sec]
1 DOF
2 DOF
5 DOF
15 DOF
25 DOF
Figure A-17: Displacement for earthquake group B with 2% damping and all members with non-uniform stiffness
34
1.00
1.00
0.75
1.00
0.89
0.56
1.00
0.94
0.75
0.44
1.00
0.96
0.84
0.64
0.36
1.00
0.97
0.89
0.75
0.56
0.31
1.00
0.98
0.92
0.82
0.67
0.49
0.27
1.00
0.98
0.94
0.86
0.75
0.61
0.44
0.23
1.00
0.99
0.95
0.89
0.80
0.69
0.56
0.40
0.21
1.00
0.99
0.96
0.91
0.84
0.75
0.64
0.51
0.36
0.19
1.00
0.99
0.97
0.93
0.87
0.79
0.70
0.60
0.47
0.33
0.17
1.00
0.99
0.97
0.94
0.89
0.83
0.75
0.66
0.56
0.44
0.31
0.16
1.00
0.99
0.98
0.95
0.91
0.85
0.79
0.71
0.62
0.52
0.41
0.28
0.15
1.00
0.99
0.98
0.95
0.92
0.87
0.82
0.75
0.67
0.59
0.49
0.38
0.27
0.14
1.00
1.00
0.98
0.96
0.93
0.89
0.84
0.78
0.72
0.64
0.56
0.46
0.36
0.25
0.13
1.00
1.00
0.98
0.96
0.94
0.90
0.86
0.81
0.75
0.68
0.61
0.53
0.44
0.34
0.23
0.12
1.00
1.00
0.99
0.97
0.94
0.91
0.88
0.83
0.78
0.72
0.65
0.58
0.50
0.42
0.32
0.22
0.11
1.00
1.00
0.99
0.97
0.95
0.92
0.89
0.85
0.80
0.75
0.69
0.63
0.56
0.48
0.40
0.31
0.21
0.11
1.00
1.00
0.99
0.98
0.96
0.93
0.90
0.86
0.82
0.78
0.72
0.66
0.60
0.53
0.46
0.38
0.29
0.20
0.10
1.00
1.00
0.99
0.98
0.96
0.94
0.91
0.88
0.84
0.80
0.75
0.70
0.64
0.58
0.51
0.44
0.36
0.28
0.19
0.10
1.00
1.00
0.99
0.98
0.96
0.94
0.92
0.89
0.85
0.82
0.77
0.73
0.67
0.62
0.56
0.49
0.42
0.34
0.27
0.18
0.09
1.00
1.00
0.99
0.98
0.97
0.95
0.93
0.90
0.87
0.83
0.79
0.75
0.70
0.65
0.60
0.54
0.47
0.40
0.33
0.25
0.17
0.09
1.00
1.00
0.99
0.98
0.97
0.95
0.93
0.91
0.88
0.85
0.81
0.77
0.73
0.68
0.63
0.57
0.52
0.45
0.39
0.32
0.24
0.17
0.09
1.00
1.00
0.99
0.98
0.97
0.96
0.94
0.91
0.89
0.86
0.83
0.79
0.75
0.71
0.66
0.61
0.56
0.50
0.44
0.37
0.31
0.23
0.16
0.08
1.00
1.00
0.99
0.99
0.97
0.96
0.94
0.92
0.90
0.87
0.84
0.81
0.77
0.73
0.69
0.64
0.59
0.54
0.48
0.42
0.36
0.29
0.23
0.15
0.08
B.4 Stiffness Distribution Values
Actual values for stiffness distribution method 2 organized in a table.
Tab
le B
-2:
Sti
ffn
ess
Dis
trib
uti
on V
alu
es u
sed
for
Met
hod
2
35
APPENDIX B. TCL CODE
The next three sections contain the Tcl code written or modified by Reed Crosby to
perform the analysis and record the results. The code is broken into three parts; the main code,
the input file, and the procedures. This may be reused as a whole program or as parts and
procedures.
B.1 Main Code
# File Name: Main.tcl # # This is the main program # # Calls the input file for values of variables # Calls the Procedures file to have access to written # procedures. # # Reads a file and creates a list of all earthquakes to # run in the program # Sets MainRun = 1 to know when to stop # # The outer loop runs through the degrees of freedom. After # each run, the DOF will be increased until the max # DOF is reached determined in the input file. # Creates a list of all the masses called MList # Resets the desired period to the minimum period # # The first inner loop increases the period after each run # until the maximum period is reached # # The next inner loop runs an analysis of each earthquake in # the list of earthquakes read from the file. # wipe clears all the previous analyses # ReadRecord reads the earthquake file and turns it into # a file that can be used in the program for analysis. # # The next few lines create a list of the periods to put # at the top of the final output file.
36
# # The model is then built with the Build_Model procedure # which returns the stiffness value so that the next # analysis will start with the previous stiffness. # This reduces run time. # # There is an option to run a stat load test. The static load # was used to verify the model was being built correctly. # # The Record_Max procedure is called. # # Three different analysis procedures had to be built for # SDOF, 2DOF and 3+DOF models. The if statements make # sure the right one is used for the model. # # The next part checks the Record_Value and modifies the value # depending on what parameter is used and stored the # value in a list. # # Once it exits the second loop, the values are averaged # in order to find the average maximum value. # This value is then stored in a list called AVGList and # each value is added to the list. # # Once it exits the first loop, the values are printed in # the output file. The first line gives the minDOF, # maxDOF, damping, parameter recorded, and what # stiffness distribution was used. # Then the values for the periods used are printed to the file # and the maximum average list is printed below it for # each DOF that is run. # # At the end of the run it puts "Done with EQ!" # wipe; source input.tcl source Procedures.tcl set infile [open "$EQ_List.OUT" r] set Earthquakes [read $infile] set MainRun 1 for {set DOFRun $minDOF} {$DOFRun <= $maxDOF} {incr DOFRun} { puts "Number of DOF's: $DOFRun" set MList [DistribMSame $M $DOFRun] set Tn $startTn for {set run 1} {$Tn < $MaxPer} {set Tn [Increase_Tn $Tn $dTn]} { set EQRun 0 foreach Earthquake $Earthquakes { wipe; set infile "Earthquakes/$Earthquake.at2" set outfile "Earthquakes/$Earthquake.dat"
37
ReadRecord $infile $outfile Dt numPts if {$EQRun == 0} { if {$TnList == "$Tn"} { } else { set TnList [split "$TnList $Tn"] } } set K [Build_Model $K $M $Tn $dampR $DOFRun $PI $DistribK] set Wn [expr sqrt($K/$M)] #Static_Load 1000 #puts "Done with static!" Record_Max $DataFile $DOFRun $Record_Value $run if {$DOFRun == 1} { Run_EarthquakeSDOF $Earthquake $dampR $Wn $g $run $Dt $numPts } if {$DOFRun == 2} { Run_Earthquake2DOF $Earthquake $dampR $damping $DOFRun $g $run $Dt $numPts } if {$DOFRun > 2} { Run_EarthquakeMDOF $Earthquake $dampR $damping $DOFRun $g $run $Dt $numPts } set sumM [sumList $MList] if {"$Record_Value" == "reaction"} { set max [expr [max_file $DataFile]/$sumM/32.2/12] if {$EQRun == 0} { set AccList $max } else { set AccList [split "$AccList $max"] } } else { if {"$Record_Value" == "accel"} { set max [expr [max_file $DataFile]/32.2/12] if {$EQRun == 0} { set AccList $max } else { set AccList [split "$AccList $max"] } } else { set max [expr [max_file $DataFile]] if {$EQRun == 0} { set AccList $max } else { set AccList [split "$AccList $max"] } } } incr EQRun #puts "EQ run $EQRun, Period run $run" }
38
set Average [avgList $AccList] if {$run == 1} { set AVGList $Average } else { set AVGList [split "$AVGList $Average"] } incr run } if {$MainRun == 1} { set reportfile [open "$OutFile.out" w] puts $reportfile "Min_DOF $minDOF Max_DOF $maxDOF Damping $dampR Output $Record_Value K_Distr $DistribK \n" puts $reportfile "$TnList" } puts $reportfile "$AVGList" incr MainRun } close $reportfile puts "Done with EQ!" wipe;
B.2 Input File
# File Name: input.tcl # # This sets variables needed to run the program that can be changed # depending on the outputs desired. # # M is the mass assigned to each Node in units of kip*s^2/in # K is the starting stiffness. The stiffness will be changed in the # program so that the desired natural period is reached for each # model. Units of Kip/in # # startTn is the starting period. put in any number >= 0 (Units of sec) # MaxPer is the maximum period desired. This should be greater than the # starting period but less than 25 in order to minimize run time. # # dTn is the basic period time step. Values between 0.01 and 0.1 are # recommended # dampR is the damping used. Values between 0 and 0.1 are recommended # # minDOF is the number of DOFs for the first run. Must be an integer >0 # maxDOF is the maximum number of DOFs. Must be an integer >= minDOF. # # TnList starts a list with all of the periods used
39
# DOFList starts a list with all of the DOFs. # # The for loop creates the DOF list from minDOF to maxDOF # # Record_Value is the output the user wants to record and should be one # of the following: # disp (displacement) - inches # vel velocity* - cm/s # accel acceleration* - g # incrDisp incremental displacement - cm # "eigen i" eigenvector for mode i - unitless # reaction nodal reaction - normalized # (base shear/total wt) # # damping is chosen between one of the following: # Rayleigh Uses Rayleigh Damping # Mass Mass Damping Only # Stiffness Stiffness Damping Only # If it doesn't match one of these, Rayleigh damping is used. # # DataFile is the name of the file for the records of each iteration # OutFile is the name of the file with all of the final results # EQ_List is the name of the file with a list of all of the earthquakes # that will be run in the program. Must be saves as an .OUT file # # DistibK determines if the stiffness is uniform or non-uniform. For # uniform put "Same" and for non-uniform put "Different" # # dt is the default time step for the earthquake files. The real value # will be pulled off of the actual ground motion file. # nPts is the default number of points in the earthquake file. # # g is the constant for gravity (32.2*12). This value is the constant # that the unscaled ground motions will be multiplied by. If using # scaled ground motions, this value might need to be changed. (in/s^2) # PI is the constant for pi (3.14...) set M 1 set K 1 set startTn 0 set MaxPer 10 set dTn 0.05 set dampR 0.05 set minDOF 1 set maxDOF 25 set TnList $startTn set DOFList $minDOF for {set i $minDOF} {$i <= $maxDOF} {incr i} { set j [expr $i+1] set DOFList [split "$DOFList $j"]
40
} set Record_Value reaction set damping Rayleigh set DataFile Max set OutFile "Report" set EQ_List EQ1 set DistribK Same set dt 0.005 set nPts 3000 set g 386.4 set PI [expr 2.0 * asin(1.0)]
B.3 Procedures
# List of Procedures # Increase_Tn # Create_Nodes # DistribMSame # DistribTest # DistribKSame # DistribKDiff # Build_Model # Record_Max # maximum_list # maximum_list # max_file # Run_EarthquakeSDOF # Run_Earthquake2DOF # Run_EarthquakeMDOF # Write_2Results # Write_Results # search_PEER # avgList # sumList # ReadSMDFile.tcl # ReadNGAFile.tcl # Read_Record.tcl # Static_Load # Procedures and explanations: # Procedure Name: Increase_Tn # # This Procedure increases the Natural Period of the system by an # amount depending on the period of the system. # # Increase_Tn receives a period and a change in period increment # It then returns the new period value. It changes the period
41
# a given amount depending on the current period value. # # # Created by Reed Crosby # Sept 17, 2012 # proc Increase_Tn {Tn dTn} { if {$Tn < 1} { set Tn [expr ($Tn + $dTn)] } if {$Tn < 4} { if {$Tn >= 1} { set Tn [expr ($Tn + 2*$dTn)] } } if {$Tn < 10} { if {$Tn >= 4} { set Tn [expr ($Tn + 10*$dTn)] } } if {$Tn >= 10} { set Tn [expr ($Tn + 20*$dTn)] } return $Tn } # Procedure Name: Create_Nodes # # This code creates a simple model of masses attached by # elements. The elements are assigned a material. The first # node is fixed and there is one degree of freedom for # all of the nodes. # The procedure receives a list with the stiffness values (KList) # and another list with the mass values at each node (MList). It # Also takes a damping constant, c and the number of DOFs. It does # not return anything # # The nodes are all placed on top of eachother and zerolength # elements that are made up of uniaxial materials are used # to connect the nodes. # # Created by Reed Crosby # Sept 17, 2012 proc Create_Nodes {KList MList c DOF} { wipe; model basic -ndm 1 -ndf 1 set nodestep 0 for {set NumNodes [expr $DOF + 1]} {$nodestep <= $DOF} {incr nodestep} {
42
set M [lindex $MList $nodestep] if {$nodestep < 1} { set i 1 } node $i 0 -mass $M #puts "created node $i" incr i } fix 1 1 set El_Mat 1 set el_truss 1 set st_el 1 set end_el 2 #Create the materials and elements and apply to nodes foreach K $KList { uniaxialMaterial Elastic $El_Mat $K; element zeroLength $el_truss $st_el $end_el -mat $El_Mat -dir 1 incr El_Mat incr el_truss incr st_el incr end_el } } # Procedure Name: DistribMSame # # This procedure creates list that has all the same # numbers in it that is less then the number of DOFs # The procedure receives two numbers: the first number # is the value that is assigned to each value within the # list. The secong number is the number of values in # the list. # # # Created by Reed Crosby # November 12, 2012 proc DistribMSame {Dnum numL} { set List 0 for {set i 0} {$i < $numL} {incr i} { set List [split "$List $Dnum"] } return $List } # Procedure Name: DistribTest # # This procedure creates list that was used for testing # the 3 DOF systems by making the 1st and 2nd masses # very small compared to the third mass. # The procedure receives two numbers: the first number # is the value that is assigned to each value within the # list. The second number is the number of values in
43
# the list. The procedure was also used for 2 DOF tests # but has to be modified. One of the small numbers must # be deleted or made so that there is only one small mass. # It then returns the list that was created. # # # Created by Reed Crosby # November 12, 2012 proc DistribTest {Dnum numL} { set List 0 set List [split "$List 0.001"] set List [split "$List 0.001"] set List [split "$List $Dnum"] return $List } # Procedure Name: DistribKSame # # This procedure creates list that has all the same # numbers in it that is less then the number of DOFs # The procedure receives two numbers: the first number # is the value that is assigned to each value within the # list. The second number is the number of values in # the list. It then returns the list that was created. # # # Created by Reed Crosby # November 12, 2012 proc DistribKSame {Dnum numL} { set List $Dnum for {set i 1} {$i < $numL} {incr i} { set List [split "$List $Dnum"] } return $List } # Procedure Name: DistribKDiff # # This procedure creates list that has the numbers # distributed depending on the distribution values # read from the DistribK.txt file. The number of items # in the list depends on the number of DOFs. # The procedure receives two numbers: the first number # is the value that is distributed and assigned to each # value within the list. The second number is the number # of values in the list. # The file is read into a list and then the correct # line is read from the list depending on min and max. # Once the line is read from the file, the first number # received is multiplied by the each value in the list # read from the file and assignmed to a list. It then # returns the list that was created. #
44
# Created by Reed Crosby # November 12, 2012 proc DistribKDiff {Dnum numL} { set min 0 for {set i [expr $numL-1]} {$i >= 0} {set i [expr $i-1]} { set min [expr $min+$i] } set max [expr $min+$numL] set infile [open "Data/DistribK.txt" r] set DList [read $infile] set run 1 set one 1 foreach k $DList { set stiff [expr $k*$Dnum] if {$run > $min} { if {$run <= $max} { if {$one == 1} { set List $stiff incr one } else { set List [split "$List $stiff"] } } } incr run } #puts "$run" #puts "K distrib is: $DList" return $List } # Procedure Name: Build_Model # # This procedure builds the model by calling other procedures # and iterating to create the desired model. # The procedure receives a trial stiffness, a mass, a damping # value, the number of DOFs, the constant pi, and the stiffness # distribution method. It then returns a number with the # last stiffness method used to be used as the next trial # stiffness. This reduces run-time of the program. # # The file calls DistibK procedures depending on what method # is desired in the input file and then calls the DitribM # procedure. It then calls the Creat_Nodes procedure and # builds a trial model. The eigenvalue comand is used to find # The natural frequency of the model. This value is modified to # find the natural period of the trial model and then compare # this to the desired natural frequency. The stiffness is # then modified until the actual natural period is within # 0.001 of the desired natural period. The program is finished # once this condition is met and the last stiffness value used # is returned # # Created by Reed Crosby # November 10, 2012
45
proc Build_Model {K M Tn dampR DOF PI DistribK} { wipe; for {set ActTn 1} {$ActTn != $Tn} {set K [expr $K+$Change]} { set Wn [expr 2.0 * $PI / $ActTn] set c [expr 2.0*$M*$Wn*$dampR] if {"$DistribK" == "Same"} { set Klist [DistribKSame $K $DOF] } else { set Klist [DistribKDiff $K $DOF] } #puts "Klist is $Klist" set Mlist [DistribMSame $M $DOF] Create_Nodes $Klist $Mlist $c $DOF #puts "Created Nodes and members!" set eigenvalues [eigen -fullGenLapack $DOF] set eig1 [string range $eigenvalues 0 12] set eig2 [expr sqrt($eig1)] set ActTn [expr (2*$PI/$eig2)] set diff [expr ($ActTn-$Tn)] if {$diff < 0.001} { if {$diff > -0.001} { #puts "Actual Period is $ActTn" set ActTn $Tn } } set Change [expr ($K*$diff)] if {$Tn > 1.5} { if {$Tn < 5} { set Change [expr ($Change/6)] } if {$Tn >= 5} { set Change [expr ($Change/10)] } } #puts "Actual Period is $ActTn" #puts "Change is $Change" } #puts "Eigen Values are $eig2" #puts "Wn is $Wn" #puts "Stiffness is $Klist" #puts "M is $Mlist" #puts "Period is $ActTn" return $K } # Procedure Name: Record_Max # # This procedure will record the maximum value specified at all the nodes of a # MDOF system. Record values are: # disp (displacement) # vel velocity* # accel acceleration*
46
# incrDisp incremental displacement # "eigen i" eigenvector for mode i # reaction nodal reaction# # # The input values are the name of the file to be recorded to (DataFile), # the number of DOF's (DOF),the value you want to record (see above for details), # and the run number (run) # # Created by Reed Crosby # Sept 25, 2012 proc Record_Max {DataFile DOF Record_Value run} { set maxNode [expr $DOF+1] if {$Record_Value == "reaction"} { #recorder Node -file Data/nodesD.out -time -node $maxNode -dof 1 $Record_Value; recorder EnvelopeNode -file "Data/$DataFile.out" -node 1 -dof 1 "$Record_Value"; } else { recorder EnvelopeNode -file "Data/$DataFile.out" -node $maxNode -dof 1 "$Record_Value"; } } # Procedure Name: maximum_list # # This Procedure finds the maximum number within a list. # # maximum_list receives a list (List) and returns the maximum value from that list. # # # Created by Reed Crosby # Sept 17, 2012 # proc maximum_list {List} { set max 0 foreach j $List { if [$j > $max] { set max $j } } return $max } # max_file # # This Procedure finds the maximum number within a file. # # maximum_list receives a file(File) and returns the maximum value from that File. # # # Created by Reed Crosby
47
# Sept 17, 2012 # proc max_file {File} { wipe; set max 0 set infile [open "Data/$File.out" r+] for {set one [gets $infile line]} {[gets $infile line] >= 0 } {set one 0} { if {$line > $max} { set max $line } } #puts "max is $max" close $infile return $max } # Procedure Name: Run_EarthquakeSDOF # # This Procedure was taken from the OpenSees basic examples manual from the example # named Time History Analysis of a 2D Elastic Cantilever Column. The procedure runs a # ground motion. # # The procedure receives the name of the ground motion (EQ), the damping value # (dampR), the natural frequency of the model (Wn), the gravity constant (g), # the run number (run), and the values for dt and nPts. It does not return anything. # # # # Modified by Reed Crosby # Sept 17, 2012 # proc Run_EarthquakeSDOF {EQ dampR Wn g run dt nPts} { timeSeries Path 2 -dt $dt -filePath "Earthquakes/$EQ.dat" -factor $g; pattern UniformExcitation 2 1 -accel 2; # set damping based on first eigen mode set Adamp [expr 2.0*$dampR*$Wn]; #damping coefficient for the stiffness rayleigh $Adamp 0 0 0; # set damping based on natural period #puts "a0 is $Adamp" # create the analysis
48
wipeAnalysis; # clear previously-define analysis parameters constraints Plain; # how it handles boundary conditions numberer Plain; # renumber dof's to minimize band-width system BandGeneral; # how to store and solve the system of equations algorithm Linear # use Linear algorithm for linear analysis integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis analysis Transient; # define type of analysis: time-dependent set duration [expr $nPts*$dt] set dtAnalysis 0.005 set Nsteps [expr int($duration/$dtAnalysis)] analyze $Nsteps $dtAnalysis } # Procedure Name: Run_Earthquake2DOF # # This Procedure was taken from the OpenSees basic examples manual from the example # named Time History Analysis of a 2D Elastic Cantilever Column and modified for # a 2 DOF model. The procedure runs a given ground motion. # # The procedure receives the name of the ground motion (EQ), the damping value # (dampR), the damping method (damping), the natural frequency of the model (Wn), # the gravity constant (g),the run number (run), and the values for dt and nPts. # It does not return anything. # # It is different from the SDOF analysis because it takes two eigenmodes # into account: the first and second. It has both a stiffness and mass proportional # part to the Rayleigh Damping value. # # Modified by Reed Crosby # November 15, 2012 proc Run_Earthquake2DOF {EQ dampR damping DOF g run dt nPts} { timeSeries Path 2 -dt $dt -filePath "Earthquakes/$EQ.dat" -factor $g; pattern UniformExcitation 2 1 -accel 2; # set damping based on first and second eigen mode set eigenvalues [eigen -fullGenLapack $DOF] set j 1 foreach i $eigenvalues { if {$j == 1} { set W1 $i } if {$j == 2} { set W2 $i
49
} incr j } if {"$damping" == "Mass"} { set Adamp [expr 2.0*$dampR*$W1] rayleigh $Adamp 0 0 0; #puts "a0 is $Adamp" } else { if {"$damping" == "Stiffness"} { set Bdamp [expr 2.0*$dampR/($W1)] rayleigh 0 0 $Bdamp 0; #puts "a1 is $Bdamp" } else { set Adamp [expr 2.0*$dampR*$W1*$W2/($W1+$W2)]; #damping coefficient for the stiffness set Bdamp [expr 2.0*$dampR/($W1+$W2)] rayleigh $Adamp 0 $Bdamp 0; # set damping based on first and second natural periods #puts "a0 is $Adamp and a1 is $Bdamp" } } # create the analysis wipeAnalysis; # clear previously-define analysis parameters constraints Plain; # how it handles boundary conditions numberer Plain; # renumber dof's to minimize band-width (optimization), if you want to system BandGeneral; # how to store and solve the system of equations in the analysis algorithm Linear # use Linear algorithm for linear analysis integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis analysis Transient; # define type of analysis: time-dependent set duration [expr $nPts*$dt] set dtAnalysis 0.005 set Nsteps [expr int($duration/$dtAnalysis)] analyze $Nsteps $dtAnalysis } # Procedure Name: Run_EarthquakeMDOF # # This Procedure was taken from the OpenSees basic examples manual from the example # named Time History Analysis of a 2D Elastic Cantilever Column and modified for # a MDOF model. The procedure runs a given ground motion. # # The procedure receives the name of the ground motion (EQ), the damping value # (dampR), the damping method (damping), the natural frequency of the model (Wn), # the gravity constant (g),the run number (run), and the values for dt and nPts.
50
# It does not return anything. # # It is different from the 2DOF analysis because it takes two eigenmodes # into account: the first and the third. It has both a stiffness and mass # proportional part to the Rayleigh Damping value. # # Modified by Reed Crosby # November 15, 2012 # proc Run_EarthquakeMDOF {EQ dampR damping DOF g run dt nPts} { timeSeries Path 2 -dt $dt -filePath "Earthquakes/$EQ.dat" -factor $g; pattern UniformExcitation 2 1 -accel 2; # set damping based on first and third eigen mode set eigenvalues [eigen -fullGenLapack $DOF] set j 1 foreach i $eigenvalues { if {$j == 1} { set W1 $i } if {$j == 3} { set W3 $i } incr j } if {"$damping" == "Mass"} { set Adamp [expr 2.0*$dampR*$W1] rayleigh $Adamp 0 0 0; #puts "a0 is $Adamp" } else { if {"$damping" == "Stiffness"} { set Bdamp [expr 2.0*$dampR/($W1)] rayleigh 0 0 $Bdamp 0; #puts "a1 is $Bdamp" } else { set Adamp [expr 2.0*$dampR*$W1*$W3/($W1+$W3)]; set Bdamp [expr 2.0*$dampR/($W1+$W3)] rayleigh $Adamp 0 $Bdamp 0; #puts "a0 is $Adamp and a1 is $Bdamp" } } # create the analysis wipeAnalysis; # clear previously-define analysis parameters constraints Plain; # how it handles boundary conditions numberer Plain; # renumber dof's to minimize band-width (optimization), system BandGeneral; # how to store and solve the system of equations algorithm Linear # use Linear algorithm for linear analysis integrator Newmark 0.5 0.25 ; # determine the next time step for an analysis
51
analysis Transient; # define type of analysis: time-dependent set duration [expr $nPts*$dt] set dtAnalysis 0.005 set Nsteps [expr int($duration/$dtAnalysis)] analyze $Nsteps $dtAnalysis } # Procedure Name: Write_2Results # # This Procedure takes and prints the accelerations and periods to a file. # # Write_2Results receives a file to write to (File) and two other numbers or lists # to write to that file. This is no longer used in the main file # # Created by Reed Crosby # Sept 17, 2012 # proc Write_2Results {File Tn Accel} { set outfile [open "$File.out" w] set j 0 foreach i $Tn { set Acc [lindex $Accel $j] puts $outfile "$i $Acc" incr j } close $outfile } # Procedure Name: Write_Results # # This Procedure takes and prints the one list to a file # # Write_Results receives a file to write to (File) and a list to write to that file. # This is no longer used in the main file # # Created by Reed Crosby # Oct 8, 2012 # proc Write_Results {File List} { set outfile [open "$File.out" w] puts $outfile "$List" close $outfile } # Procedure Name: search_PEER # # This procedure searches the PEER strong motion database to find Earthquakes # that meet a certain criteria. # # search_PEER receives a file to write to (File) and returns a list of the earthquakes
52
# This is no longer used in the main file # # Created by Reed Crosby # October 8, 2012 # proc search_PEER {File} { set records [searchPeerNGA -fault San -magLo 6.25 -magHi 7.0] Write_Results $File $records return $records } # Procedure Name: avgList # # This procedure calculates the average value of a list of numbers # # This procedure receives a list of numbers and finds the average # value of all of those numbers and returns that value. # # Created by Reed Crosby # November 8, 2012 # proc avgList {listname} { set total [sumList $listname] set average [expr $total/[llength $listname]] return $average } # Procedure Name: sumList # # This procedure calculates the sum of a list of numbers # # This procedure receives a list of numbers and finds the sum # of all of those numbers and returns that sum. # # Created by Reed Crosby # November 8, 2012 proc sumList {List} { set total 0 foreach i $List { set total [expr $total+$i] } return $total } # The following files are referenced and MUST be included in the folder # so that the program can run. They take the records and convert # them into the type of files that can be used in the analysis. source ReadSMDFile.tcl source ReadNGAFile.tcl source Read_Record.tcl # Procedure Name: Static_Load #
53
# This procedure applies a static load to a certain node and then # can output the node reactions and displacements # # This procedure receives a number that is used for the load # and prints out the nodal reactions on the screen # # Created by Reed Crosby # November 8, 2012 proc Static_Load {Load} { timeSeries Linear 1 pattern Plain 1 1 { load 2 $Load } # ------------------------------ # Start of analysis generation # ------------------------------ system BandSPD numberer RCM constraints Plain integrator LoadControl 1.0 algorithm Linear analysis Static # ------------------------------ # Start of recorder generation # ------------------------------ # create a Recorder object for the nodal displacements at node 4 recorder Node -file example.out -time -node 2 -dof 1 disp # Create a recorder for element forces, one in global and the other local system recorder Element -file eleGlobal.out -time -ele 1 forces recorder Element -file eleLocal.out -time -ele 1 basicForces # ------------------------------ # Finally perform the analysis # ------------------------------ analyze 1 # ------------------------------ # Print Stuff to Screen # ------------------------------ puts "node 0: [nodeReaction 1]" puts "node 2: [nodeReaction 2]" print node 4 }