A Python library for elasticity tensor computations
Project description
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}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0b9b8b65a552b4a2411db8a1656deea05d07ab0abae6a745ed01429de76de92
|
|
| MD5 |
1f11931176f4b585be0e60a9aac0d1b2
|
|
| BLAKE2b-256 |
a92621accc2d904835b83f700c68daaad1ac2384848c724bc99763f4a5561fc5
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
beaa3fbb391d7f86ab1a4db0732ef40305979ac01fbb8e2c067a5189ea997740
|
|
| MD5 |
9ade8be5b2ffa7b6139f2048f7e8d415
|
|
| BLAKE2b-256 |
c0e339ecc11d3782bc7bc66fcb6e152483912af3cccce439f4536906ac88a972
|