-
Notifications
You must be signed in to change notification settings - Fork 277
[GeoMechanicsApplication] Add documentation for hardening in Mohr-Coulomb in the form of markdown #13993
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
[GeoMechanicsApplication] Add documentation for hardening in Mohr-Coulomb in the form of markdown #13993
Conversation
WPK4FEM
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dear Mohamed,
Thank you for the large effort of putting this documentation properly in markdown. Still I have quite some remarks. Adding the picture of the zones that we have used before would be very helpful.
Regards, Wijtze Pieter
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
| Note: These formulations will be extended for more physics-based form. | ||
|
|
||
|
|
||
| #### Iterative process |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A flow diagram is probably faster to understand than writing this in words.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the diagram. I have a couple of remarks about it:
1 using a bent curve look not common to me, please use straight lines and corners.
2 the shape that encompasses "Map trial stresses" is used for choices. Around "Map trial stresses" I would expect a rectangular box.
3 the shape that encompasses "Map trial stresses" I do expect around the convergence criterion that decides whether you are ready or should loop.
Further:
- the lambda probably is lambda dot
- "update plastic strain" the action is more "calculate plastic strain increment"
- in the preceding text we should mention that kappa is the state variable. in this case its content is an equivalent plastic strain. That is a more commonly used description than hardening variable.
- material parameters are phi_0, psi_0 and c_0, H_phi, H_psi and H_c. Here the state variable dependent parametersare updated.
WPK4FEM
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Mohamed,
Thank you for the work, writing documentation is a tedious thing. In the issue, it also mentions documentation for unit tests. That I would remove, the unit tests should be self-documenting. The work here documents the implementation.
Reading again I realize that previous time I should have opened another view. Looking at just the rendering gave a way easier readable document. Now I have a lot more comments, but I hope they are easy to answer.
Regards, Wijtze Pieter
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_constitutive/README.md
Outdated
Show resolved
Hide resolved
deltaresmf
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi Mohammed, I think most of my comments are text-based and the organisation of the document. Hopefully you can make use of the comments
| @@ -1,63 +1,72 @@ | |||
| # Constitutive laws | |||
|
|
|||
|
|
|||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: Overview of the content
- Linear elastic
1.1 Introduction
1.2 Implementation - Mohr coulomb
2.1 Introduction (Criterions, when applicable, why)
2.2 Implementation Mohr-Coulomb with tension cut-off
2.3 Implementation Mohr-Coulomb with hardening/softening
|
|
||
| ## Mohr-Coulomb with tensile cutoff | ||
| ## Mohr-Coulomb with tension cutoff | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would suggest to add an introduction to the Mohr-Coulomb model using the figure.
I would add the following description from which you can derive the function below
'''math
\tau_f = c+\sigma'sin{\phi}
'''
Maybe also good to list the tension cut-off criterion here F_tc and the flow function and give a list of symbols with what they mean and their units.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might also be good to state what the state can be:
'''math
F_{mc}=<0 elastic behavior
F_{mc}>0 plastic behavior
'''
Do we have a condition for F_mc= 0 when it is on the critical state line?
| - In the case of regular failure zone, then it is mapped back to the Mohr-Coulomb yield surface along the normal direction of flow function. The flow function is defined by | ||
|
|
||
| ```math | ||
| G(\sigma) = \frac{\sigma_1 - \sigma_3}{2} + \frac{\sigma_1 + \sigma_3}{2} \sin{\psi} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| G(\sigma) = \frac{\sigma_1 - \sigma_3}{2} + \frac{\sigma_1 + \sigma_3}{2} \sin{\psi} | |
| G_{MC}(\sigma) = \frac{\sigma_1 - \sigma_3}{2} + \frac{\sigma_1 + \sigma_3}{2} \sin{\psi} |
| # Constitutive laws | ||
|
|
||
|
|
||
| ## Incremental linear elastic interface law |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Linear Elastic model
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we only have a description for the linear elastic behavior of the interface elements or linear elastic behavior in general, I would add a description of the linear behavior for elements
|
|
||
|
|
||
| ## Mohr-Coulomb with tensile cutoff | ||
| ## Mohr-Coulomb with tension cutoff |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ## Mohr-Coulomb with tension cutoff | |
| ## 2. Mohr-Coulomb with tension cutoff |
|
|
||
| Then | ||
| ```math | ||
| g = (\tau - \tau_{corner}) - \frac{1}{\sin{\psi}} (\sigma - \sigma_{corner}) = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where does the g come from?
| \dot{\lambda} = \frac{c \cos{\phi} - \sigma^{trial} \sin{\phi} - \tau^{trial}}{\sin(\psi) \sin(\phi) + 1} | ||
| ``` | ||
|
|
||
| Then update the principal stresses based on the mapped values. They updated principal stresses need to be rotated back to the element axes system. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Then update the principal stresses based on the mapped values. They updated principal stresses need to be rotated back to the element axes system. | |
| Then update the principal stresses based on the mapped values. The updated principal stresses need to be rotated back to the element axes system. |
| Then update the principal stresses based on the mapped values. They updated principal stresses need to be rotated back to the element axes system. | ||
|
|
||
| ### Rotation matrix | ||
| The rotation matrix is derived from the eigenvectors of the Cauchy stresses. Having three eigenvectors related to the principal stresses |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it is important that this is explained a bit more
| \boldsymbol{m_{dev}} = \boldsymbol{m} - \bar{m} \boldsymbol{I} | ||
| ``` | ||
|
|
||
| Then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Then | |
| Then the .. is calculated: |
| ``` | ||
|
|
||
| For detailed formulations, see [here](documentation_data/Mohr-Coulomb-with-tension_cutoff-formulations.pdf) | ||
| Where $\epsilon$ is a tolerance. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it wise to use epsilon as a tolerance?
📝 Description
Add documentation that explains the purpose, setup, and expected results of the unit tests for the Mohr–Coulomb hardening/softening implementation. This ensures reproducibility, helps new developers understand the test suite, and makes it easier to verify correctness.
🆕 Changelog