MCPcopy Index your code
hub / github.com/GazzolaLab/PyElastica

github.com/GazzolaLab/PyElastica @v1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.0 ↗ · + Follow
1,879 symbols 7,683 edges 256 files 744 documented · 40%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PyElastica

CI Documentation Status codecov Downloads DOI 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

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

Core symbols most depended-on inside this repo

atol
called by 419
elastica/utils.py
using
called by 268
elastica/modules/damping.py
get
called by 134
backend/src/block.h
value
called by 110
elastica/utils.py
collect_diagnostics
called by 69
elastica/modules/callbacks.py
add_forcing_to
called by 62
elastica/modules/forcing.py
straight_rod
called by 62
elastica/rod/cosserat_rod.py
dampen
called by 60
elastica/modules/damping.py

Shape

Method 906
Function 559
Class 413
Route 1

Languages

Python88%
C++12%

Modules by API surface

tests/test_contact_classes.py58 symbols
tests/analytical.py52 symbols
backend/src/cosserat_rod_system.h40 symbols
tests/test_modules/test_base_system.py37 symbols
elastica/contact_forces.py37 symbols
elastica/boundary_conditions.py36 symbols
tests/test_modules/test_contact.py32 symbols
tests/test_modules/test_constraints.py31 symbols
tests/test_modules/test_connections.py30 symbols
tests/test_math/test_governing_equations.py29 symbols
elastica/external_forces.py27 symbols
elastica/modules/base_system.py26 symbols

For agents

$ claude mcp add PyElastica \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact