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

Build_status 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 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.8 - 3.10.

$ pip install pyelastica

With this you get a minimal version with very little dependencies.

All options:

  • magnetism: use this if you want to simulate magnetic Cosserat rods interacting with external magnetic environments (details can be found here) .
  • examples: installs dependencies to run example cases, found under the folder examples.
  • docs: packages to build documentation

Options can be combined e.g.

pip install "pyelastica[magnetism,examples,docs]"

Documentation of PyElastica is available here.

Example cases for simulating magnetic Cosserat rods can be found here.

Citation

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

@software{arman_tekinalp_2023_7931429,
  author       = {Arman Tekinalp and
                  Seung Hyun Kim and
                  Yashraj Bhosale and
                  Tejaswin Parthasarathy and
                  Noel Naughton and
                  Ilia Nasiriziba and
                  Songyuan Cui and
                  Maximilian Stölzle and
                  Chia-Hsien (Cathy) Shih and
                  Mattia Gazzola
                  },
  title        = {GazzolaLab/PyElastica: v0.3.1},
  month        = may,
  year         = 2023,
  publisher    = {Zenodo},
  version      = {v0.3.1},
  doi          = {10.5281/zenodo.7931429},
  url          = {https://doi.org/10.5281/zenodo.7931429}
}

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

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

Senior Developers ✨

Names arranged alphabetically

  • Arman Tekinalp
  • Chia-Hsien Shih (Cathy)
  • Fan Kiat Chan
  • Ilia Nasiriziba
  • Noel Naughton
  • Seung Hyun Kim
  • Songyuan Cui
  • Tejaswin Parthasarathy (Teja)
  • 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.1.tar.gz (108.7 kB view details)

Uploaded Source

Built Distribution

pyelastica-0.3.1-py3-none-any.whl (127.9 kB view details)

Uploaded Python 3

File details

Details for the file pyelastica-0.3.1.tar.gz.

File metadata

  • Download URL: pyelastica-0.3.1.tar.gz
  • Upload date:
  • Size: 108.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.12 Darwin/21.5.0

File hashes

Hashes for pyelastica-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e80ed0a21556982aa3b2b87775311b2f77547a36fefd734c53d91ae5a3b5966e
MD5 cab2af8b879a2b37d8ff2d289b6c9b89
BLAKE2b-256 84351f82ef45c795ad656bdc0b2e4021699ad92cde666dfa2a88130e3b7a9ea1

See more details on using hashes here.

File details

Details for the file pyelastica-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: pyelastica-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 127.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.12 Darwin/21.5.0

File hashes

Hashes for pyelastica-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7637c2c7e536584b3f144c981e470584b0911d01be82c75901a7cf7e7c35c2b0
MD5 a3175835aba4dfba2c9fd7836a6b59ba
BLAKE2b-256 107d3f2864c5fb0fce4699b95babc16ac9c26e402e1c92578ac5429fbedf053f

See more details on using hashes here.

Supported by

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