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 plates, cylindrical shells, cylinders, stiffened panels, with the domains connected exactly with the null-space method, the default, or by penalty stiffnesses. Debonding defects or cohesive zone can be simulated
  • 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.9.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.9.0 (2026-09-24)
    • Null-space connection, exact, new default, as alternative to penalty-based connection
  • 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.9.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.9.0
File Size Uploaded
panels-0.9.0.tar.gz 7.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for panels 0.9.0
File
panels-0.9.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
panels-0.9.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.9.0-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
panels-0.9.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
panels-0.9.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.9.0-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
panels-0.9.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
panels-0.9.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.9.0-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
panels-0.9.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
panels-0.9.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.9.0-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
panels-0.9.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
panels-0.9.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.9.0-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details
panels-0.9.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
panels-0.9.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.9.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.3 MB

Release files / panels-0.9.0.tar.gz

Download URL panels-0.9.0.tar.gz
Size 7.5 MB
Tags Source
SHA-256 checksum
How to use checksums
8437324fd0d707e4c419b4bf408251be659b134dc0732421b8aca0ca34239f94
BLAKE2b-256 checksum
How to use checksums
c0835922901caa5664a536f1fb1bfc01c2b262b7a2c29004c7b398cfc21c204f
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.9.0-cp314-cp314-win_amd64.whl

Download URL panels-0.9.0-cp314-cp314-win_amd64.whl
Size 4.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
0522d776966120e598004438487cb0a9c016e36f64625128351d34e9cb95ee78
BLAKE2b-256 checksum
How to use checksums
37c34fc4806e6bb7d2ab6bbcb812f0632a395e7c498e9519edd46b752bdf6183
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.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 36.4 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ac5f82e7b4dbe0fbf52bb093d04324f069f9097316e165a4eec0fbe1bc4ab780
BLAKE2b-256 checksum
How to use checksums
dd2de96c02b67789e35bc8016e233b9d18efef3c7fe79ba4f50e119cbf1be35e
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.9.0-cp314-cp314-macosx_10_15_universal2.whl

Download URL panels-0.9.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
491e9521ba1bd03d95779785982f21f2e78aa24ea54a13c72954c9fa3caf038a
BLAKE2b-256 checksum
How to use checksums
434d2785108d46ddfe56696dfa70ad74535cb20db56ff78f2220508296ed8a44
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.9.0-cp313-cp313-win_amd64.whl

Download URL panels-0.9.0-cp313-cp313-win_amd64.whl
Size 4.2 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
5c3e52aef39421c29ec7fc0f0fad8db41185aad705eaf27b4ee0bb43d84ae395
BLAKE2b-256 checksum
How to use checksums
3ea7f1fdabbe538659783cb77a203f3d96008e58cb6757676aa26fef1ace0d53
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.9.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.9.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
a221a0138e5a6aed9a061aab363594872c5e16f399c8e83365075cbb605f4773
BLAKE2b-256 checksum
How to use checksums
831481184e26a8addf39edbb35ea0f50fc745e3f6212ea4e1b0e34615e088819
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.9.0-cp313-cp313-macosx_10_13_universal2.whl

Download URL panels-0.9.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
684b9327509c8c6f4ffb2fb2f179c76743e08e43b851194d80ee277501b681c6
BLAKE2b-256 checksum
How to use checksums
bcbf581518a273900ecd3a8d5e18b03b3592ed5607940487616c7c44c519d2df
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.9.0-cp312-cp312-win_amd64.whl

Download URL panels-0.9.0-cp312-cp312-win_amd64.whl
Size 4.2 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a46e2e23172ec8b0baba27577cd3200c58959f3ece7f091a5b7d96499ad8d020
BLAKE2b-256 checksum
How to use checksums
9da9e7510ce874b90166a988a5d4eb4be19011df53b2c41a4a3357f099197e99
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.9.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.9.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
0987496ec04e25c8cfb1bc69e65d1a126ac7cb8fadb3d690acdc31b02172259d
BLAKE2b-256 checksum
How to use checksums
916c257dd81dd63bedfe2c455bcc18b073f456b62e2d8051159ffe92df361dc0
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.9.0-cp312-cp312-macosx_10_13_universal2.whl

