Skip to content

fix: Add fix to fracture state in case of high cohesion#3964

Merged
MelReyCG merged 7 commits intodevelopfrom
fix/ALM-cohesion-stick-slip-bug
Feb 9, 2026
Merged

fix: Add fix to fracture state in case of high cohesion#3964
MelReyCG merged 7 commits intodevelopfrom
fix/ALM-cohesion-stick-slip-bug

Conversation

@npillardou
Copy link
Contributor

This PR tries to correct a condition found in the ALM method.

The implementation is based from the LM method ( physicsSolvers/solidMechanics/contact/SolidMechanicsLagrangeContact.cpp:2274-2335) :

  • when normal traction is smaller than normalTractionTolerance, check if cohesion allows stick state before deciding to transition to slip (fix for high cohesion materials)

Some tests have been performed showing a better consistency in Aramis case with very high cohesion (1e20):
Previous implementation:
image

With the fix:
image

@npillardou npillardou self-assigned this Feb 5, 2026
@npillardou npillardou changed the title Add fix to fracture state in case of high cohesion fix:Add fix to fracture state in case of high cohesion Feb 5, 2026
@npillardou npillardou changed the title fix:Add fix to fracture state in case of high cohesion fix: Add fix to fracture state in case of high cohesion Feb 5, 2026
@jhuang2601 jhuang2601 added type: bug Something isn't working flag: ready for review EPIC - FF/Contact Contact mechanics labels Feb 5, 2026
@castelletto1 castelletto1 added ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI ci: run code coverage enables running of the code coverage CI jobs labels Feb 5, 2026
@codecov
Copy link

codecov bot commented Feb 5, 2026

Codecov Report

❌ Patch coverage is 0% with 13 lines in your changes missing coverage. Please review.
✅ Project coverage is 58.87%. Comparing base (2acb3ef) to head (8fbcf3d).
⚠️ Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
...ntact/SolidMechanicsAugmentedLagrangianContact.cpp 0.00% 7 Missing ⚠️
...s/contact/kernels/SolidMechanicsALMKernelsBase.hpp 0.00% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3964      +/-   ##
===========================================
- Coverage    58.87%   58.87%   -0.01%     
===========================================
  Files         1353     1353              
  Lines       112953   112964      +11     
===========================================
  Hits         66504    66504              
- Misses       46449    46460      +11     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

if( currentTau > limitTau )
{
// Tangential traction exceeds cohesion limit: transition to slip
LvArray::tensorOps::fill< 3 >( localTractionNew, 0.0 );
Copy link
Contributor

Choose a reason for hiding this comment

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

@castelletto1 @jafranc
If fields::contact::FractureState::Slip, why zero out localTractionNew?
For open element, it is correct; but for the slipped ones, I guess the normal traction (localTractionNew[0]) should be preserved?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think you're right, I kept it the same as before, but logically the traction should remain the same, if not zero.

@jhuang2601 jhuang2601 added the flag: requires rebaseline Requires rebaseline branch in integratedTests label Feb 9, 2026
@MelReyCG MelReyCG merged commit 7cca97c into develop Feb 9, 2026
22 checks passed
@MelReyCG MelReyCG deleted the fix/ALM-cohesion-stick-slip-bug branch February 9, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run code coverage enables running of the code coverage CI jobs ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI EPIC - FF/Contact Contact mechanics flag: ready for review flag: requires rebaseline Requires rebaseline branch in integratedTests type: bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants