Elastica is a software to simulate the dynamics of filaments that, at every cross-section, can undergo all six possible modes of deformation, allowing the filament to bend, twist, stretch and shear, while interacting with complex environments via muscular activity, surface contact, friction and hydrodynamics.

# PyElastica

PyElastica is the python implementation of Elastica: an open-source project for simulating assemblies of slender, one-dimensional structures using Cosserat Rod theory.

## How to Start

PyElastica is compatible with Python 3.7 - 3.10.

\$ pip install pyelastica


Documentation of PyElastica is available here.

## Citation

We ask that any publications which use Elastica cite as following:

@misc{tekinalp2022pyelastica,
title={PyElastica: A computational framework for Cosserat rod assemblies},
author={Tekinalp, Arman and Kim, Seung Hyun and Parthasarathy, Tejaswin and Bhosale, Yashraj},
journal={https://github.com/GazzolaLab/PyElastica},
year={2022},
publisher={GitHub}
}


#### References

• Gazzola, Dudte, McCormick, Mahadevan, Forward and inverse problems in the mechanics of soft filaments, Royal Society Open Science, 2018. doi: 10.1098/rsos.171628
• Zhang, Chan, Parthasarathy, Gazzola, Modeling and simulation of complex dynamic musculoskeletal architectures, Nature Communications, 2019. doi: 10.1038/s41467-019-12759-5

## Tutorials

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).

## Contribution

PyElastica is developed by the Gazzola Lab at the University of Illinois at Urbana-Champaign.

## Senior Developers ✨

Names arranged alphabetically

## Project details

Uploaded source
Uploaded py3