Giter Club home page Giter Club logo

pyelastica's Introduction

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 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 - 3.11.

$ pip install pyelastica

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

All options:

  • 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[examples,docs]"

For plotting videos, ffmpeg has to be installed:

$ conda install -c conda-forge ffmpeg

Documentation of PyElastica is available here.

If you want to simulate magnetic Cosserat rods interacting with external magnetic environments you can install the derived package using

$ pip install magneto_pyelastica

Details can be found here.

Citation

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

@software{arman_tekinalp_2024_10883271,
  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: v0.3.2},
  month        = mar,
  year         = 2024,
  publisher    = {Zenodo},
  version      = {v0.3.2},
  doi          = {10.5281/zenodo.10883271},
  url          = {https://doi.org/10.5281/zenodo.10883271}
}

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

pyelastica's People

Contributors

armantekinalp avatar skim0119 avatar bhosale2 avatar tp5uiuc avatar nmnaughton avatar ali-7800 avatar rahul-joon avatar sy-cui avatar dependabot[bot] avatar ilianasiriziba avatar asadnizami avatar mstoelzle avatar zhidou2 avatar chshih2 avatar jbwasse2 avatar parthas1 avatar tokoro10g avatar gitter-badger avatar erfanhamdi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.