Download URL panels-0.9.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
904469083b0dec84e0cfdfe663112cac9edd6c993297fc5515d20239d98bbdfc
BLAKE2b-256 checksum
How to use checksums
829c2914551b44dbe23009fedaba0d2cfca8443956c64e32cbcfdc885ffc7e7b
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.9.0-cp311-cp311-win_amd64.whl

Download URL panels-0.9.0-cp311-cp311-win_amd64.whl
Size 4.3 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5d92e91a4df8c6d4a2de0b5c0aae90cd8f93e6d547e51175099c1dc7bb5f622b
BLAKE2b-256 checksum
How to use checksums
49b6d2191465f341fd039276b19d2f1b7afe24f98efa270f9830fbf3219db1b1
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.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.9.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
6192294a9413c33c5b6aab94115722bef739870fea7ecafa25299a23aec9e201
BLAKE2b-256 checksum
How to use checksums
6055738ddc6f77f3dc12fd2f6995863148cdf1b05cfb5becc7812ac7b2de53fe
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.9.0-cp311-cp311-macosx_10_9_universal2.whl

Download URL panels-0.9.0-cp311-cp311-macosx_10_9_universal2.whl
Size 9.3 MB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
12a3ef65eb32e9ab70a603222b2384fb7ad8b674594bb108a0765b48e8d05197
BLAKE2b-256 checksum
How to use checksums
925dad5c2653f478cf68215de192f05fb6195fdf8befba6c183e856be39cc1da
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.9.0-cp310-cp310-win_amd64.whl

Download URL panels-0.9.0-cp310-cp310-win_amd64.whl
Size 4.3 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b2f0a68387f6d0c4fbe71fedef38e3b0008b9fd2c0aa6c203ceea62d084f7116
BLAKE2b-256 checksum
How to use checksums
07cb714cfaf9f8b5b76bc7cf7a501161663e57709a71302fc4cbb6e87b03b2f8
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.9.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.9.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
6935d2798ed6f3eabdb93bee38e8b20c283532a4c44404cf8be5db759cf7144d
BLAKE2b-256 checksum
How to use checksums
907ecbce9e3eae3530cef7b244632b4388eca03634a2cec0cf3b3128122b9191
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.9.0-cp310-cp310-macosx_10_9_universal2.whl

Download URL panels-0.9.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
5783e63b48648f7209cfa4110fc205a26806a406a3f4ab7946938caf3002e44e
BLAKE2b-256 checksum
How to use checksums
c73b44018aac815620df21cc637e67a76e4dc4e770f087ae164c85479d877066
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.9.0-cp39-cp39-win_amd64.whl

Download URL panels-0.9.0-cp39-cp39-win_amd64.whl
Size 4.3 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
726fd66c5b347f318b029585c3eb0791fcbc0be4588531f473a55597525152ee
BLAKE2b-256 checksum
How to use checksums
c4ae4645fd4bfee483090998bcfd9cef702153350fc23b96516714c294928669
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.9.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL panels-0.9.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
f6bd1f957b99859e2c3edb27129091774ff65aa4a022163df72a5c90583f9aba
BLAKE2b-256 checksum
How to use checksums
bc9a516da33459a5382d94ef13b0f3f8bd1999f2599e0ebcf6c5b23a38a1977c
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.9.0-cp39-cp39-macosx_10_9_universal2.whl

Download URL panels-0.9.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
e5b6ae858de82458a27d683ee6944d9b505e82cf72af328ec1b7a66faebddf88
BLAKE2b-256 checksum
How to use checksums
9eeea89659cfe3796e9294ac75119e20a8246221d95b127cfd156bf5f510d64c
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