用OpenSees进行截面弯矩-曲率分析,分析结果可用于SAP2000自定义铰属性
Moment Curvature Example
From OpenSeesWiki
This next example covers the moment-curvature analysis of a rectangular reinforced concrete section. In this example a Zero
Length element with the fiber discretization of the cross section is used. In addition to providing understanding as to the creation of a fiber section, the example introduces Tcl language features such as variable and command substitution, expression evaluation and the use of procedures.
Here is the file: MomentCurvature.tcl
NOTE:
1. The lines in the dashed boxes are lines that appear in the
input file.
2. all lines that begin with # are comments, they are ignored by
the program (interpreter) but are useful for documenting the code. When creating your own input scripts you are highly encouraged to use comments.
Tcl Basics
In the tcl script that is to be presented, variables, expressions and procedures are used.
A variable is a symbolic name given to some known or unknown quantity or information, for the purpose of allowing the name to be used independently of the information it represents. In Tcl a variable once set (with the set command) can then be subsequently using the syntax of $variable. The following tcl example sets the variable v to be 2.0, and then prints to the screen a message saying what the value of v is.
set v 3.0
puts \
Expressions can be evaluated using the expr command. When using the expr command, most mathematical functions found in any programming language can be used, e.g. sin(), cos(), max(), min(), abs(),... It is also typical to combine an expression command, with a set command. To do this, the expr command is enclosed in square brackets []'s. The following example demonstrates the setting of a variable v to be 3.0, the setting of another variable sum to be the result of adding whatever the value of the variable v is to 2.0, and finally the
printing to the screen of a message saying what the current value of sum is.
Typically, the result of an expression is then set to another
variable. A simple example to add 2.0 to a parameter and print the result is shown below:
set v 3.0
set sum [expr $v + 2.0]
puts \
MomentCurvature.tcl Script
The file contains 2 parts. The first part contains a procedure named MomentCurvature, and the second part contains the creation of the section and the subsequent calling of the procedure. NOTES:
1. Typically useful procedures such as MomentCurvature would be
placed in a separate file. This is done so that other scripts
can also use them. It is only placed in the same file here to limit the number of downloads for the reader of this article. 2. In the referenced file, the procedure proceeds the calling of
the procedure. It must always be thus. In this article we discuss the section generation first.
Section Definition
For the zero length element, a section discretized by concrete and steel is created to represent the behaviour. UniaxialMaterial objects are created which define the fiber stress-strain relationship's. There is confined concrete in the core, unconfined concrete in the cover region, and reinforcing steel.
The dimension of the section are as shown in the figure. The section depth is 24 inches, the width 15 inches, and there is 1.5inch cover all around. Strong axis bending is about the z-axis. The section is separated into confined and unconfined concrete regions, for which separate discretizations will be generated, Reinforcing steel is
placed around the boundary of th confined and unconfined regions. The fiber discretization is shown below:
The following are the commands that generate the section and perform the moment curvature analysis. The model and analysis commands are contained in the MomentCurvature procedure. These are contained in a seperate file which are \# units: kip, in
# Remove existing model wipe
# Create ModelBuilder (with two-dimensions and 3 DOF/node) model BasicBuilder -ndm 2 -ndf 3
# 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
set fy 60.0; # Yield stress set E 30000.0; # Young's modulus
# tag fy E0 b uniaxialMaterial Steel01 3 $fy $E 0.01
# ------------------------------------------
# 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]
# Define cross-section for nonlinear columns
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]
}
# Estimate yield curvature
# (Assuming no axial load and only top and bottom steel) set d [expr $colDepth-$cover] ;# d -- from cover to rebar set epsy [expr $fy/$E] ;# steel yield strain set Ky [expr $epsy/(0.7*$d)]
# Print estimate to standard output puts \
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库用OpenSees进行截面弯矩-曲率分析在线全文阅读。
相关推荐: