Skip to content

entropylost/primal_dual

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An Implementation of "Primal/Dual Descent Methods for Dynamics"

This repository contains an implementation of primal and dual solvers in Rust for rigid body physics from the paper, in an easily-extensible manner. It also has a formulation of Cosserat rods implemented using this, taken from "Rod-Bonded Discrete Element Method" by Zhang et al.

To run, first install Cargo, and then execute cargo r. Note that this program is not at all optimized, and a lot of the calculations can be sped up.

Controls:

  • [SPACE]: Pause / Unpause
  • .: Step forward one frame
  • P: Toggle between primal and dual solvers
  • C: Toggle between using exact and cheap preconditioners for the dual solver. The cheap preconditioner replaces the matrix inverse with the reciprocal of the diagonal, similar to the primal preconditioner.
  • W: Toggle warm starting for the primal solver - currently broken.
  • [ESC]: Exit

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages