FramAT (Frame Analysis Tool) is a tool for FEM beam analyses. Currently FramAT provides a full implementation of 3D Euler-Bernoulli beam theory, also known as standard engineering beam theory.
Installation
pip install framat
To update an existing installation:
pip install --upgrade framat
Getting started
If you have installed FramAT, you may want to have a look at the Getting started guide.
Example
FramAT provides a user-friendly, easy-to-read Python interface which can be integrated in complex workflows. Try it yourself. Just import the Model object from the FramAT library, and define your model:
from framat import Model
model = Model()
mat = model.add_feature('material', uid='dummy')
mat.set('E', 1)
mat.set('G', 1)
mat.set('rho', 1)
cs = model.add_feature('cross_section', uid='dummy')
cs.set('A', 1)
cs.set('Iy', 1)
cs.set('Iz', 1)
cs.set('J', 1)
beam = model.add_feature('beam')
beam.add('node', [0, 0, 0], uid='root')
beam.add('node', [1, 0, 0], uid='corner')
beam.add('node', [1, 1, 0], uid='tip')
beam.set('nelem', 10)
beam.add('material', {'from': 'root', 'to': 'tip', 'uid': 'dummy'})
beam.add('cross_section', {'from': 'root', 'to': 'tip', 'uid': 'dummy'})
beam.add('orientation', {'from': 'root', 'to': 'tip', 'up': [0, 0, 1]})
beam.add('point_load', {'at': 'corner', 'load': [0, 0, -1, 0, 0, 0]})
bc = model.set_feature('bc')
bc.add('fix', {'node': 'root', 'fix': ['all']})
pp = model.set_feature('post_proc')
pp.add('plot', ['undeformed', 'deformed', 'nodes'])
model.run()
Please refer to the documentation for more information.
Additional information for developers
For developers: Recommended packages may be installed via requirements.txt.
pip install -r requirements.txt
License
License: Apache-2.0
⚠ Note
Starting from version 0.3.2 to 0.4.0, the interface for FramAT has changed completely to a more user-friendly Python API. Please refer to the documentation for updated instructions and examples.
Older development versions can still be found under the releases (not recommended). The current interface is still under development.
Metadata
Release files for framat 0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| framat-0.5.tar.gz | 24.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| framat-0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 53.3 kB
Release files / framat-0.5.tar.gz
| Download URL | framat-0.5.tar.gz |
|---|---|
| Size | 24.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d9ef1f762dd079b0725e2faa9c5500bb328de75d329749d29ac3dc22cf44eca9
|
|
BLAKE2b-256 checksum How to use checksums |
e5f93603e396a5dc4cb2da3e199a34a43c9d29beef392883bcb62a6036255573
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.7
|
Release files / framat-0.5-py3-none-any.whl
| Download URL | framat-0.5-py3-none-any.whl |
|---|---|
| Size | 28.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31eee9729acc20ae21e255fd6aa022de8e1a4bbc8189010987eb6e3579c24631
|
|
BLAKE2b-256 checksum How to use checksums |
e1584201f694ef7a094b04984af8a4494639347b87d6d2cce371d07cc6307630
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.7
|