Skip to main content

Python bindings to Frame3DD, a code for static and dynamic structural analysis of 2D and 3D frames and trusses, with permission from Prof Henri Gavin

Project description

pyFrame3DD

Python bindings to Frame3DD

Documentation

Browse the documentation for Frame3DD. This is a Python wrapper to that code with the following modifications:

  • Elimination of all input/output files in favor of direct variable passing
  • Arbitrary stiffness values can be passed in (rather than only rigid or free). ReactionData(node, Rx, Ry, Rz, Rxx, Ryy, Rzz, rigid=1) takes as input the optional parameter rigid (defaults to 1, which is what Frame3DD uses), which defines what number in the reaction inputs corresponds to a rigid connection. If a user wants to input spring constants in Rx, Ry, etc. those will be used directly in the stiffness matrix. The parameter rigid can then be set to anything else like -1.
  • Frame3DD allows inclusion of concentrated masses but they only affect the modal analysis. In pyFrame3DD they also affect the loads.

There is example code that shows usage contained in examples/exB.py. This follows example (B) Pyramid Frame contained on the Frame3DD home page.

Prerequisites

pyFrame3DD requires a C compiler

Install (as a library)

For detailed installation instructions of WISDEM modules see https://github.com/WISDEM/WISDEM or to install pyFrame3DD by itself do:

$ pip install WISDEM-pyFrame3DD

Install (from source)

If you would like to build the project locally from source for easier access to the underlying methods and tests, do:

$ git clone https://github.com/WISDEM/pyFrame3DD.git
$ cd pyFrame3DD
$ pip install .

If developer/editable mode, do the same git clone step, but on install do:

$ pip install --no-build-isolation -e .

The --no-build-isolation option is important per Meson guidelines.

Unit Tests

$ pytest test

For software issues please use https://github.com/WISDEM/pyFrame3DD/issues. For functionality and theory related questions and comments please use the NWTC forum for Systems Engineering Software Questions.

License

Frame3DD uses the GNU GPL so this code must also be under the same license. The larger WISDEM code has a special dispensation to use the Apache License.

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

wisdem_pyframe3dd-1.1.1.tar.gz (179.1 kB view hashes)

Uploaded Source

Built Distributions

wisdem_pyframe3dd-1.1.1-cp312-cp312-win_amd64.whl (99.7 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

wisdem_pyframe3dd-1.1.1-cp312-cp312-musllinux_1_1_x86_64.whl (89.3 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

wisdem_pyframe3dd-1.1.1-cp312-cp312-musllinux_1_1_i686.whl (79.7 kB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

wisdem_pyframe3dd-1.1.1-cp312-cp312-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86.7 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

wisdem_pyframe3dd-1.1.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (84.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

wisdem_pyframe3dd-1.1.1-cp312-cp312-macosx_11_0_arm64.whl (78.8 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

wisdem_pyframe3dd-1.1.1-cp312-cp312-macosx_10_9_x86_64.whl (97.4 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

wisdem_pyframe3dd-1.1.1-cp311-cp311-win_amd64.whl (99.7 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

wisdem_pyframe3dd-1.1.1-cp311-cp311-musllinux_1_1_x86_64.whl (89.3 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

wisdem_pyframe3dd-1.1.1-cp311-cp311-musllinux_1_1_i686.whl (79.7 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

wisdem_pyframe3dd-1.1.1-cp311-cp311-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

wisdem_pyframe3dd-1.1.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (84.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

wisdem_pyframe3dd-1.1.1-cp311-cp311-macosx_11_0_arm64.whl (78.8 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

wisdem_pyframe3dd-1.1.1-cp311-cp311-macosx_10_9_x86_64.whl (97.4 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

wisdem_pyframe3dd-1.1.1-cp310-cp310-win_amd64.whl (99.7 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

wisdem_pyframe3dd-1.1.1-cp310-cp310-musllinux_1_1_x86_64.whl (89.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

wisdem_pyframe3dd-1.1.1-cp310-cp310-musllinux_1_1_i686.whl (79.7 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

wisdem_pyframe3dd-1.1.1-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

wisdem_pyframe3dd-1.1.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (84.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

wisdem_pyframe3dd-1.1.1-cp310-cp310-macosx_11_0_arm64.whl (78.8 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

wisdem_pyframe3dd-1.1.1-cp310-cp310-macosx_10_9_x86_64.whl (97.4 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

wisdem_pyframe3dd-1.1.1-cp39-cp39-win_amd64.whl (99.7 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

wisdem_pyframe3dd-1.1.1-cp39-cp39-musllinux_1_1_x86_64.whl (89.3 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

wisdem_pyframe3dd-1.1.1-cp39-cp39-musllinux_1_1_i686.whl (79.7 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

wisdem_pyframe3dd-1.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64 manylinux: glibc 2.17+ x86-64

wisdem_pyframe3dd-1.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl (84.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686 manylinux: glibc 2.17+ i686

wisdem_pyframe3dd-1.1.1-cp39-cp39-macosx_11_0_arm64.whl (78.8 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

wisdem_pyframe3dd-1.1.1-cp39-cp39-macosx_10_9_x86_64.whl (97.4 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

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