when I use equalDOF to equal the DOF of the same story node, the vibration periods change.

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

Moderators: silvia, selimgunay, Moderators

Post Reply
DecoPing
Posts: 3
Joined: Sun Nov 01, 2020 6:01 am

when I use equalDOF to equal the DOF of the same story node, the vibration periods change.

Post by DecoPing » Sun Nov 01, 2020 6:10 am

I build a 2D 9-story BRB steel frame in opensees with Modified Ibarra-Medina-Krawinkler material to simulate the lumped plasticity connection, refer to
1. material
https://opensees.berkeley.edu/wiki/inde ... _Material)
2. model
https://opensees.berkeley.edu/wiki/inde ... ment_Frame

And when I use "equalDOF" command to equal the horizontal freedom of the node at the same story, the vibration period decrease. for example, the first natural period is decreased from 1.83s to 1.61s.

who can help me to solve this problem, thanks a lot!!!!!!!!!!!!!

mhscott
Posts: 872
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: when I use equalDOF to equal the DOF of the same story node, the vibration periods change.

Post by mhscott » Sun Nov 01, 2020 7:04 am

Are using 'constraints Plain' or 'constraints Transformation'?

DecoPing
Posts: 3
Joined: Sun Nov 01, 2020 6:01 am

Re: when I use equalDOF to equal the DOF of the same story node, the vibration periods change.

Post by DecoPing » Sun Nov 01, 2020 5:47 pm

mhscott wrote:
Sun Nov 01, 2020 7:04 am
Are using 'constraints Plain' or 'constraints Transformation'?
I use 'constraints Plain'. Does it influence the vibration periods?

mhscott
Posts: 872
Joined: Tue Jul 06, 2004 3:38 pm
Location: Corvallis, Oregon USA
Contact:

Re: when I use equalDOF to equal the DOF of the same story node, the vibration periods change.

Post by mhscott » Sun Nov 01, 2020 6:53 pm

If you are using equalDOF, you should use Transformation. It can affect the periods.

DecoPing
Posts: 3
Joined: Sun Nov 01, 2020 6:01 am

Re: when I use equalDOF to equal the DOF of the same story node, the vibration periods change.

Post by DecoPing » Sun Nov 01, 2020 7:43 pm

mhscott wrote:
Sun Nov 01, 2020 6:53 pm
If you are using equalDOF, you should use Transformation. It can affect the periods.
Thanks for your helping. However, I define the constraints after eigen analysis and even it can conduct eigen analysis without defining constraints. Are there something wrong? I could show you the parts of my code below due to the maximum number of allowed characters:

# --------------------------------------------------------------------------------------------------
# Set Up and Source Definition
# --------------------------------------------------------------------------------------------------
wipe all; # clear
model BasicBuilder -ndm 2 -ndf 3; # ndm=dimension, ndf=dof
source RotLeaningCol.tcl
source rotSpring2DModIKModel.tcl
source ReadScaleFactor.tcl
source ReadSMDFile.tcl

set inMM 25.4
set pi [expr 2 * asin(1.0)]
set Es 2.06E+05
set Gv [expr $Es / (2 * (1 + 0.3))]
set g 9.8
# --------------------------------------------------------------------------------------------------

# --------------------------------------------------------------------------------------------------
# Define Nodes
# x - story, y - num, z - position
# main node - xy
# spring node - xy0z
# hinge node - xy10
# beam mid node - xy20
# lean column node - xz30
# --------------------------------------------------------------------------------------------------
# set parameters
set HStory_1 3650.0
set HStory_2 5490.0
set HStory_3 3960.0
set WBay 9150.0
# set x
set x1 0.0
set x2 [expr $WBay * 1]
set x3 [expr $WBay * 2]
set x4 [expr $WBay * 3]
set x5 [expr $WBay * 4]
set x6 [expr $WBay * 5]
set x0 [expr -1000]
# set y
set y1 0.0
set y2 $HStory_1
set y3 [expr $y2 + $HStory_2]
set y4 [expr $y3 + $HStory_3 * 1]
set y5 [expr $y3 + $HStory_3 * 2]
set y6 [expr $y3 + $HStory_3 * 3]
set y7 [expr $y3 + $HStory_3 * 4]
set y8 [expr $y3 + $HStory_3 * 5]
set y9 [expr $y3 + $HStory_3 * 6]
set y10 [expr $y3 + $HStory_3 * 7]
set y11 [expr $y3 + $HStory_3 * 8]
# set column splices
set HSp 1830.0
set sp1 [expr $y3 + $HSp]
set sp2 [expr $y5 + $HSp]
set sp3 [expr $y7 + $HSp]
set sp4 [expr $y9 + $HSp]

