Skip to content

Add 3D circular beam MMS validation: SOFA vs FreeFEM vs Saint-Venant analytical - #40

Merged
th-skam merged 2 commits into
main-freefem-sofafrom
3D-circular
Aug 10, 2026
Merged

Add 3D circular beam MMS validation: SOFA vs FreeFEM vs Saint-Venant analytical#40
th-skam merged 2 commits into
main-freefem-sofafrom
3D-circular

Conversation

@Fimache

@Fimache Fimache commented Jul 21, 2026

Copy link
Copy Markdown

#Summary
Adds a new cross-validation case for a 3D beam with circular cross-section under axial traction, extending the tetrahedral MMS validation pipeline (previously only rectangular cross-sections). Compares SOFA, FreeFEM++, and the exact Saint-Venant analytical solution.
beam3d_circular_tet.py : Gmsh mesh generator
freefem_beam3d_circle_traction.edp : FreeFEM++ weak formulation
sofa_beam3d_circle_traction.py : SOFA scene (LinearSmallStrainFEMForceField, consistent nodal traction forces on the loaded face)
comparaison_script3d_circle.py : coordinate-matching comparison script (SOFA vs FF vs analytical)
params.json / params_beam3d_circle_traction.json: mesh and physical parameters

Results

SOFA vs FreeFEM: RMS ≈ 1e-12 (ux), 6e-14 (uy), 4e-14 (uz) : effectively machine precision
SOFA/FreeFEM vs analytical (x ≥ 0.2, i.e. away from the clamped end): RMS ≈ 2.3e-3 (ux), 7.1e-4 (uy), 1.8e-3 (uz); consistent with expected mesh discretization error

@th-skam th-skam left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pushed a small modification for passing parameters.
Let's close these and unify them later.

@th-skam
th-skam merged commit 898e772 into main-freefem-sofa Aug 10, 2026
2 of 4 checks passed
@th-skam
th-skam deleted the 3D-circular branch August 10, 2026 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants