3D beam torsion validation (circular section): mesh generation, SOFA vs FreeFEM vs Saint-Venant analytical comparison - #41
Open
Fimache wants to merge 1 commit into
Open
Conversation
…OFA vs FreeFEM vs Saint-Venant analytical comparison
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a new validation case for pure torsion of a 3D beam with a circular
cross-section, cross-checking SOFA against FreeFEM and against the
Saint-Venant analytical solution.
Files added
generate_beam3d_circular_tet.py— generates the P1 tetrahedral mesh(gmsh) of a circular cylinder, with tagged surfaces (
Fixed,Loaded,Lateral) and volume (Beam).sofa_beam3d_torsion.py— SOFA scene: linear elasticity(
LinearSmallStrainFEMForceField), one end fully clamped(
FixedProjectiveConstraint), pure torque applied on the other end viaconsistent nodal forces derived from the shear traction field.
freefem_beam3d_torsion.edp— same problem solved independently throughFreeFEM's variational formulation of 3D linear elasticity, with the same
traction distribution and a penalized clamp.
compare_beam3d_torsion.py— runs both solvers, pairs nodes bycoordinates, and compares displacement fields to each other and to the
Saint-Venant analytical solution for torsion of a circular section.
params.json/params_beam3d_torsion.json— geometry and materialparameters.
Validation results
uxstays ~3 orders of magnitude belowuy/uz, consistent with thetheoretical absence of warping for a circular cross-section.
uzgrows linearly along the beam axis, matching the expected twistprofile
θ(x) = θ' · x.zero at the clamped end in both solvers.
mesh discretization of the circular section and (2) the boundary-layer
effect near the rigid clamp, where Saint-Venant's free-torsion
assumption doesn't strictly hold (Saint-Venant's principle).
0.1 rad threshold for the parameters used here.