# define main nodes----------------------------
# 1S
node 11 $x1 $y1
node 12 $x2 $y1
node 13 $x3 $y1
node 14 $x4 $y1
node 15 $x5 $y1
node 16 $x6 $y1
# 2S
node 21 $x1 $y2
node 22 $x2 $y2
node 23 $x3 $y2
node 24 $x4 $y2
node 25 $x5 $y2
node 26 $x6 $y2
# 3S
node 31 $x1 $y3
node 32 $x2 $y3
node 33 $x3 $y3
node 34 $x4 $y3
node 35 $x5 $y3
node 36 $x6 $y3
# 4S
node 41 $x1 $y4
node 42 $x2 $y4
node 43 $x3 $y4
node 44 $x4 $y4
node 45 $x5 $y4
node 46 $x6 $y4
# 5S
node 51 $x1 $y5
node 52 $x2 $y5
node 53 $x3 $y5
node 54 $x4 $y5
node 55 $x5 $y5
node 56 $x6 $y5
# 6S
node 61 $x1 $y6
node 62 $x2 $y6
node 63 $x3 $y6
node 64 $x4 $y6
node 65 $x5 $y6
node 66 $x6 $y6
# 7S
node 71 $x1 $y7
node 72 $x2 $y7
node 73 $x3 $y7
node 74 $x4 $y7
node 75 $x5 $y7
node 76 $x6 $y7
# 8S
node 81 $x1 $y8
node 82 $x2 $y8
node 83 $x3 $y8
node 84 $x4 $y8
node 85 $x5 $y8
node 86 $x6 $y8
# 9S
node 91 $x1 $y9
node 92 $x2 $y9
node 93 $x3 $y9
node 94 $x4 $y9
node 95 $x5 $y9
node 96 $x6 $y9
# 10S
node 101 $x1 $y10
node 102 $x2 $y10
node 103 $x3 $y10
node 104 $x4 $y10
node 105 $x5 $y10
node 106 $x6 $y10
# 11S
node 111 $x1 $y11
node 112 $x2 $y11
node 113 $x3 $y11
node 114 $x4 $y11
node 115 $x5 $y11
node 116 $x6 $y11
# define column splices nodes---------------------------------------------------
# node: kky90, y - num, kk - position(story and story)
# between 3S and 4S
node 34190 $x1 $sp1
node 34290 $x2 $sp1
node 34390 $x3 $sp1
node 34490 $x4 $sp1
node 34590 $x5 $sp1
node 34690 $x6 $sp1
# between 5S and 6S
node 56190 $x1 $sp2
node 56290 $x2 $sp2
node 56390 $x3 $sp2
node 56490 $x4 $sp2
node 56590 $x5 $sp2
node 56690 $x6 $sp2
# between 7S and 8S
node 78190 $x1 $sp3
node 78290 $x2 $sp3
node 78390 $x3 $sp3
node 78490 $x4 $sp3
node 78590 $x5 $sp3
node 78690 $x6 $sp3
# between 9S and 10S
node 910190 $x1 $sp4
node 910290 $x2 $sp4
node 910390 $x3 $sp4
node 910490 $x4 $sp4
node 910590 $x5 $sp4
node 910690 $x6 $sp4
# define additional nodes to compose rotation spring----------------------------
# node: xykk, x - story, y - num, kk - position(up--07 right--02 bot--06 left--03)
# 1S
node 1107 $x1 $y1
node 1207 $x2 $y1
node 1307 $x3 $y1
node 1407 $x4 $y1
node 1507 $x5 $y1
node 1607 $x6 $y1
# 2S
# -------------------
node 2107 $x1 $y2
node 2102 $x1 $y2
node 2106 $x1 $y2
# -------------------
node 2207 $x2 $y2
node 2202 $x2 $y2
node 2206 $x2 $y2
node 2203 $x2 $y2
# -------------------
node 2307 $x3 $y2
node 2302 $x3 $y2
node 2306 $x3 $y2
node 2303 $x3 $y2
# -------------------
node 2407 $x4 $y2
node 2402 $x4 $y2
node 2406 $x4 $y2
node 2403 $x4 $y2
# -------------------
node 2507 $x5 $y2
node 2502 $x5 $y2
node 2506 $x5 $y2
node 2503 $x5 $y2
# -------------------
node 2607 $x6 $y2
node 2606 $x6 $y2
# -------------------
# 3S
# -------------------
node 3107 $x1 $y3
node 3102 $x1 $y3
node 3106 $x1 $y3
# -------------------
node 3207 $x2 $y3
node 3202 $x2 $y3
node 3206 $x2 $y3
node 3203 $x2 $y3
# -------------------
node 3307 $x3 $y3
node 3302 $x3 $y3
node 3306 $x3 $y3
node 3303 $x3 $y3
# -------------------
node 3407 $x4 $y3
node 3402 $x4 $y3
node 3406 $x4 $y3
node 3403 $x4 $y3
# -------------------
node 3507 $x5 $y3
node 3502 $x5 $y3
node 3506 $x5 $y3
node 3503 $x5 $y3
# -------------------
node 3607 $x6 $y3
node 3606 $x6 $y3
# -------------------
# 4S
# -------------------
node 4107 $x1 $y4
node 4102 $x1 $y4
node 4106 $x1 $y4
# -------------------
node 4207 $x2 $y4
node 4202 $x2 $y4
node 4206 $x2 $y4
node 4203 $x2 $y4
# -------------------
node 4307 $x3 $y4
node 4302 $x3 $y4
node 4306 $x3 $y4
node 4303 $x3 $y4
# -------------------
node 4407 $x4 $y4
node 4402 $x4 $y4
node 4406 $x4 $y4
node 4403 $x4 $y4
# -------------------
node 4507 $x5 $y4
node 4502 $x5 $y4
node 4506 $x5 $y4
node 4503 $x5 $y4
# -------------------
node 4607 $x6 $y4
node 4606 $x6 $y4
# -------------------
# 5S
# -------------------
node 5107 $x1 $y5
node 5102 $x1 $y5
node 5106 $x1 $y5
# -------------------
node 5207 $x2 $y5
node 5202 $x2 $y5
node 5206 $x2 $y5
node 5203 $x2 $y5
# -------------------
node 5307 $x3 $y5
node 5302 $x3 $y5
node 5306 $x3 $y5
node 5303 $x3 $y5
# -------------------
node 5407 $x4 $y5
node 5402 $x4 $y5
node 5406 $x4 $y5
node 5403 $x4 $y5
# -------------------
node 5507 $x5 $y5
node 5502 $x5 $y5
node 5506 $x5 $y5
node 5503 $x5 $y5
# -------------------
node 5607 $x6 $y5
node 5606 $x6 $y5
# -------------------
# 6S
# -------------------
node 6107 $x1 $y6
node 6102 $x1 $y6
node 6106 $x1 $y6
# -------------------
node 6207 $x2 $y6
node 6202 $x2 $y6
node 6206 $x2 $y6
node 6203 $x2 $y6
# -------------------
node 6307 $x3 $y6
node 6302 $x3 $y6
node 6306 $x3 $y6
node 6303 $x3 $y6
# -------------------
node 6407 $x4 $y6
node 6402 $x4 $y6
node 6406 $x4 $y6
node 6403 $x4 $y6
# -------------------
node 6507 $x5 $y6
node 6502 $x5 $y6
node 6506 $x5 $y6
node 6503 $x5 $y6
# -------------------
node 6607 $x6 $y6
node 6606 $x6 $y6
# -------------------
# 7S
# -------------------
node 7107 $x1 $y7
node 7102 $x1 $y7
node 7106 $x1 $y7
# -------------------
node 7207 $x2 $y7
node 7202 $x2 $y7
node 7206 $x2 $y7
node 7203 $x2 $y7
# -------------------
node 7307 $x3 $y7
node 7302 $x3 $y7
node 7306 $x3 $y7
node 7303 $x3 $y7
# -------------------
node 7407 $x4 $y7
node 7402 $x4 $y7
node 7406 $x4 $y7
node 7403 $x4 $y7
# -------------------
node 7507 $x5 $y7
node 7502 $x5 $y7
node 7506 $x5 $y7
node 7503 $x5 $y7
# -------------------
node 7607 $x6 $y7
node 7606 $x6 $y7
# -------------------
# 8S
# -------------------
node 8107 $x1 $y8
node 8102 $x1 $y8
node 8106 $x1 $y8
# -------------------
node 8207 $x2 $y8
node 8202 $x2 $y8
node 8206 $x2 $y8
node 8203 $x2 $y8
# -------------------
node 8307 $x3 $y8
node 8302 $x3 $y8
node 8306 $x3 $y8
node 8303 $x3 $y8
# -------------------
node 8407 $x4 $y8
node 8402 $x4 $y8
node 8406 $x4 $y8
node 8403 $x4 $y8
# -------------------
node 8507 $x5 $y8
node 8502 $x5 $y8
node 8506 $x5 $y8
node 8503 $x5 $y8
# -------------------
node 8607 $x6 $y8
node 8606 $x6 $y8
# -------------------
# 9S
# -------------------
node 9107 $x1 $y9
node 9102 $x1 $y9
node 9106 $x1 $y9
# -------------------
node 9207 $x2 $y9
node 9202 $x2 $y9
node 9206 $x2 $y9
node 9203 $x2 $y9
# -------------------
node 9307 $x3 $y9
node 9302 $x3 $y9
node 9306 $x3 $y9
node 9303 $x3 $y9
# -------------------
node 9407 $x4 $y9
node 9402 $x4 $y9
node 9406 $x4 $y9
node 9403 $x4 $y9
# -------------------
node 9507 $x5 $y9
node 9502 $x5 $y9
node 9506 $x5 $y9
node 9503 $x5 $y9
# -------------------
node 9607 $x6 $y9
node 9606 $x6 $y9
# -------------------
# 10S
# -------------------
node 10107 $x1 $y10
node 10102 $x1 $y10
node 10106 $x1 $y10
# -------------------
node 10207 $x2 $y10
node 10202 $x2 $y10
node 10206 $x2 $y10
node 10203 $x2 $y10
# -------------------
node 10307 $x3 $y10
node 10302 $x3 $y10
node 10306 $x3 $y10
node 10303 $x3 $y10
# -------------------
node 10407 $x4 $y10
node 10402 $x4 $y10
node 10406 $x4 $y10
node 10403 $x4 $y10
# -------------------
node 10507 $x5 $y10
node 10502 $x5 $y10
node 10506 $x5 $y10
node 10503 $x5 $y10
# -------------------
node 10607 $x6 $y10
node 10606 $x6 $y10
# -------------------
# 11S
# -------------------
node 11102 $x1 $y11
node 11106 $x1 $y11
# -------------------
node 11202 $x2 $y11
node 11206 $x2 $y11
node 11203 $x2 $y11
# -------------------
node 11302 $x3 $y11
node 11306 $x3 $y11
node 11303 $x3 $y11
# -------------------
node 11402 $x4 $y11
node 11406 $x4 $y11
node 11403 $x4 $y11
# -------------------
node 11502 $x5 $y11
node 11506 $x5 $y11
node 11503 $x5 $y11
# -------------------
node 11606 $x6 $y11
# -------------------

