Skip to main content

Downloads Deploy Test PyPI LinkedIn Youtube DOI

Composipy

What it is

Composipy is a Python-based library designed to address the challenges of composite plate analysis and optimization in the aerospace industry. The library offers tools for laminate stress-strain, plate buckling analysis and lamination parameter optimization, helping engineers during the design process. Utilizing object-oriented programming and native Python structures, Composipy ensures a intuitive workflow and easy integration into existing engineering practices, such as defining material, defining properties, so on.

The library is built using the most powerful Python numerical libraries, so users can think of using Composipy in the same way as Pandas, NumPy, and SciPy. In fact, Composipy is built using their objects and structures.

It is especially useful for leveraging the data-driven culture in companies and can be used to build response surfaces, generate samples, and much more. Refer to the Composipy Examples

Main features

  • ABD Matrix
  • Laminate Stress and Strain
  • Lamination Parameters
  • Plate Buckling
  • Plate Buckling Optimization
  • Plate Strain Optimization
  • Principal Strain Analysis at Midplane

How to install

Directly From PYPI

pip install composipy

Built from source

python setup.py install

Quick start

Create the Material Properties.

from composipy import OrthotropicMaterial
 
E1 = 60800
E2 = 58250
v12 = 0.07
G12 = 4550
t = 0.21

mat_1 = OrthotropicMaterial(E1, E2, v12, G12, t)

See OrthotropicMaterial for reference.

Define the Laminate.

from composipy import LaminateProperty
          #[Ply1 --------------------------- PlyN]
          #[BOTTOM  ------------------------ TOP]
stacking = [-45, 45, 90, 0, 0, 0, 0, 90, 45, -45]
laminate1 = LaminateProperty(stacking, mat_1)

See LaminateProperty for reference.

Calculate Stiffnnes Matrix and Lamination Parameters

print(laminate1.ABD) # prints the ABD matrix as a np.ndarray
print(laminate1.xiA) # prints lamination parameters of extension as a np.ndarray
print(laminate1.xiD) # prints lamination parameters of bending as a np.ndarray

Create a Laminate Strength Analysis.

from composipy import LaminateStrength

laminate_strength = LaminateStrength(laminate1, Nxx=100, Mxx=10)
laminate_strength.epsilon0() #strains at the midplane
laminate_strength.calculate_strain() #strain ply by ply
laminate_strength.calculate_strain() #stress ply by ply

See LaminateStrength for reference.

Also, check the Stress Strain Calculation of a Laminate to see a complete example.

Create a Plate Structure for Buckling Analysis

from composipy import PlateStructure
 
constraints = {    
     'x0' : 'pinned',
     'xa' : 'pinned',
     'y0' : 'free',
     'yb' : 'pinned'
}
# Edges among 'x0', 'xa', 'y0', 'yb' can be 'clamped', 'pinned' or 'free'.
panel = PlateStructure(laminate1, 360, 360, m=10, n=10, Nxx=-1, constraints=constraints)

See PlateStructure for reference.

Calculate Buckling

print(panel.buckling_analysis()) # solve the eigenvalue problem.

Plot Buckling shape mode

print(panel.plot_eigenvalue())

Composipy is able to perform buckling calculation considering different boundary conditions and in-plane load applications. Check the Critical Buckling Examples With Varying Boundary Conditions to see a complete example.

If you are interesting in plate optimization, you may want to check the Optimization of a Plate Subjected to Buckling Loads

Theoretical References

The implementation of composipy is based on the following reference:

Changelog

1.7.0

  • Added LaminateStrength.midplane_principal_strains(): returns maximum principal strain, minimum principal strain, and maximum shear strain at the laminate midplane using Mohr's circle.
  • Added minimize_panel_weight_strain(): new optimization function that minimizes panel weight (objective: T) subject to a minimum principal midplane strain constraint (typical allowable: −3500 microstrain). Addresses the strain failure mode independently from buckling. Available via composipy.optimize.

1.6.0 and earlier

  • See commit history on GitHub.

Metadata

Release files for composipy 1.7.4

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

Source distribution (sdist)

Source distribution for composipy 1.7.4
File Size Uploaded
composipy-1.7.4.tar.gz 289.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for composipy 1.7.4
File Interpreter ABI Platform
composipy-1.7.4-py3-none-any.whl Python 3 none any Details

Total release size: 580.2 kB

Release files / composipy-1.7.4.tar.gz

Download URL composipy-1.7.4.tar.gz
Size 289.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d6510d0c0c97c238736b782111a0ac7a1fcccbf4be73b02408a0610da4ab6042
BLAKE2b-256 checksum
How to use checksums
5aa14ad3f7963daab3ecbea79045e91d89452f3851b6aaf567ea8e6719df9a43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / composipy-1.7.4-py3-none-any.whl

Download URL composipy-1.7.4-py3-none-any.whl
Size 290.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd70b618f87db0559a9190c27534d57d67d61a0d1a0fed328df466eaeffe0a9c
BLAKE2b-256 checksum
How to use checksums
6d13f680dfa8d80e204e707555e13f31f93320fe7d4645994a0fbdf01d659ebd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

1.7.5

2 release files

This release

1.7.4 This release

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.2.0

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