I want to do a pushover analysis for a three storey chevron braced frame. The analysis converges well, but in the base shear-control node displacement curve obtained from the analysis, the base shear keeps increasing through all displacements. while I think this is not correct.
I think that it is because I did not introduced ultimate strain of the steel material and I do not know how to do it! Can anyone help me with this?
I used nonlinearBeamColumn elements for columns and beams and dispBeamColumn for braces. the material model I used is Steel01.
here is my model:
Code: Select all
wipe
model BasicBuilder -ndm 2 -ndf 3
#3-storey chevron braced frame
#units kg&cm
## Nodes
node 1 0 0
node 2 550 0
node 3 0 300
node 4 275 300
node 5 550 300
node 6 0 600
node 7 275 600
node 8 550 600
node 9 0 900
node 10 275 900
node 11 550 900
node 12 0 0
node 13 550 0
node 14 0 300
node 15 275 300
node 16 275 300
node 17 550 300
node 18 0 300
node 19 550 300
node 20 0 600
node 21 275 600
node 22 275 600
node 23 550 600
node 24 0 600
node 25 550 600
node 26 0 900
node 27 275 900
node 28 275 900
node 29 550 900
node 30 54.14 60
node 31 108.7 120
node 32 163.7 180
node 33 219.13 240
node 34 495.88 60
node 35 441.3 120
node 36 386.3 180
node 37 330.9 240
node 38 54.14 360
node 39 108.7 420
node 40 163.7 480
node 41 219.13 540
node 42 495.86 360
node 43 441.3 420
node 44 386.3 480
node 45 330.9 540
node 46 54.14 660
node 47 108.7 720
node 48 163.7 780
node 49 219.13 840
node 50 495.86 660
node 51 441.3 720
node 52 386.3 780
node 53 330.9 840
## Mass
mass 3 0.0 15200 0.0
mass 5 0.0 15200 0.0
mass 6 0.0 15200 0.0
mass 8 0.0 15200 0.0
mass 9 0.0 10212.5 0.0
mass 11 0.0 10212.5 0.0
## Boundary Condition
fix 1 1 1 0
fix 2 1 1 0
equalDOF 1 12 1 2
equalDOF 2 13 1 2
equalDOF 3 14 1 2
equalDOF 4 15 1 2
equalDOF 4 16 1 2
equalDOF 5 17 1 2
equalDOF 3 18 1 2
equalDOF 5 19 1 2
equalDOF 6 20 1 2
equalDOF 7 21 1 2
equalDOF 7 22 1 2
equalDOF 8 23 1 2
equalDOF 6 24 1 2
equalDOF 8 25 1 2
equalDOF 9 26 1 2
equalDOF 10 27 1 2
equalDOF 10 28 1 2
equalDOF 11 29 1 2
## Materials
set Fy 2400
set E 2100000
set b 0.01
uniaxialMaterial Steel01 1 $Fy $E $b
uniaxialMaterial Elastic 2 $E
## UNP Section
#2UNP100
section fiberSec 1 {
patch quad 1 10 5 -5.0 0.35 -5.0 4.75 -4.15 4.75 -4.15 0.35
patch quad 1 5 5 -5.0 4.75 -5 5.35 -4.15 5.35 -4.15 4.75
patch quad 1 20 5 -4.15 5.35 4.15 5.35 4.15 4.75 -4.15 4.75
patch quad 1 5 5 4.15 5.35 5.0 5.35 5.0 4.75 4.15 4.75
patch quad 1 10 5 4.15 0.35 4.15 4.75 5.0 4.75 5.0 0.35
patch quad 1 10 5 -5.0 -4.75 -5.0 -0.35 -4.15 -0.35 -4.15 -4.75
patch quad 1 5 5 -5.0 -5.35 -5 -4.75 -4.15 -4.75 -4.15 -5.35
patch quad 1 20 5 -4.15 -4.75 4.15 -4.75 4.15 -5.35 -4.15 -5.35
patch quad 1 5 5 4.15 -4.75 5.0 -4.75 5.0 -5.35 4.15 -5.35
patch quad 1 10 5 4.15 -4.75 4.15 -0.35 5.0 -0.35 5.0 -4.75
}
#2UNP80
section fiberSec 2 {
patch quad 1 10 5 -4.0 0.30 -4.0 4.2 -3.2 4.2 -3.2 0.30
patch quad 1 5 5 -4.0 4.2 -4.0 4.8 -3.2 4.8 -3.2 4.2
patch quad 1 20 5 -3.2 4.8 3.2 4.8 3.2 4.2 -3.2 4.2
patch quad 1 5 5 3.2 4.8 4.0 4.8 4.0 4.2 3.2 4.2
patch quad 1 10 5 3.2 0.30 3.2 4.2 4.0 4.2 4.0 0.30
patch quad 1 10 5 -4.0 -4.2 -4.0 -0.30 -3.2 -0.30 -3.2 -4.2
patch quad 1 5 5 -4.0 -4.8 -4.0 -4.2 -3.2 -4.2 -3.2 -4.8
patch quad 1 20 5 -3.2 -4.2 3.2 -4.2 3.2 -4.8 -3.2 -4.8
patch quad 1 5 5 3.2 -4.2 4.0 -4.2 4.0 -4.8 3.2 -4.8
patch quad 1 10 5 3.2 -4.2 3.2 -0.30 4.0 -0.30 4.0 -4.2
}
## BOX Section
#BOX30x30
section fiberSec 3 {
patch quad 1 5 5 -15 13.4 -15 15 -13.4 15 -13.4 13.4
patch quad 1 20 5 -13.4 15 13.4 15 13.4 13.4 -13.4 13.4
patch quad 1 5 5 13.4 15 15 15 15 13.4 13.4 13.4
patch quad 1 5 20 13.4 13.4 15 13.4 15 -13.4 13.4 -13.4
patch quad 1 5 5 13.4 -13.4 15 -13.4 15 -15 13.4 -15
patch quad 1 20 5 -13.4 -13.4 13.4 -13.4 13.4 -15 -13.4 -15
patch quad 1 5 5 -15 -13.4 -13.4 -13.4 -13.4 -15 -15 -15
patch quad 1 20 5 -15 -13.4 -15 13.4 -13.4 13.4 -13.4 -13.4
}
#BOX25x25
section fiberSec 4 {
patch quad 1 5 5 -12.5 11.1 -12.5 12.5 -11.1 12.5 -11.1 11.1
patch quad 1 20 5 -11.1 12.5 11.1 12.5 11.1 11.1 -11.1 11.1
patch quad 1 5 5 11.1 12.5 12.5 12.5 12.5 11.1 11.1 11.1
patch quad 1 5 20 11.1 11.1 12.5 11.1 12.5 -11.1 11.1 -11.1
patch quad 1 5 5 11.1 -11.1 12.5 -11.1 12.5 -12.5 11.1 -12.5
patch quad 1 20 5 -11.1 -11.1 11.1 -11.1 11.1 -12.5 -11.1 -12.5
patch quad 1 5 5 -12.5 -11.1 -11.1 -11.1 -11.1 -12.5 -12.5 -12.5
patch quad 1 20 5 -12.5 -11.1 -12.5 11.1 -11.1 11.1 -11.1 -11.1
}
## I Section
#I-600
section fiberSec 5 {
patch quad 1 20 5 -31.8 -15 -31.8 -0.75 -30 -0.75 -30 -15
patch quad 1 3 5 -31.8 -0.75 -31.8 0.75 -30 0.75 -30 -0.75
patch quad 1 20 5 -31.8 0.75 -31.8 15 -30 15 -30 0.75
patch quad 1 3 30 -30 -0.75 -30 0.75 30 0.75 30 -0.75
patch quad 1 20 5 30 -15 30 -0.75 31.8 -0.75 31.8 -15
patch quad 1 3 5 30 -0.75 30 0.75 31.8 0.75 31.8 -0.75
patch quad 1 20 5 30 0.75 30 15 31.8 15 31.8 0.75
}
#I-560
section fiberSec 6 {
patch quad 1 20 5 -29.8 -13 -29.8 -0.75 -28 -0.75 -28 -13
patch quad 1 3 5 -29.8 -0.75 -29.8 0.75 -28 0.75 -28 -0.75
patch quad 1 20 5 -29.8 0.75 -29.8 13 -28 13 -28 0.75
patch quad 1 3 30 -28 -0.75 -28 0.75 28 0.75 28 -0.75
patch quad 1 20 5 28 -13 28 -0.75 29.8 -0.75 29.8 -13
patch quad 1 3 5 28 -0.75 28 0.75 29.8 0.75 29.8 -0.75
patch quad 1 20 5 28 0.75 28 13 29.8 13 29.8 0.75
}
## Transformation
geomTransf Corotational 1
geomTransf PDelta 2
## Define Elements
element nonlinearBeamColumn 1 1 3 5 3 2;#column
element nonlinearBeamColumn 2 2 5 5 3 2;#column
element nonlinearBeamColumn 3 3 6 5 3 2;#column
element nonlinearBeamColumn 4 5 8 5 3 2;#column
element nonlinearBeamColumn 5 6 9 5 4 2;#column
element nonlinearBeamColumn 6 8 11 5 4 2;#column
#
element nonlinearBeamColumn 7 14 4 5 5 2;#beam
element nonlinearBeamColumn 8 4 17 5 5 2;#beam
element nonlinearBeamColumn 9 20 7 5 5 2;#beam
element nonlinearBeamColumn 10 7 23 5 5 2;#beam
element nonlinearBeamColumn 11 26 10 5 6 2;#beam
element nonlinearBeamColumn 12 10 29 5 6 2;#beam
#
element dispBeamColumn 13 12 30 5 1 1;#brace
element dispBeamColumn 14 30 31 5 1 1;#brace
element dispBeamColumn 15 31 32 5 1 1;#brace
element dispBeamColumn 16 32 33 5 1 1;#brace
element dispBeamColumn 17 33 15 5 1 1;#brace
element dispBeamColumn 18 13 34 5 1 1;#brace
element dispBeamColumn 19 34 35 5 1 1;#brace
element dispBeamColumn 20 35 36 5 1 1;#brace
element dispBeamColumn 21 36 37 5 1 1;#brace
element dispBeamColumn 22 37 16 5 1 1;#brace
element dispBeamColumn 23 18 38 5 1 1;#brace
element dispBeamColumn 24 38 39 5 1 1;#brace
element dispBeamColumn 25 39 40 5 1 1;#brace
element dispBeamColumn 26 40 41 5 1 1;#brace
element dispBeamColumn 27 41 21 5 1 1;#brace
element dispBeamColumn 28 19 42 5 1 1;#brace
element dispBeamColumn 29 42 43 5 1 1;#brace
element dispBeamColumn 30 43 44 5 1 1;#Brace
element dispBeamColumn 31 44 45 5 1 1;#Brace
element dispBeamColumn 32 45 22 5 1 1;#brace
element dispBeamColumn 33 24 46 5 2 1;#brace
element dispBeamColumn 34 46 47 5 2 1;#brace
element dispBeamColumn 35 47 48 5 2 1;#brace
element dispBeamColumn 36 48 49 5 2 1;#brace
element dispBeamColumn 37 49 27 5 2 1;#brace
element dispBeamColumn 38 25 50 5 2 1;#brace
element dispBeamColumn 39 50 51 5 2 1;#brace
element dispBeamColumn 40 51 52 5 2 1;#brace
element dispBeamColumn 41 52 53 5 2 1;#Brace
element dispBeamColumn 42 53 28 5 2 1;#Brace
## Recorder
recorder Node -file pushoverXdisp.dat -time -node 9 -dof 1 disp
recorder Element -file brace1.dat -time -ele 13 localForce
recorder Element -file brace2.dat -time -ele 18 localForce
recorder Element -file brace3.dat -time -ele 23 localForce
recorder Element -file brace4.dat -time -ele 28 localForce
recorder Element -file brace5.dat -time -ele 33 localForce
recorder Element -file brace6.dat -time -ele 38 localForce
recorder Element -file col1.dat -time -ele 1 localForce
recorder Element -file col2.dat -time -ele 2 localForce
recorder Element -file brace20 -time -ele 20 section 2 fiber 5 5 stressStrain
recorder Element -file brace202 -time -ele 20 section 2 fiber 0 5 stressStrain
# Pushover
pattern Plain 2 Linear {
load 3 453 0.0 0.0
load 6 906 0.0 0.0
load 9 1000 0.0 0.0
}
system UmfPack
constraints Plain
test NormDispIncr 1.0e-8 1000 0
algorithm Newton
numberer RCM
analysis Static
integrator DisplacementControl 9 1 0.1 1 0.1 0.1
analyze 500
#set DmaxPush 50
#set IDctrlNode 9
#set DxPush 0.1
#set analysis "STATIC"; # this variable would be passed in
## the following settings do not need to be here if they have been defined in the gravity analysis
#system UmfPack;
#constraints Plain;
#test NormDispIncr 1.0e-5 10 0;
#algorithm Newton;
#numberer RCM; analysis Static;
## ------------
#set PUSHOVER "DispControl"; # run displacement-controlled static pushover analysis
#pattern Plain 2 Linear {
#load $IDctrlNode 100.0 0.0 0.0 0.0 0.0 0.0
#}
#if {$PUSHOVER == "LoadControl"} {
#integrator LoadControl 0.2 4 0.1 2.0
#set Nsteps 20
#} elseif {$PUSHOVER == "DispControl"} {
#integrator DisplacementControl $IDctrlNode 1 $DxPush 1 $DxPush $DxPush
#set Nsteps [expr int($DmaxPush/$DxPush)]
#} else {
#puts stderr "Invalid PUSHOVER option"
#}
##
#set Nsteps [expr int($DmaxPush/$DxPush)]
#set ok [analyze $Nsteps]
## if analysis fails, try the following, performance is slowed inside this loop
#if {$ok != 0} {
#set ok 0;
#set maxU $DmaxPush
#set controlDisp 0.0;
#test NormDispIncr 1.0e-8 20 0
#while {$controlDisp < $maxU && $ok == 0} {
#set ok [analyze 1]
#set controlDisp [nodeDisp $IDctrlNode 1]
#if {$ok != 0} {
#puts "Trying Newton with Initial Tangent .."
#test NormDispIncr 1.0e-8 1000 1
#algorithm Newton -initial
#set ok [analyze 1]
#test NormDispIncr 1.0e-8 20 0
#algorithm Newton
#}
#if {$ok != 0} {
#puts "Trying Broyden .."
#algorithm Broyden 8
#set ok [analyze 1]
#algorithm Newton
#}
#if {$ok != 0} {
#puts "Trying NewtonWithLineSearch .."
#algorithm NewtonLineSearch .8
#set ok [analyze 1]
#algorithm Newton
#}
#}; # end while loop
#}; # end original if $ok!=0 loop
#if {$ok != 0} {
#puts "DispControl Analysis FAILED"
#puts "Do you wish to continue y/n ?"; # include if want to pause at analysis failure
#gets stdin ans; # not recommended in parameter study
#if {$ans == "n"} done; # as it interrupts batch file
#} else {
#puts "DispControl Analysis SUCCESSFUL"
#}
Code: Select all