Skip to content

PyElastica is the Python implementation of Elastica, an open-source software for the simulation of assemblies of slender, one-dimensional structures using Cosserat Rod theory.

License

Notifications You must be signed in to change notification settings

xzhan139/PyElastica

 
 

Repository files navigation

PyElastica

Build_status Documentation Status codecov Downloads

PyElastica is the python implementation of Elastica, which is a free and open-source software project for the simulation of assemblies of slender, one-dimensional structures using Cosserat Rod theory. More information about Elastica and Cosserat rod theory is available at the Elastica project website

The current version of PyElastica released here is the educational version. This version is a straight forward Python implementation of the Elastica code making heavy use of numpy. As such, it is very slow. We are working on a significantly accelerated Python version of the code that we hope to release soon.

Installation

PyPI version

PyElastica is compatible with Python 3.5 - 3.8. The easiest way to install PyElastica is with PIP.

$ pip install pyelastica 

Documentation

Documentation Status

Documentation of PyElastica is available at docs.cosseratrods.org

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

Tutorials

Binder

We have created several Jupyter notebooks and Python scripts to help get users started with using PyElastica. The Jupyter notebooks are available on Binder, allowing you to try out some of the tutorials without having to install PyElastica.

Citation

We ask that any publications which use Elastica cite the following papers:

Zhang, Chan, Parthasarathy, Gazzola, Modeling and simulation of complex dynamic musculoskeletal architectures, Nature Communications, 2019. doi: 10.1038/s41467-019-12759-5

Gazzola, Dudte, McCormick, Mahadevan, Forward and inverse problems in the mechanics of soft filaments, Royal Society Open Science, 2018. doi: 10.1098/rsos.171628

@article{gazzola2018forward,
  title={Forward and inverse problems in the mechanics of soft filaments},
  author={Gazzola, M and Dudte, LH and McCormick, AG and Mahadevan, L},
  journal={Royal Society open science},
  volume={5},
  number={6},
  pages={171628},
  year={2018},
  publisher={The Royal Society Publishing},
  doi = {10.1098/rsos.171628},
  url = {https://doi.org/10.1098/rsos.171628},
}
@article{zhang2019modeling,
  title={Modeling and simulation of complex dynamic musculoskeletal architectures},
  author={Zhang, X and Chan, FK and Parthasarathy, T and Gazzola, M},
  journal={Nature Communications},
  volume={10},
  number={1},
  pages={1--12},
  year={2019},
  publisher={Nature Publishing Group},
  doi = {10.1038/s41467-019-12759-5},
  url = {https://doi.org/10.1038/s41467-019-12759-5},
}

About

PyElastica is the Python implementation of Elastica, an open-source software for the simulation of assemblies of slender, one-dimensional structures using Cosserat Rod theory.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.8%
  • Makefile 0.2%