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.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 composipy 1.7.0
File Size Uploaded
composipy-1.7.0.tar.gz 289.6 kB Details

Built distribution (wheel)

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

Total release size: 580.2 kB

Release files / composipy-1.7.0.tar.gz

Download URL composipy-1.7.0.tar.gz
Size 289.6 kB
Tags Source
SHA-256 checksum
How to use checksums
caf69be2e083c1f89de11d2e1ca7b105de37455274ae53987b83cf2605825e50
BLAKE2b-256 checksum
How to use checksums
8c7118ddebb086f4868210a6b70e3d4677e87c99512f613d8558c9bf81e7d228
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.0-py3-none-any.whl

Download URL composipy-1.7.0-py3-none-any.whl
Size 290.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1790b41a96c775e46ec1f0438d55a3a54684c1040444cdebd7f88f6f6a9ccd17
BLAKE2b-256 checksum
How to use checksums
164d382a513fc719dd056320a629f2564cae9f3011e072a63e874e95371fbeb0
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

1.7.4

2 release files

This release

1.7.0 This release

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