Skip to main content

Github Actions status:

Actions Status

Coverage status:

Codecov 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 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.7.1

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.7.1
File Size Uploaded
panels-0.7.1.tar.gz 3.0 MB Details

Built distributions (wheels)

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

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
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