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.pysrc/Elasticipy/_plotting_tools.py
🎓 Cite this package
If you use Elasticipy, please cite
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}
}
Metadata
Release files for elasticipy 7.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| elasticipy-7.0.0.tar.gz | 4.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| elasticipy-7.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 4.3 MB
Release files / elasticipy-7.0.0.tar.gz
| Download URL | elasticipy-7.0.0.tar.gz |
|---|---|
| Size | 4.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f0b9b8b65a552b4a2411db8a1656deea05d07ab0abae6a745ed01429de76de92
|
|
BLAKE2b-256 checksum How to use checksums |
a92621accc2d904835b83f700c68daaad1ac2384848c724bc99763f4a5561fc5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / elasticipy-7.0.0-py3-none-any.whl
| Download URL | elasticipy-7.0.0-py3-none-any.whl |
|---|---|
| Size | 158.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
beaa3fbb391d7f86ab1a4db0732ef40305979ac01fbb8e2c067a5189ea997740
|
|
BLAKE2b-256 checksum How to use checksums |
c0e339ecc11d3782bc7bc66fcb6e152483912af3cccce439f4536906ac88a972
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|