| Feature | Description |
|---|---|
| ⌨️ Coordinates | NCF (Natural Coordinates) - 2D/3D variants with nonminimal formulation. |
| 💥 Modeling | Comprehensive library bodies and joints. |
| ⚡ Dynamics | Efficient solvers (default: Zhong06 family), contact handling, and linearization, support for (adjoint) sensitivity analysis. |
| 🤖 Visualization | Integrated and extensible visualization tools (via Makie). |
| 🛠️ Extensibility | Modular design allowing easy extension of new components. |
Rible.jl is a monorepo structured around a core package and strictly coupled extensions that expand its capabilities.
The core package Rible provides the fundamental Multibody Dynamics engine and essential tools for simulation.
Various extension packages integrate with the core Rible.jl ecosystem.
| Package | Description |
|---|---|
| 📦 Rible.jl | The core package for rigid-flexible body dynamics. |
| Coordinates & Bodies | |
| └ 📦 RibleQCF.jl | Quaternion-based coordinate formulations. |
| Structures | |
| └ 📦 RibleTensegrity.jl | Tensegrity structures modeling and analysis. |
| Dynamics Solvers | |
| └ 📦 RibleExtraIntegrators.jl | Include extra integrators that build on the core package and shipped extensions. |
import Pkg
Pkg.add(url="https://github.com/Rible-Sim/Rible.jl")See the Getting Started guide for a walkthrough of your first simulation, or browse the full documentation for API reference and advanced topics.
中文用户请参阅中文文档。
Clone the repository, enter the checkout, and instantiate the project:
git clone https://github.com/Rible-Sim/Rible.jl.git
cd Rible.jl
julia --project=. -e 'import Pkg; Pkg.instantiate()'Run the root test suite from the repository root:
julia --project=. -e 'import Pkg; Pkg.test()'