Hi All,
I've been trying to write a code in OpenSeesPy to model a RC wall using the MVLEM model. When I try to run the code I get a "See stderr output" message when I define the MVLEM element which I am assuming is related to syntax. I can't seem to work out where I have gone wrong or if there is a bug. Any help would be greatly appreciated.
Code for reference :
"""
Created on Tue Mar 5 16:19:48 2024
@author: ljp70
"""
import openseespy.opensees as ops
ops.wipe()
Wall dimensions
t = 300.0 # mm
lw = 6000.0 # mm
N_stories = 5
Define material properties for ConcreteCM confined
matTag_concrete = 1 # confined concrete
fpcc = 53.37 # Peak compressive strength
epcc = 0.0106 # Strain @ peak compressive strength
Ec = 25000 # Initial tangent modulus
rc = fpcc/6.68 - 1.85 # Ratio of unloading slope to initial slope
xcrn = 0.002 # Compressive strain at which reloading begins
ft = 2 # Tensile strength
et = 0.0001 # Ultimate tensile strain
rt = 1.2 # Tension softening stiffness ratio
xcrp = 10000 # Tensile strain at which tension stiffening begins
mon = 0 # Flag to turn monotonic behavior on (1) or off (0)
gap_close = 0 # Gap closing parameter
matTag_steel = 2
fyp = 540 # Yield strength in tension
fyn = -540 # Yield strength in compression
E0_steel = 200000 # Initial elastic modulus of steel
bp = 0.02 # Strain-hardening ratio in tension
bn = -0.02 # Strain-hardening ratio in compression
a1 = 0.0
a2 = 1.0
a3 = 0.0
a4 = 1.0
R0=20; cR1=0.925; cR2=0.15
params=[R0,cR1,cR2]
ops.uniaxialMaterial('SteelMPF', matTag_steel, fyp, fyn, E0_steel, bp, bn, *params, a1, a2, a3, a4)
Build shear material
Ag = t lw # Gross area of the wall cross section
mu = 0.1
G=Ec/(2(1+mu)) # Shear Modulus
shear_matTag = 3
ops.uniaxialMaterial('Elastic', shear_matTag, G*Ag)
Define section properties
m = 5
thick = [t] m # Thickness of each element
concrete_list = [matTag_concrete] m
steel_list = [matTag_steel] * m
widths = [900.0, 1400.0, 1400.0, 1400.0, 900.0] # Width of each element in mm
rho = [0.03, 0.01, 0.01, 0.01, 0.03] # Reinforcement ratio of each element
Define element nodes
eleNodes = []
for i in range(1, 10):
eleNodes.append([i, i + 1])
density = 23045/1000**3 # density of the wall in units N/mm^3
c = 0.4 # location of the center of rotation
Define MVLEM elements
for i in range(9):
eleTag = i + 1
ops.element('MVLEM', int(eleTag), float(density), eleNodes[i], int(m), float(c),
'-thick', thick,
'-width', widths,
'-rho', rho,
'-matConcrete', concrete_list,
'-matSteel', steel_list,
'-matShear', shear_matTag)
Hi All, I've been trying to write a code in OpenSeesPy to model a RC wall using the MVLEM model. When I try to run the code I get a "See stderr output" message when I define the MVLEM element which I am assuming is related to syntax. I can't seem to work out where I have gone wrong or if there is a bug. Any help would be greatly appreciated.
Code for reference :
""" Created on Tue Mar 5 16:19:48 2024 @author: ljp70 """ import openseespy.opensees as ops ops.wipe()
Wall dimensions
t = 300.0 # mm lw = 6000.0 # mm N_stories = 5
Define material properties for ConcreteCM confined
matTag_concrete = 1 # confined concrete fpcc = 53.37 # Peak compressive strength epcc = 0.0106 # Strain @ peak compressive strength Ec = 25000 # Initial tangent modulus rc = fpcc/6.68 - 1.85 # Ratio of unloading slope to initial slope xcrn = 0.002 # Compressive strain at which reloading begins ft = 2 # Tensile strength et = 0.0001 # Ultimate tensile strain rt = 1.2 # Tension softening stiffness ratio xcrp = 10000 # Tensile strain at which tension stiffening begins mon = 0 # Flag to turn monotonic behavior on (1) or off (0) gap_close = 0 # Gap closing parameter
Define material properties
ops.uniaxialMaterial('ConcreteCM', matTag_concrete, fpcc, epcc, Ec, rc, xcrn, ft, et, rt, xcrp, '-GapClose', gap_close)
Define material properties for SteelMPF
matTag_steel = 2 fyp = 540 # Yield strength in tension fyn = -540 # Yield strength in compression E0_steel = 200000 # Initial elastic modulus of steel bp = 0.02 # Strain-hardening ratio in tension bn = -0.02 # Strain-hardening ratio in compression a1 = 0.0 a2 = 1.0 a3 = 0.0 a4 = 1.0 R0=20; cR1=0.925; cR2=0.15 params=[R0,cR1,cR2] ops.uniaxialMaterial('SteelMPF', matTag_steel, fyp, fyn, E0_steel, bp, bn, *params, a1, a2, a3, a4)
Build shear material
Ag = t lw # Gross area of the wall cross section mu = 0.1 G=Ec/(2(1+mu)) # Shear Modulus shear_matTag = 3 ops.uniaxialMaterial('Elastic', shear_matTag, G*Ag)
Define section properties
m = 5 thick = [t] m # Thickness of each element concrete_list = [matTag_concrete] m steel_list = [matTag_steel] * m widths = [900.0, 1400.0, 1400.0, 1400.0, 900.0] # Width of each element in mm rho = [0.03, 0.01, 0.01, 0.01, 0.03] # Reinforcement ratio of each element
Define element nodes
eleNodes = [] for i in range(1, 10): eleNodes.append([i, i + 1]) density = 23045/1000**3 # density of the wall in units N/mm^3 c = 0.4 # location of the center of rotation
Define MVLEM elements
for i in range(9): eleTag = i + 1 ops.element('MVLEM', int(eleTag), float(density), eleNodes[i], int(m), float(c), '-thick', thick, '-width', widths, '-rho', rho, '-matConcrete', concrete_list, '-matSteel', steel_list, '-matShear', shear_matTag)