Technical roadmap

The roadmap is jointly defined by the Consortium Members with the developer community at the SOFA Technical Committee (STC). This committee is open and free for all, however votes for the roadmap are restricted to Consortium Members.
Read more on the governance.

Previous edition (STC#12) took place online on the 24-25-26 November 2021.

During this meeting, the committee voted the following roadmap:


  • Re-organize the components
  • Rename/move the framework modules
  • Ensure plugin compatibility → CI workflow with NG options enabled
  • Make the transition between the old and the new style


  • Finalize architecture of core::Topology / Geometry
    • List the features needed from a “High level Topology API”
    • Populate Geometry/topology collections
    • “SofaCaribou like” Topology integration (templated on element)
  • Finalize Topological Changes API
    • Remove/depreciate old topological changes API
    • Add doc on how to create component handling topological changes
  • Define a subset of components that should handle topological changes (~ 20)
    • Add tests on those components related to topological changes (6 to 20)
    • Propagate new design to those new components

Matrix assembly

  • Refactoring of Interaction force fields
  • Speed up of matrix mapping
  • Python bindings
  • Apply changes on all components with the new API
  • Unifying addDForce and addKToMatrix
  • Async solvers: evaluate the compatibility effort.


  • Converge to a stable version of DPX_Core to be able to release the framework
  • Generate a clean documentation page for DPX packages
  • Examples and tests for DPX packages
  • Compatible version of DPX-Sofa package for SofaGym to perform RL
  • Implement a SQL database to replace the actual data flow through components
  • Ensure the contributions/collaborations to sofa-launcher

Beams & Cosserat plugin

  • Working Github action for the plugin
  • Code refactoring to much SOFA standard
  • More unit-test (for all the modules: elastic, plastic & non-linear )
  • Implement non-linear Cosserat Model inside the plugin
  • Handle the real time dynamic Cosserat Model
  • Model Order Reduction for cosserat (important for RoboCop project)
  • Comparison of Timoshenko and Cosserat beam models (Mimesis) ?

SOFA and FeniCS

  • More complex non-linear mechanical constitutive laws (OH anisotropic for instance)
  • More complex elements (hexa, beam, pyramid)
  • More complex interpolation degree for elements
  • Benchmark with existing SOFA Forcefield and/or with manufactured solutions (Sidaty El Hadramy)
  • Just in time implementation – automatization of the code generation and use: Damien Marchal
  • Develop and ensure a stable plugin where users can easily obtain a SOFA Forcefield based on their own material law written in FEniCS (with Python)
  • Contact potential users

More projects

Besides the main roadmap tasks, a lot of projects are going to evolve in the next 6 months. Never hesitate to join the force or propose your own contribution project!

  • Replacing access to the Context in the code
  • Propagating the use of the internal component state (replacing bwdInit() with callback mechanism, reinit(), init())
  • Allowing more multithreading in components
  • Working on a new GUI
  • Improving the UX
  • Improving the documentation
Back to Top