Skip to content

Latest commit

 

History

History
51 lines (35 loc) · 1.98 KB

File metadata and controls

51 lines (35 loc) · 1.98 KB

dismech-python

contortion Straight contortion of 3D discrete rod. hexparachute Hex parachute falling with drag.
shellcantilever Energy-conserving Newmark-beta ($\gamma=0.5$ $\beta=0.25$) integration. rodcantilever Energy-conserving implicit midpoint integration.

A discrete differential geometry based soft robot and deformable structure simulator.

Setup

To install this Python library within a new virtual environment execute the following bash commands. If you wish to use your own package manager (conda), only execute the commands after the comment.

python -m venv .venv
source .venv/bin/activate           #.venv/Script/activate for Windows

# after virtual environment setup
pip install -r requirements.txt
pip install -e .                    # Editable installation for development

UV Setup

This Python library has been updated to work with uv.

uv pip install -e . # automatically creates .venv

Features

  • 3D discrete elastic rod stretching, bending and twisting.
  • 3D discrete elastic shell hinge and mid-edge bending.
  • Pytest numerical validation suite.
  • Implicit integration schemes (Euler and Newmark-beta).
  • Dense and sparse (PyPardiso) solvers.
  • Significant speedup for dynamic simulations.
  • IMC rod contact and friction modeling.
  • Shell contact and friction modeling.

Experiments

To run example experiments, please run the python notebooks located in experiments. They rely on local paths to tests/resources, so they will break if moved.

TODO

  • Sphinx documentation.
  • Slinky NN demonstration.