FIX: Correct 2D Von Mises Stress Calculation in CFEAElasticity (#2603) #2665
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.
Issue:
As reported in Issue #2603, the 2D implementation of the Von Mises stress calculation in
CFEAElasticity::VonMisesStresswas mathematically incorrect.The previous code implemented:
$$\sigma_{vm} = \sqrt{S_1^2 + S_2^2 - 2S_1S_2} = \sqrt{(S_1 - S_2)^2} = |S_1 - S_2|$$
This formula corresponds to the Tresca equivalent stress (twice the maximum shear stress), not the Von Mises stress.
Fix:
$$\sigma_{vm} = \sqrt{S_1^2 + S_2^2 - S_1S_2}$$
Updated the formula to the correct 2D Plane Stress Von Mises definition:
Verification:
Verified that the term
-2*S1*S2was the source of the discrepancy. The updated implementation now aligns with standard continuum mechanics definitions for plane stress.