# define side-column hinge nodes----------------------------
node 2610 $x6 $y2
node 3610 $x6 $y3
node 4610 $x6 $y4
node 5610 $x6 $y5
node 6610 $x6 $y6
node 7610 $x6 $y7
node 8610 $x6 $y8
node 9610 $x6 $y9
node 10610 $x6 $y10
node 11610 $x6 $y11
# define beam mid nodes-------------------------------------
# node: xy20, x - story, y - bay, 20 - beam mid nodes
# 3S
node 3120 [expr ($WBay/2)*1] $y3
node 3520 [expr ($WBay/2)*9] $y3
# 4S
node 4120 [expr ($WBay/2)*1] $y4
node 4520 [expr ($WBay/2)*9] $y4
# 5S
node 5120 [expr ($WBay/2)*1] $y5
node 5520 [expr ($WBay/2)*9] $y5
# 6S
node 6120 [expr ($WBay/2)*1] $y6
node 6520 [expr ($WBay/2)*9] $y6
# 7S
node 7120 [expr ($WBay/2)*1] $y7
node 7520 [expr ($WBay/2)*9] $y7
# 8S
node 8120 [expr ($WBay/2)*1] $y8
node 8520 [expr ($WBay/2)*9] $y8
# 9S
node 9120 [expr ($WBay/2)*1] $y9
node 9520 [expr ($WBay/2)*9] $y9
# 10S
node 10120 [expr ($WBay/2)*1] $y10
node 10520 [expr ($WBay/2)*9] $y10
# 11S
node 11120 [expr ($WBay/2)*1] $y11
node 11520 [expr ($WBay/2)*9] $y11
# bottom
# 3S
node 31201 [expr ($WBay/2)*1] $y3
node 35201 [expr ($WBay/2)*9] $y3
# 4S
node 41201 [expr ($WBay/2)*1] $y4
node 45201 [expr ($WBay/2)*9] $y4
# 5S
node 51201 [expr ($WBay/2)*1] $y5
node 55201 [expr ($WBay/2)*9] $y5
# 6S
node 61201 [expr ($WBay/2)*1] $y6
node 65201 [expr ($WBay/2)*9] $y6
# 7S
node 71201 [expr ($WBay/2)*1] $y7
node 75201 [expr ($WBay/2)*9] $y7
# 8S
node 81201 [expr ($WBay/2)*1] $y8
node 85201 [expr ($WBay/2)*9] $y8
# 9S
node 91201 [expr ($WBay/2)*1] $y9
node 95201 [expr ($WBay/2)*9] $y9
# 10S
node 101201 [expr ($WBay/2)*1] $y10
node 105201 [expr ($WBay/2)*9] $y10
# 11S
node 111201 [expr ($WBay/2)*1] $y11
node 115201 [expr ($WBay/2)*9] $y11
# bottom-1
# 3S
node 31202 [expr ($WBay/2)*1] $y3
node 35202 [expr ($WBay/2)*9] $y3
# 4S
node 41202 [expr ($WBay/2)*1] $y4
node 45202 [expr ($WBay/2)*9] $y4
# 5S
node 51202 [expr ($WBay/2)*1] $y5
node 55202 [expr ($WBay/2)*9] $y5
# 6S
node 61202 [expr ($WBay/2)*1] $y6
node 65202 [expr ($WBay/2)*9] $y6
# 7S
node 71202 [expr ($WBay/2)*1] $y7
node 75202 [expr ($WBay/2)*9] $y7
# 8S
node 81202 [expr ($WBay/2)*1] $y8
node 85202 [expr ($WBay/2)*9] $y8
# 9S
node 91202 [expr ($WBay/2)*1] $y9
node 95202 [expr ($WBay/2)*9] $y9
# 10S
node 101202 [expr ($WBay/2)*1] $y10
node 105202 [expr ($WBay/2)*9] $y10
# 11S
node 111202 [expr ($WBay/2)*1] $y11
node 115202 [expr ($WBay/2)*9] $y11
# equalDOF brace point
# 3S
rotLeaningCol 31202 3120 31201
rotLeaningCol 35202 3520 35201
# 4S
rotLeaningCol 41202 4120 41201
rotLeaningCol 45202 4520 45201
# 5S
rotLeaningCol 51202 5120 51201
rotLeaningCol 55202 5520 55201
# 6S
rotLeaningCol 61202 6120 61201
rotLeaningCol 65202 6520 65201
# 7S
rotLeaningCol 71202 7120 71201
rotLeaningCol 75202 7520 75201
# 8S
rotLeaningCol 81202 8120 81201
rotLeaningCol 85202 8520 85201
# 9S
rotLeaningCol 91202 9120 91201
rotLeaningCol 95202 9520 95201
# 10S
rotLeaningCol 101202 10120 101201
rotLeaningCol 105202 10520 105201
# 11S
rotLeaningCol 111202 11120 111201
rotLeaningCol 115202 11520 115201

# 3S
rotLeaningCol 31203 3120 31202
rotLeaningCol 35203 3520 35202
# 4S
rotLeaningCol 41203 4120 41202
rotLeaningCol 45203 4520 45202
# 5S
rotLeaningCol 51203 5120 51202
rotLeaningCol 55203 5520 55202
# 6S
rotLeaningCol 61203 6120 61202
rotLeaningCol 65203 6520 65202
# 7S
rotLeaningCol 71203 7120 71202
rotLeaningCol 75203 7520 75202
# 8S
rotLeaningCol 81203 8120 81202
rotLeaningCol 85203 8520 85202
# 9S
rotLeaningCol 91203 9120 91202
rotLeaningCol 95203 9520 95202
# 10S
rotLeaningCol 101203 10120 101202
rotLeaningCol 105203 10520 105202
# 11S
rotLeaningCol 111203 11120 111202
rotLeaningCol 115203 11520 115202

# braceconnection point-----------------------------
# 2S
node 2109 $x1 $y2
node 2209 $x2 $y2
node 2509 $x5 $y2
node 2609 $x6 $y2
rotLeaningCol 2108 21 2109
rotLeaningCol 2208 22 2209
rotLeaningCol 2508 25 2509
rotLeaningCol 2608 26 2609
# 3S
node 3109 $x1 $y3
node 3209 $x2 $y3
node 3509 $x5 $y3
node 3609 $x6 $y3
rotLeaningCol 3108 31 3109
rotLeaningCol 3208 32 3209
rotLeaningCol 3508 35 3509
rotLeaningCol 3608 36 3609
# 4S
node 4109 $x1 $y4
node 4209 $x2 $y4
node 4509 $x5 $y4
node 4609 $x6 $y4
rotLeaningCol 4108 41 4109
rotLeaningCol 4208 42 4209
rotLeaningCol 4508 45 4509
rotLeaningCol 4608 46 4609
# 5S
node 5109 $x1 $y5
node 5209 $x2 $y5
node 5509 $x5 $y5
node 5609 $x6 $y5
rotLeaningCol 5108 51 5109
rotLeaningCol 5208 52 5209
rotLeaningCol 5508 55 5509
rotLeaningCol 5608 56 5609
# 6S
node 6109 $x1 $y6
node 6209 $x2 $y6
node 6509 $x5 $y6
node 6609 $x6 $y6
rotLeaningCol 6108 61 6109
rotLeaningCol 6208 62 6209
rotLeaningCol 6508 65 6509
rotLeaningCol 6608 66 6609
# 7S
node 7109 $x1 $y7
node 7209 $x2 $y7
node 7509 $x5 $y7
node 7609 $x6 $y7
rotLeaningCol 7108 71 7109
rotLeaningCol 7208 72 7209
rotLeaningCol 7508 75 7509
rotLeaningCol 7608 76 7609
# 8S
node 8109 $x1 $y8
node 8209 $x2 $y8
node 8509 $x5 $y8
node 8609 $x6 $y8
rotLeaningCol 8108 81 8109
rotLeaningCol 8208 82 8209
rotLeaningCol 8508 85 8509
rotLeaningCol 8608 86 8609
# 9S
node 9109 $x1 $y9
node 9209 $x2 $y9
node 9509 $x5 $y9
node 9609 $x6 $y9
rotLeaningCol 9108 91 9109
rotLeaningCol 9208 92 9209
rotLeaningCol 9508 95 9509
rotLeaningCol 9608 96 9609
# 10S
node 10109 $x1 $y10
node 10209 $x2 $y10
node 10509 $x5 $y10
node 10609 $x6 $y10
rotLeaningCol 10108 101 10109
rotLeaningCol 10208 102 10209
rotLeaningCol 10508 105 10509
rotLeaningCol 10608 106 10609
# define lean column nodes----------------------------
# up - 07, bottom - 06, beam link - 03; 30 - lean column nodes
# 2S
node 20730 $x0 $y2
# 3S
node 30730 $x0 $y3
node 30630 $x0 $y3
node 30330 $x0 $y3
# 4S
node 40730 $x0 $y4
node 40630 $x0 $y4
node 40330 $x0 $y4
# 5S
node 50730 $x0 $y5
node 50630 $x0 $y5
node 50330 $x0 $y5
# 6S
node 60730 $x0 $y6
node 60630 $x0 $y6
node 60330 $x0 $y6
# 7S
node 70730 $x0 $y7
node 70630 $x0 $y7
node 70330 $x0 $y7
# 8S
node 80730 $x0 $y8
node 80630 $x0 $y8
node 80330 $x0 $y8
# 9S
node 90730 $x0 $y9
node 90630 $x0 $y9
node 90330 $x0 $y9
# 10S
node 100730 $x0 $y10
node 100630 $x0 $y10
node 100330 $x0 $y10
# 11S
node 110630 $x0 $y11
node 110330 $x0 $y11

# --------------------------------------------------------------------------------------------------

# --------------------------------------------------------------------------------------------------
# Define Mass
# --------------------------------------------------------------------------------------------------
# set mass value
# 2S
set m1 48.25
set m2 [expr $m1 * 2]
# 3S
set m3 50.50
set m4 [expr $m3 * 2]
# 4S-10S
set m5 49.45
set m6 [expr $m5 * 2]
# 11S (Roof)
set m7 53.50
set m8 [expr $m7 * 2]

# set mass
# 2S
mass 21 $m1 1e-9 1e-9
mass 22 $m2 1e-9 1e-9
mass 23 $m2 1e-9 1e-9
mass 24 $m2 1e-9 1e-9
mass 25 $m2 1e-9 1e-9
mass 26 $m1 1e-9 1e-9
# 3S
mass 31 $m3 1e-9 1e-9
mass 32 $m4 1e-9 1e-9
mass 33 $m4 1e-9 1e-9
mass 34 $m4 1e-9 1e-9
mass 35 $m4 1e-9 1e-9
mass 36 $m3 1e-9 1e-9
# 4S
mass 41 $m5 1e-9 1e-9
mass 42 $m6 1e-9 1e-9
mass 43 $m6 1e-9 1e-9
mass 44 $m6 1e-9 1e-9
mass 45 $m6 1e-9 1e-9
mass 46 $m5 1e-9 1e-9
# 5S
mass 51 $m5 1e-9 1e-9
mass 52 $m6 1e-9 1e-9
mass 53 $m6 1e-9 1e-9
mass 54 $m6 1e-9 1e-9
mass 55 $m6 1e-9 1e-9
mass 56 $m5 1e-9 1e-9
# 6S
mass 61 $m5 1e-9 1e-9
mass 62 $m6 1e-9 1e-9
mass 63 $m6 1e-9 1e-9
mass 64 $m6 1e-9 1e-9
mass 65 $m6 1e-9 1e-9
mass 66 $m5 1e-9 1e-9
# 7S
mass 71 $m5 1e-9 1e-9
mass 72 $m6 1e-9 1e-9
mass 73 $m6 1e-9 1e-9
mass 74 $m6 1e-9 1e-9
mass 75 $m6 1e-9 1e-9
mass 76 $m5 1e-9 1e-9
# 8S
mass 81 $m5 1e-9 1e-9
mass 82 $m6 1e-9 1e-9
mass 83 $m6 1e-9 1e-9
mass 84 $m6 1e-9 1e-9
mass 85 $m6 1e-9 1e-9
mass 86 $m5 1e-9 1e-9
# 9S
mass 91 $m5 1e-9 1e-9
mass 92 $m6 1e-9 1e-9
mass 93 $m6 1e-9 1e-9
mass 94 $m6 1e-9 1e-9
mass 95 $m6 1e-9 1e-9
mass 96 $m5 1e-9 1e-9
# 10S
mass 101 $m5 1e-9 1e-9
mass 102 $m6 1e-9 1e-9
mass 103 $m6 1e-9 1e-9
mass 104 $m6 1e-9 1e-9
mass 105 $m6 1e-9 1e-9
mass 106 $m5 1e-9 1e-9
# 11S
mass 111 $m7 1e-9 1e-9
mass 112 $m8 1e-9 1e-9
mass 113 $m8 1e-9 1e-9
mass 114 $m8 1e-9 1e-9
mass 115 $m8 1e-9 1e-9
mass 116 $m7 1e-9 1e-9
# --------------------------------------------------------------------------------------------------

# --------------------------------------------------------------------------------------------------
# Define fix
# --------------------------------------------------------------------------------------------------
# column fix
fix 11 1 1 1
fix 12 1 1 1
fix 13 1 1 1
fix 14 1 1 1
fix 15 1 1 1
fix 16 1 1 1
# side fix and lean fix
fix 21 1 0 0
fix 26 1 0 0
fix 20730 1 1 0
# --------------------------------------------------------------------------------------------------

# --------------------------------------------------------------------------------------------------
# equal DOF
# --------------------------------------------------------------------------------------------------
equalDOF 36 31 1
equalDOF 36 32 1
equalDOF 36 33 1
equalDOF 36 34 1
equalDOF 36 35 1

equalDOF 46 42 1
equalDOF 46 43 1
equalDOF 46 44 1
equalDOF 46 45 1
equalDOF 46 41 1

equalDOF 56 52 1
equalDOF 56 53 1
equalDOF 56 54 1
equalDOF 56 55 1
equalDOF 56 51 1

equalDOF 66 62 1
equalDOF 66 63 1
equalDOF 66 64 1
equalDOF 66 65 1
equalDOF 66 61 1

equalDOF 76 72 1
equalDOF 76 73 1
equalDOF 76 74 1
equalDOF 76 75 1
equalDOF 76 71 1

equalDOF 86 82 1
equalDOF 86 83 1
equalDOF 86 84 1
equalDOF 86 85 1
equalDOF 86 81 1

equalDOF 96 92 1
equalDOF 96 93 1
equalDOF 96 94 1
equalDOF 96 95 1
equalDOF 96 91 1

equalDOF 106 102 1
equalDOF 106 103 1
equalDOF 106 104 1
equalDOF 106 105 1
equalDOF 106 101 1

equalDOF 116 112 1
equalDOF 116 113 1
equalDOF 116 114 1
equalDOF 116 115 1
equalDOF 116 111 1

# --------------------------------------------------------------------------------------------------

# --------------------------------------------------------------------------------------------------
# Define material
# --------------------------------------------------------------------------------------------------
# Material for zerolength hinge
uniaxialMaterial Elastic 1 2E+03

# Material for BRB
set fy 235
set r 0.01
set R0 15
set CR1 0.925
set CR2 0.15
# Area change to A/0.75
set A1 [expr 0.7*10418.0 / (0.75 * 1000)]; # Normalized area
set A2 [expr 0.7*7261.0 / (0.75 * 1000)]; # Normalized area
set A3 [expr 0.7*5643.0 / (0.75 * 1000)]; # Normalized area
set A4 [expr 0.7*5043.0 / (0.75 * 1000)]; # Normalized area
set A5 [expr 0.6*4925.0 / (0.75 * 1000)]; # Normalized area
set A6 [expr 0.6*4077.0 / (0.75 * 1000)]; # Normalized area
set A7 [expr 0.5*3424.0 / (0.75 * 1000)]; # Normalized area
set A8 [expr 0.5*2248.0 / (0.75 * 1000)]; # Normalized area
set A9 [expr 0.4*1363.0 / (0.75 * 1000)]; # Normalized area

set E1 [expr $A1 * $Es]
set E2 [expr $A2 * $Es]
set E3 [expr $A3 * $Es]
set E4 [expr $A4 * $Es]
set E5 [expr $A5 * $Es]
set E6 [expr $A6 * $Es]
set E7 [expr $A7 * $Es]
set E8 [expr $A8 * $Es]
set E9 [expr $A9 * $Es]

set Fy1 [expr $A1 * $fy * 0.75]
set Fy2 [expr $A2 * $fy * 0.75]
set Fy3 [expr $A3 * $fy * 0.75]
set Fy4 [expr $A4 * $fy * 0.75]
set Fy5 [expr $A5 * $fy * 0.75]
set Fy6 [expr $A6 * $fy * 0.75]
set Fy7 [expr $A7 * $fy * 0.75]
set Fy8 [expr $A8 * $fy * 0.75]
set Fy9 [expr $A9 * $fy * 0.75]

uniaxialMaterial Steel02 701 $Fy1 $E1 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 702 $Fy2 $E2 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 703 $Fy3 $E3 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 704 $Fy4 $E4 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 705 $Fy5 $E5 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 706 $Fy6 $E6 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 707 $Fy7 $E7 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 708 $Fy8 $E8 $r $R0 $CR1 $CR2
uniaxialMaterial Steel02 709 $Fy9 $E9 $r $R0 $CR1 $CR2

# --------------------------------------------------------------------------------------------------

# --------------------------------------------------------------------------------------------------
# Define elements
# --------------------------------------------------------------------------------------------------
# Column : ElasticBeamColumn
# Beam : ElasticBeamColumn
# Lean Column : ElasticBeamColumn
# Lean Column Link: truss
# Plastic Spring : zeroLength
# --------------------------------------------------------------------------------------------------
# Section parameters
set Fy_Col 345.0
set Fy_Beam 248.0
set My_Ratio 1.2

