Skip to content

Conversation

@jduriez
Copy link

@jduriez jduriez commented Dec 7, 2023

Description
This PR includes new state variables for the Mohr-Coulomb material:

  • 4 (binary) flags specifying the type of failure (if any). It can now be distinguished whether the material is currently (or has ever) failed in shear and/or tension

  • stored elastic energy. Note that it is denoted E_el, should it be rather eEl ?

  • cumulated plastic work, i.e. dissipation, given as a positive number. (well, let's not argue here whether this really is a state variable from a theoretical perspective ;-) ). Which is currently W_pl (should it be rather wPl ?)

Additional context

  • I was about to modify mpm-doc as well to document this change, but have not yet fully decided about the most appropriate place to do so. Probably in source corresponding to https://mpm.cb-geo.com/#/theory/material/mohr-coulomb, in a new (final) section "Output state variables" ?

  • This code comes from @SchDvr work during his PhD thesis. There is quite a number of other updates that could be proposed to be applied following his work, but this should probably be further discussed elsewhere.

…or shear; now and/or past) + elastic energy + plastic dissipation
@jduriez jduriez marked this pull request as draft December 7, 2023 13:34
@jduriez jduriez marked this pull request as ready for review December 7, 2023 13:49
@jduriez
Copy link
Author

jduriez commented Dec 7, 2023

Sorry for the initial check failure, my local test took place in a more compliant Ubuntu 22.04 environment (where brace initializing Vector6d was possible)

@codecov
Copy link

codecov bot commented Dec 7, 2023

Codecov Report

Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (53fcb76) 96.75% compared to head (bc7cfa9) 96.75%.

Files Patch % Lines
include/materials/mohr_coulomb.tcc 96.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #742   +/-   ##
========================================
  Coverage    96.75%   96.75%           
========================================
  Files          130      130           
  Lines        25932    25972   +40     
========================================
+ Hits         25090    25129   +39     
- Misses         842      843    +1     

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

Copy link
Contributor

@kks32 kks32 left a comment

Choose a reason for hiding this comment

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

Thank you so much @jduriez for the suggested updates. Could we add some mpm-benchmark tests to make sure the previous version will still work and any new tests for this modified MC?

@jduriez
Copy link
Author

jduriez commented Dec 14, 2023

Thank you so much @jduriez for the suggested updates. Could we add some mpm-benchmark tests to make sure the previous version will still work and any new tests for this modified MC?

Thanks for feedback @kks32 ! Do you mean "mpm-benchmark tests" like in mpm-benchmark ? If yes, I'm afraid that would be too much for us at the moment (and for possibly a long time due to lack of time..) but I just tried to include a greater consideration of these new state variables in the catch test tests/materials/mohr_coulomb_test.cc as here:

REQUIRE(state_variables.at("shear_fail") == 1);

to L3398

As for whether previous version would still work, we somehow relied on the fact existing MC tests still pass and I would mostly stress out we are (aim at, at least ! ;-) ) touching here only post-processing state variables.

Let me know what you think (I should anyway try to come with a mpm-doc update about MC state variables next week..)

@jduriez
Copy link
Author

jduriez commented Mar 4, 2024

For the record, the incremental elastic energy expression is actually to improve. We currently multiply here the updated stress value with elastic strain increment, which is an overestimation. Using a mid-point rule between updated_stress and stress should be much better, so maybe it is indeed better not to merge currently

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