sewkokot / opsvis

OpenSeesPy postprocessing and plotting module
GNU General Public License v3.0
35 stars 21 forks source link

plot_defo - assumes zero length and two node link elements have ndf=3 #44

Closed mhscott closed 1 year ago

mhscott commented 1 year ago

plot_defo_2d assumes ndf=3 and thus fails on this MWE

import openseespy.opensees as ops
import opsvis as opsv

B = 1.0

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

ops.node(1,0,0); ops.fix(1,0,1)
ops.node(2,B,0); ops.fix(2,0,1)

ops.node(3,0,B)
ops.node(4,B,B)

ops.node(5,0,2*B)
ops.node(6,B,2*B)

ops.nDMaterial('ElasticIsotropic',1,4000,0.4,0.01)

ops.element('quad',1,1,2,4,3,1.0,'PlaneStrain',1)
ops.element('quad',2,3,4,6,5,1.0,'PlaneStrain',1)

ops.node(0,0,0); ops.fix(0,1,1)

ops.uniaxialMaterial('Elastic',1,0.0,100)
ops.element('zeroLength',0,0,1,'-mat',1,'-dir',1)

ops.timeSeries('Constant',1)
ops.pattern('Plain',1,1)
ops.load(5,0.1,-1.0)
ops.load(6,0,-1.0)

ops.analysis('Transient','-noWarnings')

ops.analyze(1,0.01)

opsv.plot_model()
opsv.plot_defo()
sewkokot commented 1 year ago

Thank you @mhscott, it should be fixed with https://github.com/sewkokot/opsvis/commit/4a7f3f3b5c33d69a2cba233243778bddc03e8a7d