Sim TK Simbody High speed multibody dynamics for
Sim. TK Simbody™ High speed multibody dynamics for biosimulation Michael Sherman (Sherm) Open. Sim Science Advisor Workshop, 2 June 2006
Topics • • • 2 Motivation: DBPs Multibody mechanics Several S’s of Sim. TK Simulation Where does Simbody fit in? Simbody features Simbody release schedule
RNA structure prediction 3
Myosin dynamics 4
Neuromuscular dynamics 5 F. C. Anderson, M. Pandy
What do these have in common? • Biological structures • Dynamics well described by classical physics — that is, F=ma • They’re “chunky” 6
Multibody systems • Rigid parts … • … mobilized by Joints • … influenced by Forces • … and restricted by Constraints. • Key feature: motion is localized. 7
Multibody mechanics 8
Abstractions for classical physics • Matter • Energy • Um … 9
Matter • Mass • Spatial distribution • Motion 10
Abstract matter • The rigid body • What is a rigid body? Bi • Mass distribution: 10 constants • Decorate w/geom & other props • Ground is a (heavy) rigid body 11
Abstract motion (1) • The joint. What is it? • Defines relative mobility btw 2 rigid bodies • Examples Slider Pin Ball • Defines topology & mechanical coordinates q 12
Multibody system (1) • Tree of bodies interconnected by joints 13
Abstract motion (2) • • 14 Oops! That’s a little too floppy … Restrict with constraints. Algebraic invariant relating q’s: g(q)=0 Restricts allowable motion
Multibody system (2) • Constraints permit loops g(q)= 0 15
That’s it for rigid matter • Rigid bodies + mobility – restrictions • Solve for (response) • Integrate for trajectory • Still need forces … but that’s another matter. 16
Summary • Rigid body mechanics is a solved problem – Everything else is much harder and more interesting • But … the implementation is a bit tricky • Simbody addresses that problem. 17
Simbody in context 18
Terminology: modeling creates a “System” System Modeling Physical world • We’re not talking about modeling today • A “System” is a computational embodiment of a mathematical model 19
Properties of a System State 20 • Defines its parametrization • But … it is stateless. • Given a State, performs useful computations
Studying a system • System+State+Study Simulation Study Results State states 21 System
Under the hood: subsystems Study State subsystem System • Interlocking computations • System provides the “edge pieces” 22
What’s in a multibody system? State Forces (User supplied) Simbody Multibody System • Matter and energy • Simbody deals with matter 23
Software stack Study Multibody system Simbody State Forces Spatial operators Simmatrix Results Projection Root finding Lapack/Blas 24 Time stepper CVODE
Software stack (where’s Waldo? ) Open. Sim 25
Simbody™ a Sim. TK toolset for internal coordinate (torsion angle) mechanics 26
Sim. TK Core GUI Tools | Documentation Tools | Installation Modeling Multi Body Dynamics Sim Anneal Genetic Simbody Linear Algebra TAO Integrator • ODE DAE 27 Force Fields Optimize SQ Prog Contact PDEs Rigid Solids Penalty Monte Carlo Control PD • Fluids Meshing
Ancestry Thomas Kane, Stanford Spatial operator algebra, Jain & Rodriguez, JPL Feathersone, Australian Natl. U. Khatib lab, Stanford IVM (Charles Schweiters, NIH) TAO (Chang, Ruspini, Arachi Corp. ) Simbody 28 Rosenthal & Sherman, Symbolic Dynamics, Protein Mechanics William Gear, UIUC Linda Petzold, UCSB SD/FAST, Pro/Mechanica, Imagiro
Simbody vs. SD/FAST • All numerical – no compiler needed • No dealing with, um, (a company) – Completely open source, not GPL (MIT/BSD license) – But can I <whatever>? Yes. • O(N) all the time; targeted at 1000 bodies + 100 constraints – Goal: within 2 X of sd/fast O(n) on small problems, faster on big ones • Structured as a set of O(N) operators – Including Operational Space Control • No internal state • Shareable subsystems, systems & studies – Mechanical models – Forces, constraints, custom joints – Numerical methods • Coordinate projection instead of Baumgarte stabilization • Advanced numerical integration (implicit/explicit/multistep) 29
Simbody basic features • • A linkable library with nice API Solid theory; not a “game engine” Technology is internal coordinate mechanics Open & closed-chain models Forward/inverse kinematics & dynamics Parametrization/design studies Easily extensible (e. g. , new joint types) Multiplatform binaries (Windows, Mac, Linux) & easily portable to more • Agnostic about forces & numerical methods, but … • … will come with some good ones. 30
Schedule • Simbody 0. 5 available now – Very rough; brave souls only – Basic functions; C++ only; lightly tested – Everything will change before 1. 0 • Simbody 1. 0 (March 2007) – – • Simbody 2. 0 (~ +1 year) – – – 31 Complete functionality; SD/FAST replacement Extensive testing & good documentation Stable API: C++, C, Fortran, SD/FAST compatible Integrated into several GUIs (Open. Sim, To. RNAdo) Analytic Jacobian in O(n 2) High level modeling support Matlab/Java/Python wrapping (Even) faster Extensive libraries of force, constraint, joint, studies, reporters, etc. Simbody info & downloads: https: //simtk. org/home/simbody
Acknowledgments (software) • • • Charles Schwieters Arachi Corp. (K. C. Chang & D. Ruspini) Paul Mitiguy Bryan Keller Jack Middleton Simbody info & downloads: https: //simtk. org/home/simbody 32
- Slides: 32