A Python package for flexible body dynamics simulation of airframes
Project description
🌀 fb.beamSection
A Saint-Venant Torsion Module for the FlightBEND Finite Element Framework
Overview
This repository contains the Saint-Venant Torsion Module, developed for the FlightBEND Finite Element Framework, a Python-based environment for numerical simulation in solid and structural mechanics, which is an ongoing development project.
The name FlightBEND is a tribute to Bernoulli, Euler, Saint-Venant, and Santos Dumont. The project was originally conceived as a computational platform for the numerical analysis of aerospace structures. Over time, it has evolved into a general-purpose finite element framework designed for research, education, and engineering applications.
This project has been carried out at the Numerical Analysis Laboratory (LANum) of the Federal University of Santa Maria - UFSM, involving graduate students from the Mechanical Engineering Program - PGMec and faculty members from the Departments of Mechanical Engineering and Mathematics.
Features
- Implements the classical Saint-Venant torsion theory.
- Computes shear stress distribution, torsional stiffness, and warping functions.
- Fully written in Python, using an object-oriented and modular design.
- Integrates with FlightBEND’s components for mesh generation, boundary conditions, and post-processing.
- Supports structured and unstructured meshes.
- Ready for extension to nonlinear torsion, coupled problems, and aeroelastic analyses.
Implementation Notes
The finite element formulation adopted in this module follows the standard weak form of Saint-Venant’s torsion problem.
The resulting linear system is assembled using FlightBEND’s internal FEM infrastructure, ensuring compatibility with other FlightBEND modules.
Requirements
- Python ≥ 3.10
- NumPy
- SciPy
- Matplotlib
Usage
See the multicell profile example.
Or
# Clone the repository
git clone https://github.com/tiagoburiol/fb.beamSection.git
cd fb.beamSection
# Example: open the multicell profile example using jupyter
jupyter-notebook notebooks/multicell_profile_example.ipynb
Other examples of usage can be found in fb.beamSection/examples. The figure below is from the wing_torsion_box.ipynb example.
Verification
The .inp files for the ABAQUS 3D exemples from the paper may be found at the verification_files folder in a compacted .7z format.
Mesh generation
For all examples we used the mesh generation from the GiD pre-processing software. If you wish to create .py files like the ones from our examples you'll also need to install the MATFem plugin and download our customized .bas file. The plugin allows for element material assigment and the .bas file exports the mesh as a python dictionary saved in the variable mesh_data containing the keys 'materials', 'coordinates' and 'elements'. Check our tutorial on how to use GiD for this application on the notebooks folder.
Citation
If you use this module in your research, please cite it as:
Pedro F. M. Pires, Pedro F. M., Buriol, Tiago M. e Santos, Tiago dos (2025). Saint-Venant Torsion Module for the FlightBEND Finite Element Framework. GitHub repository.
https://github.com/tiagoburiol/fb.beamSection
License
This project is distributed under the MIT License — see the LICENSE file for details.
Future Work
- Nonlinear torsion formulation
- Coupling with elasticity and thermal modules
- Validation with analytical and experimental results
- GUI integration for torsion analysis setup
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file flightbend-1.0.0.tar.gz.
File metadata
- Download URL: flightbend-1.0.0.tar.gz
- Upload date:
- Size: 32.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4569b74a71a87abf4923a10ee509d6ba862e6ec5c577d6aa19b8c3346f46a2cd
|
|
| MD5 |
a18f2738fd459019e589cac1d2c7bd03
|
|
| BLAKE2b-256 |
4d9ce5627e8eb90dcd4a643cd099c66ba122183b8564a7cb6151443ba53874ca
|
File details
Details for the file flightbend-1.0.0-py3-none-any.whl.
File metadata
- Download URL: flightbend-1.0.0-py3-none-any.whl
- Upload date:
- Size: 31.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97d3f33642c85767935d74d73a955a799ff35b6ec394d4537240861dcde5dcce
|
|
| MD5 |
8261713da2ea480a348e25ee67e68440
|
|
| BLAKE2b-256 |
22094a9d0fd297b86f4fed0d7d4ecaa5e576657e757c0eb1ba0b9f996a4d25e2
|