13.2.5. section_force_diagram_3d (ops_vis)

ops_vis.section_force_diagram_3d(sf_type, Ew, sfac=1.0, nep=17, fmt_secforce='b-')[source]

Display section forces diagram of a 3d beam column model.

This function plots section forces diagrams for 3d beam column elements with or without element loads. For now only ‘-beamUniform’ constant transverse or axial element loads are supported.

Parameters:
  • sf_type (str) – type of section force: ‘N’ - normal force, ‘Vy’ or ‘Vz’ - shear force, ‘My’ or ‘Mz’ - bending moments, ‘T’ - torsional moment.
  • Ew (dict) – Ew Python dictionary contains information on non-zero element loads, therfore each item of the Python dictionary is in the form: ‘ele_tag: [‘-beamUniform’, Wy, Wz, Wx]’.
  • sfac (float) – scale factor by wich the values of section forces are multiplied.
  • nep (int) – number of evaluation points including both end nodes (default: 17)
  • fmt_secforce (str) – format line string for section force distribution curve. The format contains information on line color, style and marks as in the standard matplotlib plot function. (default: fmt_secforce = ‘b-’ # blue solid line)

Usage:

Wy, Wz, Wx = -5., 0., 0.
Ew = {3: ['-beamUniform', Wy, Wz, Wx]}
sfacMz = 1.e-1
plt.figure()
minY, maxY = opsv.section_force_diagram_3d('Mz', Ew, sfacMz)
plt.title(f'Bending moments Mz, max = {maxY:.2f}, min = {minY:.2f}')

Todo:

Add support for other element loads available in OpenSees: partial (trapezoidal) uniform element load, and ‘beamPoint’ element load.

See example Statics of a 3d 3-element cantilever beam (ops_vis)