/CLamPy

Classical LAMinate theory for the lightweight design of structures and systems in PYthon

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

PyPi Version PyPI pyversions GitHub stars PyPi downloads Code style: blue

CLamPy

Classical LAMinate theory for the lightweight design of structures and systems in PYthon

Klassische Laminattheorie für Leichtbau-Strukturen und -Systeme in Python

Teoria classica dei laminati per la costruzione leggera di strutture e sistemi in Python

Installation

Prerequisites

Python 3 in addition to further packages. These necessary libraries can be installed via PIP:

pip install scipy
pip install numpy
pip install matplotlib
pip install tikzplotlib
pip install pandas
pip install openpyxl

Install

python -m pip install -U .

PIP

You can also install CLamPy via PIP

pip install CLamPy

Getting started

See Python scripts and Jupyter notebook in test.

Assumptions

  • Kirchhoff kinematic assumptions
    • Normals to the neutral plane remain normal after deformation
    • Normals remain straight after deformation
    • Thickness remains the same after deformation
  • Ideal bonding
    • No height of bonding between plies
    • Plies cannot slip relative to each other, i.e. no shear deformation
    • The strength between plies is infinite
  • Geometry
    • Constant uniform thickness
    • Thin laminate, i.e. width and length > 10 times thickness
    • Small displacements and rotations, i.e. out-of-place displacement << thickness

Furture work

  • Add documentation including list of all nomenclature with meaning
  • Different material parameters for each ply as array
  • Material library
  • Plot Young's modulus of each ply
  • Top and Bottom characterisctics in an array for each ply
  • Set warning if material properites have strange values
  • Add thermal properties
  • Add moisture properties

Main source

  • Jones, R. M. (2014) Mechanics of composite materials. Second Edition, Taylor and Francis, New York.

Further references

Authors

E. M. Gioia & E. J. Wehrle