Github Actions status:
Coverage status:
Semi-analytical methods for plates, shells and stiffened panels
- 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
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.7.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.7.0 (2026-09-19)
- 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.7.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.7.0.tar.gz | 3.0 MB | Details |
Built distributions (wheels)
Total release size: 129.9 MB
Release files / panels-0.7.0.tar.gz
| Download URL | panels-0.7.0.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcc596cc0faf2d536831301cfdbd6860bbb7f7f90b709a61292d3c49eb1d0e53
|
|
BLAKE2b-256 checksum How to use checksums |
0c941724127113bd3117d68d65f52afb19bf2d9d758e90be1f41165d6ebbab0a
|
| 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.7.0-cp314-cp314-win_amd64.whl
| Download URL | panels-0.7.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
cfcf8f9f64e706d7ada996b75a96860fdfae0198cbc647c7cf9ea3a32ef283e4
|
|
BLAKE2b-256 checksum How to use checksums |
4a2c4552d499ea0a875289eb0ec4b65c6431a3d0d957f4a92a82e7dbb0b897cd
|
| 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.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7c054db5c8ad7fcb7fefaf20f3a29d30facf02d7901d28f4b551161718c7bb63
|
|
BLAKE2b-256 checksum How to use checksums |
5577f69d38773ad34271753d390741d7e6ab25ab0490a2555606637eee54595b
|
| 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.7.0-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | panels-0.7.0-cp314-cp314-macosx_10_15_universal2.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
4cb99703035654882e0d866cccaa30a9b0d6f0f7673988f48537e4974c3d1d93
|
|
BLAKE2b-256 checksum How to use checksums |
b011c3959c1d6ac19c3681026d4125415ac13a3a04b6eecd844cc804fcf091b1
|
| 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.7.0-cp313-cp313-win_amd64.whl
| Download URL | panels-0.7.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4ae2ae8a3ed2918f8c214f7a5212d98153c40cff4ebae2e5c5e775b56c2a874d
|
|
BLAKE2b-256 checksum How to use checksums |
12b16d9144879d26b171b838948661cb6e1e8504542cbb673665c40e831cfdc4
|
| 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.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
94d9956c306011ee588c59cf00dfc0df051d0f60ffcc22d5b23956127a4b3210
|
|
BLAKE2b-256 checksum How to use checksums |
ef41f67c3224ca80dddcc3247ae56250bc163a714c496b0b969e77ca9becc651
|
| 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.7.0-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | panels-0.7.0-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
605d872f7fa7a160c20d121213c580650a6574f5a129608938c4146cde079eed
|
|
BLAKE2b-256 checksum How to use checksums |
ca897816eee5f4c82615876e2176a1373a40ae026e668fc4bc89b30a1d12c2a9
|
| 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.7.0-cp312-cp312-win_amd64.whl
| Download URL | panels-0.7.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1494ba66a9102ff6d4848a77617f3684e10c1d50171eed3cce38f9242b946daf
|
|
BLAKE2b-256 checksum How to use checksums |
7d00a9658eb029e80524032ccf725977a7e4d4a9d12f677e741ddc36b7e7bcee
|
| 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.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.5 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
fb77811cf6eb8062135a07c457be6767fe7520b1dc2dba55e853f7610efbb1ec
|
|
BLAKE2b-256 checksum How to use checksums |
616b516ac16180e7fe80c6e6e04d1aa796dbf88f5212247e53e72c859621e327
|
| 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.7.0-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | panels-0.7.0-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
853a80a1a47d938a6ea7a7fcb4e101afba1c3ed4c079e218913cc93ec4003fe8
|
|
BLAKE2b-256 checksum How to use checksums |
3c901499b18dad689ba0a5422900d78c34f356703ff2060a6832af10f626178c
|
| 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.7.0-cp311-cp311-win_amd64.whl
| Download URL | panels-0.7.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
18acdca732c66bb2e83f03b25f7e2b2fb768bde846d50c7b8ddf9ebb0bcbdc85
|
|
BLAKE2b-256 checksum How to use checksums |
04a6a0a6ac3fc53bf2f03eaad7feb474030f55ab8b989718f5d84de884b2153a
|
| 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.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.6 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
223027c0a4a0793f8f6b948d953481d7c117e514ec565ca55a1c4f8a8dc59c5b
|
|
BLAKE2b-256 checksum How to use checksums |
b784138d23b2e2fb07f2f5d447fcf9b41c9601b86894fab71a4250ff60b4db8e
|
| 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.7.0-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | panels-0.7.0-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
0507259301896b5e03c329da9b6921ac9b5cc1bf57ae5ad1bd8e385624e10384
|
|
BLAKE2b-256 checksum How to use checksums |
b82c04ece844f0ff8fbd224a1a65cb8f5b5eee4d9d9f720e892b1db7304406e4
|
| 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.7.0-cp310-cp310-win_amd64.whl
| Download URL | panels-0.7.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
aac8bdcf04d4136e1cfec086ea49060f3b0118adec09cf36abf5591d91b9b33c
|
|
BLAKE2b-256 checksum How to use checksums |
7ce4f1bb3a3b898a6183fc5ff473a3ba74514044ac7bd16dd720ae42c3c9ed5a
|
| 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.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.1 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5d6de0cd7b480352c10deca889ceeb3f0f815f80e34f6c99c57ca1cb2a05511d
|
|
BLAKE2b-256 checksum How to use checksums |
95b55de175ca792bf65189519d917d907f33ed26d89fa34d46d2e9804bbbabbe
|
| 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.7.0-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | panels-0.7.0-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
aa370b92f5041cdab4ae7c7f540531a3a719eca8e5e7e97288944be51bb5f519
|
|
BLAKE2b-256 checksum How to use checksums |
e5ea16c31f6e8b3061e875df906f1c50897057ff03c2f97b7e2856c5e6f129d9
|
| 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.7.0-cp39-cp39-win_amd64.whl
| Download URL | panels-0.7.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
98389a2b8c5fe43c590079ead83350d6fc6029f21983f39d098221a6de0d4a53
|
|
BLAKE2b-256 checksum How to use checksums |
8b4fb81ea89d70688a070f4a583fcfdf4cfaa03c5ab5a95d77c67f7339721b8d
|
| 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.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 15.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 |
758f7a1e10ed6eaa478139b2ae4f55760e6b3c63fd60a43bc8b6ad32a8e8488d
|
|
BLAKE2b-256 checksum How to use checksums |
78bd23adfb74cc4224b6d453ec913b7e75de0b89572fb6b8372ca483e9ca7068
|
| 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.7.0-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | panels-0.7.0-cp39-cp39-macosx_10_9_universal2.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
8536efef03a6165b75a85a585f94f4f506d97fe1f6d260a1455f8b5114e29925
|
|
BLAKE2b-256 checksum How to use checksums |
fab97a7ffbdb60f055b7e82f64623eee4264a5e8c408727d2c3a9365e8c451dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|