Skip to content

Report of "SOFA dev meetings"

Paul Baksic edited this page May 7, 2024 · 151 revisions

Join us every Wednesday 9 am CET online: www.sofa-framework.org/sofa-dev-meeting

SOFA DEV - Notes


07/05/2024

News

Technical discussions

  • Post-install scripts : why modifying the plugin_list.conf? Paul will refactor this removed plugin list and think of removing it completely.
  • Python bindings : Slicer community identified problems of IDE/interpreter auto-completion. The Slicer team proposed to show their fox for this same problem on their bindings. Before organizing a meeting, ask Damien about current auto-completion ability of vanilla interpreter on the current python3 bindings.
  • Add Qt Wayland plugin installation instructions #109 Proposes new instruction for qt installation when using wayland. Instead of adding a troubleshoot section, add an item in the installation doc with "if using wayland, then..."
  • [Sofa.Http] Introduction of a latest release checker #4702 OpenSSL is too much of a dependency for such not important. It might be better to make a request on a http adress instead to avoid this dependency. Talk with Fred.
  • Small discussion on paper Chen, Anka He, et al. Vertex Block Descent. ACM Transactions on Graphics (2024) Results are interesting on either performance or stability. Use an energy formulation with an Euler integration scheme at the dof level which increases parallelism and stability. It would be worth at looking more in details. Lib used for collision detection : Embree which could also be interesting to dig in. Based on SYCL to have a cross-platform
  • Using the WriterSide tool, Alex presented a way to generate markdown pages for all SOFA components (see https://alxbilger.github.io/SofaDocGenerator). This could be used in the SOFA GUI to guide users regarding Data etc. We could also envisage to merge such a code-based doc with the user documentation.

SOFA PR review

SOFA PR merged within the week


30/04/2024

News

  • Check out and register to our upcoming events!
  • Pre-STC#17 discussions took place with roadmap leaders and consortium members
  • Next SOFA-Dev meeting on next Tuesday the 7th of may at 10 a.m. !

Technical discussions

SOFA PR review

PR merged within the week


17/04/2024

News

Technical discussions

  • What to do with SofaOpenCL ? → Externalize and make it an achive
  • #4648 [Gui.Qt] Notice user a new version is available → Use external lib instead of QT to do the http request. To be commonly defined.
  • SOFA release as conda packages: https://github.com/sofa-framework/conda-ci → Try it out to provide feedback. Conda PR is pushed again with help of core-dev of Conda (through TIRREX)
  • Problem with QWebEngineView pointed in #4656 → Again, might be great not to use a Qt based library for the DocBrowser and instead use the web browser -> will require to have a server on SOFA's side. And maybe think about UX (where and when to put it)

SOFA PR review

SOFA PR merged within the week

SOFAPYTHON3 PR merged within the week


10/04/2024

News

Technical discussions

SOFA PR review

  • #4625 [LinearSystem] Cache mapped mass matrix The feature caching a mapped mass matrix is interesting and it can be added directly in SOFA. Adding a similar mechanism for the stiffness matrix could be implemented (not yet in the PR). Use of DDG to update the data value when input data is modified (dt, and mstate.size). However, we do not detect changes in mapping for now (update), tracking the componentState of mapping could be a solution (if callbacks are well implemented in mappings). About the stiffness, it usually depends on the current dofs. Therefore, it is often non-constant (apart from stiff springs, constantFF, small deformation elasticity). Question on dynamic changes in the DDG : what append when the object owning a data in the graph is deleted ? Investigate a new solution for cache invalidation that would work with the Stiffness. → wip
  • #4603 [HyperElastic] Introduce stable Neo Hookean hyperelastic material → ready
  • #4194 [Geometry] Update method intersectionWithEdge signature and redirect all methods to it in EdgeSetGeometryAlgorithms Add issue on LCPForceFeedback test because it result is random. Update the depreciation versions. → update then ready
  • #3927 [Mass] Replace doUpdateInternal by callback: UniformMass Question on the usage of 'default value' if some are meant to be set (required). Here the component is invalid if none of the data (total mass or vertexMass) is set although a default value exists. This mechanism is not great but it is the best we can get with the current API. It would require to modify the global initialization mechanism and data framework (input, output, inout, required...) to have something better. Create issue to discuss this API update at the STC. Replace componentState.getValue() with isComponentStateValid() in the init() function → update then ready
  • #3368 [Topology] Add function in BaseMeshTopology to compute all topology containers Test failing → wip

SOFAPYTHON3 PR review

SOFA PR merged within the week


03/04/2024

News

Technical discussions

  • #4625 [LinearSystem] Cache mapped mass matrix Discussion on J^T M J pre-computation: with a mapped node, we build a node-local matrix which is then projected in the global system. ForceFields and Masses can be concerned. It requires changes in Sofa/Core and in MatrixLinearSystem involving the Observer design pattern. This could be extended to stiffness as well but we lack of application cases. A data could also be added to activate or de-activate this feature. → ask other dev teams
  • SOFA release versions
    • v23.12 for Ubuntu 20.04 → generate unsupported binaries on forum
    • Soon MacOS release

SOFA PR review

SOFA PR merged within the week

SOFAPYTHON3 PR merged within the week


27/03/2024

News

Technical discussions

  • Release 23.12 remaining tasks: last issues are fixed, one remaining in SoftRobots.Inverse. We're on it!
  • Technical skills in CI/CMake: share the associated knowledge among the core-devs

SOFA PR review

SOFAPYTHON3 PR review

SOFA PR merged within the week

SOFAPYTHON3 PR merged within the week


20/03/2024

News

Technical discussions

  • #4583 [Collision.Detection] Give current intersection methods as parameter to intersection functions This PR is part of a bigger task which aims at enabling multithreaded simulations (launching multiple simulations in parallel). The intersection mechanism allows to add methods for intersection through a factory. At runtime, an intersection object is created for the proximity in use in the simulation. The problem is that this pointer is created at runtime, is global and saved as pointer, creating race conditions. Here instead of refering to this singleton, it is passed through parameter to make it thread safe. Question is raised about shall we keep the compatibility layer or not regarding the method lacking the output parameter.

SOFA PR review

SOFA PR merged within the week


13/03/2024

News

Technical discussions

  • cmake_minimum_required should be updated regarding CMake FetchContent (find or fetch mechanism → skip, see #4586
  • Question on the fusion of SoftRobot and SoftRobot.Inverse and of SofaPython and STLIB plugins
    • SoftRobot and SoftRobot.Inverse: complex for license reasons (two distinct repositories and conda packages)
    • SofaPython3 and STLIB for now stay separated for Conda.
  • Discuss supported plugins → https://github.com/sofa-framework/sofa/wiki/Supported-SOFA-plugins
  • Update in ci.yml to be done in order to publish GitHub releases for plugins
  • Plugin naming : our policy should now be: adding Sofa. prefix to all plugins and the suffix should be light e.g. Sofa.Metis, Sofa.CGAL, Sofa.image. This allows for extern users to understand that it is a SOFA-related code, which follows the SOFA NG format (no need to keep the Plugin keyword). Will require to also update c++ namespace.

SOFA PR review

SofaPython3 PR review

SOFA PR merged within the week

SofaPython3 PR merged within the week


06/03/2024

News

Technical discussions

SOFA PR review

SOFA Python 3 PR review

PR merged within the week


28/02/2024

News

Technical discussions

  • Temporary workaround for MacOS users to use non-signed binary
  • GUI list through conda: at install of various packages through conda, the gui list file could be edited at each new GUI installed. But it needs to be tested since the path to the plugin_list.conf is edited using CMake variables (CMakeLists of runSofa)
  • If it is using the sofa-setup-actions script, the CI of plugins should be updated using the @v5
  • Invertible FE Model → to archive
  • #4459 [Sofa.Testing] Do not build Sofa.Testing if SOFA_BUILD_TESTS is OFF: Sofa.Testing should externalized in order to bring real modularization → close again

SOFA PR review

PR merged within the week


21/02/2024

News

  • SOFA America Workshop : 30-31 May in Montreal. See all events online! Save the dates, call for presentation is coming soon!
  • Reminder, we migrated our chat to Discord
  • We are thinking about implementing additional mechanical constitutive laws in SOFA :arrow_right: Let us know what you would expect in discussion #4499!

Technical discussions

  • [Prefabs] PoC will be done to better think their design
  • Update about CI builders: seems all fine now (first release binaries being generated). You should update your CI by using ubuntu22.04 and windows-2022 builder and use sofa-setup-action@v5. This is not yet rock solid but will be fixed in the following days. MacOS CI is in a transitive state, will be updated soon.
  • [Plugins] Gather external plugins configs in a same folder (proposal) #4505

SOFA PR review

PR merged within the week


14/02/2024 💕

News

  • We are thinking about implementing additional mechanical constitutive laws in SOFA :arrow_right: Let us know what you would expect in discussion #4499!
  • SOFA America Workshop : 30-31 May in Montreal. Save the dates, call for presentation is coming soon!
  • Reminder, we migrated our chat to Discord 💌

Technical discussions

  • [SofaGym] Use several SOFA simulations in python: 2 SOFA is parallel can run but not more using os.fork. Alex experienced C++ parallelism but less of python. tools/sofa-launcher could be useful to launch several well-separated SOFA. A meeting with Samuel will be schedueled.
  • [Prefabs] Discussion incoming this week
  • The process of actually updating the builders started. The new builders should be up and running by the end of the week.
  • The PR#4496 [Config] POC: enable assertions even in release mode shows errors in scene tests coming from asserts that are not usually tested in release mode. Those error should be fixed in the following weeks.

SOFA PR review

PR merged within the week


07/02/2024

News

Technical discussions

  • New plugin tree instanciations, pr to review : BeamAdapter and SoftRobots → Need to add these requirements to the doc itself to officialize this.
  • Regression tests not working on Windows because the exe cannot open libPython38.dll although the test scenes work → Investigate the path at the execution of Regression_test.exe and runSofa.exe to see if there are any differences.
  • Issue #393 on SofaPython3 linking on libPython → Try to use an intermediate lib that link to SofaPython3 and libPython that load libPython first bootstraping the loading. This is heavy and should be transparent for users and may affecty every distribution.

SOFA PR review

PR merged within the week


31/01/2024

News

  • Project on integrating SOFA into Slicer has been accepted at the Slicer Project Week. SOFA will be represented there!
  • Migration from Gitter to Discord : share your feedback
  • New paper comparing SOFA for sim-2-real gap in robotics: https://arxiv.org/abs/2310.09543

Technical discussions

  • Prefab discussion ongoing
  • Issue #393 on SofaPython3 linking on libpython
    • #394 proposes:
    • however, the change could be applied at plugin initialization, to early manage the libpython loading

SOFA PR review

PR merged within the week


24/01/2024

News

  • Project on integrating SOFA into Slicer has been accepted at the Slicer Project Week. SOFA will be represented there !
  • Ubuntu builder are finished. Windows still pending
  • SOFA America Workshop may occur early June: what about STC#17 dates?

Technical discussions

  • Migration from Gitter to Discord
  • Issue #393 on SofaPython3 : Conda binaries are linked statically with libpython, which causes segfault on MacOS when loading another lib that is dynamivally linked to libpython. This is the case of libSofaPython3 linking with pybind11::embed (the python interpreter) which it self links to libpython.
    • Good first idea seems to be decouple the library and extract the 'interpreter' part in order to remove the dynamic link
    • A quick fix would be to compile on mac with the option -undefined dynamic_linking and force the libpython loading with DYLD_INSERT_LIBRARIES=$CONDA_PREFIX/lib/libpython3.10.dylib ./runSofa libpython with runSofa. The PR #394 can be a temporary fix/hack using pybind
    • Too many RPath defined in Bindings, this should be fixed in a later PR
  • METIS version distributed by conda and the reason it is not fit for our package (GKRand, segfault): more recent versions of 5.1.0 have been tested to be compatible with conda but not GKRand and 5.1.1 fails. More recent versions are not available on conda-forge :arrow_right: we use a find_package and remove the embeded METIS version and rely on the 5.1.0 without GKRand and wait for the 24.06 to pluginize METIS-based code

SOFA PR review

PR merged within the week


17/01/2024

News

Technical discussions

  • [All] POC: ObjectFactory: Explicit components registration #4429
    • In an effort to include SOFA into a browser, a compilation of SOFA as a static library was needed. Several issues were faced : one of them being the RegisterObject functions (ObjectFactory). There was therefore the need to remove singleton like ObjectFactory and to explicit component registration
    • Static compilation would be good anyway
    • Choice is made to go further with Alex's first suggestion and refactoring of registerObject could be done later: factory triggers the commit → another pass will be done by Fred
  • [plugins] Update license to LGPL of remaining files #4425

SOFA PR review

PR merged within the week


10/01/2024

News

  • Agenda 2024 is released! Save the dates!!
    • Next STC#17 will be held in Strasbourg on June 10-12
    • SOFA Week 2024 will be held in Lille on Nov 25-29
  • Preparation of the upcoming release v23.12 started
    • Builder Windows: template being set up

Technical discussions

  • Questions on the python find_package in SofaPython3
    • CMakeLists.txt : the variable PYBIND11_PYTHON_VERSION is declared and only used here in place of the Python version --> why not use PYTHON_VERSION.
    • It might also be usefull to add the parameter EXACT that'll help force the python version to one (this is cumbersome on MAC OS where it is current to have multiple python version installed)
  • Licenses: some remaining GPL codes remain mostly SceneCreator and in SofaTest. What should we do? Pass it to LGPL or externalize (see #4416)
  • NanoBind an interesting alternative to pybind
  • When using constant parsity pattern, a check can be added when inserting to make sure that the pattern is respected. This test has a cost
    • It could be conditioned though a data (checkIndices already existing)
    • Ideas on the use of flags set by downstream components if their pattern has changed can be more efficient
    • Doubt about the interest of the block3x3 optimization case

SOFA PR review

PR merged within the week


03/01/2024

News

  • Agenda 2024 is released! Save the dates!!
    • Next STC#17 will be held in Strasbourg on June 10-12
    • SOFA Week 2024 will be held in Lille on Nov 25-29
  • Preparation of the upcoming release v23.12 started

Technical discussions

  • Issue raised in discussions #4281 about update of anisotropic inertia matrix for rigids

SOFA PR review

PR merged within the week


20/12/2023

News

  • Agenda 2024 is released!
    • Next STC#17 will be held in Strasbourg on June 10-12
    • SOFA Week 2024 will be held in Lille on Nov 25-29 Save the dates!!
  • Preparation of the upcoming release v23.12 started

Technical discussions

  • GitHub Discussions
    • Stale action running
    • Centralized for all plugins (except SoftRobot for now)
    • Add links to the proper discussion category in each plugin README
  • Metis upgrade to 5.2.1

SOFA PR review

PR merged within the week


13/12/2023

News

  • Preparation of the upcoming release v23.12 started
  • Welcome to new InfinyTech3D member : Ronak Molazem. She also joined the SOFA dev team !

Technical discussions

  • GitHub Discussions
    • Reordering upcoming to welcome dedicated area for Community Help on Plugins
      • Question on the case of SoftRobot
      • Question on regrouping InfinyTech3D plugins (Unity ?)
    • #4348 [github] fix stale action --> ready to update all discussions
  • Test SoftRobots on CI with scene examples/tutorials/Tripod/myproject/step7.py and it will be fixed by adding the serial python package on the new builders
  • Auto differentiation of simulation in SOFA: roadmap defined at the DEFROST team

SOFA PR review

PR merged within the week


06/12/2023

News

  • SOFA consortium will be at Inria’s Programme santé numérique doing a demo during the SOFA-dev meeting, Alex will be your host
  • New hire at InfinyTech3D

Technical discussions

  • Haption plugin: no longer maintained. Could be externalized. In the meantime, we could make some changes so it can be compiled on the CI (to maintain compatibility with SOFA) using a fake virtuoseAPI header. Probably same conclusion with Xitact.

SofaPython3 PR review

SOFA PR review

PR merged within the week


29/11/2023

News

  • SOFA consortium will make a demo at Inria's Programme santé numérique on Dec 6th (Paris Santé Campus)
  • Preparation of the agenda 2024

Technical discussions

  • SOFA integration into 3D Slicer: ongoing discussion with core developer team. Better define what is targeted as an integration. → We must be careful of the boundaries of such integration to insure that it stays stable (only projective, only volumetric mesh etc...). Mays also be used for visualization or registration.
  • Question on Jenkins maintenance on Inria's side. They question the use of it given their gitlab solution, but it is not a solution for us because we need to stay on github. May require at some point to only rely on github actions.
  • Metis compilation for windows : maybe compile/use both version 64/32 regarding the SReal type
  • SolidTypes : includes several pieces of codes like Frame, Transform

SOFA PR review

PR merged within the week


22/11/2023

News

  • Feedback from SOFA Week 2023 & STC #16
    • Awards:
      • Ask for last release compatibility or a demo video
      • Ask for some slide upon inscription to have some insights on what it does
      • Add a "level of expertise" rating for the jury, for each contribution, to ponderate the grade.
    • Symposium:
      • Be more strict on registration timeline and abstract review to guaranty quality
      • Last minute registration for presentation will not be allowed anymore (add dead line for pres inscription)
      • Have more break time to talk and see the booths
      • Add timer to keep a hand on the clock
      • Have a last organized drink on site after the conference to debrief and cool down a bit (instead of more break time)
    • STC:
      • No question when presenting to keep the clock
      • For last six month maybe keep the presentation for the consortium --> only presentation of the next six months
      • Prepare and identify a bit more the roadmap subject to clearly define the person in charge of the roadmap
      • The sprint time is maybe not sound because of the lack of good dev tool (laptop), we cannot really make ground changing PRs. May be good to define more doable issue beforehand. It should maybe stay a place for discussion of technical subject, to be well defined (e.g. conda package)
  • Late June 2024: Deformation in Robotics Summer School

Technical discussions

  • Finalize discussion on SOFA Conda packages
    • The following division has been agreed upon:
      • sofa-core (including the core that we said + the batch runSofa)
      • sofa-python3 (+ stlib)
      • sofa-beamadapter
      • sofa-modelorderreduction
      • sofa-softrobots (direct and inverse robotics)
      • sofa-cosserat
      • sofa-gl
      • sofa-gui-qt
      • sofa-gui-glfw (glfw + imgui) --> not prioritary
      • sofa-advanced (with all the rest) --> not prioritary
    • In SOFA.Gui a part of the code includes component/common which could be part of sofa-core
  • Regression tests should be fixed
    • BeamAdapter:
    • SPHFluid: references should be updated

SOFA PR review

PR merged within the week

None (too busy discussing at the Technical Committee)


15/11/2023

❌ No meeting due to the SOFA Week 2023!


08/11/2023

News

  • 🚨🚨🚨 Last week before the SOFA Week 2023🚨🚨🚨
  • Agenda of the SOFA Technical Committee #16 will be presented
  • Next July 2024: Deformation in Robotics Summer School

Technical discussion

  • Use of vcpkg or conan for external libraries (or simple compilation for the CI)
    • one or the other is more of a guess
    • common work (between olivier and the consortium) will append after the sofa week to speed up the release of the ne ci environement and the binaries

SOFA PR review

PR merged within the week


01/11/2023

❌ No meeting due to the feast of All Saints (French day off). See you next week for the last SOFA dev meeting before the SOFA Week 2023!


25/10/2023

News

Technical discussions

  • Some installation isssues
    • SOFA on MacOS due to Apple certificate
    • Caribou: Paul will propose an install script
  • Roadmap of the conda package
    • new versions of libraries are needed (e.g. tinyxml)
    • this needs the find_or_fetch feature, therefore an upgrade CMake >= 3.24 -> wait for the 23.12 release, which should be performed as soon as possible early December
    • csparse: we said il last meeting that it could be totally take out of the core. Alexandre will deal with it.
    • Json dependency on AdvancedTimer (header only): make it find_or_fetch or remove it? Olivier already made a PR implementing this mechanism but we could remove it totally for the next release
    • add a mechanism making this find_or_fetch mechanism optional
  • Sort issues in preparation of STC#16
  • On the timers we want to add CMake option to have the choice between:
    • No time
    • Tracy
    • Advanced timer
    • Tracy + advanced

SOFA PR review

PR merged within the week


18/10/2023

News

Technical discussions

  • The configuration/version of the OS and associated librairies should be updated on the CI : the default rule is use the current ubuntu ditribution version (the one shipped with apt). But the version can be upgraded locally when required and not breaking
    • Future requiremnt will be CMake >= 3.24
    • Update to a new version of MSVC 2022
    • This will be widely discussed at the STC#16
  • Regression plugin failed running scene from external plugins due to path issues (e.g. BeamAdapter will failed as long as this is not fixed)
  • CI minimal configuration should now include the Multithreading plugin
  • New SOFA main scene has been presented by Paul: now optimizing it
    • A bit disapointing in term of perf regarding the number of object. May be good to show the number of constraints in real time and/or show mor objects (little logos)
    • May require to ship BeamAdapter with SOFA
    • Paul will release his plugin contining the scene
  • Alexandre attempted to assemble matrices faster and shared his feedback
    • Mechanical contribution to a matrix a done in two steps : computation then assembling (insertion in non-neglectible in term of computation time)
    • The idea was to do the insertion in a dedicated asynchronous thread → forced to add an intermediate queue to store local contribution and insert in a lock-free way
    • Contribution computation is sped up with this but the queue reading (depilation) takes a lot of time leading to no speed up at all

SOFA PR review

PR merged within the week


11/10/2023

News

Technical discussions

  • Now a merge option in PR on GitHub More rigorous and avoids problems with master. We need to do it in order to not do it multiple times. Always merge master on the branch and not rebase: don't lose the history. If this system becomes too blocking in terme of testing, consider modifying the CI (remove master compilation and only relly on the nightly build because each commit on the master branch will be tested before the merge) ?
  • #4221 Use of embedded external dependencies Conda integration : Request to clean up external SOFA dependencies linked statically. For header only libraries -> find or fetch mechanism (if not present in the environmenet, its sources are fetched and compiled by us) For static libraries -> make them shared Cas particuliers:
    • New mat : take out the plugin to make it stand-alone, so as not to lose the work but no longer include it.
    • miniFlowVR : also to take out
    • json nlohmann : in the long term remove this dependency
    • Tiny xml : find or fetch (in the long term isolate the feature and 'find or deactivates')
    • cspare : sparseLDL implements nearly everything it uses -> no real dependency on cspare. But other lesser-used objects depend on it, and we could take them out.
    • Metis : no need to worry about 'finding or fetching' as the embedded version is up to date.
  • Regression tests on windows are not launching but it will be fixed quickly.

SOFA PR review

PR merged within the week


04/10/2023

News

Technical discussions

  • Topological changes: current implementation by InfinyTech3D (higher level like: split a triangle in 2, split a triangle in 3)
    • **SetGeometryAlgorithms: are the only components accessing both the topology and the dofs. It already implements several topological methods
    • an additional folder will be added in Sofa.Component.Topology.Container.Dynamic including all these files/header
  • Conda package update:
    • Full review received on the PR on conda-forge: management of linking with static libraries, all external projects not header-only should be used through associated conda packages
    • restore the linux support: solved!
    • MacOS failure: Fatal Python error: PyMUTEX_LOCK(gil->mutex) failed
  • Sort STC#16 labels
  • CI: set up a new Ubuntu v22.04 LTS builder. Question came about the library versions: homogeneize all versions Linux/Mac/Windows

SOFA PR review

PR merged within the week


27/09/2023

News

Technical discussions

  • Update regarding SofaCUDA plugins: GPU thesis plugins are now open. Would be interesting to compare it to the Defrost SofaCUDALinearSolver
  • HPC seminar at Inria (CR available here)
    • Scotch: package for graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering
    • SolverStack: HPC linear algebra solver stack
    • MoReFem: high-performance scientific computing library for numerical simulation of multi-physical phenomena, based on the PETSc linear algebra library
  • Revive the Pardiso plugin. Problem : it is not portable and the license is not open. It has been integrated to Intel MKL library, maybe create a plugin on this library for SOFA?

SOFA PR review

PR merged within the week


27/09/2023

News

Technical discussions

  • Update regarding SofaCUDA plugins: GPU thesis plugins are now open. Would be interesting to compare it to the Defrost SofaCUDALinearSolver
  • HPC seminar at Inria (CR available here)
    • Scotch: package for graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering
    • SolverStack: HPC linear algebra solver stack
    • MoReFem: high-performance scientific computing library for numerical simulation of multi-physical phenomena, based on the PETSc linear algebra library
  • Revive the Pardiso plugin. Problem : it is not portable and the license is not open. It has been integrated to Intel MKL library, maybe create a plugin on this library for SOFA?

SOFA PR review

PR merged within the week


20/09/2023

News

Technical discussions

  • Vladimir Poliakov working on a training simulator for hysteroscopy. He implemented an asynchronous GUI with adaptive time step (with a maximum garanteeing the simulation stability). Vladimir will soon be leaving back in KU Leuven, feel free to take a look at filosofia and the coupling with filament. Parallel of simulation and rendering logically shows better performances than runSofa, this is something we could get inspired from. Vladimir will soon make his pending changes in SOFA as PRs.
  • Rising interest in SOFAGLFW+ImGui which could/should replace runSofa. Modularization of ImGui would be a plus
  • Scene tests run all examples even in plugins and when multithreading is involved, many timeouts occur
  • Prefabs should be deeply rediscussed
  • SOFA Vedo : have a visualization tool for python. Robin should discuss with Samuel to evaluate the need of this feature.
  • Profiler Tracy #4182 -> nice tool for profiling execution with good insights. (see pr review)

SOFA PR review

PR merged within the week


13/09/2023

News

Technical discussions

  • CI MacOS still down
  • New Ubuntu CI : 22.04
  • Release of GPU codes: discussion incoming to sort codes
  • Investigate Jenkins configuration options (minimal/standard/full): CMakePreset.json could be used

SOFA PR review

PR merged within the week


06/09/2023

News

Technical discussions

  • Update about the SOFA conda package by Olivier
    • PR #23085 opened on conda forge
    • Should be available at the beginning of October
    • A tutorial may be provided during the SOFA Week!
  • Continuous integration:
    • very long nightly builds due to pending macos blocking CI
    • this Thursday new infra updates incoming
  • Sort out old SOFA GitHub PR
  • PRs pending on BeamAdapter

SOFA PR review

PR merged within the week


30/08/2023

News

Technical discussions

  • access SOFA master nightly build: a change on the CI infrastructure at Inria blocked access to the nightly builds. This is solved, thus restoring the CI for the master branch of external plugins
  • SOFA has CMake/plugins multiple configurations: minimal, standard, full (Jenkins). We should work on homogeneizing these configuration for:
    • the release (full + plugins)
    • the conda package
    • and the Plugins page
  • Repository site-package python3 for SOFA plugins see MOR #72: can be configured in SofaPython3 plugins but other plugins having bindings do not inherit of this configuration. Using the major.minor version format is fine and this property should be propagated. However, the python path could be added when SOFA binaries get installed (this would be for later)

SOFA PR review

PR merged within the week


23/08/2023

News

Technical discussions

  • Folder for python site-packages is python3/ but it does not help differentiating the versions, best would be e.g. python3.8.10/site-packages/. A variable allows this in the plugin SofaPython3 but not in plugins. Discussion with Damien for possible explanation, else 👍
  • Nightly build of SOFA are working again (branch v23.06 on sofa/ci)
  • Close old opened PR on the fly during the week
  • SofaPython3 2 PR pending review to be done on the fly during the week
  • Issue on SofaGLFW: GitHub action nightly generating releases for master and v23.06. But each nightly add a new set of release. Comparison with Regression to be done and the action in SofaPython3 should be updated to be really nightly.

SOFA PR review

SofaPython3 PR review

PR merged within the week


16/08/2023

News

SOFA PR review

PR merged within the summer break


26/07/2023

News

  • SOFA Week 2023 : registrations are now open!!
  • Training sessions are open for august and september, register now !
  • It's summer times, the SOFA community will slow down the two first weeks of August. Enjoy your summer and see you in the second half of August!

Technical discussions

  • [Core] Unification of addDForce and buildStiffnessMatrix (#4010) This is resulting from the matrix refactoring (#2777). The idea was to unify the two metyhod by always using the build matrix method instead of addDforce. This makes the unbuilt version slower (especially for corotationnal). → The idea is to use this unification to make the addDForce override optional but warn the user that the unbuilt version will be slower and that they should override it if they want the real mechanism.

  • [LinearSystem] Optim: Only account for affected DoFs (#4001) The question was why this PR is accelerating the Caduceus given the fact that it isn't using any penality. → This maybe due to the fact that the matrix building baypass the mechanical flag of the mappings. Filtering the affected dof has thus the side effect to take the flag into account implicitly. It would be better to take the mapping flags into account explicitly.

  • [Lifecycle] On the use of union for data name depreciation (#4046) The use of union to enable the use of old data name could become a norm → Raises a problem with the destructor. It forces the destructor of the class to be defined. Inside of it we need to explicitly tell which data of the union is destroyed (memory leak if not done but is it really an issue ?). This would also imply to remove the destructor at the end of the lifecycle (this could be eased by destructing the deprecated data instead of the new one as a convention to raise ocmpilation errors). The use of this would require to update the doc and be very explicit on what to do regarding the destructor.

SOFA PR review

SOFAPYTHON3 PR review

PR merged within the week


19/07/2023

News

  • The two first weeks of August will be down for most of the SOFA community! Put the sunglasses on 😎 but do not forget to book the SOFA Week 2023!
  • Vladimir PhD student at KU Leuven is visiting: cutting simulation (Harders hybrid cutting approach) and remeshing further to cutting using MMG

Technical discussions

SOFA PR review

PR merged within the week


12/07/2023

News

Technical discussions

SOFA PR review

PR merged within the week


05/07/2023

News

Technical discussions

SOFA PR review

PR merged within the week


28/06/2023

News

  • Release upcoming this week
  • MacOS down for 10 days more: a test will be done tomorrow, let's merge PR starting from Thursday evening

Technical discussions

  • Update about data/component update: discussions took place and a report will soon be presented
  • #3968 [FEM.Elastic] Test HexahedralFEMForceField: shows that HexahedralFEMForceField and HexahedronFEMForceField do not behave the same way! This should be investigated and fixed in another PR

SOFA PR review

PR merged within the week


21/06/2023

News

Technical discussions

  • Careful: MacOS CI is not yet online ⚠️ wait before massive merge!
  • Preparation of the v23.06 release
    • Linux and Windows are successfully generated, and tested
    • Waiting for MacOS CI to generate them
    • Issues on Caribou:
      • change repo name
      • change project name
      • clean scenes
      • ship scenes within install
      • check the use of the Cosserat bindings
      • add it to the fetchable plugins
  • Go further with #354 Support copy of some binary files
    • when preparing the python packages at install, the configure_file() is corrupting some files
    • investigate what does the macro and the configure_file() file (probably not only a simple copy)
    • Alex will give a try and could be a good first complicated topic for Paul

SOFA PR review

PR merged within the week


14/06/2023

News

  • VivaTech 2023 is coming, join us in Paris on Friday 16th of June!
  • CI MacOS is down due to moving of the SOFA consortium staff and infrastructure
  • Still a very nice dev activity (but therefore a lot of review effort)!

Technical discussions

  • #3930 [Sofa.Type] Reformat code Such a formatting tool has a great interest for SOFA, but for now not to apply on the whole codebase. With 25+ open PR, applying it to all SOFA would generate conflicts as well as make the comparison with older codes complicated. Moreover, only one rule (e.g. only the code tabulation) can not be applied. Howevever, the script can be applied on separated modules. Alex will test clang-format in command line and a review of the format is needed.
    • Remark: OK to apply it on Sofa.Type. Exntending it to SOFA is not a priority, minimum effort for PR author and for the core-dev
    • it would be simpler to apply it once on the whole code base (easy to do in the Sofa.Core)
    • must be done in a synchronized way (for developer with multiple branches)
    • then suggest/automatize/enforce format in PR (through CI, or GitHub actions) → Paul
  • #3924 [MechanicalLoad] Replace doUpdateInternal by callback: ConstantFF
    • doUpdateInternal API was a DataEngine mechanism in all BaseObject to allow for a triggered update of components through the doUpdateInternal function. It was allowing for having input and output data but it is not spread and could be replaced by data
    • #3636 is pursueing the work by separating the callback to have one per data, and it adds new data as input while having read-only data which are coherent
      • have the read-only constraint (more than only GUI) and how to implement it (check in beginEdit(), BaseData, Data)
      • break circular dependencies seems a good property, but we could keep only one input with an engine allowing to have other input
      • a dedicated discussion will take place next week!

SOFA PR review

PR merged within the week


07/06/2023

News

Technical discussions

SOFA PR review

PR merged within the week


31/05/2023

News

  • Feedback from SOFA Technical Committee #15. A new format could be suggested: separate STC roadmap discussions from the coding sprint, this would have the advantage of taking the time to converge on the roadmap.
  • Next event: SOFA at VivaTech 2023 on Friday 16th of June!

Technical discussions

  • #3903 [Spring] Rename RestShapeSpringsForceField to a more user-oriented name A common use of RestShapeSpringsForceField is to fix some points using forces and sometimes fixing points to another object. In general this raises the question of: defining a naming convention on such components to distinguish:
    • projective constraints (physicless, forceless)
    • weak force constraints (physicless with forces)
    • Lagrange-based constraints (taking into account the physics and applying forces)
  • Process for the v23.06 release will start soon

SOFA PR review

PR merged within the last 2 weeks


24/05/2023

❌ No meeting due to the SOFA Technical Committee #15 taking place in Paris!


17/05/2023

News

Technical discussions

  • Page on how to release on the wiki
  • Issue when changing the group data dynamically in CollisionModel #346
    • Quick dirty fix suggested
    • AbstractTypeInfo could be updated to offer a consistent API, see comment
  • Creation and freeze of the v23.06 release branch
    • Share process to release
    • Extend it to plugins : will be done while doing the release
  • SOFA in conda by Olivier: packages will be done for each plugin + SOFA → first PR on conda forge will soon take place

SOFA PR review

BeamAdapter PR review

PR merged within the week


10/05/2023

News

  • SOFA Technical Committee #15 in Paris from May 23th to 26th - Organization
  • For next STCs, Lille as a location might be preferred regarding the hotel / facilities availability

Technical discussions

  • Merge of the Matrix Assembly update #2777 feedback: not much feedback in general, the SoftRobots plugin has been successfully updated in #213
  • Cosserat plugin:
    • some GitHub CI issue, related to pybind version (forcing to use C++14), used for Cosserat bindings
    • State of code: clean of examples is required → a tool is required to test python scenes in plugins
  • Issue when changing the group data dynamically in CollisionModel, the change is not taken into account: it seems that setting a value in a set insert the new value, but does not remove the old one → feedback from Damien is expected
  • Creation of the v23.06 release branch: done today. Remaining todo:
    • All PR must now have a milestone specified
    • Share process to release
    • Extend it to plugins
  • Reviews on BeamAdapter PR are needed as well!

SOFA PR review

Registration PR review

PR merged within the week


03/05/2023

News

Technical discussions

  • Freeze the release branch v23.06 imminent
  • Issue in the RegularGrid of SOFA with Hexahedra: a workaround has been found, and an issue will be created to track the problem
  • Need to integrate PRs from BeamAdapter

SOFA PR review

PR merged within the week


26/04/2023

News

  • SOFA Technical Committee in Paris from May 23th to 26th - Organization
  • Reminder: new plugin for elasticity on shells using FEM
  • Several training sessions taking place and new dates are available

Technical discussions

  • Freeze the release branch v23.06 at the beginning of May
  • Issue in the RegularGrid of SOFA with Hexahedra where the first hexahedron is ordering the edges in a different order then the next hexahedra (next hexas are using udpateQuads())
  • Need to another GUI for SOFA : ImGui is not very professional/user-friendly. The project SofaQtQuick was an idea but the project is over. To be further discussed at STC!

SOFA PR review

PR merged within the week


19/04/2023

News

Technical discussions

  • Freeze the release branch v23.06 at the beginning of May
  • Documentation for SofaCUDA : installation of the drivers should be tested on both Linux and Win. PR is opened but needs to be updated #87

SOFA PR review

PR merged within the week


12/04/2023

News

Technical discussions

  • Freeze the release branch v23.06 at the beginning of May
  • Documentation for SofaCUDA should be updated : at least mentioning that CUDA12 is not supported so far (could be updated for the v23.06)

SOFA PR review

PR merged within the week


05/04/2023

News

Technical discussions

  • Freeze the release branch v23.06 at the beginning of May

SOFA PR review

PR merged within the week


29/03/2023

News

  • New developers incoming in the community
  • Organization of the STC : topics of the coding sprint will be discussed next week
  • Next events:
    • CMBBE SOFA workshop in Paris
    • STC#15 in Paris
    • SoFraSimS in Nice
    • VivaTech in Paris

Technical discussions

  • Merge #2777 is imminent: test next week

SOFA PR review

SofaPython3 PR review

PR merged within the week


22/03/2023

SOFA PR review

PR merged within the week


15/03/2023

SOFA PR review

PR merged within the week


08/03/2023

Technical discussions

SOFA PR review

SofaPython3 PR review

PR merged within the week


01/03/2023

News

Technical discussions

  • Work on CMake in Caribou plugin and associated SofaPython3 plugin by Rémi
  • Discussion about FEM for continuum mechanics: TetahedronFEMForceField vs TetrahedralCorotational no more differences
    • TetrahedronFEMForceField proposes linear elasticity in small deformation, a corotational approach for large displacement, a corotational-SVD approach
    • TetrahedralCorotationalFEMForceField proposes the same with without factorizing code from TetrahedronFEMForceField (no inheritance). Erik started a work of factorization with TetrahedronFEMForceField
    • FastTetrahedralCorotationalForceField: results differ due to code optimizations/approximations

SOFA PR review

PR merged within the week


22/02/2023

News

Technical discussions

  • ALL PR must be first rebased with #3672 to check the tests
  • Lifecycle for v23.06 is being prepared
  • Log mutex locked twice (leading to crash) · Issue #3610
  • Qt error is catched and displayed with msg. This creates a msg within another msg which generates a double mutex. Recursive mutex could solve it but it looks more like a design issue. We should maybe avoid forwarding messages within a SOFA msg
  • Work on non-linear mappings continues: RigidMapping has been reviewed. An API is still there (getK(), a data geometricStiffness) but seems to be broken. The implementation should be assessed

SOFA PR review

SofaPython3 PR review

PR merged within the week


15/02/2023

News

  • Discussion about the organization of the SOFA Technical Committee (STC)
  • Update about Jessy’s internship
  • Contributing guideline: a new scheme will be proposed to clarify the discussion & contribution process
  • Gitter moved to [Matrix]. TODO : add widget for recent activity

Technical discussions

  • Cuda async template unavailable #3644
  • Template auto-instantiation caused a problem with CUDA. The role of template auto-instantiation should be re-discussed while the current fix removing the replacement of CRS_f to CRS_d is satisfactory for now. Update on the Caribou plugin: CMake of the SofaCaribou is being made similar to SOFA. For Caribou, CMake macros are not doing what is needed on Windows with python
  • CUDA : review the content of SofaCUDA and make it compatible with other plugins (Defrost)
  • CI : idea of STC discussion could be to clean all tests/scenes on the CI

SOFA PR review

PR merged within the week


08/02/2023

News

  • 2-week Jessy's internship on SOFA with investigations on pip install / conda install (SOFA deployment for python environment)
  • Training material getting updated (continuum mechanics with Caribou)
  • Soon, Inria Days on HPC : topic of resolution of linear systems could be of interest. We'll keep you updated!
  • Events: SOFA has the opportunity to attend Vivatech & SoFraSimS 2023

Technical discussions

SOFA PR review

PR merged within the week


01/02/2023

News

Technical discussions

  • [BeamAdapter] Change of behaviour in InterventionalRadiologyController #87 Bug has been identified for beams that are not visible, the computation using the curvilinear abscissa fails → a PR will be submitted by Camille with his python script possibly fixing the issue

SOFA PR review

SofaPython3 PR review

PR merged within the week


25/01/2023

News

Technical discussions

  • Coupling of SOFA and Unreal Engine is coming soon!
  • Caribou plugin: new investigation on CMake and FEM
  • Soon a tutorial video on coding with Multithreading plugin in SOFA
  • Float compilation: all scenes are usually using template=Vec3d we should use the SReal version template=Vec3 allowing us to test the float cases. Is float really useful? Remark added in #3451

SOFA PR review

PR merged within the week


18/01/2023

News

Technical discussions

  • STLIB SPLIT: a discussion could take place to evaluate the need to bring it back into SofaPython3 and discuss its format
  • Interest of having SOFA installer with conda

SOFA PR review

SofaPython3 PR review

PR merged within the week


11/01/2023

News

Technical discussions

  • [Sofa.LinearAlgebra] Pull Insimo's CompressedRowSparseMatrix into the main branch (#3515) Working branch only two tests were giving different results on non-zero values in CRS (python test check_matrix). Else useful and improving performance! Failing tests to be investigated.
  • [MultiThreading] Implement domain decomposition for a lock-free parallelism (#3566) Make a ForceField parallel using domain decomposition (it is therefore only useful in an unbuilt CG): within one domain we cannot have twice on the same node. The decomposition is done at init. After fixing a bug in the benchmark, the performance gain is not as good as expected … The investigation led to an PR improving the naive version.
  • Doc SofaPython3: a new way to generate the doc with sphinx and send it to readthedoc, using GitHub has to be investigated (#329)

SOFA PR review

SofaPython3 PR review

PR merged within the week


04/01/2023

News

  • SOFA v22.12 release process ongoing Last PR needed to be merged: #3534 #3535

Technical discussions

  • CI MacOS using python has an issue, a workaround is proposed here, do not hesitate to apply it in your own plugin repositories. This might be fixed later (python action or homebrew)
  • Use of external libraries could be considered to implement C++ code compatible with any accelerating architecture (GPU, multithreaded CPU etc). Sycl is an interesting example (Intel, Khronos)

SOFA PR review

SofaPython3 PR review

PR merged within the week


14/12/2022

News

  • SOFA v22.12 release is postponed due to sick leave of the release manager Sorry for the delay!

Technical discussions

  • CI with macos-3 is down again Future investigation on why the comm macos-3 ↔ jenkins fails is needed
  • CGAL was disactivated see commit Consider reactivating CGAL plugin on the CI when the CI will be fixed

SOFA PR review

BeamAdapter PR review

SofaPython3 PR review

PR merged within the week


07/12/2022

News

  • SOFA v22.12 freeze of branch today, release process will start right after this branch creation
  • Next week is the last 2022 meeting! We are now preparing the 2023 agenda (exact dates are being validated)
  • HackaTech in Grenoble in January

Technical discussions

  • Integration of matrix assembly branch: further to STC, the conclusion was that the interaction between several objects is a feature which is interesting to keep. There is therefore still work to do and this branch will not get into the release however it should be merged in master as soon as possible (January is targeted).
  • PRs respecting the lifecycle are open: #3534 & #3535
  • Label "pr: test" is added

SOFA PR review

SofaPython3 PR review

PR merged within the week


30/11/2022

News

  • Preparation of the 2023 agenda: make your 2023 events known! Share them with us: [email protected]

Technical discussions

  • Discuss the creation of the v22.12 branch and freeze for release
    • Branch will be created and frozen
    • Notify us for any upcoming contributions to be integrated
    • Only pending contribution we are aware of: matrix assembly
  • Contribution process for large contribution (breaking / incompatible with SOFA)
    • A scheme presenting the process for integration of such contributions could be formalized
  • Erik PR for v22.06: the very same branch will be created and merged in the SOFA repository

SOFA PR review

SofaPython3 PR review

PR merged within the week


23/11/2022

News

  • Update further to the SOFA Week 2022: 231 registered participants!!!
    • Training working smoothly
    • Symposium
      • Hard to motivate people to contribute → does not produce a real contribution
      • Consortium : could present the community activity worldwide
      • Nice event showing the activity of international partners, mostly users
      • Inria : would be nice to have general presentation of the team
    • STC
      • No real dynamics, hard to embark new people
      • Coding-sprints : should we skip it or make it separated?
      • Coding-sprints : onsite event should help
      • Coding-sprints : STC tasks too large / complicated – coding sprint more focused !
      • Coding-sprints : e.g. a week with a scrum organization
  • Preparation of the 2023 agenda: make your 2023 events known!
  • Accompany new users and make them become developers
    • Weekly meetings : open to all (including Inria teams)
    • Support + companionship till the contribution
    • At the SOFA dev → presentation of technical topics, one topic per month, upvoted by the students/engineers

SOFA PR review

PR merged within the week


09/11/2022

News

Technical discussions

  • Timer for debug only has been increased by Fred
  • A new test is failing : RemovingBilateralInteractionConstraint.scn on MacOS

SOFA PR review

PR merged within the week


02/11/2022

News

Technical discussions

  • Timeout seems to occur in debug, Fred suggested to increase the timer for debug only
  • Backport of PRs should be done and a tag v22.06.01 should be created
  • A discussion about a "SOFA 2.0" is scheduled on day 2 of the STC (Thursday 17th). Do not hesitate to join and create your SOFA wish-list
  • Types in SOFA: internal type in class or SOFA type::
    • When to use internal types
    • Define a naming convention for internal types (through a PR in doc)
    • Issue of manpower: how to propagate this change among many other

SOFA PR review

PR merged within the week


26/10/2022

News

Technical discussions

SOFA PR review

Registration PR review

PR merged within the week


19/10/2022

News

  • [SOFA Week 2022] More than 130 participants registered already, spread the word!
  • First PR from Leo Hunout on the SofaGym project!

Technical discussions

SOFA PR review

PR merged within the week


12/10/2022

News

  • SOFA recruits, find out more about these opportunities
  • [SOFA Week 2022] More than 95 participants registered already, spread the word!
  • Test the Matrix branch : #2777 waiting your reviews!
  • Another SOFA Training session occurred on Monday!

Technical discussions

  • CI issues on MacOS, machines rebooted
  • Upcoming discussion about the progress of the Matrix project and objectives: naming, blocking points, specific cases
  • STC #14: add the topics you would like to address in discussions
  • #3299 [all] Replace all Vector2, Vector3, Vector4 by their short name alias Vec2, Vec3 This change should not have a strong impact on regression. Only issues should come when compiling in float. This raises a question: do we really want to support float (required for several API, CUDA, OpenGL) and how to keep the simplest and most readable code. In many codes, the member types are generic while in fact the implementation only works for a specific template (eg. Vec3). Now: check compilation and regression. Then ready!
  • Good first issues are available, give it a try!

SOFA PR review

PR merged within the week


06/10/2022

News

Technical discussions

SOFA PR review

  • #3237: ready. Needed to be rebased due to conflicts.
  • #3242: Add comments with link to the PR with details. After that => Ready
  • #3245: Ready
  • #3269: Changes requested
  • #3278: Failing unit tests. A description is requested.
  • #3287: Change requested, otherwise ready.
  • #3288: FAiling tests on Windows. This PR will be discussed next week.
  • #3289: Compilation failing
  • #3290: postponed. The need to repeat using Inherit1::initData is not understood
  • #3294: WIP
  • #3299: Compilation failing => WIP
  • #3301: Failing scenes => WIP. Wait for https://github.com/sofa-framework/sofa/pull/3351
  • #3304: Ready
  • #3305: Ready. To present next dev meeting so everyone is aware of this PR
  • #3314: Ready. To present next dev meeting so everyone is aware of this PR
  • #3315: Ready. But an issue has been written.
  • #3327: Deprecation requested. Await answer from M. Talbot.
  • #3331: Ready
  • #3332: Ready
  • #3334: Keep to review. Need more feedback. Deprecation requested.
  • #3338: Ready
  • #3339: Answer requested. Need more investigation => WIP
  • #3344: Keep to review
  • #3345: Need more tests

BeamAdapter PR review

  • #50: wait to review https://github.com/sofa-framework/sofa/pull/3358. An alternative is to support only compilers with parallel algorithms support.
  • #57: Ready. Vector of gravity vectors has been replaced by a single gravity vector from the current Node
  • #59: Ready
  • #62: Keep to review
  • #64: Need regression tests. Keep to review

PR merged within the week


28/09/2022

News

Technical discussions

SOFA PR review

PR merged within the week


14/09/2022

News

  • Due to new malicious act on Inria Lille infrastructure, our website http://sofa-framework.org is down for now. We'll keep you posted when to register again for the #SOFAWeek2022
  • The CI is down, investigation shows this is related to a problem in the Inria infrastructure a ticket was open
  • Presentation of the work to be done by Leo Hunout
  • Work on parallel linear solver performed by Stephane & Alex is now public: https://github.com/SofaDefrost/SofaCUDALinearSolver
  • SOFA recruits, find out more about these opportunities
  • Guillaume Paran as guest star in the SOFA dev meeting!

SOFA PR review

SofaPython3 PR review

PR merged within the week


07/09/2022

News

Technical discussions

  • SofaCUDALinearSolver : GPU-based direct linear solver: further to Stephane’s work, a direct GPU linear solver based on cusolver library (available in CUDA toolkit). However, inveistation and limitations remain :
    • the library is opaque (API does not provide access to factors/submatrices, and therefore it does not allow a CPU-GPU hybrid factorization-resolution)
    • a limitation is that it cannot take advantage of the constant pattern of the system matrix: another matrix is available for this.cusolver_rf (only a LU factorization) → an investigation to do
  • [Type] Constexpr Quaternion #3221
    • Constexpr requires to define all in the header file (making compilation time higher)
    • Let's test to define it constexpr while defining it in the inl file (including it in the header) and see if it works as constexpr

SOFA PR review

SofaPython3 PR review

PR merged within the week


31/08/2022

News

  • Save your seat for the 14-18th November: SOFA Week 2022
  • SOFA v22.06 is out!
  • End of Stephane’s internship :
    • CUDA code incoming in a dedicated plugin
    • Benchmarking code remains to do on several PR

Technical discussions

  • Update about the SofaMatrix project
    • Refactoring is over
    • 10% last percent (which are taking 90% of the time)
    • A doc has been written
    • New feature: able to check column and row value given when filling the matrix (data in the matrix assembler): no check, check system size, check submatrix, topology-aware check
    • Maybe looking at a compatibility layer
    • Later (after merge in master)
      • Modify all components with the new API (ongoing) Geometric stiffness : non-linear mapping which is itself non-mapped → need to differentiate linear and nonlinear mappings
      • Speed up of matrix mapping
      • Python bindings
      • Multithreading
      • CUDA compat
      • Test
  • PRs to be backported in v22.06 have been sorted, ready for backport v22.06.01

SOFA PR review

SofaPython3 PR review

PR merged within the week


24/08/2022

News

SOFA PR review

SofaPython3 PR review

BeamAdapter PR review

PR merged within the week


17/08/2022

News

Technical discussions

  • Opening codes foster the robustness of these! Never hesitate to share your contributions to benefit from our dev engineering community!

SOFA PR review

SofaPython3 PR review

PR merged within the week


10/08/2022

News

Technical discussions

  • Check dashboard: strange macOS problem with access to matrices with SofaPython3. Apparently a binding to LCPConstraintSolver is needed while the binding to ConstraintSolverImpl does not suffice. To be further investigated
  • #3203 Topology changes for SphereCollisionModel on EdgeSetTopologyContainer The SphereCollisionModel works historically without a topology (relying on the mstate). Tests are failing due to the absence of a PointSetTopology, an alternative could be to change the warning into an info message that without a topology, no topological change will be supported. Another change in order to make the component topologically robust would be to make the data radius as a PointData

SOFA PR review

SofaPython3 PR review

PR merged within the week


27/07/2022

News

SOFA PR review

SofaPython3 PR review

PR merged within the week


20/07/2022

News

SOFA PR review

SofaPython3 PR review

PR merged within the week


13/07/2022

News

  • SOFA Website is down since Sunday due to an act of vandalism where our servers are located, see question posted on GitHub Discussions #3127
  • SOFA v22.06 release: due to the above point, the release process is delayed because of unavailability of CI infrastructure
  • Summer school "Deformation in robotics" was a success with more than 40 participants presenting their work in soft-robotics! Feedback very positive!
  • This Monday tool place the SOFA workshop at EMBC 2022 in Glasgow. Attendees were motivated, interested and many questions came up!

Technical discussions

  • LICENSE at SOFA root: we should find a way to display it without changing the file
  • Several PR were to be discussed before v22.06

SOFA PR review

SofaPython3 PR review

PR merged within the week


06/07/2022

News

Technical discussions

  • Issue of rendering in QtViewer brought on GitHub discussions #3100, branch being tested and seems to work

SOFA PR review

SofaPython3 PR review

BeamAdapter PR

  • Issue of rendering in QtViewer brought on GitHub discussions #3100, branch being tested and seems to work

PR merged within the week