GithubHelp home page GithubHelp logo

pyframe3dd's Introduction

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.

pyframe3dd's People

Contributors

andrewning avatar dykesk avatar gbarter avatar pgraf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pyframe3dd's Issues

[Question] Can I use any consistent units?

In the documentation, chapter 7.1 is written

units of (kips (1000 pounds) and inches), or (Newtons, millimeters, and tonne), or (MegaNewtons, meters, and kilotonnes)

Can I use for example kN for forces and m and length?

python3 compatibility

is it possible to get compatibility with python3?
it shouldn't be too hard, I could propose a pull request.

[Question] Is there any way I can make my element have a node only at the beginning and at the end?

The following variable is used to determinate how to split an element into smaller elements:

dx = 20.0 # x-axis increment for internal forces

So if I have an element 0 in load case 0 with a length of 100, there will be 6 internal nodes โ†’ len(internalForces[0].Nx[0, :]) will be 6

In my use case, however, I only will do calculation for simple truss or space truss, so only point load at the nodes etc.

So all my elements will have a constant internalForces. Therefore, I don't need the step of breaking my elements into smaller elements. How can I disable that?

The goal of that would be to save computational power

unresolved external symbol _D3matrix

Hi,

Tried to install pyFrame3DD on win 10 pro. I have installed MS VS 2017, numpy and pyMAP.

When install pyFrame3DD, got 4 unresolved externals. py_main.obj has two _D3matrix, py_frame3dd.obj has two _free_D3matrix.

Same error as this : #1

What else I need to install?

Regards,

Cean

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.