Pushover of a Braced frame

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

Moderators: silvia, selimgunay, Moderators

Post Reply
Sanaz Ahlehagh
Posts: 5
Joined: Mon Oct 23, 2006 1:43 pm
Location: Tehran

Pushover of a Braced frame

Post by Sanaz Ahlehagh » Mon Dec 17, 2007 2:27 am

Hello
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"                                              
#}                                                                                   

amin_asareh
Posts: 15
Joined: Sun Dec 17, 2006 2:21 am
Location: kntu university of technology

Post by amin_asareh » Mon Dec 17, 2007 5:23 am

I think the results you got from the analysis is right. the more displace ment you put on the frame the base shear gets larger. it is better to use Steel02 material with the corotational transformation.
ASAREH

Sanaz Ahlehagh
Posts: 5
Joined: Mon Oct 23, 2006 1:43 pm
Location: Tehran

section aggregator

Post by Sanaz Ahlehagh » Mon Dec 31, 2007 5:11 am

In the above model I have not used section aggregator for beams, if I do so I will have convergency problems with the pushover analysis, and brace forces will not be correctly predicted.
In section aggregator I just add elastic shear to the fiber section.
Why this happens?

pejman_opensees
Posts: 123
Joined: Tue Oct 31, 2006 10:40 am
Location: k.n.toosi University

Post by pejman_opensees » Fri Jan 04, 2008 11:29 pm

Flat-lining or descending branch of a push over curve is not modeled by defining ultimate strength of materials. plasticitiy and buckling of braces should be of major concern. Moreover, why are you trying to use section aggregator for 2d nonlinear beam-column? Is there a particular reason?
Pejman

Sanaz Ahlehagh
Posts: 5
Joined: Mon Oct 23, 2006 1:43 pm
Location: Tehran

Post by Sanaz Ahlehagh » Sat Jan 05, 2008 2:15 am

no there is no special reason, i just want to know the difference! As far as I know, with fiber section only moment and axial loads are considered and using a section aggregator I can also consider the shear in beams. I do not know why it is ignored in most of the example models?!
How can I define that this is the ultimate strength of my material and if you get to this stress then the brace is lost! I think the pushover curve extends too much and this is not really the case. You said that this part can not be predicted with defining the ultimate strength? Or it can not be predicted at all? If it can be predicted then how?
(sorry for too many questions!)

pejman_opensees
Posts: 123
Joined: Tue Oct 31, 2006 10:40 am
Location: k.n.toosi University

Post by pejman_opensees » Thu Jan 10, 2008 3:15 am

you are quite right about adding a shear force-deformation relationship to obtain more accurate results. But you need to verify the performance of your analytical model with a test result to make sure if the added force-deformation relatioship is correct or not.
Flatlining or collapse of structure usually takes place when buckling& yielding and soft story mechanisms are encountered. These phenomena are easily modeled through the use of available materials&elements and transformation in Opensees. But anyway if u want to model fracture and ultimate strain of steel or any other material, fatigue or hysteritic material are able to carry out this task for you.
I hope it will work :)
Pejman

far
Posts: 1
Joined: Wed Mar 30, 2011 12:31 am
Location: ukm

Re: Pushover of a Braced frame

Post by far » Wed Mar 30, 2011 12:58 am

hi friend
i am farzad . i am graguated from amir kabir univesity . i do my phd now . i am intrested in your ms paper about reduced section in bracing. please let me have a copy of our paper if possible .
my email address is far_jod@yahoo.com.
best regards

Post Reply