Skip to main content

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

New this Release

This release of PyElastica uses the Python package numba to enable just in time compilation leading to a ~8x speedup over the previous version. Numba is not required to run PyElastica and if numba is not installed, PyElastica will defualt to the non-numba implementation. As such, if you wish to take advantage of the speed-up afforded by numba, please be sure to install it separately.

Future releases of PyElastica will require numba and we will no longer be maintaining the non-numba code beyond this release.

We have also included an example script for visualizing PyElastica simulations using POVray. This script is located in the examples folder (examples/visualization).

Installation

PyPI version

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

$ pip install pyelastica 

To provide the best performance, this package requires the numba package. If for some reason you can not use numba you can still download PyElastica from here and run it locally without numba installed.

Previous PyElastica releases are available in the branches.

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},
}

Metadata

Release files for pyelastica 0.1.0.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyelastica 0.1.0.post1
File Size Uploaded
pyelastica-0.1.0.post1.tar.gz 97.0 kB Details

Release files / pyelastica-0.1.0.post1.tar.gz

Download URL pyelastica-0.1.0.post1.tar.gz
Size 97.0 kB
Tags Source
SHA-256 checksum
How to use checksums
027543a4b2709c530ce18d2eabf372c25e1c84e58eab1a7bffe3e6060e99a69c
BLAKE2b-256 checksum
How to use checksums
279dffe7f3f473263f3d68ea748f8775f4a96c6edf25b03770bcc9c43173b29e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.0.0.post20200309 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release history Release notifications | RSS feed

1.0.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

1 release file

0.2.3

1 release file

0.2.2

2 release files

0.2.1

1 release file

0.2.0

1 release file

This release

0.1.0.post1 This release

1 release file

0.1.0

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page