Skip to main content

A Python library for elasticity tensor computations

Project description

PyPI - Version PyPI - Downloads Conda Version Conda Downloads GitHub commit activity GitHub Repo stars PyPI - License ReadTheDoc codecov PyPI - Python Version DOI Binder

Elasticipy

A python toolkit to manipulate stress and strain tensors, and other linear elasticity-related tensors (e.g. stiffness). This package also provides a collection of easy-to-use and very fast tools to work on stress and strain tensors.

🚀 Main features

Among other features, this package implements:

  • Computation of elasticity tensors,
  • Analysis of elastic anisotropy and wave propagation,
  • Working with multidimensional arrays of tensors,
  • Thermal expansion tensors,
  • Rotation of tensors,
  • Integration with crystal symmetry groups,
  • Visualization and tutorials for ease of use,
  • A graphical user interface to plot the spatial dependence of engineering constants,
  • Compatibility with the Materials Project API, pymatgen and orix,
  • Crystallographic texture -based calculations,
  • Implementation of common yield criteria, such as von Mises, Tresca, Drucker-Prager and Mohr-Coulomb.

🐍 Installation

Elasticipy can be installed with PIP:

pip install elasticipy

On anaconda, one can also use:

conda install conda-forge::elasticipy

📚 Documentation

Tutorials and full documentation are available on ReadTheDoc.

⏱️ Elasticipy in a nutshell

Take a 5-minute tour through Elasticipy's main features by running the online Jupyter Notebook, hosted on Binder.

🔍 Sources

The source code is available on GitHub under the MIT licence.

☔ Tests and Code Coverage

The project uses unit tests with pytest and coverage reports generated using coverage. These reports are hosted on codecov.

Coverage Exclusions

Certain parts of the code, particularly those related to graphical user interfaces (GUIs) or visual plotting, are excluded from code coverage analysis. This includes the following files:

  • src/Elasticipy/gui.py
  • src/Elasticipy/_plotting_tools.py

🎓 Cite this package

If you use Elasticipy, please cite DOI

You can use the following BibTeX entry:

@article{Elasticipy, 
    doi = {10.21105/joss.07940}, 
    url = {https://doi.org/10.21105/joss.07940}, 
    year = {2025}, 
    publisher = {The Open Journal}, 
    volume = {10}, 
    number = {115}, 
    pages = {7940}, 
    author = {Depriester, Dorian and Kubler, Régis}, 
    title = {Elasticipy: A Python package for linear elasticity and tensor analysis}, 
    journal = {Journal of Open Source Software}
}

Alternatively, you can by me a coffee on ko-fi

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

elasticipy-7.0.0.tar.gz (4.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elasticipy-7.0.0-py3-none-any.whl (158.3 kB view details)

Uploaded Python 3

File details

Details for the file elasticipy-7.0.0.tar.gz.

File metadata

  • Download URL: elasticipy-7.0.0.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for elasticipy-7.0.0.tar.gz
Algorithm Hash digest
SHA256 f0b9b8b65a552b4a2411db8a1656deea05d07ab0abae6a745ed01429de76de92
MD5 1f11931176f4b585be0e60a9aac0d1b2
BLAKE2b-256 a92621accc2d904835b83f700c68daaad1ac2384848c724bc99763f4a5561fc5

See more details on using hashes here.

File details

Details for the file elasticipy-7.0.0-py3-none-any.whl.

File metadata

  • Download URL: elasticipy-7.0.0-py3-none-any.whl
  • Upload date:
  • Size: 158.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for elasticipy-7.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 beaa3fbb391d7f86ab1a4db0732ef40305979ac01fbb8e2c067a5189ea997740
MD5 9ade8be5b2ffa7b6139f2048f7e8d415
BLAKE2b-256 c0e339ecc11d3782bc7bc66fcb6e152483912af3cccce439f4536906ac88a972

See more details on using hashes here.

Supported by

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