Skip to main content

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

PyPI version DOI

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.

Distribution of the warping function and Shear stress distribution

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.

Warping function

Install on pip

You can also install the flightbend package direcly from PyPl on the comand prompt (Windows) or Linux terminal:

pip install flightbend

Note : Clone the repository to get the most up-to-date version. PyPl updates may be infrequent.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flightbend-1.0.2.tar.gz (34.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flightbend-1.0.2-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file flightbend-1.0.2.tar.gz.

File metadata

  • Download URL: flightbend-1.0.2.tar.gz
  • Upload date:
  • Size: 34.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for flightbend-1.0.2.tar.gz
Algorithm Hash digest
SHA256 d09988e65dc6ff285d1f22bf5e9b3f43f1e1b6be4b095ca76eb7f38db176b62f
MD5 4c3a3dcc70a165f5a47ea9a366c57e51
BLAKE2b-256 0f1afcbde89e2edaa5a723941bfbda54c4bd01d9c76983473a9c826ada2e0416

See more details on using hashes here.

File details

Details for the file flightbend-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: flightbend-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.4

File hashes

Hashes for flightbend-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 eb3448d06b09a4f19d1a86903ed8ee9233fa6e6ac0013be30b86edf30981740e
MD5 79461e600395e20ba0fae00dcb422f48
BLAKE2b-256 7537e53eab1eb55ef8d1a6be485a9eebaa3cfd8da93a835157b637e553b8a2ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page