# Column ----------------------------------------------------------------------------
# Column-1 [W14X193]
set d [expr 15.48 * $inMM]
set bf [expr 15.710 * $inMM]
set tf [expr 1.440 * $inMM]
set tw [expr 0.890 * $inMM]
set Acol_1 [expr 56.8 * pow($inMM, 2)]
set Icol_1 [expr 2400 * pow($inMM, 4)]
set Mycol_1 [expr ($bf*$tf*($d-$tf)+pow(($d-$tf*2), 2)*$tw/4)*$Fy_Col*$My_Ratio]
# Column-2 [W14X159]
set d [expr 14.98 * $inMM]
set bf [expr 15.565 * $inMM]
set tf [expr 1.190 * $inMM]
set tw [expr 0.745 * $inMM]
set Acol_2 [expr 46.7 * pow($inMM, 2)]
set Icol_2 [expr 1900 * pow($inMM, 4)]
set Mycol_2 [expr ($bf*$tf*($d-$tf)+pow(($d-$tf*2), 2)*$tw/4)*$Fy_Col*$My_Ratio]
# Column-3 [W14X120]
set d [expr 14.48 * $inMM]
set bf [expr 14.670 * $inMM]
set tf [expr 0.940 * $inMM]
set tw [expr 0.590 * $inMM]
set Acol_3 [expr 35.3 * pow($inMM, 2)]
set Icol_3 [expr 1380 * pow($inMM, 4)]
set Mycol_3 [expr ($bf*$tf*($d-$tf)+pow(($d-$tf*2), 2)*$tw/4)*$Fy_Col*$My_Ratio]
# Column-4 [W14X109]
set d [expr 14.32 * $inMM]
set bf [expr 14.605 * $inMM]
set tf [expr 0.860 * $inMM]
set tw [expr 0.525 * $inMM]
set Acol_4 [expr 32.0 * pow($inMM, 2)]
set Icol_4 [expr 1240 * pow($inMM, 4)]
set Mycol_4 [expr ($bf*$tf*($d-$tf)+pow(($d-$tf*2), 2)*$tw/4)*$Fy_Col*$My_Ratio]





# Beam --------------------------------------------------------------------------------
# Beam-1 [W24X84]
set d [expr 24.10 * $inMM]
set bf [expr 9.020 * $inMM]
set tf [expr 0.770 * $inMM]
set tw [expr 0.470 * $inMM]
set Abeam_1 [expr 24.7 * pow($inMM, 2)]
set Ibeam_1 [expr 2370 * pow($inMM, 4)]
set Mybeam_1 [expr ($bf*$tf*($d-$tf) + pow(($d-$tf*2), 2)*$tw/4)*$Fy_Beam*$My_Ratio]
# Beam-2 [W24X76]
set d [expr 23.92 * $inMM]
set bf [expr 8.990 * $inMM]
set tf [expr 0.680 * $inMM]
set tw [expr 0.440 * $inMM]
set Abeam_2 [expr 22.4 * pow($inMM, 2)]
set Ibeam_2 [expr 2100 * pow($inMM, 4)]
set Mybeam_2 [expr ($bf*$tf*($d-$tf) + pow(($d-$tf*2), 2)*$tw/4)*$Fy_Beam*$My_Ratio]
# Beam-3 [W21X68]
set d [expr 21.13 * $inMM]
set bf [expr 8.270 * $inMM]
set tf [expr 0.685 * $inMM]
set tw [expr 0.430 * $inMM]
set Abeam_3 [expr 20.0 * pow($inMM, 2)]
set Ibeam_3 [expr 1480 * pow($inMM, 4)]
set Mybeam_3 [expr ($bf*$tf*($d-$tf) + pow(($d-$tf*2), 2)*$tw/4)*$Fy_Beam*$My_Ratio]
# Beam-4 [W18X60]
set d [expr 18.24 * $inMM]
set bf [expr 7.555 * $inMM]
set tf [expr 0.695 * $inMM]
set tw [expr 0.415 * $inMM]
set Abeam_4 [expr 17.6 * pow($inMM, 2)]
set Ibeam_4 [expr 984 * pow($inMM, 4)]
set Mybeam_4 [expr ($bf*$tf*($d-$tf) + pow(($d-$tf*2), 2)*$tw/4)*$Fy_Beam*$My_Ratio]
# --------------------------------------------------------------------------------------

# Define parameter for plastic hinge-------------------------------
# Stiffness modified ratio
set n 10.0
# Modified moment of inertia for Beam and Column elements
# Column
set Icol_1_mod [expr $Icol_1 * ($n + 1.0) / $n]; #[W14X257]
set Icol_2_mod [expr $Icol_2 * ($n + 1.0) / $n]; #[W14X211]
set Icol_3_mod [expr $Icol_3 * ($n + 1.0) / $n]; #[W14X145]
set Icol_4_mod [expr $Icol_4 * ($n + 1.0) / $n]; #[W14X120]

# Beam
set Ibeam_1_mod [expr $Ibeam_1 * ($n + 1.0) / $n]; #[W24X104]
set Ibeam_2_mod [expr $Ibeam_2 * ($n + 1.0) / $n]; #[W24X84]
set Ibeam_3_mod [expr $Ibeam_3 * ($n + 1.0) / $n]; #[W21X68]
set Ibeam_4_mod [expr $Ibeam_4 * ($n + 1.0) / $n]; #[W21X68]

# Set geometric transformations of elements----------------------------------
set PDeltaTransf 1
geomTransf PDelta $PDeltaTransf
# ---------------------------------------------------------------------------

# Create elements------------------------------------------------------------
# Column: xyz1, x - story, y - num, z - position(1 - bot, 2 - up, default 1), 1 - column
# Beam : xy02, x - story, y - num, 02 - beam
# Command: element elasticBeamColumn $eleID $iNode $jNode $A $E $I $transfID

# 1S-2S [Include columns beams]--------------------------------------------------------------
# Column
element elasticBeamColumn 1111 1107 2106 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 1211 1207 2206 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 1311 1307 2306 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 1411 1407 2406 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 1511 1507 2506 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 1611 1607 2606 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
# Beam
element elasticBeamColumn 1102 2102 2203 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 1202 2202 2303 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 1302 2302 2403 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 1402 2402 2503 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 1502 2502 2610 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 2S-3S [Include columns beams]--------------------------------------------------------------
# Column
element elasticBeamColumn 2111 2107 3106 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 2211 2207 3206 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 2311 2307 3306 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 2411 2407 3406 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 2511 2507 3506 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 2611 2607 3606 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
# Beam
element elasticBeamColumn 2102 3102 3120 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 2202 3120 3203 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 2302 3202 3303 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 2402 3302 3403 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 2502 3402 3503 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 2602 3502 3520 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 2702 3520 3610 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 3S-4S [Include columns beams and splices]--------------------------------------------------
# Column [bot]
element elasticBeamColumn 3111 3107 34190 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 3211 3207 34290 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 3311 3307 34390 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 3411 3407 34490 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 3511 3507 34590 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
element elasticBeamColumn 3611 3607 34690 $Acol_1 $Es $Icol_1_mod $PDeltaTransf
# Column [top]
element elasticBeamColumn 3121 34190 4106 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 3221 34290 4206 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 3321 34390 4306 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 3421 34490 4406 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 3521 34590 4506 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 3621 34690 4606 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
# Beam
element elasticBeamColumn 3102 4102 4120 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 3202 4120 4203 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 3302 4202 4303 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 3402 4302 4403 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 3502 4402 4503 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 3602 4502 4520 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
element elasticBeamColumn 3702 4520 4610 $Abeam_1 $Es $Ibeam_1_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 4S-5S [Include columns beams]--------------------------------------------------------------
# Column
element elasticBeamColumn 4111 4107 5106 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 4211 4207 5206 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 4311 4307 5306 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 4411 4407 5406 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 4511 4507 5506 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 4611 4607 5606 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
# Beam
element elasticBeamColumn 4102 5102 5120 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 4202 5120 5203 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 4302 5202 5303 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 4402 5302 5403 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 4502 5402 5503 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 4602 5502 5520 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 4702 5520 5610 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 5S-6S [Include columns beams and splices]--------------------------------------------------
# Column [bot]
element elasticBeamColumn 5111 5107 56190 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 5211 5207 56290 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 5311 5307 56390 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 5411 5407 56490 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 5511 5507 56590 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
element elasticBeamColumn 5611 5607 56690 $Acol_2 $Es $Icol_2_mod $PDeltaTransf
# Column [top]
element elasticBeamColumn 5121 56190 6106 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 5221 56290 6206 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 5321 56390 6306 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 5421 56490 6406 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 5521 56590 6506 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 5621 56690 6606 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
# Beam
element elasticBeamColumn 5102 6102 6120 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 5202 6120 6203 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 5302 6202 6303 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 5402 6302 6403 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 5502 6402 6503 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 5602 6502 6520 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 5702 6520 6610 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 6S-7S [Include columns beams]--------------------------------------------------------------
# Column
element elasticBeamColumn 6111 6107 7106 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 6211 6207 7206 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 6311 6307 7306 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 6411 6407 7406 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 6511 6507 7506 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 6611 6607 7606 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
# Beam
element elasticBeamColumn 6102 7102 7120 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 6202 7120 7203 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 6302 7202 7303 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 6402 7302 7403 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 6502 7402 7503 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 6602 7502 7520 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
element elasticBeamColumn 6702 7520 7610 $Abeam_2 $Es $Ibeam_2_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 7S-8S [Include columns beams and splices]--------------------------------------------------
# Column [bot]
element elasticBeamColumn 7111 7107 78190 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 7211 7207 78290 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 7311 7307 78390 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 7411 7407 78490 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 7511 7507 78590 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
element elasticBeamColumn 7611 7607 78690 $Acol_3 $Es $Icol_3_mod $PDeltaTransf
# Column [top]
element elasticBeamColumn 7121 78190 8106 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 7221 78290 8206 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 7321 78390 8306 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 7421 78490 8406 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 7521 78590 8506 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 7621 78690 8606 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
# Beam
element elasticBeamColumn 7102 8102 8120 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 7202 8120 8203 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 7302 8202 8303 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 7402 8302 8403 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 7502 8402 8503 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 7602 8502 8520 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 7702 8520 8610 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 8S-9S [Include columns beams]--------------------------------------------------------------
# Column
element elasticBeamColumn 8111 8107 9106 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 8211 8207 9206 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 8311 8307 9306 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 8411 8407 9406 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 8511 8507 9506 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 8611 8607 9606 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
# Beam
element elasticBeamColumn 8102 9102 9120 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 8202 9120 9203 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 8302 9202 9303 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 8402 9302 9403 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 8502 9402 9503 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 8602 9502 9520 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 8702 9520 9610 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 9S-10S [Include columns beams and splices]--------------------------------------------------
# Column [bot]
element elasticBeamColumn 9111 9107 910190 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9211 9207 910290 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9311 9307 910390 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9411 9407 910490 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9511 9507 910590 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9611 9607 910690 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
# Column [top]
element elasticBeamColumn 9121 910190 10106 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9221 910290 10206 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9321 910390 10306 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9421 910490 10406 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9521 910590 10506 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 9621 910690 10606 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
# Beam
element elasticBeamColumn 9102 10102 10120 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 9202 10120 10203 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 9302 10202 10303 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 9402 10302 10403 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 9502 10402 10503 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 9602 10502 10520 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
element elasticBeamColumn 9702 10520 10610 $Abeam_3 $Es $Ibeam_3_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# 10S-11S [Include columns beams]--------------------------------------------------------------
# Column
element elasticBeamColumn 10111 10107 11106 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 10211 10207 11206 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 10311 10307 11306 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 10411 10407 11406 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 10511 10507 11506 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
element elasticBeamColumn 10611 10607 11606 $Acol_4 $Es $Icol_4_mod $PDeltaTransf
# Beam
element elasticBeamColumn 10102 11102 11120 $Abeam_4 $Es $Ibeam_4_mod $PDeltaTransf
element elasticBeamColumn 10202 11120 11203 $Abeam_4 $Es $Ibeam_4_mod $PDeltaTransf
element elasticBeamColumn 10302 11202 11303 $Abeam_4 $Es $Ibeam_4_mod $PDeltaTransf
element elasticBeamColumn 10402 11302 11403 $Abeam_4 $Es $Ibeam_4_mod $PDeltaTransf
element elasticBeamColumn 10502 11402 11503 $Abeam_4 $Es $Ibeam_4_mod $PDeltaTransf
element elasticBeamColumn 10602 11502 11520 $Abeam_4 $Es $Ibeam_4_mod $PDeltaTransf
element elasticBeamColumn 10702 11520 11610 $Abeam_4 $Es $Ibeam_4_mod $PDeltaTransf
# -------------------------------------------------------------------------------------------

