SOFA is based on a core APl that provides powerful interoperability capabilities. This API allows to combine hundreds of components into a single simulation that is tailored to each specific application and requirements.
The strength of this design is that it allows to transparently switch from one approach to another in a subpart of the simulation (the model for a specific tissue for instance), without having to change the rest. This leads to unique capabilities allowing the creation of interactive hybrid simulations that combine the most advanced soft tissue models, rigids and fluids, contacts, advanced interactions (grasping, cutting, etc.), while maintaining high performances (using adaptivity, GPU computing, specific numerical methods).
This API is mature and has been used in many projects that led to the creation and continuous improvement of a large collection of state of the art technologies, where many alternatives are available for each critical piece of a simulation. Part of this work is available freely in the open source version of SOFA, while the rest is the property of the research teams at Inria or other labs (usually the most advanced approaches, sometimes not even published yet).
As analyzed independently by ohloh.net 100 people contributed to the open source part of SOFA, that has reached 450K lines of code, or an estimated 120 man-years effort. Proprietary components represent more that one million lines of code.
Deformation, rigid and fluid models: mass-springs system, shape matching penalties-based articulations, reduced coordinates, Eulerian Stable Fluid, smoothed particles hydrodynamics (SPH).
Volume, surface and rods accurate deformation: Tetrahedral and hexahedral co-rotational FEM, frame-based meshless models, viscoelastic materials, triangular co-rotational FEM, 6D triangles shell FEM, anisotropic materials (fibers), curved triangles, hybrid CPU/GPU methods, 6D beam FEM, embedded vessels within soft tissues.
Constraints, integration schemes an linear solvers: projection constraints, (NL)LCP-based complex constraints, GPU compliance matrix computation, explicit EULER, Runge-Kutta, static, implicit Euler, multi-frequency updates, conjugate gradient, LDL factorization, asynchronous preconditioning and compliance.
Physiology: respiratory and heart motions, vascular tree pressure model, cardiac electrophysiology.
Collision models, detection and response methods: spheres, triangular meshes, deformed distance fields, convolution surfaces (vessels, fluids), quadratic and cubic splines, quadratic and cubic surfaces, mesh proximity, continuous collision detection, GPU fine meshes intersection, stiff penality forces, hard & soft constraints with Coulomb friction, GPU volume constraints.
Grasping, cutting, tearing, carving and suturing with haptics: remeshing all types of mesh, supported by most mechanical models (deformables and rigids), propagating to derived topologies (refined mesh for visuals…), adaptive addition of degrees of freedom at the grasping position.
Prototyping, evaluation, debug & test facilities: simulations can be created and tuned visually (using Python scripts or XML files), any data (position, velocity, mass…) can be monitored, profiling tools are included in the framework.
GPU support: CUDA and OpenCL, FEM, volume contacts, linear and constraint solvers.
Frame-based interactive simulation of complex deformable objects
B Gilles; F Faure; G Bousquet; D K Pai
Deformation Models, 7, pp 145q66, 2013, Lecture Notes in Computational Vision and Biomechanics
Computer-based training system for cataract surgery
J Dequidt; H. Courtecuisse; O. Comas; J. Allard; C. Duriez; S Cotin; E Dumortier; O Wavreille; JF Rouland Transactions of the Society for Modeling and Simulation International, SAGE, 2013
Towards ReaI-Time Computation of Cardiac Electrophysiology for Training Simulator.
H Talbot, C Duriez, H Courtecuisse, J Relan, N Sermesant, S Cotin, and H. Delingette
In Statistical Atlases and Computational Hodels of the Heart STACOH 2012 in Medical Image Computing and Computer Assisted Intervention-MICCAI 2012
Modeling and ReaI-Time Simulation of a Vascularized Liver Tissue
I. Peterlik; C Duriez; S Cotin
Medical Image Computing and Computer-Assisted Intervention MICCAI 2012, pp 50-57
SOFA: A MultiModel Framework for Interactive Physical Simulation
F. Faure; C Duriez; H Delingette; J Allard; B Gilles; S Marchesseau; H. Talbot; H. Courtecuisse; G. Bousquet; I. Peterlik; S Cotin
Soft Tissue Biomechanical Modeling for Computer Assisted Surgery, 11, pp. 283-321, Jun. 2012, Studies in Mechanobiology, Tissue Engineering and Biomaterials
Volume Contact Constraints at Arbitrary Resolution
J. Allard; F Faure; H Courtecuisse; F Falipou; C Duriez; P Kry
ACM Transactions on Graphics, Proceedings of SIGGRAPH 2010, 29