zhuminjie / OpenSeesPyDoc

OpenSeesPy Documentation
http://openseespydoc.readthedocs.io
Other
141 stars 105 forks source link

Error with modelling RC Wall using MVLEM #301

Closed LiamPledger closed 6 months ago

LiamPledger commented 6 months ago

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)

zhuminjie commented 6 months ago

do you have a screenshot ?

LiamPledger commented 6 months ago

image image

LiamPledger commented 6 months ago

image

zhuminjie commented 6 months ago

It seems a model input issue. You can post to the message board for help

mhscott commented 6 months ago

You do not have any nodes defined in your model