# zeroLength elements for side column hinge--------------------------------------------------

rotLeaningCol 26 26 2610
rotLeaningCol 36 36 3610
rotLeaningCol 46 46 4610
rotLeaningCol 56 56 5610
rotLeaningCol 66 66 6610
rotLeaningCol 76 76 7610
rotLeaningCol 86 86 8610
rotLeaningCol 96 96 9610
rotLeaningCol 106 106 10610
rotLeaningCol 116 116 11610
# -------------------------------------------------------------------------------------------

# lean column--------------------------------------------------------------------------------
set TrussMatID 600
set Arigid 100000.0
set Irigid 10000000.0
# material for truss link
uniaxialMaterial Elastic $TrussMatID $Es
# truss link to main structure
# element: 50x, x - story
element truss 503 31 30330 $Arigid $TrussMatID; # 3S
element truss 504 41 40330 $Arigid $TrussMatID; # 4S
element truss 505 51 50330 $Arigid $TrussMatID; # 5S
element truss 506 61 60330 $Arigid $TrussMatID; # 6S
element truss 507 71 70330 $Arigid $TrussMatID; # 7S
element truss 508 81 80330 $Arigid $TrussMatID; # 8S
element truss 509 91 90330 $Arigid $TrussMatID; # 9S
element truss 5010 101 100330 $Arigid $TrussMatID; # 10S
element truss 5011 111 110330 $Arigid $TrussMatID; # 11S
# set lean column
# element: 60kk, kk - story and story
element elasticBeamColumn 6023 20730 30630 $Arigid $Es $Irigid 1; #2S-3S
element elasticBeamColumn 6034 30730 40630 $Arigid $Es $Irigid 1; #3S-4S
element elasticBeamColumn 6045 40730 50630 $Arigid $Es $Irigid 1; #4S-5S
element elasticBeamColumn 6056 50730 60630 $Arigid $Es $Irigid 1; #5S-6S
element elasticBeamColumn 6067 60730 70630 $Arigid $Es $Irigid 1; #6S-7S
element elasticBeamColumn 6078 70730 80630 $Arigid $Es $Irigid 1; #7S-8S
element elasticBeamColumn 6089 80730 90630 $Arigid $Es $Irigid 1; #8S-9S
element elasticBeamColumn 60910 90730 100630 $Arigid $Es $Irigid 1; #9S-10S
element elasticBeamColumn 601011 100730 110630 $Arigid $Es $Irigid 1; #10S-11S
# lean column spring
# spring: 70xy, x - story, y - position(1-bot, 2-top)
# 3S
rotLeaningCol 7031 30330 30630; # bottom spring
rotLeaningCol 7032 30330 30730; # top spring
# 4S
rotLeaningCol 7041 40330 40630; # bottom spring
rotLeaningCol 7042 40330 40730; # top spring
# 5S
rotLeaningCol 7051 50330 50630; # bottom spring
rotLeaningCol 7052 50330 50730; # top spring
# 6S
rotLeaningCol 7061 60330 60630; # bottom spring
rotLeaningCol 7062 60330 60730; # top spring
# 7S
rotLeaningCol 7071 70330 70630; # bottom spring
rotLeaningCol 7072 70330 70730; # top spring
# 8S
rotLeaningCol 7081 80330 80630; # bottom spring
rotLeaningCol 7082 80330 80730; # top spring
# 9S
rotLeaningCol 7091 90330 90630; # bottom spring
rotLeaningCol 7092 90330 90730; # top spring
# 10S
rotLeaningCol 70101 100330 100630; # bottom spring
rotLeaningCol 70102 100330 100730; # top spring
# 11S
rotLeaningCol 70111 110330 110630; # bottom spring

# set BRB
# element: 80xy, x - story, y - num
set NormArea 1000.0
# 2S-3S
element truss 8021 2109 31201 $NormArea 701
element truss 8022 2209 31202 $NormArea 701
element truss 8023 2509 35201 $NormArea 701
element truss 8024 2609 35202 $NormArea 701
# 3S-4S
element truss 8031 3109 41201 $NormArea 702
element truss 8032 3209 41202 $NormArea 702
element truss 8033 3509 45201 $NormArea 702
element truss 8034 3609 45202 $NormArea 702
# 4S-5S
element truss 8041 4109 51201 $NormArea 703
element truss 8042 4209 51202 $NormArea 703
element truss 8043 4509 55201 $NormArea 703
element truss 8044 4609 55202 $NormArea 703
# 5S-6S
element truss 8051 5109 61201 $NormArea 704
element truss 8052 5209 61202 $NormArea 704
element truss 8053 5509 65201 $NormArea 704
element truss 8054 5609 65202 $NormArea 704
# 6S-7S
element truss 8061 6109 71201 $NormArea 705
element truss 8062 6209 71202 $NormArea 705
element truss 8063 6509 75201 $NormArea 705
element truss 8064 6609 75202 $NormArea 705
# 7S-8S
element truss 8071 7109 81201 $NormArea 706
element truss 8072 7209 81202 $NormArea 706
element truss 8073 7509 85201 $NormArea 706
element truss 8074 7609 85202 $NormArea 706
# 8S-9S
element truss 8081 8109 91201 $NormArea 707
element truss 8082 8209 91202 $NormArea 707
element truss 8083 8509 95201 $NormArea 707
element truss 8084 8609 95202 $NormArea 707
# 9S-10S
element truss 8091 9109 101201 $NormArea 708
element truss 8092 9209 101202 $NormArea 708
element truss 8093 9509 105201 $NormArea 708
element truss 8094 9609 105202 $NormArea 708
# 10S-11S
element truss 80101 10109 111201 $NormArea 709
element truss 80102 10209 111202 $NormArea 709
element truss 80103 10509 115201 $NormArea 709
element truss 80104 10609 115202 $NormArea 709

