Exemplo n.º 1
0
ops.uniaxialMaterial("Steel01", 3, fy, E, 0.01)

# Define cross-section for nonlinear columns
# ------------------------------------------
# set some parameters
colWidth = 15.0
colDepth = 24.0
cover = 1.5
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)

# Estimate yield curvature
# (Assuming no axial load and only top and bottom steel)
d = colDepth - cover
Exemplo n.º 2
0
#                              tag fy  E0  b
ops.uniaxialMaterial("Steel01", 3, fy, E, 0.01)

# Define cross-section for nonlinear columns
# ------------------------------------------
# set some parameters
colWidth = 15.0
colDepth = 24.0 
cover = 1.5
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)
Exemplo n.º 3
0
# ----------------------------
# Start of model generation
# ----------------------------
# remove existing model
ops.wipe()

# create ModelBuilder (with three-dimensions and 6 DOF/node)
ops.model("BasicBuilder", "-ndm",3, "-ndf",6)

# set default units
ops.defaultUnits("-force", "kip", "-length", "in", "-time", "sec", "-temp", "F")

# Define the section
# ------------------
#                                       secTag  E     nu     h    rho
ops.section("ElasticMembranePlateSection", 1, 3.0E3, 0.25, 1.175, 1.27)

# Define geometry
# ---------------
# these should both be even
nx = 8
ny = 2

# loaded nodes
mid   = int(((nx+1)*(ny+1) + 1)/2)
side1 = int((nx+2)/2) 
side2 = int((nx+1)*(ny+1) - side1 + 1)

# generate the nodes and elements
#          numX numY startNode startEle eleType eleArgs? coords?
ops.block2D(nx, ny, 1, 1,
Exemplo n.º 4
0
ops.element(eleType, 11, 12, 17, 1, colSec)
ops.element(eleType, 12, 13, 18, 1, colSec)

# Define beam elements
# --------------------
# Define material properties for elastic beams
# Using beam depth of 24 and width of 18
Abeam = 18.0*24.0
# "Cracked" second moments of area
Ibeamzz = 0.5*1.0/12.0*18.0*pow(24.0,3)
Ibeamyy = 0.5*1.0/12.0*24.0*pow(18.0,3)
beamSec = 2

# Define elastic section for beams
#                       tag     E    A      Iz       Iy     G    J
ops.section("Elastic", beamSec, Ec, Abeam, Ibeamzz, Ibeamyy, GJ, 1.0)

# Geometric transformation for beams
ops.geomTransf("Linear", 2, 1.0, 1.0, 0.0)

# Number of beam integration points (sections)
np = 3
ops.beamIntegration("Lobatto", beamSec, beamSec, np)

# Create the beam elements
eleType = "forceBeamColumn"
#                   tag ndI ndJ transfTag integrationTag
ops.element(eleType, 13, 5, 6, 2, beamSec)
ops.element(eleType, 14, 6, 7, 2, beamSec)
ops.element(eleType, 15, 7, 8, 2, beamSec)
ops.element(eleType, 16, 8, 5, 2, beamSec)
Exemplo n.º 5
0
ops.node(1, 0, 0)
ops.node(2, 0, 144)
ops.node(3, 240, 144)
ops.node(4, 240, 0)

ops.fix(1, 1, 1, 1)
ops.fix(4, 1, 1, 1)

E = 30000.0
Ag = 25.0
Ig = 1500.0
Ac = 29.0
Ic = 2000.0

gsecTag = 1
ops.section("Elastic", gsecTag, E, Ag, Ig)

csecTag = 2
ops.section("Elastic", csecTag, E, Ac, Ic)

transfTag = 1
ops.geomTransf("Linear", transfTag)

N = 3

gbiTag = 1
ops.beamIntegration("Lobatto", gbiTag, gsecTag, N)
cbiTag = 2
ops.beamIntegration("Lobatto", cbiTag, csecTag, N)

leftColTag = 1
Exemplo n.º 6
0
# Core concrete (confined)
ops.uniaxialMaterial("Concrete01", 1, -6.0, -0.004, -5.0, -0.014)
# Cover concrete (unconfined)
ops.uniaxialMaterial("Concrete01", 2, -5.0, -0.002, -0.0, -0.006)

# STEEL
# Reinforcing steel 
fy = 60.0;      # Yield stress
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)
Exemplo n.º 7
0
#########################################################################################################################################################################

