Mismatch on portal deformation [Solved]

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

Moderators: silvia, selimgunay, Moderators

Post Reply
skypass
Posts: 15
Joined: Thu May 27, 2021 9:37 am

Mismatch on portal deformation [Solved]

Post by skypass » Sun May 30, 2021 11:22 pm

As per this screenshot Image
and next python code. Thanks in advance for help.

Code: Select all

# --- t13_forum.py ---  May.31, 2021 ----
# portal with inclined peer
#
import openseespy.opensees as ops
import openseespy.postprocessing.ops_vis as opsv

import matplotlib.pyplot as plt

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

l1, l2 = 8., 6. 

A1, A2, A3 = 3.e-3, 2.e-3, 3.e-3 
I1, I2, I3 = 5.e-5, 2.e-5, 5.e-5

E = 200.e9

Ep = {1: [E, A1, I1],
      2: [E, A2, I2],
      3: [E, A3, I3]}

# Coord. nodes
ops.node(1, 0., 0)
ops.node(2, 0., l1)
ops.node(3, l2, l1)
ops.node(4, 2*l2, 0.)

# Soil supports
ops.fix(1, 1, 1, 0)  # hinge
ops.fix(4, 1, 1, 1)  # fixed

ops.geomTransf('Linear', 1)

# Elements
ops.element('elasticBeamColumn', 1, 1, 2, A1, E, I1, 1)
ops.element('elasticBeamColumn', 2, 2, 3, A2, E, I2, 1)
ops.element('elasticBeamColumn', 3, 3, 4, A3, E, I3, 1)

# orig. Px = 2.e+3

# External vertical force 
Py = -100.e3 

# --- Null distributed loads ---
Wy = 0.  
Wx = 0.
Ew = {2: ['-beamUniform', Wy, Wx]}
# -------------------------------------------------

ops.timeSeries('Constant', 1)
ops.pattern('Plain', 1, 1)

ops.load(3, 0., Py, 0.) # Py applied to node 3 

for etag in Ew:
    ops.eleLoad('-ele', etag, '-type', Ew[etag][0], Ew[etag][1],
                Ew[etag][2])

ops.constraints('Transformation')
ops.numberer('RCM')
ops.system('BandGeneral')
ops.test('NormDispIncr', 1.0e-6, 6, 2)
ops.algorithm('Linear')
ops.integrator('LoadControl', 1)
ops.analysis('Static')
ops.analyze(1)

ops.printModel()

# plot model with tag lebels

szer, wys = 16., 10.

fig = plt.figure(figsize=(szer/2.54, wys/2.54))
fig.subplots_adjust(left=.08, bottom=.08, right=.985, top=.94)
ax1 = plt.subplot(111)

opsv.plot_model()

# plot deformed model
plt.figure()
# plot_defo with optional arguments
sfac = opsv.plot_defo(80) # selected deformation factor

opsv.plot_defo(sfac, fmt_interp='b.-')
opsv.plot_defo(sfac, 5, interpFlag=0, fmt_nodes='bo-')
opsv.plot_defo(sfac, 3, endDispFlag=0, fmt_interp='r.--')
opsv.plot_defo(sfac, 2, fmt_interp='g.-')

plt.show()

exit()
# EOF: t13_forum.py
Last edited by skypass on Tue Jun 01, 2021 9:18 pm, edited 1 time in total.

rafal
Posts: 51
Joined: Sun Feb 22, 2015 5:58 am

Re: Mismatch on portal deformation

Post by rafal » Mon May 31, 2021 3:04 am

The specified scaling factor (80) is too large for this model and load. Remove it from first plot_defo argument and then adjust.
If not specified, the scaling factor is calculated automatically based on the model geometry. The maximum displacement shown on the plot is 20% of the maximum model size.

Code: Select all

sfac = opsv.plot_defo() # selected deformation factor

skypass
Posts: 15
Joined: Thu May 27, 2021 9:37 am

Re: Mismatch on portal deformation

Post by skypass » Mon May 31, 2021 8:56 pm

Thank you!
Image

Post Reply