# -------------------------------------------------------------------------------------------

# define plastic hinge springs---------------------------------------------------------------
# General Parameters
set McMy 1.05
set Lambda_S 1000.0
set Lambda_C 1000.0
set Lambda_A 1000.0
set Lambda_K 1000.0
set cS 1.0
set cC 1.0
set cA 1.0
set cK 1.0
set theta_pP 0.025
set theta_pN 0.025
set theta_pcP 0.3
set theta_pcN 0.3
set Res_P 0.4
set Res_N 0.4
set theta_uP 0.4
set theta_uN 0.4
set D_P 1.0
set D_N 1.0

# Modified rotational stiffness for plastic hinge springs
# Springs------------------------------------------------------------------------------------
Here define the IMK spring...

# Eigenvalue analysis-------------------------------------------------------------------------------
set nEigenI 1; # mode i = 1
set nEigenJ 2; # mode j = 2
set nEigenK 3; # mode k = 3
set lambdaN [eigen [expr $nEigenK]]; # eigenvalue analysis for nEigenJ modes
set lambdaI [lindex $lambdaN [expr 0]]; # eigenvalue mode i = 1
set lambdaJ [lindex $lambdaN [expr $nEigenJ-1]]; # eigenvalue mode j = 2
set lambdaK [lindex $lambdaN [expr $nEigenK-1]]; # eigenvalue mode k = 3
set omegaI [expr pow($lambdaI,0.5)]; # w1 (1st mode circular frequency)
set omegaJ [expr pow($lambdaJ,0.5)]; # w2 (2nd mode circular frequency)
set omegaK [expr pow($lambdaK,0.5)]; # w3 (2nd mode circular frequency)
set T1 [expr 2.0 * $pi/$omegaI]; # 1st mode period of the structure
set T2 [expr 2.0 * $pi/$omegaJ]; # 2nd mode period of the structure
set T3 [expr 2.0 * $pi/$omegaK]; # 3nd mode period of the structure
puts "The Mode periods are: "
puts "T1 = $T1 s"; # display the first mode period in the command window
puts "T2 = $T2 s"; # display the second mode period in the command window
puts "T3 = $T3 s"; # display the third mode period in the command window
# --------------------------------------------------------------------------------------------------

# Gravity Loads and analysis------------------------------------------------------------------------
# 2S
set Mass1 4.825E+05
# 3S
set Mass2 5.050E+05
# 4S-10S
set Mass3 4.945E+05
# 11S
set Mass4 5.350E+05

# 2S
set Weight1 [expr $Mass1 * $g]
# 3S
set Weight2 [expr $Mass2 * $g]
# 4S-10S
set Weight3 [expr $Mass3 * $g]
# 11S
set Weight4 [expr $Mass4 * $g]

# 2S
set CWy1 [expr $Weight1 / 5]
# 3S
set CWy2 [expr $Weight2 / 5]
# 4S-10S
set CWy3 [expr $Weight3 / 5]
# 11S
set CWy4 [expr $Weight4 / 5]

# 2S
set UniWy1 [expr -$CWy1 / ($WBay * 5)]
# 3S
set UniWy2 [expr -$CWy2 / ($WBay * 5)]
# 4S-10S
set UniWy3 [expr -$CWy3 / ($WBay * 5)]
# 11S
set UniWy4 [expr -$CWy4 / ($WBay * 5)]

# set uniform load on beams
pattern Plain 101 Linear {
# 2S
eleLoad -ele 1102 -type -beamUniform $UniWy1
eleLoad -ele 1202 -type -beamUniform $UniWy1
eleLoad -ele 1302 -type -beamUniform $UniWy1
eleLoad -ele 1402 -type -beamUniform $UniWy1
eleLoad -ele 1502 -type -beamUniform $UniWy1
# 3S
eleLoad -ele 2102 -type -beamUniform $UniWy2
eleLoad -ele 2202 -type -beamUniform $UniWy2
eleLoad -ele 2302 -type -beamUniform $UniWy2
eleLoad -ele 2402 -type -beamUniform $UniWy2
eleLoad -ele 2502 -type -beamUniform $UniWy2
eleLoad -ele 2602 -type -beamUniform $UniWy2
eleLoad -ele 2702 -type -beamUniform $UniWy2
# 4S
eleLoad -ele 3102 -type -beamUniform $UniWy3
eleLoad -ele 3202 -type -beamUniform $UniWy3
eleLoad -ele 3302 -type -beamUniform $UniWy3
eleLoad -ele 3402 -type -beamUniform $UniWy3
eleLoad -ele 3502 -type -beamUniform $UniWy3
eleLoad -ele 3602 -type -beamUniform $UniWy3
eleLoad -ele 3702 -type -beamUniform $UniWy3
# 5S
eleLoad -ele 4102 -type -beamUniform $UniWy3
eleLoad -ele 4202 -type -beamUniform $UniWy3
eleLoad -ele 4302 -type -beamUniform $UniWy3
eleLoad -ele 4402 -type -beamUniform $UniWy3
eleLoad -ele 4502 -type -beamUniform $UniWy3
eleLoad -ele 4602 -type -beamUniform $UniWy3
eleLoad -ele 4702 -type -beamUniform $UniWy3
# 6S
eleLoad -ele 5102 -type -beamUniform $UniWy3
eleLoad -ele 5202 -type -beamUniform $UniWy3
eleLoad -ele 5302 -type -beamUniform $UniWy3
eleLoad -ele 5402 -type -beamUniform $UniWy3
eleLoad -ele 5502 -type -beamUniform $UniWy3
eleLoad -ele 5602 -type -beamUniform $UniWy3
eleLoad -ele 5702 -type -beamUniform $UniWy3
# 7S
eleLoad -ele 6102 -type -beamUniform $UniWy3
eleLoad -ele 6202 -type -beamUniform $UniWy3
eleLoad -ele 6302 -type -beamUniform $UniWy3
eleLoad -ele 6402 -type -beamUniform $UniWy3
eleLoad -ele 6502 -type -beamUniform $UniWy3
eleLoad -ele 6602 -type -beamUniform $UniWy3
eleLoad -ele 6702 -type -beamUniform $UniWy3
# 8S
eleLoad -ele 7102 -type -beamUniform $UniWy3
eleLoad -ele 7202 -type -beamUniform $UniWy3
eleLoad -ele 7302 -type -beamUniform $UniWy3
eleLoad -ele 7402 -type -beamUniform $UniWy3
eleLoad -ele 7502 -type -beamUniform $UniWy3
eleLoad -ele 7602 -type -beamUniform $UniWy3
eleLoad -ele 7702 -type -beamUniform $UniWy3
# 9S
eleLoad -ele 8102 -type -beamUniform $UniWy3
eleLoad -ele 8202 -type -beamUniform $UniWy3
eleLoad -ele 8302 -type -beamUniform $UniWy3
eleLoad -ele 8402 -type -beamUniform $UniWy3
eleLoad -ele 8502 -type -beamUniform $UniWy3
eleLoad -ele 8602 -type -beamUniform $UniWy3
eleLoad -ele 8702 -type -beamUniform $UniWy3
# 10S
eleLoad -ele 9102 -type -beamUniform $UniWy3
eleLoad -ele 9202 -type -beamUniform $UniWy3
eleLoad -ele 9302 -type -beamUniform $UniWy3
eleLoad -ele 9402 -type -beamUniform $UniWy3
eleLoad -ele 9502 -type -beamUniform $UniWy3
eleLoad -ele 9602 -type -beamUniform $UniWy3
eleLoad -ele 9702 -type -beamUniform $UniWy3
# 11S
eleLoad -ele 10102 -type -beamUniform $UniWy4
eleLoad -ele 10202 -type -beamUniform $UniWy4
eleLoad -ele 10302 -type -beamUniform $UniWy4
eleLoad -ele 10402 -type -beamUniform $UniWy4
eleLoad -ele 10502 -type -beamUniform $UniWy4
eleLoad -ele 10602 -type -beamUniform $UniWy4
eleLoad -ele 10702 -type -beamUniform $UniWy4
}

# Analysis - Uniform beam load
set Tol 1.0E-6
set NstepGravity 10
set DGravity [expr 1.0/$NstepGravity]