#----------------------------------------------------------
#  create elastic pile section
#----------------------------------------------------------

secTag = 1
E = 25000000.0
A = 0.785
Iz = 0.049
Iy = 0.049
G = 9615385.0
J = 0.098

matTag = 3000
op.section('Elastic', 1, E, A, Iz, Iy, G, J)

# elastic torsional material for combined 3D section
op.uniaxialMaterial('Elastic', 3000, 1e10)

# create combined 3D section
secTag3D = 3
op.section('Aggregator', secTag3D, 3000, 'T', '-section', 1)


#########################################################################################################################################################################

##########################################################################################################################################################################

# elastic pile section
#import elasticPileSection
Exemplo n.º 8
0
def CHSSection(secID, matID, D, t, nc, nr, GJ):
    # create a circular hollow cross-section
    R = D/2
    r = R - t
    ops.section('Fiber', secID, '-GJ', GJ)
    ops.patch('circ', matID, nc, nr, 0., 0., r, R, 0., 360.)
Exemplo n.º 9
0
# Cover concrete (unconfined)
ops.uniaxialMaterial("Concrete01", 2, -5.0, -0.002, -0.0, -0.006)

# STEEL
# Reinforcing steel
fy = 60.0
# Yield stress
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)
Exemplo n.º 10
0
# Start of model generation
# ----------------------------
# remove existing model
ops.wipe()

# create ModelBuilder (with three-dimensions and 6 DOF/node)
ops.model("BasicBuilder", "-ndm", 3, "-ndf", 6)

# set default units
ops.defaultUnits("-force", "kip", "-length", "in", "-time", "sec", "-temp",
                 "F")

# Define the section
# ------------------
#                                       secTag  E     nu     h    rho
ops.section("ElasticMembranePlateSection", 1, 3.0E3, 0.25, 1.175, 1.27)

# Define geometry
# ---------------
# these should both be even
nx = 8
ny = 2

# loaded nodes
mid = int(((nx + 1) * (ny + 1) + 1) / 2)
side1 = int((nx + 2) / 2)
side2 = int((nx + 1) * (ny + 1) - side1 + 1)

# generate the nodes and elements
#          numX numY startNode startEle eleType eleArgs? coords?
ops.block2D(nx, ny, 1, 1, "ShellMITC4", 1, 1, -20.0, 0.0, 0.0, 2, -20.0, 0.0,
Exemplo n.º 11
0
ops.element(eleType, 11, 12, 17, 1, colSec)
ops.element(eleType, 12, 13, 18, 1, colSec)

# Define beam elements
# --------------------
# Define material properties for elastic beams
# Using beam depth of 24 and width of 18
Abeam = 18.0 * 24.0
# "Cracked" second moments of area
Ibeamzz = 0.5 * 1.0 / 12.0 * 18.0 * pow(24.0, 3)
Ibeamyy = 0.5 * 1.0 / 12.0 * 24.0 * pow(18.0, 3)
beamSec = 2

# Define elastic section for beams
#                       tag     E    A      Iz       Iy     G    J
ops.section("Elastic", beamSec, Ec, Abeam, Ibeamzz, Ibeamyy, GJ, 1.0)

# Geometric transformation for beams
ops.geomTransf("Linear", 2, 1.0, 1.0, 0.0)

# Number of beam integration points (sections)
np = 3
ops.beamIntegration("Lobatto", beamSec, beamSec, np)

# Create the beam elements
eleType = "forceBeamColumn"
#                   tag ndI ndJ transfTag integrationTag
ops.element(eleType, 13, 5, 6, 2, beamSec)
ops.element(eleType, 14, 6, 7, 2, beamSec)
ops.element(eleType, 15, 7, 8, 2, beamSec)
ops.element(eleType, 16, 8, 5, 2, beamSec)