# Set axial load set P -180
set mu 15; # Target ductility for analysis set numIncr 100; # Number of analysis increments
# Call the section analysis procedure
MomentCurvature 1 $P [expr $Ky*$mu] $numIncr
Moment Curvature Procedure
The Tcl procedure to perform the moment-curvature analysis follows. The procedure takes as input the tag of the section to be analyzed, the axial load, P, to be applied, the max curvature to be evaluated and the number of iterations to achieve this max curavature. The procedure first creates the model which consists of two nodes, boundary conditions, and a ZeroLengthSection element. A depiction of the geometry is as shown in the top most figure above. The image on the left shows an edge view of the element, with local z-axis coming out of the page. Node 1 is completely restrained, with the applied loads acting at Node 2. An axial load, P, is applied to the section during the moment curvature analysis.
After the model has been created, the analysis is performed. A single load step is first performed for the axial load, then the integrator is changed to DisplacementControl to impose nodal displacements,
which map directly to section deformations. A reference moment of 1.0 is defined in a Linear time series. For this reference moment, the DisplacementControl integrator will determine the load factor needed to apply the imposed displacement. A node recorder is defined to
track the momentcurvature results. The load factor is the moment, and the nodal rotation is in fact the curvature of the element with zero thickness.
proc MomentCurvature {secTag axialLoad maxK {numIncr 100} } { # Define two nodes at (0,0) node 1 0.0 0.0 node 2 0.0 0.0
# Fix all degrees of freedom except axial and bending fix 1 1 1 1 fix 2 0 1 0 # Define element # tag ndI ndJ secTag element zeroLengthSection 1 1 2 $secTag # Create recorder recorder Node -file section$secTag.out -time -node 2 -dof 3 disp # Define constant axial load pattern Plain 1 \ load 2 $axialLoad 0.0 0.0 } # Define analysis parameters integrator LoadControl 0.0 system SparseGeneral -piv; # Overkill, but may need the pivoting! test NormUnbalance 1.0e-9 10 numberer Plain constraints Plain algorithm Newton analysis Static # Do one analysis for constant axial load analyze 1 # Define reference moment pattern Plain 2 \ load 2 0.0 0.0 1.0 } # Compute curvature increment set dK [expr $maxK/$numIncr] # Use displacement control at node 2 for section analysis integrator DisplacementControl 2 3 $dK # Do the section analysis analyze $numIncr }
Results
When you run this script, you should see the following printed to the screen:
In addition, your directory should contain the following a file
section1.out. A plot of this file using the following matlab commands load section1.out
plot(section1(:,2),sections1(:,1) xlabel(\ylabel(\
will produce the following:
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库用OpenSees进行截面弯矩-曲率分析(2)在线全文阅读。
相关推荐: