Skip to main content

This package intends to perform composite material calculations

Project description

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 Optimization

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
          #PlyN --------------------------- Ply1]
          #[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' : ['TX', 'TY', 'TZ', 'RX', 'RY', 'RZ'],
     'xa' : ['TX', 'TY', 'TZ', 'RX', 'RY', 'RZ'],
     'y0' : ['TX', 'TY', 'TZ', 'RX', 'RY', 'RZ'],
     'yb' : ['TX', 'TY', 'TZ', 'RX', 'RY', 'RZ']
}
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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

composipy-1.5.1.tar.gz (285.3 kB view details)

Uploaded Source

Built Distribution

composipy-1.5.1-py3-none-any.whl (285.9 kB view details)

Uploaded Python 3

File details

Details for the file composipy-1.5.1.tar.gz.

File metadata

  • Download URL: composipy-1.5.1.tar.gz
  • Upload date:
  • Size: 285.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for composipy-1.5.1.tar.gz
Algorithm Hash digest
SHA256 1e45ce45f93215d8033ff18c294e6b4f1e82906570164919fe1950d90a89446d
MD5 bcfa9695ad5eeafb37f035cbc4a65c48
BLAKE2b-256 13b77913e3c4278b1e55a5b4bcf60bd0b71062b4f1551a32a05eefad64d6b691

See more details on using hashes here.

File details

Details for the file composipy-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: composipy-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 285.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for composipy-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f0aafa6c51ebade91a20ab79011e0901fdc98d3b78932517b007b181fa14b92b
MD5 e1767fe7f9d1d70d10022b5585671fd1
BLAKE2b-256 177c17578a98e1a5fdec369869fde48b1b2c83605b99b4e8431355f61b236b25

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page