Tensyl
Tensyl is a Python library for equivalent-stiffness homogenization of stiffened plates and shells. It helps engineering teams build, check, transform, and export local ABD stiffnesses for skins, laminates, and stiffened repeating cells.
In one line: Tensyl replaces a panel full of stiffeners with a single equivalent stiffness — a small, auditable stiffness matrix that behaves like the real thing under global loads, without the cost of modeling every rib.
The public package name is tensyl.
New here? Read in this order
Start with Background for the why, then Terminology for the vocabulary — it is the glossary the rest of the manual leans on. Theory and the User Guide make a lot more sense once those two are in hand.
What Tensyl Computes
Tensyl computes a local constitutive stiffness in laminated-plate notation:
The first public ABD stiffness is ABDStiffness. It stores the membrane stiffness
A, membrane-bending coupling B, bending/twisting stiffness D, and
transverse-shear stiffness As as one canonical \(8\times8\) tangent operator.
What Tensyl Is Not
Tensyl is not a certification buckling solver, local stress recovery tool, or replacement for detailed finite-element analysis. The tangent-plane homogenization tools assume scale separation between stiffener pitch, stiffener height, local curvature radius, and the structural response length of interest.
Use Tensyl to form and audit equivalent ABD stiffnesses. Use detailed analysis for local buckling, crippling, joints, cutouts, load introduction, nonlinear postbuckling, and final allowables.
Documentation Map
- Getting started covers installation and the shortest path to an ABD stiffness.
- Background introduces the engineering motivation, history, and terminology.
- Theory explains conventions, ABD stiffnesses, and tangent-plane homogenization.
- User guide documents the main engineering workflows.
- Examples provides worked examples and executable snippets.
- API reference exposes the public Python interfaces.
- References lists the external sources used by the documentation.
First Workflow
from tensyl import IsotropicMaterial, isotropic_plate
aluminum = IsotropicMaterial(E=10.6e6, nu=0.33, density=0.1)
stiffness = isotropic_plate(aluminum, thickness=0.080)
print(stiffness.A)
print(stiffness.D)
This example uses a consistent US customary unit system: force in lbf, length
in in, stress in psi, and mass density in units compatible with the
downstream workflow. Tensyl records unit labels in exported artifacts but does
not convert units.