Coverage status:
Methods for analysis and design of composites
High-performance module to calculate properties of laminated composite materials. Usually, this module is used to calculate:
-
A, B, D, E, F, H plane-stress stiffness matrices
- A, B, D, for classical plate theory (CLT, or CLPT)
- A44, A45, A55 for first-order shear deformation theory (FSDT), with the shear correction already applied, by default with the equilibrium approach of Rohwer (1988); also available: Vlachoutsis (1992), Whitney (1973), Chow (1971), Birman and Bert (2002), the thickness-shear frequency of Yang, Norris and Stavsky (1966), and a constant 5/6
- E, F, H for third-order shear deformation theory (TSDT)
-
Transverse shear stresses through the thickness, from the shear forces or recovered a posteriori from the strain gradients of an FSDT solution (Noor and Peters, 1989), with the corresponding transverse shear strain energies
-
Material invariants, trace-normalized or not
-
Lamination parameters based on material invariants
-
Stiffness matrices (ABD) based on lamination parameters
-
Saving and loading of laminates, plies, materials and lamination parameters in JSON
Documentation
The documentation is available on: https://saullocastro.github.io/composites.
Running in the browser with Pyodide
From version 0.9.21, a WebAssembly wheel is published on PyPI for Pyodide 314
(CPython 3.14), such that composites runs in the browser, e.g. in
JupyterLite or in a web page with Pyodide::
import micropip
await micropip.install('composites')
from composites import laminated_plate, to_json
lam = laminated_plate([0, 45, -45, 90], plyt=0.125e-3,
laminaprop=(142e9, 8.7e9, 0.28, 5.1e9, 5.1e9, 3.2e9))
print(lam.ABD)
s = to_json(lam) # strict JSON, readable with JSON.parse in JavaScript
Citing this repository
Castro, SGP. Methods for analysis and design of composites (Version 0.9.21) [Computer software]. 2026. https://doi.org/10.5281/zenodo.2871782
Bibtex :
@misc{composites2026,
author = {Castro, Saullo G. P.},
doi = {10.5281/zenodo.2871782},
title = {{Methods for analysis and design of composites (Version 0.9.21)}},
year = 2026
}
History
- version 0.1.0, from sub-module of compmech 0.7.2
- version 0.2.2, from sub-module of meshless 0.1.19
- version 0.2.3 onwards: independent of previous packages
- version 0.3.0 onwards: with fast Cython version, not compatible with previous versions
- version 0.4.0 onwards: fast Cython and cimportable by other packages, full compatibility with finite element mass matrices of plates and shells, supporting laminated plates with materials of different densities
- version 0.5.4 onwards: verified lamination parameters, analytical gradients of Aij, Bij, Dij with respect to lamination parameters, supportting MAC-OS
- version 0.5.17 onwards: installing with pip
- version 0.6.0 onwards: cibuildwheel to distribute for Linux
- version 0.7.0 onwards: added Kassapoglou's module
- version 0.8.0 onwards: support for Third-order Shear Deformation Theory (TSDT)
- version 0.9.1 onwards: A44, A45, A55 with the shear correction already applied (Rohwer, 1988), transverse shear stress recovery, picklable Laminate and GradABD, improved Cython and compiler flags (0.9.2), see CHANGELOG.md
- version 0.9.12 onwards: shear correction methods of Whitney (1973), Chow (1971), Birman and Bert (2002) and Yang, Norris and Stavsky (1966), a posteriori transverse shear stresses and energies (Noor and Peters, 1989), Atrans, Dtrans and Ftrans deprecated in favour of Ats, Dts and Fts, see CHANGELOG.md
- version 0.9.21 onwards: saving and loading in JSON, support for Pyodide (WebAssembly) with wheels on PyPI, see CHANGELOG.md
License
Distrubuted under the 3-Clause BSD license (https://raw.github.com/saullocastro/composites/master/LICENSE).
Contact: S.G.P.Castro@tudelft.nl.
Metadata
Release files for composites 0.9.21
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| composites-0.9.21.tar.gz | 468.4 kB | Details |
Built distributions (wheels)
Total release size: 19.1 MB
Release files / composites-0.9.21.tar.gz
| Download URL | composites-0.9.21.tar.gz |
|---|---|
| Size | 468.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
14ec7ce936018740d1bdf36992086c33f4a88ae799263231d75d15a936fe7fa7
|
|
BLAKE2b-256 checksum How to use checksums |
34437d357e692d42606fe370b7980484a38b91dba4f52fae6f6d8a7fc9545630
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / composites-0.9.21-cp314-cp314-win_amd64.whl
| Download URL | composites-0.9.21-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 291.6 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c8f945f4236d72d41d8333c41aa5eac2d3870bda9bfec256c6b112ab8dab7499
|
|
BLAKE2b-256 checksum How to use checksums |
011b1e637977f5867ff4bd845d3372aa8c1bd5e3c1a611b9c211ec8a62927e0b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / composites-0.9.21-cp314-cp314-pyemscripten_2026_0_wasm32.whl
| Download URL | composites-0.9.21-cp314-cp314-pyemscripten_2026_0_wasm32.whl |
|---|---|
| Size | 167.3 kB |
| Tags | CPython 3.14 PyEmscripten 2026.0+ WebAssembly |
|
SHA-256 checksum How to use checksums |
99757eb0f37f1bdcd1ffad065ef5750a374aa667840bd5eca8ace626402cee63
|
|
BLAKE2b-256 checksum How to use checksums |
db70058b0302c02487c19a276570215f56f20f4e999841cad3cf60e775deda35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / composites-0.9.21-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | composites-0.9.21-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c840ea63adb3378b3844962c5bec311a4df4a8d6cee33d446bf01cb7361deb73
|
|
BLAKE2b-256 checksum How to use checksums |
70df28ba60a3c018f1410a8fe1f08b1d9d6019e7a891625094d005423d551712
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / composites-0.9.21-cp314-cp314-macosx_10_15_universal2.whl
| Download URL | composites-0.9.21-cp314-cp314-macosx_10_15_universal2.whl |
|---|---|
| Size | 641.2 kB |
| Tags | CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
c002bb023501eccc680252cf5372ea15691b599f305e4c8d3252875a267ef627
|
|
BLAKE2b-256 checksum How to use checksums |
e360273a497c061e53891dab2027469da6c5520fdc33479f0fa75eea51aa2de8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / composites-0.9.21-cp313-cp313-win_amd64.whl
| Download URL | composites-0.9.21-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 285.8 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a4803b904b3662ad0dcf9eb65033c160654641bcf56f803be0627abd2a0a97ef
|
|
BLAKE2b-256 checksum How to use checksums |
fd26d5ddd9e3ffa9dbf94e07afd70135aa5b475021d024dbf3af3991e316b111
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / composites-0.9.21-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | composites-0.9.21-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e2e3ef5933eb9a0947d511bbc88441c48586b01d43133303b36bd31d8d49f38b
|
|
BLAKE2b-256 checksum How to use checksums |
42dc67549480790278358ddd62c7a455ab98ab1df47fe7cd04d56c73613707c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / composites-0.9.21-cp313-cp313-macosx_10_13_universal2.whl
| Download URL | composites-0.9.21-cp313-cp313-macosx_10_13_universal2.whl |
|---|---|
| Size | 638.9 kB |
| Tags | CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
ed0fe0ef1838c256a1c097c089b21c7104ea36c4d0a54668f7b96b218143f511
|
|
BLAKE2b-256 checksum How to use checksums |
3f1923cac6b0564e4c5e85903ad1678864d0e2af932cacc016240350337cf852
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / composites-0.9.21-cp312-cp312-win_amd64.whl
| Download URL | composites-0.9.21-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 286.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
603493167cf8082289cf94e00de19243f3ad007f52fef4203c01ef53d7a15dce
|
|
BLAKE2b-256 checksum How to use checksums |
90d065d29ceb0b4d40c601bca5a2773723aebd5f3f842b7975bb082a1ab4293e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / composites-0.9.21-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | composites-0.9.21-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
042aa21f3080cfe037094266d738c011e2f27fe7832397609d2dd0502512b2f2
|
|
BLAKE2b-256 checksum How to use checksums |
c304f579c27d518b08e8f68622a1a993175ef009c98a61ac1f196eb6ac8688c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.14
|
Release files / composites-0.9.21-cp312-cp312-macosx_10_13_universal2.whl
| Download URL | composites-0.9.21-cp312-cp312-macosx_10_13_universal2.whl |
|---|---|
| Size | 639.0 kB |
| Tags | CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
bd7c66948e4c3e33c7521f2f74057323c2df8c1c112a9b7f36d18f4901c08629
|
|
BLAKE2b-256 checksum How to use checksums |
45fd63a90c6f892dc4ca42ee293ee47e6f7aceca1ad93bcd9c36543abe26296b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / composites-0.9.21-cp311-cp311-win_amd64.whl
| Download URL | composites-0.9.21-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 299.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
33e67bf699ab4b0fa8b667b11cd36cbb39f8158719295a0146eae9a6bd850fd4
|
|
BLAKE2b-256 checksum How to use checksums |
c397adccba6d60e4dcfd15a3709372fc9fac3b54592f23cc56ffe79f7b2d38cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / composites-0.9.21-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | composites-0.9.21-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.2 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
820dc4e2a6fb2af00a75dffd691302d7cc870030d035a1a617f449a70b7b96fe
|
|
BLAKE2b-256 checksum How to use checksums |
aa3dc101ffdd01fac39cc3995d26637eb943457b9106aa94dfbb2ed536da52cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.17
|
Release files / composites-0.9.21-cp311-cp311-macosx_10_9_universal2.whl
| Download URL | composites-0.9.21-cp311-cp311-macosx_10_9_universal2.whl |
|---|---|
| Size | 641.5 kB |
| Tags | CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
f16eb8d43fce0af11055935ef74c7d25d72d379c05216efc473ee44d4c9854e9
|
|
BLAKE2b-256 checksum How to use checksums |
f34c90f080b59c260c53b7c6bb3f2e9c5129f4c50da9aed8c8133cb9fb01c521
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.9
|
Release files / composites-0.9.21-cp310-cp310-win_amd64.whl
| Download URL | composites-0.9.21-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 299.6 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ad3be056d1841adfc5167b9b1e2bd450b7e28d05508295de3589ae44b6a91570
|
|
BLAKE2b-256 checksum How to use checksums |
eee89c473aa1aa740184888058f45eb7524e40961b009cd42e309150fa4d9373
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.11
|
Release files / composites-0.9.21-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | composites-0.9.21-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.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 |
a792501015c0900da00b2e87b6bd9ae26b1e546440bcd5488271c283ba7cc1aa
|
|
BLAKE2b-256 checksum How to use checksums |
e43d40f0b48d2ef517265197084cd249c42e186614a6a81a93d45651768e5be9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.21
|
Release files / composites-0.9.21-cp310-cp310-macosx_10_9_universal2.whl
| Download URL | composites-0.9.21-cp310-cp310-macosx_10_9_universal2.whl |
|---|---|
| Size | 647.5 kB |
| Tags | CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
7efb96c94bc0608eb9ca5f45c37c3432fe57a3a36ebd55b4402983432f9c6b53
|
|
BLAKE2b-256 checksum How to use checksums |
6056b609ceed20a3fb23df199e7e52ac5649d2f6045c983c9e569eff9c4f2b43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.11
|
Release files / composites-0.9.21-cp39-cp39-win_amd64.whl
| Download URL | composites-0.9.21-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 299.8 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7d445d02af3169ae54ac78ac1c1ab06bc8ce243441763b0bcccd82b0e4190890
|
|
BLAKE2b-256 checksum How to use checksums |
9a27e98731db0ef12b38a54e94d0662f3288191d9ebad1b3e90d0eced517cf9c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|
Release files / composites-0.9.21-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | composites-0.9.21-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 2.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 |
bada0a0b2691ba9296891656729cd20e51b553b234fd420d29e06c18a93973ab
|
|
BLAKE2b-256 checksum How to use checksums |
2fd2e7ee536dd0f9dbb6d24c33bb074bd0e5bbd9d09061ead70e10747f74277a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / composites-0.9.21-cp39-cp39-macosx_10_9_universal2.whl
| Download URL | composites-0.9.21-cp39-cp39-macosx_10_9_universal2.whl |
|---|---|
| Size | 648.9 kB |
| Tags | CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) |
|
SHA-256 checksum How to use checksums |
db950d23b9f2bc27fcf71efc4a4e8db8d13b94f472cd2afb3cef70caca4747c0
|
|
BLAKE2b-256 checksum How to use checksums |
28a45e337e5794d0e611f56c432e8ec1ba0c2725ed3e36f6f9249d9511375197
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.13
|