예제 #1
0
As = 0.60;     # area of no. 7 bars

# some variables derived from the parameters
y1 = colDepth/2.0
z1 = colWidth/2.0

ops.section("Fiber", 1)
# Create the concrete core fibers
ops.patch("rect", 1, 10, 1, cover-y1, cover-z1, y1-cover, z1-cover)
# Create the concrete cover fibers (top, bottom, left, right)
ops.patch("rect", 2, 10, 1, -y1, z1-cover, y1, z1)
ops.patch("rect", 2, 10, 1, -y1, -z1, y1, cover-z1)
ops.patch("rect", 2,  2, 1, -y1, cover-z1, cover-y1, z1-cover)
ops.patch("rect", 2,  2, 1,  y1-cover, cover-z1, y1, z1-cover)
# Create the reinforcing fibers (left, middle, right)
ops.layer("straight", 3, 3, As, y1-cover, z1-cover, y1-cover, cover-z1)
ops.layer("straight", 3, 2, As, 0.0, z1-cover, 0.0, cover-z1)
ops.layer("straight", 3, 3, As, cover-y1, z1-cover, cover-y1, cover-z1)
# define beam integration
np = 5;  # number of integration points along length of element
ops.beamIntegration("Lobatto", 1, 1, np)

# Define column elements
# ----------------------
# Geometry of column elements
#                       tag 
ops.geomTransf("PDelta", 1)

# Create the coulumns using Beam-column elements
#                   tag ndI ndJ transfTag integrationTag
eleType = "forceBeamColumn"
예제 #2
0
E = 30000.0;    # Young's modulus
#                              tag fy  E0  b
ops.uniaxialMaterial("Steel01", 3, fy, E, 0.015)

# Define cross-section for nonlinear columns
# ------------------------------------------
# Interior column section
ops.section("Fiber", 1)
#                mat nfIJ nfJK   yI     zI     yJ     zJ     yK     zK     yL     zL
ops.patch("quad", 2,   1,  12, -11.5,  10.0, -11.5, -10.0,  11.5, -10.0,  11.5,  10.0)
ops.patch("quad", 1,   1,  14, -13.5, -10.0, -13.5, -12.0,  13.5, -12.0,  13.5, -10.0)
ops.patch("quad", 1,   1,  14, -13.5,  12.0, -13.5,  10.0,  13.5,  10.0,  13.5,  12.0)
ops.patch("quad", 1,   1,   2, -13.5,  10.0, -13.5, -10.0, -11.5, -10.0, -11.5,  10.0)
ops.patch("quad", 1,   1,   2,  11.5,  10.0,  11.5, -10.0,  13.5, -10.0,  13.5,  10.0)
#                    mat nBars area    yI    zI     yF    zF
ops.layer("straight", 3,   6,  1.56, -10.5,  9.0, -10.5, -9.0)
ops.layer("straight", 3,   6,  1.56,  10.5,  9.0,  10.5, -9.0)
# define beam integration
np = 4;  # number of integration points along length of element
ops.beamIntegration("Lobatto", 1, 1, np)

# Exterior column section
ops.section("Fiber", 2)
ops.patch("quad", 2, 1, 10, -10.0,  10.0, -10.0, -10.0,  10.0, -10.0,  10.0,  10.0)
ops.patch("quad", 1, 1, 12, -12.0, -10.0, -12.0, -12.0,  12.0, -12.0,  12.0, -10.0)
ops.patch("quad", 1, 1, 12, -12.0,  12.0, -12.0,  10.0,  12.0,  10.0,  12.0,  12.0)
ops.patch("quad", 1, 1,  2, -12.0,  10.0, -12.0, -10.0, -10.0, -10.0, -10.0,  10.0)
ops.patch("quad", 1, 1,  2,  10.0,  10.0,  10.0, -10.0,  12.0, -10.0,  12.0,  10.0)
ops.layer("straight", 3, 6, 0.79, -9.0, 9.0, -9.0, -9.0)
ops.layer("straight", 3, 6, 0.79,  9.0, 9.0,  9.0, -9.0)
# define beam integration
예제 #3
0
# area of no. 7 bars

