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.1). 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.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.7.1
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.1.tar.gz | 3.0 MB | Details |
Built distributions (wheels)
Total release size: 129.9 MB
Release files / panels-0.7.1.tar.gz
| Download URL | panels-0.7.1.tar.gz |
|---|---|
| Size | 3.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb879669a6fa48467d80503474de4ab3ed0aab4e06f747090aa09de3c5f202c5
|
|
BLAKE2b-256 checksum How to use checksums |
732555c1a1bee3b6e12d3576491f4c1b20bc8fea4d53a8a9f4785417cf9d024a
|
| 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.1-cp314-cp314-win_amd64.whl
| Download URL | panels-0.7.1-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 1.9 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
46ac558fe7a3a6bc902ac5dae1cb1e74fd28cd34df002b2989a56cd04a369590
|
|
BLAKE2b-256 checksum How to use checksums |
50ed75e256b76dd8709d2083e240b0484165ac54cd81e7837c1424a0400e0fd5
|
| 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.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.1-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 |
2f866c3f50d486abd9e836e6bc6e531ea824b31d2aae7f8ec8034ac20531c790
|
|
BLAKE2b-256 checksum How to use checksums |
852561abb5a01633ae1cb468b1c90f6e118c27aea41475c366c15a0ba8da090b
|
| 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.1-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | panels-0.7.1-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 |
4f791f79a216ee9643f493b0bb962c564e36757ff493581c99df1abe4faef636
|
|
BLAKE2b-256 checksum How to use checksums |
d953a8d5053b1fa74444c5d3e847abe53da52eb31be9635f62ca6d4b987fb328
|
| 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.1-cp313-cp313-win_amd64.whl
| Download URL | panels-0.7.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
0bf318f43513b1f4b826e8e5ca527af5333a62b12598d325c8be52d7dc55d70e
|
|
BLAKE2b-256 checksum How to use checksums |
b235fe7fa6c833d46908b37b959a6dfaa9ac5a7f46ab2db90b419a142373b242
|
| 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.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.1-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 |
22d7b59cbd8e7746596ce258ea5345946373a2189fcf00f7c731504dfec616b7
|
|
BLAKE2b-256 checksum How to use checksums |
edb622441464881d2e6ed16382388419730e566e3345278566fe34d18dc97319
|
| 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.1-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | panels-0.7.1-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 |
d97d7d51cb09e1f9a8574b10543582fc9f5e59cfbd72d499d924d3272e5d0ef3
|
|
BLAKE2b-256 checksum How to use checksums |
55251bd13285f8cdd5d98546083dcfae396e241227725ea12c5bc8851f608ce7
|
| 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.1-cp312-cp312-win_amd64.whl
| Download URL | panels-0.7.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
61f21d110b8bc013dc8ccaf656e63c7ee9229a84d230a8c50fa64969f7bdd7bb
|
|
BLAKE2b-256 checksum How to use checksums |
848aa5a7fe20cc31e91021efaa7d0d15ed4dfd61d2b53de2993c4b21ff27df2e
|
| 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.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.1-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 |
5551dac32328df26f053eb553f64d59ff8c2cbe8b38a6b67a178e72592acdb05
|
|
BLAKE2b-256 checksum How to use checksums |
b4bef855a35aef818d9570dfbd34b94424134e98a37fefe1b258a2e6a8fa6098
|
| 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.1-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | panels-0.7.1-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 |
0e758a6ba7cafd0d9aff0b975dc6b8bd906c290d05a52466872783d0c60274c8
|
|
BLAKE2b-256 checksum How to use checksums |
2913ef0eb7214d3bac7ec776cfa5a5c08b6abaaaff90bfd4f607eaa55aac67b3
|
| 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.1-cp311-cp311-win_amd64.whl
| Download URL | panels-0.7.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
15e72014ac2f30382c98af8f8b2ed347dab4e82e3220380bf59bcd9f142332c7
|
|
BLAKE2b-256 checksum How to use checksums |
aa606f35c00d918b4bf94f7a2fc98d8abea396a796d6147523144989602b8c14
|
| 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.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.1-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 |
1eda821f24fde78e76887afcb5d72fad713947386c96b850d45fc31b9ea6e8fa
|
|
BLAKE2b-256 checksum How to use checksums |
efdc33ac3785ec0f29044ed4bd18dae194f4d725f9438cddf885572f54fe7490
|
| 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.1-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | panels-0.7.1-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 |
7e040d690c08509e08e8bad4e922de5aa2a51e9b0c78565ed78c64a95781aa5c
|
|
BLAKE2b-256 checksum How to use checksums |
5602451a4b82f8763a7b92c10f69ff816ff984db158a1b29d6b464d600f9a6d9
|
| 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.1-cp310-cp310-win_amd64.whl
| Download URL | panels-0.7.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7cef4b03bdbc4e47ca494d8bc486f8303ba86101366a9dc976912794444be047
|
|
BLAKE2b-256 checksum How to use checksums |
0f1781030bd040fd4158678498ab41818e09372b9fdabacabaeab8ed95beff96
|
| 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.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.1-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 |
b26fba1666efa7a933fbacdca4b726066f933a28661720d3fb55af0ed7f85df0
|
|
BLAKE2b-256 checksum How to use checksums |
cd8fdc08d4ee1ef1ee6c00b61a96712a315c4df379c2ccbfc740e24316f4ee2a
|
| 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.1-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | panels-0.7.1-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 |
c84903293e8bbf4f6b29301e2efa79b380e90f04bf5694e40aa84872b00de609
|
|
BLAKE2b-256 checksum How to use checksums |
fbbe38d3c512f001ee435b34119a2bb28ab51d572743703f568e9871fc4369e0
|
| 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.1-cp39-cp39-win_amd64.whl
| Download URL | panels-0.7.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 1.8 MB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d2e514270106ae67630341fa125df0da2d3658acd1f59b302cc2abaffe71297c
|
|
BLAKE2b-256 checksum How to use checksums |
7760a4ce94537266e6d74b55cb0176650549037cef67902ed05e6b76baca6462
|
| 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.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | panels-0.7.1-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 |
a7678b0531d4b51d1c6765407fea313ea32e7498e2466ed0740082fca53bf576
|
|
BLAKE2b-256 checksum How to use checksums |
15e2ac48b524996efc5cc1533948491b693969467c1229d58ace1a5af931ccd6
|
| 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.1-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | panels-0.7.1-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 |
00ecb8264885842393ad66dd96a0456bd0419dfffb533a07e6d5916d6b5e9d9d
|
|
BLAKE2b-256 checksum How to use checksums |
2e3ed283a45854bade83f2b899c02970ec434c95b0cca32189c42e2842e84c71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|