# Reinforced Concrete Frame Gravity Analysis
__NOTOC__
This example subjects the reinforced concrete portal frame, shown below, to gravity loads.
Here is the file: RCFrameGravity.tcl
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 used in Moment Curvature 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.
<pre>
model basic -ndm 2 -ndf 3
set width 360 set height 144
node 1 0.0 0.0 node 2 $width 0.0 node 3 0.0 $height node 4 $width $height
fix 1 1 1 1 fix 2 1 1 1
uniaxialMaterial Concrete01 1 -6.0 -0.004 -5.0 -0.014
uniaxialMaterial Concrete01 2 -5.0 -0.002 0.0 -0.006
uniaxialMaterial Steel01 3 60.0 3000.0 0.01
set colWidth 15 set colDepth 24
set cover 1.5
set As 0.60; # area of no. 7 bars
set y1 [expr $colDepth/2.0] set z1 [expr $colWidth/2.0]
section Fiber 1 {
patch rect 1 10 1 [expr $cover-$y1] [expr $cover-$z1] [expr $y1-$cover] [expr $z1-$cover]
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]
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]
}
geomTransf Linear 1
set np 5
set eleType forceBeamColumn; # forceBeamColumn od dispBeamColumn will work
element $eleType 1 1 3 $np 1 1 element $eleType 2 2 4 $np 1 1
geomTransf Linear 2
element elasticBeamColumn 3 3 4 360 4030 8640 2
set P 180; # 10% of axial capacity of columns
timeSeries Linear 1 pattern Plain 1 1 {
load 3 0.0 [expr -$P] 0.0 load 4 0.0 [expr -$P] 0.0 } </pre>
This model contains material non-linearities, so a nonlinear solution algorithm of type Newton is used. The solution algorithm requires a convergence test to determine if convergence at each trial step has been achieved. For this example we will use the norm of the displacement increment vector. Also for this nonlinear example, we will apply the loads gradually in 0.1 incremental steps using a LoadControl strategy until the full load is applied. The eauations will be stored and solved using a banded general storae scheme and solver. To minimise the band of this solver, a reverse Cuthill-McKee (RCM) numbering scheme will be used. The constrains are enforced using the Plain constraint handler.
Once the static analysis is created, 10 analysis steps are needed to bring the full gravity load to bear on the model. (10 * 0.1 = 1.0) <pre>
system BandGeneral
constraints Transformation
numberer RCM
test NormDispIncr 1.0e-12 10 3
algorithm Newton
integrator LoadControl 0.1
analysis Static
analyze 10 </pre>
For output, we will look at the displacements at nodes 3 and 4 and the state of element 1.
<pre>
print node 3 4
print ele 1 </pre>
When the script is run the following will appear.