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.20, 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.20) [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.20)}},
    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.20 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.20

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.20
File Size Uploaded
composites-0.9.20.tar.gz 468.4 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for composites 0.9.20
File
composites-0.9.20-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
composites-0.9.20-cp314-cp314-pyemscripten_2026_0_wasm32.whl CPython 3.14 CPython 3.14 PyEmscripten 2026.0+ WebAssembly Details
composites-0.9.20-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
composites-0.9.20-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
composites-0.9.20-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
composites-0.9.20-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.20-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details

Total release size: 4.3 MB

Release files / composites-0.9.20.tar.gz

Download URL composites-0.9.20.tar.gz
Size 468.4 kB
Tags Source
SHA-256 checksum
How to use checksums
04420b9966a68b363c87252be8e95883d1b38fe82088ef6d1618bc7c0ec1074e
BLAKE2b-256 checksum
How to use checksums
514e25b05b83e0c33737c880d7dd360828ec7a10f692f03267afc22af8623bc6
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.20-cp314-cp314-win_amd64.whl

Download URL composites-0.9.20-cp314-cp314-win_amd64.whl
Size 291.6 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
b3e713e3ca06ac8fbbb00c5b36b351e027a2a0d1161ea5a3a73edbc99f8520ff
BLAKE2b-256 checksum
How to use checksums
89dee23dd86b416272bf13b11c0234cb7565e607d5ffeb9d142867eaf35453a2
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.20-cp314-cp314-pyemscripten_2026_0_wasm32.whl

Download URL composites-0.9.20-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
bfe400a8fe2f908a0b8246da09ad90f2dc9eda786ed6b20286fb96cb2aba67d6
BLAKE2b-256 checksum
How to use checksums
3d32cff87eaf31d1198cf321fe95eb9fa3b9cdb6d4b52bc3a402e19e3e4473c2
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.20-cp313-cp313-win_amd64.whl

Download URL composites-0.9.20-cp313-cp313-win_amd64.whl
Size 285.8 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
a15ead3877359fa5476c22e0436f239243df8182ca3c05dd714ed5a2b2f0dd07
BLAKE2b-256 checksum
How to use checksums
b3c2536d53a9f74637b05e2544ca11fd2ba7c90496cf84cbac0279b9ee9acbd3
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.20-cp312-cp312-win_amd64.whl

Download URL composites-0.9.20-cp312-cp312-win_amd64.whl
Size 286.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ae144b75e3c1b0a2b67557cdbc601a0ea4f241608162b2da0d5706c205dae56b
BLAKE2b-256 checksum
How to use checksums
ca342fbfb91e7991e215e2e3bc62cc71acf052a9b3a92d8bb092b6b5c02a5854
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.20-cp311-cp311-win_amd64.whl

Download URL composites-0.9.20-cp311-cp311-win_amd64.whl
Size 299.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f6060965854a571719fbf98f1567fc64cdd34b5186df076509b925e8f4c57a8e
BLAKE2b-256 checksum
How to use checksums
e0820d4e3c7073b4fb38c2c2d2ea35bbf27bf12d8549666438c35a62a3fbb9c6
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.20-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL composites-0.9.20-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
c1dea45ca47b53510b035212c2332bc32164fa041c26780b24946a6334d8e607
BLAKE2b-256 checksum
How to use checksums
4de3effe0e41fee777e44635c2c24b1b27e8f1fa834c37f0cff4781ff0c82212
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.20-cp310-cp310-win_amd64.whl

Download URL composites-0.9.20-cp310-cp310-win_amd64.whl
Size 299.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9a3374699553eae89024a524a3cc887989c59a9a58dbbd2860f52b030c3299c1
BLAKE2b-256 checksum
How to use checksums
842863b0d67b5606fde4b7210f27c2e59da946a035c1df03b4fe12d74598a68c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

0.9.20 This release

8 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