Skip to content

WISDEM/pyFrame3DD

Repository files navigation

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.