Skip to main content

A light-weight beam analyzer built on OpenSeesPy.

Project description

PlaneSections

A lightweight beam bending library built on OpenSeesPy. The goal of PlaneSections is to make easy-to-use beam anayses, which can be used to quickly document structural calculations. Being built on OpenSees, the structural results are reliable, and there is lots of room to build more complex models.

The core classes and API are complete, but development is still in progress. Expect some sytax changes before final release, however deprication warnings will be given for breaking changes.

NOTE: Units for force and length must be applied to the beam in a consistent unit base for FEM. PlaneSections has been design with Metric units in mind in terms of scaling diagrams. For those using imperial units, results will work with a consitent unit basis, but the scale of the digrams may be off.

Contents

Installation

Package is installable through pip

pip install planesections

Documentation

All major functions and classes are documented on read-the-docs: https://planesections.readthedocs.io/en/latest/

Demo

The PlaneSections can plot representations that can be used in documentation. It's also possible to get the output bening moment, shear force, rotation, and deflection diagrams.

import planesections as ps

# Define node locations, and support conditions
L = 5
beam = ps.newEulerBeam2D(L)

# Define beam and fixities
pinned = [1,1,0]
beam.setFixity(L*0.1, pinned, label = '1')
beam.setFixity(L*0.9, pinned)

# Define loads
Pz = -1
beam.addVerticalLoad(0, Pz, label = 'A')
beam.addVerticalLoad(L*0.5, 2*Pz, label = 'B')
beam.addVerticalLoad(L, Pz, label = 'C')
beam.addDistLoadVertical(0, L, Pz)
beam.addDistLoadVertical(1, L*0.3, 5*Pz)

# Plot the beam diagram
ps.plotBeamDiagram(beam)

# Run the analysis
analysis = ps.OpenSeesAnalyzer2D(beam)
analysis.runAnalysis()

# Plot the SFD and BMD
ps.plotShear2D(beam)
ps.plotMoment2D(beam)

Further Examples

See the examples folder for

Status

Before the first beta release, the following will be completed.

Analysis and API:

  • fancy plots (distributed Load)
  • Better deflection plots (distributed Load)

Infacstructure:

  • pip package
    • setup on pypi: complete, package is installable with "pip install planesections"
    • Add requirements
  • Document code
    • Finish all class docstrings.
    • Add Sphinx docs.
    • Add read the docs website.
  • Examples
    • Finish landing page with code examples and figures.
    • Compare simple cases with analytic equations.
    • Compare complex cases with sap/rfem/etc.

Post 1.0 release

Analysis and API:

  • plot labels

Future work:

  • 3D beams
  • Timoshenko beams
  • Nonlinear beams analysis
  • One-way Slabs?
  • Two-way Slabs?
  • Orthtropic Slabs?
  • Basic simple frame analysis?
  • Basic Nonlinear frame analysis?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

planesections-1.1.1.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

planesections-1.1.1-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file planesections-1.1.1.tar.gz.

File metadata

  • Download URL: planesections-1.1.1.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for planesections-1.1.1.tar.gz
Algorithm Hash digest
SHA256 74a5eab10831ceb31e8ef93e9fbe0a6a603a645f159d00db81cd0e7ba9caf3dc
MD5 e05435ed0e1dbc1a52b84a8c8cf18c9d
BLAKE2b-256 30011bd81fd7da7f1b01d7daafa25f6cb0a61699859e58ea9aaa5b6dfa7eda41

See more details on using hashes here.

File details

Details for the file planesections-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for planesections-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f05219f5bf5b5008ec9b3b86af140537dd71ff283d69e0960034555a35a21536
MD5 06d181128f5f53e97d7bfb9b054bb724
BLAKE2b-256 9b887ad3d04f67fc461dfd83c5e32b155c136e1638ae3edc14b016da44e8a4ca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page