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.5

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.5
File Size Uploaded
composipy-1.7.5.tar.gz 289.5 kB Details

Built distribution (wheel)

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

Total release size: 579.9 kB

Release files / composipy-1.7.5.tar.gz

Download URL composipy-1.7.5.tar.gz
Size 289.5 kB
Tags Source
SHA-256 checksum
How to use checksums
593b9af561eccf105a489427c33f9a412a261665263a624270cd3cf502e2062d
BLAKE2b-256 checksum
How to use checksums
7976a3d618a2262f17e949ab8bc4a318aeb1bc25ae92a57eb5b42bea464a80a5
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.5-py3-none-any.whl

Download URL composipy-1.7.5-py3-none-any.whl
Size 290.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
87f8c2a418731f5f546ad338e326de83ec46fb650b3404a86b8bcd92ee3594ea
BLAKE2b-256 checksum
How to use checksums
783d52a55045070e651c4bba8321c0d08a4e8394d1c8d9a7e79950cab7e56669
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

This release

1.7.5 This release

2 release files

1.7.4

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