Skip to content

robbievanleeuwen/section-properties

sectionproperties logo

PyPI Status Python Version License Read the documentation at https://sectionproperties.readthedocs.io/ uv Ruff pre-commit Tests Codecov DOI

sectionproperties is a python package for the analysis of arbitrary cross-sections using the finite element method. sectionproperties can be used to determine section properties to be used in structural design and visualise cross-sectional stresses resulting from combinations of applied forces and bending moments.

Subscribe to the sectionproperties mailing list!

Installation

You can install sectionproperties via pip from PyPI:

pip install sectionproperties

Quick Start

Analyse a rectangular cross-section and retrieve some key properties:

from sectionproperties.pre.library import rectangular_section
from sectionproperties.analysis import Section

# create a 50 x 100 rectangle and mesh it
geom = rectangular_section(d=100, b=50)
geom.create_mesh(mesh_sizes=[5])

# run a geometric analysis
sec = Section(geometry=geom)
sec.calculate_geometric_properties()

# get some results
area = sec.get_area()
ixx_c, iyy_c, ixy_c = sec.get_ic()
print(f"Area = {area:.0f} mm²")
print(f"Ixx = {ixx_c:.0f} mm⁴, Iyy = {iyy_c:.0f} mm⁴")
Area = 5000 mm²
Ixx = 4166667 mm⁴, Iyy = 1041667 mm⁴

See the documentation for more detailed examples including composite sections, warping analysis, and stress calculations.

Documentation

sectionproperties is fully documented including a user walkthrough, examples, background theory and an API guide. The documentation can found at https://sectionproperties.readthedocs.io/.

Features

See the complete list of sectionproperties features here.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the MIT license, sectionproperties is free and open source software.

Support

Found a bug 🐛, or have a feature request ✨, raise an issue on the GitHub issue tracker Alternatively you can get support on the discussions page.

Disclaimer

sectionproperties is an open source engineering tool that continues to benefit from the collaboration of many contributors. Although efforts have been made to ensure the that relevant engineering theories have been correctly implemented, it remains the user's responsibility to confirm and accept the output. Refer to the license for clarification of the conditions of use.

Contributors

Languages