Reinforced Concrete Frame Pushover Analysis: Difference between revisions
(Created page with 'In this example the reinforced concrete portal frame which has undergone the gravity load analysis will now be subjected to a pushover analysis. Files Required: #[[Media:RCFrame...') |
No edit summary |
||
Line 1: | Line 1: | ||
In this example the reinforced concrete portal frame which has undergone the gravity load analysis | __NOTOC__ | ||
In this example the reinforced concrete portal frame which has undergone the gravity load analysis is now be subjected to a pushover analysis. | |||
Files Required: | Files Required: | ||
#[[Media:RCFrameGravity.tcl | RCFrameGravity.tcl]] | #[[Media:RCFrameGravity.tcl | RCFrameGravity.tcl]] | ||
#[[Media:RCFramePushover.tcl | RCFramePushover.tcl]] | #[[Media:RCFramePushover.tcl | RCFramePushover.tcl]] | ||
NOTES: | |||
This example demonstrates the use of Tcl programming in order to perform the nonlinear analysis. When dealing with nonlinear problems, the models do not always converge for the analysis options of choice. For this reason it is somtimes | |||
necessary to step through the analysis, checking for convergence at each step and trying different options if the analysis fails at any particular step. | |||
==== Model ==== | ==== Model ==== | ||
Line 10: | Line 17: | ||
<pre> | <pre> | ||
# Do operations of | # Do operations of RCFrameGravity by sourcing in the tcl file | ||
source RCFrameGravity.tcl | source RCFrameGravity.tcl | ||
Revision as of 23:19, 25 April 2011
In this example the reinforced concrete portal frame which has undergone the gravity load analysis is now be subjected to a pushover analysis.
Files Required:
NOTES: This example demonstrates the use of Tcl programming in order to perform the nonlinear analysis. When dealing with nonlinear problems, the models do not always converge for the analysis options of choice. For this reason it is somtimes necessary to step through the analysis, checking for convergence at each step and trying different options if the analysis fails at any particular step.
Model
The RCFrameGravity script is first run using the "source" command. The model is now under gravity and the pseudo-time in the model is 1.0 [= 10 * 0.1 load steps]. The existing loasd in the model are now set to constant and the time is reset to 0.0. A new load pattern with a linear time series and horizontal loads acting at nodes 3 and 4 is then added to the model.
# Do operations of RCFrameGravity by sourcing in the tcl file source RCFrameGravity.tcl # Set the gravity loads to be constant & reset the time in the domain loadConst -time 0.0 # Define reference lateral loads for Pushover Analysis # ---------------------------------------------------- # Set some parameters set H 10.0; # Reference lateral load # Set lateral load pattern with a Linear TimeSeries pattern Plain 2 "Linear" { # Create nodal loads at nodes 3 & 4 # nd FX FY MZ load 3 $H 0.0 0.0 load 4 $H 0.0 0.0 }
Analysis
For the Pushover analysis we will use a displacement control strategy. In displacement control we specify a incremental displacement that we would like to see at a nodal dof and the strategy iterates to determine what the pseudo-time (load factor if using a linear time series) is required to impose that incremental displacement. For this example, at each new step in the analysis the integrator will determine the load increment necessary to increment the horizontal displacement at node 3 by 0.1 in. A target displacement of 6.0 inches is sought.
As the example is nonlinear and nonlinear models do not always converge the analysis is carried out inside a while loop. The loop will either result in the model reaching it's target displacement or it will fail to do so. At each step a single analysis step is performed. If the analysis step fails using standard Newton solution algorithm, another strategy using initial stiffness iterations will be attempted.
set maxU 15.0; # Max displacement # Perform the analysis set ok 0 set currentDisp 0.0 while {$ok == 0 && $currentDisp < $maxU} { set ok [analyze 1] # if the analysis fails try initial tangent iteration if {$ok != 0} { puts "regular newton failed .. lets try an initail stiffness for this step" test NormDispIncr 1.0e-12 1000 algorithm ModifiedNewton -initial set ok [analyze 1] if {$ok == 0} {puts "that worked .. back to regular newton"} test NormDispIncr 1.0e-12 10 algorithm Newton } } }