Skip to main content

Github Actions status:

Actions Status

Coverage status:

Codecov Status

Semi-analytical methods for plates, shells and stiffened panels

  • Linear and non-linear static analyses, with field outputs of displacements, strains and stresses
  • Linear buckling
  • Vibration, with or without pre-stress
  • Panel flutter using the piston theory
  • Geometrically non-linear static analyses (postbuckling) using the Newton-Raphson method or the arc-length methods of Riks and Crisfield
  • Multi-domain assemblies of cylinders, stiffened panels and panels with debonding defects
  • CLPT, FSDT and TSDT kinematics for plates and cylindrical shells
  • Donnell and Sanders-Koiter kinematics for cylindrical shells

The structural matrices are solved with structsolve.

Citing this library

Saullo G. P. Castro, Nathan D'Souza. (2026). Semi-analytical methods for plates, shells and stiffened panels (Version 0.8.0). Zenodo. DOI: https://doi.org/10.5281/zenodo.2541522.

Documentation

The documentation is available on: https://saullocastro.github.io/panels.

Installation

To get the latest version:

python -m pip install panels

History

See CHANGELOG.md for the details of each version.

  • version 0.8.0 (2026-09-23)
    • FSDT and TSDT for plate and cylindrical shells
    • Sanders-Koiter for cylindrical shells
    • Shell and Multidomain connections supporting FSDT, TSDT and Sanders-Koiter kinematics
    • Many improvements in the documentation
    • New tests based on literature
    • BUG fixes on aerodynamic matrix of cylindrical shells and mass matrix of stiffener 1D
  • version 0.7.1 (2026-09-21)
    • Fixed the cohesive zone of the MultiDomain connection 'SB_TSL', which could not capture the onset of failure of the DCB: tangential separation with the rotation of each panel, tractions with the uncorrected separation and separation correction as in the thesis of D'Souza (2024)
    • Consistent tangent of the cohesive zone, MultiDomain.calc_kT_TSL(), and faster assembly of the 'SB_TSL' secant stiffness
    • The kernels fkCSB11_dmg, fkCSB12_dmg and fkCSB22_dmg take the distances dt and db from each mid-surface to the interface
    • Validation of the cohesive zone against mode I DCB results in the literature, in notebooks/, with a convergence study
    • Fixed StiffPanelBay.save() with composites>=0.9.0
  • version 0.6.21 (2026-09-18)
    • Fixed the mass of the base of BladeStiff2D, which was missing, and the section forces of MultiDomain.force(), which lacked the Jacobian
    • StiffPanelBay.calc_kA() sums the contribution of every panel, and calc_kA, calc_cA, calc_fext, save, get_size and uvw_stiffener of StiffPanelBay and Shell.calc_cA no longer raise
    • Shell.strain() and Shell.stress() work for a plate with r=None
    • Line coverage of the tests raised from 67 % to 92 %
    • Fixed StiffPanelBay.add_panel and the partial-domain integration of Shell.calc_kC, calc_kG and calc_kM
    • The limits Shell.x1, x2, y1, y2 of the integration domain default to None instead of the sentinels -1 and +1, which silently integrated the full domain for a limit at 1.0 and ignored a limit given on one side only; the old -1 now raises
    • Fixed the MultiDomain skin-base connections: the 'SB' penalty was a hard-coded mm-unit value, the top and bottom panels depended on their order in the assembly, and the connection dictionaries were modified
    • Penalty constants of each MultiDomain connection can be given with 'kt' and 'kr'
    • Reproduction of Stamatelos and Labeas with plate domains only in tests/multidomain/test_stamatelos_labeas_2023_multidomain.py, using every MultiDomain connection
    • Fixed the argument handling of the stiffness API: an invalid c or c_cte no longer reaches the nogil kernels, and a model that needs a radius raises instead of computing with r = 0
    • Reproduction of Stamatelos and Labeas (Computation 2023, 11, 110) in notebooks/stamatelos_labeas_2023.ipynb
    • Tangent stiffness matrix that is the exact derivative of the internal force vector, giving quadratic convergence to the Newton-Raphson method
    • Shell and MultiDomain can be passed directly to structsolve.Analysis, including the arc-length methods
    • Gauss-Legendre points and weights from scipy.special.roots_legendre
    • Modules of the models renamed without the _bardell suffix, and the legacy _bardell model names removed from panels.modelDB.db
    • Sphinx documentation with usage examples
  • versions 0.5.x
    • Damaged multidomain connections
  • up to version 0.3.x
    • Multidomain methods for pristine structures

License

Distributed under the 3-Clause BSD license (https://raw.github.com/saullocastro/panels/main/LICENSE).

Contact: S.G.P.Castro@tudelft.nl

Metadata

Release files for panels 0.8.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for panels 0.8.0
File Size Uploaded
panels-0.8.0.tar.gz 7.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for panels 0.8.0
File
panels-0.8.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
panels-0.8.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
panels-0.8.0-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
panels-0.8.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
panels-0.8.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
panels-0.8.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
panels-0.8.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
panels-0.8.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
panels-0.8.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
panels-0.8.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
panels-0.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
panels-0.8.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
panels-0.8.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
panels-0.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
panels-0.8.0-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details
panels-0.8.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
panels-0.8.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
panels-0.8.0-cp39-cp39-macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) Details

Total release size: 304.2 MB

Release files / panels-0.8.0.tar.gz

Download URL panels-0.8.0.tar.gz
Size 7.5 MB
Tags Source
SHA-256 checksum
How to use checksums
451494644926b8f9967afa5cdb6b6dab665e52b330e18001d06598e25617a848
BLAKE2b-256 checksum
How to use checksums
1a194dc95a0ec1f913ad93b842cb167a2f403848a2f86168bffacba7abbf979d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / panels-0.8.0-cp314-cp314-win_amd64.whl

Download URL panels-0.8.0-cp314-cp314-win_amd64.whl
Size 4.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
d5f9970f64217ae1d4365e38d2898a4f0907fbc7ec1a2daf6bfc47efc0007e42
BLAKE2b-256 checksum
How to use checksums
d25bbacd6d7532933bc5427e4a0806dfad680ff0dfc2cf24bfc14c44808219e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / panels-0.8.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.8.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 36.3 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3a79ea560e36c666ab3789538be399839373be348c82b784a99898bae7e748b1
BLAKE2b-256 checksum
How to use checksums
599d1abff8becfc13e24e626f87576f835e78d5edf50d555d37b0d5d4bd180c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / panels-0.8.0-cp314-cp314-macosx_10_15_universal2.whl

Download URL panels-0.8.0-cp314-cp314-macosx_10_15_universal2.whl
Size 9.3 MB
Tags CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
af788ffc439077a9f8306e7369fc0b7a82cd79500dbee2b2ab162b8d2fc164f5
BLAKE2b-256 checksum
How to use checksums
58dc4956c4750fd60caa33dc754f6afdd957824b6e084f92e9c05746ff703ba0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / panels-0.8.0-cp313-cp313-win_amd64.whl

Download URL panels-0.8.0-cp313-cp313-win_amd64.whl
Size 4.2 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
7628bdd22f243e6b23cc39412968e63dd8a20baa23baa6556494f3d3052d9c8e
BLAKE2b-256 checksum
How to use checksums
713db86ed3479680589c5f3ff7cc39d58d2888398da9f285362bdd5c22c00c24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / panels-0.8.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.8.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 36.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
cc5755c3e945e07297a0a272ade2a917ba00e4039896c2c3470a8a825b1f8e11
BLAKE2b-256 checksum
How to use checksums
d05fe90faff5873bbd9b0f7cf5cfb2e24f6a0f5476056cbd6575600bd4f68a6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / panels-0.8.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL panels-0.8.0-cp313-cp313-macosx_10_13_universal2.whl
Size 9.3 MB
Tags CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4d3ea9887a83971af5a8331c13bf78452234cec68dd0b7b9fa90a76d374fb62d
BLAKE2b-256 checksum
How to use checksums
de75c131134b1dc984cbf303565caf1761454aa2faa4766264cb4c1d24b10b45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / panels-0.8.0-cp312-cp312-win_amd64.whl

