Python bindings to Frame3DD


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/ This follows example (B) Pyramid Frame contained on the Frame3DD home page.


pyMAP requires a C compiler


For detailed installation instructions of WISDEM modules see or to install pyFrame3DD by itself do:

$ python install

Unit Tests

$ python test/

For software issues please use For functionality and theory related questions and comments please use the NWTC forum for Systems Engineering Software Questions.


Frame3DD uses the GNU GPL so this code must also be under the same license.

Programming Language:     Wind and Water Tools:

You must log in to download this software.

If you want to refer to this website in a report, here is a reference you can use:
NWTC Information Portal (pyFrame3DD). Last modified 21-September-2014 ; Accessed 24-January-2020