/sofa

SOFA, open source framework for multi-physics simulation.

Primary LanguageC++GNU Lesser General Public License v2.1LGPL-2.1

SOFA, Simulation Open-Framework Architecture


Documentation Support Gitter Contact

What is SOFA

SOFA is an open source framework targeted at interactive physics simulation, with an emphasis on medical simulation and robotics.
It is mainly intended for the research community to help foster newer algorithms, but can also be used as an efficient prototyping tool.
SOFA's advanced software architecture allows:

  • the creation of complex and evolving simulations by combining new algorithms with existing algorithms
  • the modification of key parameters of the simulation such as deformable behavior, surface representation, solvers, constraints, collision algorithm, etc.
  • the synthesis of complex models from simpler ones using a graph description
  • the efficient simulation of the dynamics of interacting objects using abstract equation solvers
  • the comparison of various algorithms and mathematical models

SOFA is often presented as a standalone software (runSofa) and a simulation tool, but the project is most importantly a bundle of libraries and thus can be used/integrated in any project.

SOFA provides a plugin system allowing the coupling of additional codes to add functionalities. A lot of plugins are already referenced in the source code, under sofa-framework organisation, and on the Marketplace. Feel free to contact us to get your own plugins referenced!

How to download and install

Please refer to SOFA download page: https://www.sofa-framework.org/download/

How to contribute

The SOFA community will be pleased to welcome you!
Find all the ways to contribute to the project: https://www.sofa-framework.org/community/get-involved/

Before creating any issue or pull request, please read carefully our CONTRIBUTING rules.

Information

Authors

See Authors.txt

Licenses

SOFA is LGPL, except:

  • applications/projects (GPL)
  • applications/tutorials (GPL)
  • directories with a license file specifying a different license

LGPL refers to the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

GPL refers to the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Contact

contact@sofa-framework.org


SOFA, Simulation Open-Framework Architecture
(c) 2006 INRIA, USTL, UJF, CNRS, MGH