A reinforced concrete cross-section is modeled using a fiber section, and a moment-curvature analysis is performed.
This example performs a moment-curvature analysis of a reinforced concrete section which is represented by a fiber discretization. Because we are only interested in the response quantities of the cross section, a zero-length element is used to wrap the cross section.
The figure below shows the fiber discretization for the section.
The dimensions of the fiber section are shown below. The section depth is 24 inches, the width is 15 inches, and there are 1.5 inches of cover around the entire section.
Strong axis bending is about the section -axis. The section is separated into confined and unconfined concrete regions, for which separate fiber discretizations will be generated. Reinforcing steel bars will be placed around the boundary of the confined and unconfined regions. The fiber discretization for the section is shown below.
A fiber section is created by grouping various patches and layers:
Note in Python you must pass the section tag when calling
patch
andlayer
The model consists of two nodes and a ZeroLengthSection
element.
A depiction of the element geometry is shown in
figure
zerolength.
The drawing on the left of
figure
zerolength shows an edge view of the element where the
local
-axis, as seen on the right side of the figure and in
figure
rcsection0, is coming out of the page. Node 1 is completely
restrained, while the applied loads act on node 2.
A compressive axial load,
, of
kips is applied to the section during the moment-curvature analysis.
For the zero length element, a section discretized by concrete and steel is created to represent the resultant behavior. UniaxialMaterial objects are created to define the fiber stress-strain relationships: confined concrete in the column core, unconfined concrete in the column cover, and reinforcing steel.
The section analysis is performed by the procedure moment_curvature
defined in the file MomentCurvature.tcl
for
Tcl, and Example2.1.py
for Python. The arguments to the procedure
are the tag secTag
of the section to be analyzed,
the axial load axialLoad
applied to the
section, the maximum curvature maxK
, and the number numIncr
of displacement
increments to reach the maximum curvature.
The output for the moment-curvature analysis will be the section forces and deformations, stored in the file section1.out. In addition, an estimate of the section yield curvature is printed to the screen.
In the moment_curvature
procedure, the nodes are defined to be at the same geometric
location and the ZeroLengthSection element is used.
A single load step
is 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.
The load factor is the moment, and the nodal rotation is the curvature of the element with zero thickness.
The expected output is:
Estimated yield curvature: 0.000126984126984
The file section1.out
contains for each committed state a line with the
load factor and the rotation at node 3
.
This can be used to plot the moment-curvature relationships shown below.