Skip to main content

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.

Project description

PyElastica

CI Documentation Status codecov Downloads DOI Binder Gitter

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

gallery

Visit www.cosseratrods.org for more information and learn about Elastica and Cosserat rod theory.

How to Start

PyPI version Documentation Status

PyElastica is compatible with Python 3.10+.

$ pip install pyelastica

For plotting videos, ffmpeg is typically used.

Documentation of PyElastica is available here.

Related Projects

Citation

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

@software{PyElastica,
  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},
  year         = 2024,
  publisher    = {Zenodo},
  doi          = {10.5281/zenodo.7658871},
  url          = {https://doi.org/10.5281/zenodo.7658871}
}

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

List of publications and submissions

Tutorials

Binder

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

If you would like to participate, please read our contribution guideline. Private development branches are moved to elastica-python repository; access is limited to the core developers, collaborators, and maintainers.

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

Senior Developers ✨

Names arranged alphabetically

  • Ali Albazroun
  • Arman Tekinalp
  • Chia-Hsien Shih (Cathy)
  • Fan Kiat Chan
  • Ilia Nasiriziba
  • Noel Naughton
  • Seung Hyun Kim
  • Songyuan Cui
  • Tejaswin Parthasarathy (Teja)
  • Xiaotian Zhang
  • Yashraj Bhosale

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyelastica-0.3.3.post2.tar.gz (109.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyelastica-0.3.3.post2-py3-none-any.whl (140.0 kB view details)

Uploaded Python 3

File details

Details for the file pyelastica-0.3.3.post2.tar.gz.

File metadata

  • Download URL: pyelastica-0.3.3.post2.tar.gz
  • Upload date:
  • Size: 109.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.8

File hashes

Hashes for pyelastica-0.3.3.post2.tar.gz
Algorithm Hash digest
SHA256 e014424c5c56119d27a09c2f35207d6594c0c58cc11078c31b4c9eb3bc4857e7
MD5 0e014e025c0ba54cf99f25a5c5fc1008
BLAKE2b-256 6714d64e08173f94da803c8032cf3ab23c15b1b69732c6b39a428be3b0c111b3

See more details on using hashes here.

File details

Details for the file pyelastica-0.3.3.post2-py3-none-any.whl.

File metadata

File hashes

Hashes for pyelastica-0.3.3.post2-py3-none-any.whl
Algorithm Hash digest
SHA256 03411e8d6989ba6f15c672eb2e34834b087772827bca0c7b41754d7b53d5f204
MD5 30673a09cf91de562def7ac03b2771d1
BLAKE2b-256 afc4b13e4280123372cc9e6ef25f085526018717b9be1d0747525fcc2b15543a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page