Skip to main content

3pc-laminate

3pc-laminate is a Python library used to define a composite laminate and compute its properties based on classical lamination theory. It provides a Laminate class to define the stacking sequence of plies and compute its overall behavior, built upon the Ply class (provided by the 3pc-ply package).

Installation

Use the package manager pip to install 3pc-laminate. Since 3pc-laminate, 3pc-ply and 3pc-material are publicly available on PyPI, you can install them directly:

pip install 3pc-laminate 3pc-ply 3pc-material

API Reference

Laminate Class

The primary component of this package is the Laminate class, which holds a stacking sequence of plies and dynamically calculates transformed stiffness matrices and engineering constants.

from laminate.laminate import Laminate

Required Parameters

When initializing Laminate directly, the following parameters are required:

  • lamID (str): Laminate identifier.
  • stacking_sequence (list): List of Ply objects starting from the bottom of the laminate (at -thickness/2.0) and ending at the top of the laminate (at +thickness/2.0), i.e., full stacking sequence.
  • offset (str or float): Reference plane offset from midplane. Can be "top", "bottom", "mid", or a float value.

Calculated Properties

The class automatically calculates the following properties lazily:

  • thickness: Total laminate thickness.
  • rho: Average laminate density using rule of mixtures.
  • z: List of z-coordinates for each ply interface relative to the reference plane.
  • A: Extensional stiffness matrix of the laminate.
  • B: Coupling stiffness matrix of the laminate.
  • D: Bending stiffness matrix of the laminate.
  • ABD: Full stiffness matrix in the form of [[A, B], [B, D]].
  • A44, A45, A55: Transverse shear stiffnesses.
  • gamma, delta: Laminate properties measuring the effects of D16 and D26 respectively.
  • Ex, Ey, Gxy, vxy, vyx: In-plane engineering constants.
  • Efx, Efy, Gfxy, vfxy, vfyx: Flexural engineering constants.
  • alphax, alphay, alphaxy: Thermal expansion coefficients.
  • betax, betay, betaxy: Hygral (moisture) expansion coefficients.

Methods

Laminate.fromDict(**kwargs)

Initializes a Laminate instance using a dictionary of keyword arguments. This is ideal for loading configurations from JSON files or dictionaries.


Usage Examples

Basic Initialization

Below is an example of defining a laminate using plies and materials.

from material.orthotropic import Orthotropic
from ply.ply import Ply
from laminate.laminate import Laminate

# Define the material first
zg_material = Orthotropic(
    matID="zg",
    E1=181.0, 
    E2=10.3,
    G12=7.17, 
    G13=7.17, 
    G23=7.17, 
    v12=0.28,
    rho=1.5
)

# Define plies
ply_0 = Ply(plyID="1", angle=0.0, material=zg_material, thickness=0.125)
ply_90 = Ply(plyID="2", angle=90.0, material=zg_material, thickness=0.125)

# Define laminate (0/90)s
lam = Laminate(
    lamID="lam_01", 
    stacking_sequence=[ply_0, ply_90, ply_90, ply_0],
    offset="mid"
)

# Access Computed Properties
print("A Matrix:\\n", lam.A)
print("Effective Ex:", lam.Ex)
print("Effective Ey:", lam.Ey)

Initializing from a Dictionary

You can load your laminate directly from a dictionary.

lam_dict = {
    "lamID": "lam_02",
    "stacking_sequence": [ply_0, ply_90],
    "offset": "bottom"
}

lam_2 = Laminate.fromDict(**lam_dict)
print("Total thickness:", lam_2.thickness)

Commands

The package provides a command-line interface entry point. After installing, you can run the main application using:

laminate

(Currently, this serves as an entry point defined in laminate.main:main)

Metadata

Release files for 3pc-laminate 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for 3pc-laminate 1.0.0
File Size Uploaded Provenance
3pc_laminate-1.0.0.tar.gz 7.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for 3pc-laminate 1.0.0
File Interpreter ABI Platform
3pc_laminate-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 15.8 kB

Release files / 3pc_laminate-1.0.0.tar.gz

Download URL 3pc_laminate-1.0.0.tar.gz
Size 7.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8600633d148786b8ea8fec3c479b9eac16a079b845b60f4e2bb076ed8af2100f
BLAKE2b-256 checksum
How to use checksums
3baaacd6b78445895c37ab1b02a69187dda9e624971fbd4c8bef2d03d6a92bd6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Release files / 3pc_laminate-1.0.0-py3-none-any.whl

Download URL 3pc_laminate-1.0.0-py3-none-any.whl
Size 8.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bf0a260da306ff96c65592661997de72601f77c6d1abda99f2ce24ee2272cf7e
BLAKE2b-256 checksum
How to use checksums
c09e0fe16fb941e00b15bd7b781846697a7dc82437f5f32143659edcd7d7a62e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.3

Security for 3pc-laminate 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

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