integrator LoadControl $DGravity
constraints Transformation
numberer RCM
system BandGeneral
test NormDispIncr $Tol 10
algorithm Newton
analysis Static
analyze $NstepGravity

# Load Constant
loadConst -time 0.0

# Concentrated Load on lean-column
# 3S
set ConWeight1 [expr -$CWy2 * 4]
# 4S-10S
set ConWeight2 [expr -$CWy3 * 4]
# 11S
set ConWeight3 [expr -$CWy4 * 4]

# set concentrated load
pattern Plain 102 Constant {
# 3S
load 30330 0.0 $ConWeight1 0.0
# 4S
load 40330 0.0 $ConWeight2 0.0
# 5S
load 50330 0.0 $ConWeight2 0.0
# 6S
load 60330 0.0 $ConWeight2 0.0
# 7S
load 70330 0.0 $ConWeight2 0.0
# 8S
load 80330 0.0 $ConWeight2 0.0
# 9S
load 90330 0.0 $ConWeight2 0.0
# 10S
load 100330 0.0 $ConWeight2 0.0
# 11S
load 110330 0.0 $ConWeight3 0.0
}

# Analysis - Concentrated lean-column load
set Tol 1.0E-6
set NstepGravity 10
set DGravity [expr 1.0/$NstepGravity]

integrator LoadControl $DGravity
constraints Transformation
numberer RCM
system BandGeneral
test NormDispIncr $Tol 10
algorithm Newton
analysis Static
analyze $NstepGravity

# Load Constant
loadConst -time 0.0

puts "GRAVITY APPLY SUCCESSFUL"

# Pushover Analysis---------------------------------------------------------------------------------
puts "PUSHVOER ANALYSIS RUNNING"

set BsH3 [expr $y3 - $HStory_1]
set BsH4 [expr $y4 - $HStory_1]
set BsH5 [expr $y5 - $HStory_1]
set BsH6 [expr $y6 - $HStory_1]
set BsH7 [expr $y7 - $HStory_1]
set BsH8 [expr $y8 - $HStory_1]
set BsH9 [expr $y9 - $HStory_1]
set BsH10 [expr $y10 - $HStory_1]
set BsH11 [expr $y11 - $HStory_1]

set BaseShear 1.0E+07
set GenR1 [expr $Weight2 * pow($BsH3 , 1.85) + $Weight3 * pow($BsH4 , 1.85)+ $Weight3 * pow($BsH5 , 1.85)+ $Weight3 * pow($BsH6 , 1.85)+ $Weight3 * pow($BsH7, 1.85)]
set GenR2 [expr $Weight3 * pow($BsH8 , 1.85) + $Weight3 * pow($BsH9 , 1.85)+ $Weight3 * pow($BsH10, 1.85) + $Weight4 * pow($BsH11, 1.85)]
set GenR [expr $GenR1 + $GenR2]

set Ra3 [expr ($Weight2 * pow($BsH3, 1.85)) / $GenR]
set Ra4 [expr ($Weight3 * pow($BsH4, 1.85)) / $GenR]
set Ra5 [expr ($Weight3 * pow($BsH5, 1.85)) / $GenR]
set Ra6 [expr ($Weight3 * pow($BsH6, 1.85)) / $GenR]
set Ra7 [expr ($Weight3 * pow($BsH7, 1.85)) / $GenR]
set Ra8 [expr ($Weight3 * pow($BsH8, 1.85)) / $GenR]
set Ra9 [expr ($Weight3 * pow($BsH9, 1.85)) / $GenR]
set Ra10 [expr ($Weight3 * pow($BsH10, 1.85)) / $GenR]
set Ra11 [expr ($Weight4 * pow($BsH11, 1.85)) / $GenR]

set V3 [expr $BaseShear * $Ra3 / 6]
set V4 [expr $BaseShear * $Ra4 / 6]
set V5 [expr $BaseShear * $Ra5 / 6]
set V6 [expr $BaseShear * $Ra6 / 6]
set V7 [expr $BaseShear * $Ra7 / 6]
set V8 [expr $BaseShear * $Ra8 / 6]
set V9 [expr $BaseShear * $Ra9 / 6]
set V10 [expr $BaseShear * $Ra10 / 6]
set V11 [expr $BaseShear * $Ra11 / 6]

pattern Plain 201 Linear {
# 3S
load 31 $V3 0.0 0.0
load 32 $V3 0.0 0.0
load 33 $V3 0.0 0.0
load 34 $V3 0.0 0.0
load 35 $V3 0.0 0.0
load 36 $V3 0.0 0.0
# 4S
load 41 $V4 0.0 0.0
load 42 $V4 0.0 0.0
load 43 $V4 0.0 0.0
load 44 $V4 0.0 0.0
load 45 $V4 0.0 0.0
load 46 $V4 0.0 0.0
# 5S
load 51 $V5 0.0 0.0
load 52 $V5 0.0 0.0
load 53 $V5 0.0 0.0
load 54 $V5 0.0 0.0
load 55 $V5 0.0 0.0
load 56 $V5 0.0 0.0
# 6S
load 61 $V6 0.0 0.0
load 62 $V6 0.0 0.0
load 63 $V6 0.0 0.0
load 64 $V6 0.0 0.0
load 65 $V6 0.0 0.0
load 66 $V6 0.0 0.0
# 7S
load 71 $V7 0.0 0.0
load 72 $V7 0.0 0.0
load 73 $V7 0.0 0.0
load 74 $V7 0.0 0.0
load 75 $V7 0.0 0.0
load 76 $V7 0.0 0.0
# 8S
load 81 $V8 0.0 0.0
load 82 $V8 0.0 0.0
load 83 $V8 0.0 0.0
load 84 $V8 0.0 0.0
load 85 $V8 0.0 0.0
load 86 $V8 0.0 0.0
# 9S
load 91 $V9 0.0 0.0
load 92 $V9 0.0 0.0
load 93 $V9 0.0 0.0
load 94 $V9 0.0 0.0
load 95 $V9 0.0 0.0
load 96 $V9 0.0 0.0
# 10S
load 101 $V10 0.0 0.0
load 102 $V10 0.0 0.0
load 103 $V10 0.0 0.0
load 104 $V10 0.0 0.0
load 105 $V10 0.0 0.0
load 106 $V10 0.0 0.0
# 11S
load 111 $V11 0.0 0.0
load 112 $V11 0.0 0.0
load 113 $V11 0.0 0.0
load 114 $V11 0.0 0.0
load 115 $V11 0.0 0.0
load 116 $V11 0.0 0.0
}

# Analysis - Pushover
set IDctrlNode 111; # node where disp is read for disp control
set IDctrlDOF 1; # degree of freedom read for disp control (1 = x displacement)
set Dmax [expr 0.1 * ($y11-$y2)]; # maximum displacement of pushover: 10% roof drift
set Dincr [expr 1];

constraints Transformation; # how it handles boundary conditions
numberer RCM; # renumber dof's to minimize band-width (optimization)
system BandGeneral; # how to store and solve the system of equations in the analysis (large model: try UmfPack)
test NormDispIncr 1.0E-2 100000; # tolerance, max iterations
algorithm Newton; # use Newton's solution algorithm: updates tangent stiffness at every iteration
integrator DisplacementControl $IDctrlNode $IDctrlDOF $Dincr; # use displacement-controlled analysis
analysis Static; # define type of analysis: static for pushover
set Nsteps [expr int($Dmax/$Dincr)]; # number of pushover analysis steps
set ok [analyze $Nsteps]; # this will return zero if no convergence problems were encountered
puts "PUSHOVER COMPLETE";

# --------------------------------------------------------------------------------------------------

wipe all;

# --------------------------------------------------------------------------------------------------

selimgunay
Posts: 913
Joined: Mon Sep 09, 2013 8:50 pm
Location: University of California, Berkeley

Re: when I use equalDOF to equal the DOF of the same story node, the vibration periods change.

Post by selimgunay » Sun Nov 08, 2020 6:08 pm

DecoPing wrote:
Sun Nov 01, 2020 6:10 am
I build a 2D 9-story BRB steel frame in opensees with Modified Ibarra-Medina-Krawinkler material to simulate the lumped plasticity connection, refer to
1. material
https://opensees.berkeley.edu/wiki/inde ... _Material)
2. model
https://opensees.berkeley.edu/wiki/inde ... ment_Frame

And when I use "equalDOF" command to equal the horizontal freedom of the node at the same story, the vibration period decrease. for example, the first natural period is decreased from 1.83s to 1.61s.

who can help me to solve this problem, thanks a lot!!!!!!!!!!!!!
This much period decrease just because of providing the horizontal DOFs at a story level show that either the axial stiffness of your beams is quite small for some reason or you have another flexibility in the horizontal direction between the nodes where you have the rotational springs

Post Reply