SFI_MVLEM

Forum for asking and answering questions related to use of the OpenSeesPy module

Moderators: silvia, selimgunay, Moderators

Post Reply
SamDas
Posts: 3
Joined: Sun Oct 25, 2020 2:15 pm

SFI_MVLEM

Post by SamDas »

I tried with argument names prefixed with *, however after executing the command Python is restarted and ofcourse opensees is exited. Below is the code

The script runs without any error message, but ops is exited and line number in Anaconda console returns 1, it seems python has restarted and all namespaces are lost.

I have manually checked by typing SFI_MVLEM command, it is indeed exiting.

# ------------------------------------------------------------------------
# This file is to check SFI MVLEM
# -----------------------------------------------------------------------


import math

import openseespy.opensees as ops

import numpy as np

ops.wipe()

ndm = int(2)

ndf = int(3)

ops.model('basic', '-ndm', ndm, '-ndf', ndf)

# ---------------------------------------------------------------------------
# Geometry
# Node 1 is base
# ----------------------------------------------------------------------------

nodelist = []

nodelist = [[1,0.0,0.0],
[2,3100.,0.0],
[3,6100.,0.0],
[4,9100.,0.0],
[5,12100.,0.0]]


for nodes in nodelist:
ops.node(int(nodes[0]),nodes[1],nodes[2])

#------------------------------------------
# Fixity
# Node 1 must be restrained for translation
#-------------------------------------------

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

#-------------------------------------------
# Material specs
# Steel 02 for rebars
# ConcreteCM for concrete
# FSAM for shear walls
#-------------------------------------------

rebarMatTagD = 100
rebarMatTagH = 101
FyD = 324.0 # MPa
FyH = 430.0 # MPa
E0 = 200000.0 # MPa
b = 0.05
params = [15.,0.925,0.15]

#------------------------------------------
# Reinforcement
#------------------------------------------

ops.uniaxialMaterial('Steel02',
rebarMatTagD,
FyD,
E0,
b,
*params)

ops.uniaxialMaterial('Steel02',
rebarMatTagH,
FyH,
E0,
b,
*params)

#-------------------------------------------
# Web concrete
#-------------------------------------------

concMatTagWeb= 300
fpcc = -30
epcc = -0.002
Ec = 5700*(-fpcc)**0.5
rc = max(-fpcc/6.68-1.85,1)
xcrn = 2
ft = 0.36*(-fpcc)**0.5
et = 2*ft/Ec
rt = 1.0
xcrp = 10000

ops.uniaxialMaterial('ConcreteCM',
concMatTagWeb,
fpcc,
epcc,
Ec,
rc,
xcrn,
ft,
et,
rt,
xcrp,
'-GapClose', 0)

#-------------------------------------------
# Flange concrete
#-------------------------------------------

concMatTagFlange= 301
fpcc = -30
epcc = -0.002
Ec = 5700*(-fpcc)**0.5
rc = max(-fpcc/6.68-1.85,1)
xcrn = 2
ft = 0.36*(-fpcc)**0.5
et = 2*ft/Ec
rt = 1.0
xcrp = 10000

ops.uniaxialMaterial('ConcreteCM',
concMatTagFlange,
fpcc,
epcc,
Ec,
rc,
xcrn,
ft,
et,
rt,
xcrp,
'-GapClose', 0)

# --------------------------------------------
# FSAM materials
#---------------------------------------------

fsamMatTagWeb = 1001
rho = 0
sxTag = rebarMatTagH
syTag = rebarMatTagD
concTag = concMatTagWeb
roux = 2*math.pi*16**2/4/180/300
rouy = 2*math.pi*16**2/4/200/300
nu = 0.7
alfadow = 0.01

ops.nDMaterial('FSAM',
fsamMatTagWeb,
rho,
sxTag,
syTag,
concTag,
roux,
rouy,
nu,
alfadow)

fsamMatTagFlange = 1002
rho = 0
sxTag = rebarMatTagD
syTag = rebarMatTagD
concTag = concMatTagFlange
roux = 2*math.pi*10**2/4/150/500
rouy = 10*math.pi*32**2/4/500/800

ops.nDMaterial('FSAM',
fsamMatTagFlange,
rho,
sxTag,
syTag,
concTag,
roux,
rouy,
nu,
alfadow)

#-------------------------------------------
# Member incidences
#-------------------------------------------

t = [500.,300.,300.,300.,300.,300.,500.]

w = [800.,1920.,1920.,1920.,1920.,1920.,800.]

m = [fsamMatTagFlange,fsamMatTagWeb,fsamMatTagWeb,fsamMatTagWeb,fsamMatTagWeb,fsamMatTagWeb,fsamMatTagFlange]


for i, nodes in enumerate(nodelist):
if(i>=len(nodelist)-1):
break
eletag = int(i+1)
nodeconnect = [int(nodelist[0]),int(nodelist[i+1][0])]
ops.element('SFI_MVLEM',
eletag,
*nodeconnect,
7,
0.4,
'-thick',*t,
'-width',*w,
'-mat',*m)
Post Reply