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

Python License: MIT

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

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.0.tar.gz (32.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.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

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

Hashes for flightbend-1.0.0.tar.gz
Algorithm Hash digest
SHA256 4569b74a71a87abf4923a10ee509d6ba862e6ec5c577d6aa19b8c3346f46a2cd
MD5 a18f2738fd459019e589cac1d2c7bd03
BLAKE2b-256 4d9ce5627e8eb90dcd4a643cd099c66ba122183b8564a7cb6151443ba53874ca

See more details on using hashes here.

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

Hashes for flightbend-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97d3f33642c85767935d74d73a955a799ff35b6ec394d4537240861dcde5dcce
MD5 8261713da2ea480a348e25ee67e68440
BLAKE2b-256 22094a9d0fd297b86f4fed0d7d4ecaa5e576657e757c0eb1ba0b9f996a4d25e2

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