Skip to content

[Mass] Introduce element-agnostic FEM mass#6061

Open
alxbilger wants to merge 18 commits intosofa-framework:masterfrom
alxbilger:femmass2
Open

[Mass] Introduce element-agnostic FEM mass#6061
alxbilger wants to merge 18 commits intosofa-framework:masterfrom
alxbilger:femmass2

Conversation

@alxbilger
Copy link
Copy Markdown
Contributor

@alxbilger alxbilger commented Mar 31, 2026

This PR adds a new finite-element mass implementation that builds a sparse global mass matrix from per-element quadrature, using nodal density values instead of a single uniform density.
It also introduces support for computing both kinetic and gravitational potential energy from that mass matrix, along with the corresponding force and matrix-assembly paths.
A new generic nodal-property abstraction was added so density can be stored per node and validated against the mechanical state’s scalar type.
The finite-element helpers were extended with shape-function evaluation and interpolation utilities needed for the mass integration.
The validation example was updated to use the new nodal-density-driven FEM mass setup.

[with-all-tests]


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

@alxbilger alxbilger added pr: enhancement About a possible enhancement pr: status to review To notify reviewers to review this pull-request pr: highlighted in next release Highlight this contribution in the notes of the upcoming release labels Mar 31, 2026
@alxbilger
Copy link
Copy Markdown
Contributor Author

[ci-build][with-all-tests]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: enhancement About a possible enhancement pr: highlighted in next release Highlight this contribution in the notes of the upcoming release pr: status to review To notify reviewers to review this pull-request

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

1 participant