# some variables derived from the parameters
y1 = colDepth / 2.0
z1 = colWidth / 2.0

ops.section("Fiber", 1)
# Create the concrete core fibers
ops.patch("rect", 1, 10, 1, cover - y1, cover - z1, y1 - cover, z1 - cover)
# Create the concrete cover fibers (top, bottom, left, right)
ops.patch("rect", 2, 10, 1, -y1, z1 - cover, y1, z1)
ops.patch("rect", 2, 10, 1, -y1, -z1, y1, cover - z1)
ops.patch("rect", 2, 2, 1, -y1, cover - z1, cover - y1, z1 - cover)
ops.patch("rect", 2, 2, 1, y1 - cover, cover - z1, y1, z1 - cover)
# Create the reinforcing fibers (left, middle, right)
ops.layer("straight", 3, 3, As, y1 - cover, z1 - cover, y1 - cover, cover - z1)
ops.layer("straight", 3, 2, As, 0.0, z1 - cover, 0.0, cover - z1)
ops.layer("straight", 3, 3, As, cover - y1, z1 - cover, cover - y1, cover - z1)

# Estimate yield curvature
# (Assuming no axial load and only top and bottom steel)
d = colDepth - cover
# d -- from cover to rebar
epsy = fy / E
# steel yield strain
Ky = epsy / (0.7 * d)

# Print estimate to standard output
print("Estimated yield curvature: ", Ky)

# Set axial load
예제 #4
0
ops.uniaxialMaterial("Steel01", 3, fy, E, 0.015)

# Define cross-section for nonlinear columns
# ------------------------------------------
# Interior column section
ops.section("Fiber", 1)
#                mat nfIJ nfJK   yI     zI     yJ     zJ     yK     zK     yL     zL
ops.patch("quad", 2, 1, 12, -11.5, 10.0, -11.5, -10.0, 11.5, -10.0, 11.5, 10.0)
ops.patch("quad", 1, 1, 14, -13.5, -10.0, -13.5, -12.0, 13.5, -12.0, 13.5,
          -10.0)
ops.patch("quad", 1, 1, 14, -13.5, 12.0, -13.5, 10.0, 13.5, 10.0, 13.5, 12.0)
ops.patch("quad", 1, 1, 2, -13.5, 10.0, -13.5, -10.0, -11.5, -10.0, -11.5,
          10.0)
ops.patch("quad", 1, 1, 2, 11.5, 10.0, 11.5, -10.0, 13.5, -10.0, 13.5, 10.0)
#                    mat nBars area    yI    zI     yF    zF
ops.layer("straight", 3, 6, 1.56, -10.5, 9.0, -10.5, -9.0)
ops.layer("straight", 3, 6, 1.56, 10.5, 9.0, 10.5, -9.0)
# define beam integration
np = 4
# number of integration points along length of element
ops.beamIntegration("Lobatto", 1, 1, np)

# Exterior column section
ops.section("Fiber", 2)
ops.patch("quad", 2, 1, 10, -10.0, 10.0, -10.0, -10.0, 10.0, -10.0, 10.0, 10.0)
ops.patch("quad", 1, 1, 12, -12.0, -10.0, -12.0, -12.0, 12.0, -12.0, 12.0,
          -10.0)
ops.patch("quad", 1, 1, 12, -12.0, 12.0, -12.0, 10.0, 12.0, 10.0, 12.0, 12.0)
ops.patch("quad", 1, 1, 2, -12.0, 10.0, -12.0, -10.0, -10.0, -10.0, -10.0,
          10.0)
ops.patch("quad", 1, 1, 2, 10.0, 10.0, 10.0, -10.0, 12.0, -10.0, 12.0, 10.0)