Download URL panels-0.8.0-cp312-cp312-win_amd64.whl
Size 4.2 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
9a10dd030b15222543a6b991ca30ffb8e62d0fc4c6e0be4183131f78c384a8c0
BLAKE2b-256 checksum
How to use checksums
319c2de35bab3e389f5376380f50f8c064822a2963b471c9bc91010506fd6847
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / panels-0.8.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.8.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 36.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c8d982a3f72df28fcf2a223e54f033fa48b3ec51f942a8c62f70d44036ed4eb5
BLAKE2b-256 checksum
How to use checksums
d5e1cf0f0a6ea1dce1e92e0305ef0550cc581226c268331a97276bb56ead15ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / panels-0.8.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL panels-0.8.0-cp312-cp312-macosx_10_13_universal2.whl
Size 9.1 MB
Tags CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
920ce7ef6e9f9869ce767bdddda9e7195a46ae529bea8dfd70f01ad9633d2c2e
BLAKE2b-256 checksum
How to use checksums
49e2df71de86a2371cbfed62ee33e7c5f5110bcc2a5ea964e083a61dde6a6f6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / panels-0.8.0-cp311-cp311-win_amd64.whl

Download URL panels-0.8.0-cp311-cp311-win_amd64.whl
Size 4.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
96a41588a6d31c24558ad3e1507f0adfe818d98bba9e5b790b5ba2777b019b1a
BLAKE2b-256 checksum
How to use checksums
c0b0a333c44280a1dab629867cd1667c86e1bd042c16a6ff2a23640cae369a6e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / panels-0.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 36.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
31390273ebc145f69d374cc6295c8fd1dc06b3fd482ea90459dfdc5bcb49da87
BLAKE2b-256 checksum
How to use checksums
47fd04d61e9a1be259f0f97f16316ad7b133ef445bb078939f4b6a6df1667156
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / panels-0.8.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL panels-0.8.0-cp311-cp311-macosx_10_9_universal2.whl
Size 9.2 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ed724b6d2bf58e3f53fbe5b28cfc262306b80a2834c58a5b3605923964b89752
BLAKE2b-256 checksum
How to use checksums
684128f81b7fc6dee45a33e229c725aa8b513f6c9a736b83b396a30c0dd97331
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / panels-0.8.0-cp310-cp310-win_amd64.whl

Download URL panels-0.8.0-cp310-cp310-win_amd64.whl
Size 4.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ce1f4d086097c708fcc22229c71a979ea44609926000025efc55585170ccfeee
BLAKE2b-256 checksum
How to use checksums
e861db22cc1c8e2974d231af96c0ca3b27a0bc60961a59f63c4e560ee608ee1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / panels-0.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 35.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
efd05fe091f4137815a2f0fc34e87f4cfd5ab9fe8b1cafa0140fa2bc480fb52a
BLAKE2b-256 checksum
How to use checksums
61b1c988097f84ead727c587631fbe1cffcbf04b14cd6caa29e59a1f08fa336c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.21

Release files / panels-0.8.0-cp310-cp310-macosx_10_9_universal2.whl

Download URL panels-0.8.0-cp310-cp310-macosx_10_9_universal2.whl
Size 9.3 MB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4f195b96d378e632b5bf40eb06708170962bc0e45466a4250705f71a5a2f0e40
BLAKE2b-256 checksum
How to use checksums
2c26d76ed82f20dcc49ef850f80014fe222000e3c23c194c942f0eed1f601c92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / panels-0.8.0-cp39-cp39-win_amd64.whl

Download URL panels-0.8.0-cp39-cp39-win_amd64.whl
Size 4.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
4ef6f54f49fc8ba4343e4e012a57baa032ae6d509a6efe08b5978a101b8dba9e
BLAKE2b-256 checksum
How to use checksums
fea445ab5c403ecbfdebd49760c2fc4f0a4fbb20f834c351c72b069073126f30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13

Release files / panels-0.8.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.8.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 35.1 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d03c272b5b044225730dc66a4d100cf43b913012d062a558ab5ed198c268d75b
BLAKE2b-256 checksum
How to use checksums
6f4ce05095c48a621987daf6afbd2162cd4cfd0b8a2aec7b16947b7c109185e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / panels-0.8.0-cp39-cp39-macosx_10_9_universal2.whl

Download URL panels-0.8.0-cp39-cp39-macosx_10_9_universal2.whl
Size 9.3 MB
Tags CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
bdafe4c07158744d1b7c6979e61cc936e652d15bcc50db09735f41b34137c073
BLAKE2b-256 checksum
How to use checksums
f988d65e891e2ceba009b623210a0f1692cb0f99f7323599828e2ef55530c183
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page