260 likes | 360 Views
SimTK. SimTK. The National Center for Physics-Based Simulation of Biological Structures at Stanford. SimTK Architecture: preliminaries Michael Sherman 19 January 2005. Topics. My background Modeling and simulation Issues for SimTK. Virtual Mechanical Engineering. Spacecraft
E N D
SimTK SimTK The National Center forPhysics-Based Simulation of Biological Structuresat Stanford SimTK Architecture: preliminaries Michael Sherman 19 January 2005
Topics • My background • Modeling and simulation • Issues for SimTK
Virtual Mechanical Engineering • Spacecraft • Cars, trucks, bicycles • Tractors, bulldozers, cranes • Chain saws • Circuit breakers & controllers • Suspensions, Landing gears • Rudder mechanisms • Humans, cockroaches • Realistic vehicles & objects for video games, movies • Minesweeping devices • Robots • Beer can machinery • Micromechanical systems • Washing machines • Convertible tops • Toys, clock mechanisms • Sewing machines • Pumps, turbines, motors, generators • Engines & transmissions • Medical devices • Etc., etc., etc. …
φ ψ Protein backboneStryer, L., Biochemistry 4th ed., pg. 420 (1999) ψ U-Joint & driveshaft Lucky break: Biomolecules are machines too! Substructures (torsion space) Coordinated motion (normal modes)
SimTK Modeling and Simulation
Terminology trouble • For most people, modeling = simulation • What is a mouse “model” of diabetes? • model (v): to produce (as by computer)a representation or simulation of. — Merriam-Webster Medical Dictionary • Use “solver” instead of “simulator” • But “models” & “solvers” are often interdependent • e.g., Langevin dynamics • and hierarchical models contain solvers
a=f(A)/m ∫∫[●] W(A) dynamics W(A) D[●] ∂W/∂A sensitivity Abest W(A)∂W(A)/∂A min[●] optimization Model + Solver Model Study: find muscle attachments A that minimize work W for one gait step model solver result
SimTK Modeling Observation(data) predictions Modeling(models, solvers) Investigation
discovery Investigation The purpose of modeling To create a computational system more rewardingto investigatethan the original physical system.
Modeling is valid simplification • Performance is the primary issue • otherwise solve the wave function • What is a valid model?
Model validity • Facevalidity • “looks good” • visualization, animation, games • Replicative validity • “interpolates” • Predictive validity • “extrapolates” • Structural validity • componentwise prediction • “teaches”
Structural validity example • Globular cluster observation: stars with strange properties • Could collisions explain them?
SimTK Goals • Enable “simulation” of biological structures at all scales • Platform for new technology • Modeling environment • Application development • Use/collaboration/dissemination • Manage computational resources • Ongoing collaborative development • “Open source” contributions • algorithms, models, applications, results • Build/test/release/support framework • Curation, quality control • Downloads, documentation, communication
Distinct User Communities • Algorithm inventor • Modeler • Application developer • Scientist/clinician Caution:generality is not a benefit to a specialist!
SimTK The SimTK Project www.SimTK.org SimTK Seed Engineering Technology Applications Engineering orientation SimbiosSoftware Mission
Nature of the problem Application areas • Molecular mechanics • Neuromuscular • Lumped-atoms modeling • Cardiovascular flow • “Mezzo” scale models • Combinations Find the common thread — Activities of interest • Modeling • “Simulation”* • Animations/visualization • Data handling • Write applications * Types of “simulation” • Dynamics (time) • Thermodynamic sampling • Find static, dynamic equilibria • Sensitivity analysis • Design studies
Necessary math for biosimulation Initial Value Problems • ODE • time-varying PDE • Diffusion, fluid flow, nonlinear elastic response • Algebraic constraints (DAE) • Discrete events • Monte Carlo sampling Boundary Value Problems • elliptic PDEs • (quasi)statics, electrostatics • ODE • Path fitting/planning Characteristics • Continuous/discrete • Differential/algebraic/difference • Stiff/nonstiff/stochastic • Linear/nonlinear • Combinations/hierarchies • Huge systems! Algebraic • Solve linear/nonlinear systems • Minimizations/optimizations • Local/global search • Kinematics
{Biostructure simulation} = {simulation} • Problems are fully general (HPDAE) • True in other simulation “subsets” too • Mechanical systems • Electronics • Technology is the same, but … • apps & users are different.
Simulation is its own field mathworks.com acims.arizona.edu modelica.org scs.org
General simulation tools • Simulink (Matlab) • Modelica • Mathematica • Why not use one of those? ?
Arguments for existing tools • Infrastructure is done • Many useful model components & solvers available • Extensible within framework • Reliable, well-tested • Many skilled users • Quickly build narrow apps • Max value is in models & apps, not infrastructure
Arguments against existing tools • Total commitment required • Can only be dog, not tail • Can’t directly incorporate best-of-class work; must remodel • Block abstraction insufficient • Fails to capture multi-function “subsystems” • Computational aspects hidden • Hard to express “run this block on 200 CPUs” or “use GPUs if available” • Memory management difficult • Steve Jobs effect • Lesser issues: cost, availability of source
Resolution • None yet. • Probably peaceful co-existence • Interface to Matlab, like Java/Tcl/Python • Use it for prototyping • Speculation: our goals require a new framework • Computationally aware • Easy to fit into existing environments • Use existing subsystems without rewrite • Open source, public domain • Cool
Near term plans • Design new framework demonstrably better (for us) than Simulink (e.g.) • Hire programmers • Prototype SimTK.org structure • Build framework • Select, curate, wrap first algorithms, models, datasets, toolsets • Prototype “vertical slice” apps
SimTK That’s all for now.