Skip to main content

Github Actions status: pytest Documentation Deploy

Coverage status:

codecov Codecov 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)

Source distribution for composites 0.9.21
File Size Uploaded
composites-0.9.21.tar.gz 468.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for composites 0.9.21
File
composites-0.9.21-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
composites-0.9.21-cp314-cp314-pyemscripten_2026_0_wasm32.whl CPython 3.14 CPython 3.14 PyEmscripten 2026.0+ WebAssembly Details
composites-0.9.21-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
composites-0.9.21-cp314-cp314-macosx_10_15_universal2.whl CPython 3.14 CPython 3.14 macOS 10.15+ universal2 (ARM64, x86-64) Details
composites-0.9.21-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
composites-0.9.21-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
composites-0.9.21-cp313-cp313-macosx_10_13_universal2.whl CPython 3.13 CPython 3.13 macOS 10.13+ universal2 (ARM64, x86-64) Details
composites-0.9.21-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
composites-0.9.21-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
composites-0.9.21-cp312-cp312-macosx_10_13_universal2.whl CPython 3.12 CPython 3.12 macOS 10.13+ universal2 (ARM64, x86-64) Details
composites-0.9.21-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
composites-0.9.21-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
composites-0.9.21-cp311-cp311-macosx_10_9_universal2.whl CPython 3.11 CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) Details
composites-0.9.21-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
composites-0.9.21-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
composites-0.9.21-cp310-cp310-macosx_10_9_universal2.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) Details
composites-0.9.21-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
composites-0.9.21-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
composites-0.9.21-cp39-cp39-macosx_10_9_universal2.whl CPython 3.9 CPython 3.9 macOS 10.9+ universal2 (ARM64, x86-64) Details

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

Release history Release notifications | RSS feed

This release

0.9.21 This release

20 release files

0.9.2

22 release files

0.9.1

22 release files

0.9.0

22 release files

0.8.6

22 release files

0.8.1

33 release files

0.7.3

13 release files

0.7.2

13 release files

0.7.0

47 release files

0.6.5

47 release files

0.6.0

19 release files

0.5.9

16 release files

0.5.4

13 release files

0.5.3

6 release files

0.5.2

8 release files

0.5.1

8 release files

0.5.0

8 release files

0.4.22

8 release files

0.4.21

8 release files

0.4.20

4 release files

0.4.19

8 release files

0.4.17

8 release files

0.4.16

8 release files

0.4.15

8 release files

0.4.14

8 release files

0.4.13

8 release files

0.4.11

8 release files

0.4.9

8 release files

0.4.8

8 release files

0.4.7

8 release files

0.4.6

8 release files

0.4.5

8 release files

0.4.4

8 release files

0.4.3

8 release files

0.4.2

8 release files

0.4.1

8 release files

0.4.0

8 release files

0.3.7

8 release files

0.3.6

8 release files

0.3.5

8 release files

0.3.4

8 release files

0.3.3

8 release files

0.2.5

2 release files

0.2.3

2 release files

0.2.2

3 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

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