Skip to main content

A light-weight FEM beam analyzer.

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.2.1.tar.gz (38.2 kB view details)

Uploaded Source

Built Distribution

planesections-1.2.1-py3-none-any.whl (58.1 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for planesections-1.2.1.tar.gz
Algorithm Hash digest
SHA256 25c7e90b2e838844d695054bf21e07b3311c49c55861f40b27306c1e15c06e0e
MD5 7800328afe89ef09c62fa3b2aca1805a
BLAKE2b-256 4af6c79fcb9fdc9e11770b40ca923c460368d5247234c86d442cbf7a381b9735

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for planesections-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e144e903bcd7efc65cdb5873d90f2cbc7497c47a864c4a5bb8af978bad3a0e3f
MD5 cc2ff0b5ed22b696272293466c6a5b03
BLAKE2b-256 d45242a52287c00731fea0edbc1f2a626a85fcd8f4c44853d52ff4017f411c33

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