|
|
(7 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| __NOTOC__ | | __NOTOC__ |
| This next example covers the nonlinear analsyis of a reinforced concrete frame. The force based beam-column element with a fiber
| |
| discretization is used in the model. The example is contained in three separate files:
| |
| #RCFrameGravity.tcl - Defines the model and performs a gravity load analysis on the model
| |
| #RCFramePushover.tcl - Subjects the portal frame of RCFrameGravity to a pushover analysis.
| |
| #RCFrameUniformExcitation.tcl - Subjects the portal frame of RCFrameGravity to a uniform excitation.
| |
|
| |
|
| In addition to the opensees modelling, these examples demonstrate Tcl language features such as variables, command substitution, expression evaluation, the if-then-else control structure, the use of procedures and the source command.
| | This next set of examples covers the nonlinear analysis of a reinforced concrete frame. We look at the gravity load analysis of the frame in the first example, a pushover analysis of this gravity frame in the second, and an earthquake analysis in the third example. |
| | | #[[Reinforced Concrete Frame Gravity Analysis | Reinforced Concrete Portal Gravity Analysis]] |
| === RCFrameGravity ===
| | #[[Reinforced Concrete Frame Pushover Analysis | Reinforced Concrete Portal Pushover Analysis]] |
| | | #[[Reinforced Concrete Frame Earthquake Analysis | Reinforced Concrete Portal Earthquake Analysis]] |
| The example subjects the reinforced concrete portal frame, shown below, to gravity loads.
| |
| | |
| Here is the file: [[Media:RCFrameGravity.tcl | RCFrameGravity.tcl]]
| |
| | |
| Model
| |
| | |
| A nonlinear model of the portal frame is created, The model consists of four nodes, two force beam column elements to model the columns and an elastic beam (3) to model the beam. For the column elements, a section, identical to the one use in the previous example, is created using steel and concrete fibers. The bottom two nodes are fixed and a single load pattern with a Linear time series is created. Two vertical loads acting at node 3 and 4 are added to this pattern.
| |
| | |
| [[Image:RCFrame.png|link=RC Frame]] | |
| | |
| <pre>
| |
| # Create ModelBuilder (with two-dimensions and 3 DOF/node)
| |
| model basic -ndm 2 -ndf 3
| |
| | |
| # Create nodes
| |
| # ------------ | |
| | |
| # Set parameters for overall model geometry
| |
| set width 360
| |
| set height 144
| |
| | |
| # Create nodes
| |
| # tag X Y
| |
| node 1 0.0 0.0
| |
| node 2 $width 0.0
| |
| node 3 0.0 $height
| |
| node 4 $width $height
| |
| | |
| | |
| # Fix supports at base of columns
| |
| # tag DX DY RZ
| |
| fix 1 1 1 1
| |
| fix 2 1 1 1
| |
| | |
| # Define materials for nonlinear columns# ------------------------------------------
| |
| # CONCRETE tag f'c ec0 f'cu ecu
| |
| # Core concrete (confined)
| |
| uniaxialMaterial Concrete01 1 -6.0 -0.004 -5.0 -0.014
| |
| | |
| # Cover concrete (unconfined)
| |
| uniaxialMaterial Concrete01 2 -5.0 -0.002 0.0 -0.006
| |
| | |
| # STEEL
| |
| # Reinforcing steel
| |
| # tag fy E0 b
| |
| uniaxialMaterial Steel01 3 60.0 3000.0 0.01
| |
| | |
| # Define cross-section for nonlinear columns
| |
| # ------------------------------------------
| |
| | |
| # set some paramaters
| |
| set colWidth 15
| |
| set colDepth 24
| |
| | |
| set cover 1.5
| |
| | |
| set As 0.60; # area of no. 7 bars
| |
| | |
| # some variables derived from the parameters
| |
| set y1 [expr $colDepth/2.0]
| |
| set z1 [expr $colWidth/2.0]
| |
| | |
| section Fiber 1 {
| |
| | |
| # Create the concrete core fibers
| |
| patch rect 1 10 1 [expr $cover-$y1] [expr $cover-$z1] [expr $y1-$cover] [expr $z1-$cover]
| |
| | |
| # Create the concrete cover fibers (top, bottom, left, right)
| |
| patch rect 2 10 1 [expr -$y1] [expr $z1-$cover] $y1 $z1
| |
| patch rect 2 10 1 [expr -$y1] [expr -$z1] $y1 [expr $cover-$z1]
| |
| patch rect 2 2 1 [expr -$y1] [expr $cover-$z1] [expr $cover-$y1] [expr $z1-$cover]
| |
| patch rect 2 2 1 [expr $y1-$cover] [expr $cover-$z1] $y1 [expr $z1-$cover]
| |
| | |
| # Create the reinforcing fibers (left, middle, right)
| |
| layer straight 3 3 $As [expr $y1-$cover] [expr $z1-$cover] [expr $y1-$cover] [expr $cover-$z1]
| |
| layer straight 3 2 $As 0.0 [expr $z1-$cover] 0.0 [expr $cover-$z1]
| |
| layer straight 3 3 $As [expr $cover-$y1] [expr $z1-$cover] [expr $cover-$y1] [expr $cover-$z1]
| |
| | |
| }
| |
| | |
| # Define column elements
| |
| # ----------------------
| |
| | |
| # Geometry of column elements
| |
| # tag
| |
| geomTransf Linear 1
| |
| | |
| # Number of integration points along length of element
| |
| set np 5
| |
| | |
| set eleType forceBeamColumn; # forceBeamColumn od dispBeamColumn will work
| |
| | |
| # Create the coulumns using Beam-column elements
| |
| # tag ndI ndJ nsecs secID transfTag
| |
| element $eleType 1 1 3 $np 1 1
| |
| element $eleType 2 2 4 $np 1 1
| |
| | |
| # Define beam elment
| |
| # -----------------------------
| |
| | |
| # Geometry of column elements
| |
| # tag
| |
| geomTransf Linear 2
| |
| | |
| # Create the beam element
| |
| # tag ndI ndJ A E Iz transfTag
| |
| element elasticBeamColumn 3 3 4 360 4030 8640 2
| |
| | |
| | |
| # Define gravity loads
| |
| # --------------------
| |
| | |
| # Set a parameter for the axial load
| |
| set P 180; # 10% of axial capacity of columns
| |
| | |
| # Create a Plain load pattern with a Linear TimeSeries
| |
| pattern Plain 1 "Linear" {
| |
| | |
| # Create nodal loads at nodes 3 & 4
| |
| # nd FX FY MZ
| |
| load 3 0.0 [expr -$P] 0.0
| |
| load 4 0.0 [expr -$P] 0.0
| |
| }
| |
| </pre>
| |