Github Actions status:
Coverage 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
MultiDomainconnection'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_dmgandfkCSB22_dmgtake the distancesdtanddbfrom 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()withcomposites>=0.9.0
- Fixed the cohesive zone of the
- version 0.6.21 (2026-09-18)
- Fixed the mass of the base of
BladeStiff2D, which was missing, and the section forces ofMultiDomain.force(), which lacked the Jacobian StiffPanelBay.calc_kA()sums the contribution of every panel, andcalc_kA,calc_cA,calc_fext,save,get_sizeanduvw_stiffenerofStiffPanelBayandShell.calc_cAno longer raiseShell.strain()andShell.stress()work for a plate withr=None- Line coverage of the tests raised from 67 % to 92 %
- Fixed
StiffPanelBay.add_paneland the partial-domain integration ofShell.calc_kC,calc_kGandcalc_kM - The limits
Shell.x1, x2, y1, y2of the integration domain default toNoneinstead of the sentinels-1and+1, which silently integrated the full domain for a limit at1.0and ignored a limit given on one side only; the old-1now raises - Fixed the
MultiDomainskin-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
MultiDomainconnection 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 everyMultiDomainconnection - Fixed the argument handling of the stiffness API: an invalid
corc_cteno longer reaches the nogil kernels, and a model that needs a radius raises instead of computing withr = 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
ShellandMultiDomaincan be passed directly tostructsolve.Analysis, including the arc-length methods- Gauss-Legendre points and weights from
scipy.special.roots_legendre - Modules of the models renamed without the
_bardellsuffix, and the legacy_bardellmodel names removed frompanels.modelDB.db - Sphinx documentation with usage examples
- Fixed the mass of the base of
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| panels-0.8.0.tar.gz | 7.5 MB | Details |
Built distributions (wheels)
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
|