Skip to content

Software

SOFA

By SOFA Framework, from github.com/sofa-framework/sofa (opens in a new tab)

  • Simulators
  • Simulator
  • LGPL-2.1-or-later

SOFA is an open-source framework for interactive physics simulation based on the Finite Element Method, with emphasis on medical simulation and robotics.

Facts

GitHub stars
1,298read on 6 Nov 2026
Last update
6 Nov 2026Newest commit on master
Maintenance
Activea commit in the last 90 days
Difficulty
Advanced

Checked on GitHub on 6 Nov 2026.

Licenses

Code
LGPL-2.1-or-later (opens in a new tab)

Read by Robotheca from LICENSE-LGPL.md (opens in a new tab) (LGPL-2.1-only) at commit 5b2b117 (opens in a new tab), on 6 Nov 2026. A person at Robotheca set it on 9 Nov 2026.

Commercial use
Yes

Copyleft: Modified source must be published.

Overview

What it does: Robotheca's summary

  • Targets mainly the research community for developing new simulation algorithms, and can also serve as a prototyping tool.
  • Lets users combine algorithms and modify key simulation parameters such as deformable behavior, solvers, constraints and collision handling.
  • Builds complex models from simpler ones through a graph description.
  • Simulates the dynamics of interacting objects using abstract equation solvers.
  • Offers a plugin system to add functionality, with many plugins referenced in its source and on a marketplace.
  • Is a bundle of libraries that can be integrated into other projects, and is also presented as a standalone tool (runSofa).

Written by Robotheca from the project's README (opens in a new tab) at commit ffa7a0a, not by its creator.

The README

The creator's own README, copied as written: README.md by SOFA Framework, at commit 5b2b117, under LGPL-2.1-or-later (opens in a new tab). The original on GitHub (opens in a new tab).

Read the README here

Image: SOFA, Simulation Open-Framework Architecture (opens in a new tab) (opens in a new tab)

(opens in a new tab) (opens in a new tab) (opens in a new tab)

(opens in a new tab) (opens in a new tab) (opens in a new tab)

What is SOFA

SOFA is an open source framework targeted at interactive physics simulation based on the Finite Element Method (FEM), 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 (opens in a new tab), under sofa-framework organisation (opens in a new tab), and on the Marketplace (opens in a new tab). 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/ (opens in a new tab)

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/ (opens in a new tab)

Before creating any issue or pull request, please read carefully our CONTRIBUTING rules (opens in a new tab).

Information
Authors

See Authors.txt (opens in a new tab)

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 (opens in a new tab)


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

Files and versions

Facts read at commit 5b2b117

Robotheca read the repository at two versions: the summary at ffa7a0a and the facts and the README at 5b2b117 (read on 6 Nov 2026).

Robotheca never hosts the code: each link goes to the creator's own page.

Use it

How to install it, in the creator's words: The project's website (opens in a new tab)

Robotheca doesn't review code. Read it before running it.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.