Skip to content

Recover CHEXA stresses at corners with a non-positive Jacobian - #343

Merged
victorkemp merged 2 commits into
MystranSolver:devfrom
Copper280z:fix/hexa-corner-recovery
Oct 26, 2026
Merged

victorkemp merged 2 commits into
MystranSolver:devfrom
Copper280z:fix/hexa-corner-recovery

Conversation

@Copper280z

Copy link
Copy Markdown
Contributor

A valid CHEXA can have a zero or negative Jacobian at a corner while it is positive at every Gauss point. Stress recovery evaluates the strain- displacement matrix at the corners, so it stopped with a fatal error even though the element stiffness was fine. The MacNeal-Harder distorted patch test is one such case.

At those corners the strains are now extrapolated from the 2x2x2 Gauss points, which is exact for constant strain. Regular elements are unaffected.

Fixes #225.

This change made use of various AI tools. I've reviewed it and believe it's correct and worthwhile, and am submitting this myself.

A valid CHEXA can have a zero or negative Jacobian at a corner while it is
positive at every Gauss point. Stress recovery evaluates the strain-
displacement matrix at the corners, so it stopped with a fatal error even
though the element stiffness was fine. The MacNeal-Harder distorted patch
test is one such case.

At those corners the strains are now extrapolated from the 2x2x2 Gauss
points, which is exact for constant strain. Regular elements are unaffected.

Fixes MystranSolver#225.
@victorkemp
victorkemp merged commit 517e2bc into MystranSolver:dev Oct 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants