PyElastica is the python implementation of Elastica: an open-source project for simulating assemblies of slender, one-dimensional structures using Cosserat Rod theory.
Visit www.cosseratrods.org for more information and learn about Elastica and Cosserat rod theory.
PyElastica is compatible with Python 3.10 - 3.11.
$ pip install pyelastica
With this you get a minimal version with very little dependencies.
All options:
examples
: installs dependencies to run example cases,
found under the folder examples
.docs
: packages to build documentationOptions can be combined e.g.
$ pip install "pyelastica[examples,docs]"
For plotting videos, ffmpeg has to be installed:
$ conda install -c conda-forge ffmpeg
Documentation of PyElastica is available here.
If you want to simulate magnetic Cosserat rods interacting with external magnetic environments you can install the derived package using
$ pip install magneto_pyelastica
Details can be found here.
We ask that any publications which use Elastica cite as following:
@software{arman_tekinalp_2024_10883271,
author = {Arman Tekinalp and
Seung Hyun Kim and
Yashraj Bhosale and
Tejaswin Parthasarathy and
Noel Naughton and
Ali Albazroun and
Rahul Joon and
Songyuan Cui and
Ilia Nasiriziba and
Maximilian Stölzle and
Chia-Hsien (Cathy) Shih and
Mattia Gazzola},
title = {GazzolaLab/PyElastica: v0.3.2},
month = mar,
year = 2024,
publisher = {Zenodo},
version = {v0.3.2},
doi = {10.5281/zenodo.10883271},
url = {https://doi.org/10.5281/zenodo.10883271}
}
We have created several Jupyter notebooks and Python scripts to help users get started with PyElastica. The Jupyter notebooks are available on Binder, allowing you to try out some of the tutorials without having to install PyElastica.
We have also included an example script for visualizing PyElastica simulations using POVray. This script is located in the examples folder (examples/Visualization
).
If you would like to participate, please read our contribution guideline
PyElastica is developed by the Gazzola Lab at the University of Illinois Urbana-Champaign.
Names arranged alphabetically