Skip to content
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

[GeoMechanicsApplication] Add output item SHEAR_CAPACITY #13165

Open
avdg81 opened this issue Feb 25, 2025 · 0 comments
Open

[GeoMechanicsApplication] Add output item SHEAR_CAPACITY #13165

avdg81 opened this issue Feb 25, 2025 · 0 comments

Comments

@avdg81
Copy link
Contributor

avdg81 commented Feb 25, 2025

Aim

As a developer (or user), I would like to be able to assess the shear capacity of a soil body (assuming I'm adopting a Mohr-Coulomb material model). To this end, I would like to have a SHEAR_CAPACITY output item at integration point level.

Acceptance criteria

Given a Kratos model part that has been assigned a Mohr-Coulomb material model;
When the user requests the output item SHEAR_CAPACITY;
Then for each integration point in the given model part the shear capacity is calculated and written to an output file for further postprocessing.

Given a Kratos model part that doesn't have a Mohr-Coulomb material model assigned;
When the user requests the output item SHEAR_CAPACITY;
Then a warning is raised that the SHEAR_CAPACITY cannot be calculated, since the assigned material model doesn't support it.

Implementation details

  • Make sure that you define, create, and register a new application variable named SHEAR_CAPACITY:
    • geo_mechanics_application_variables.h: define it.
    • geo_mechanics_application_variables.cpp: create it.
    • geo_mechanics_application.cpp: register it.
  • Make sure that a bug in the calculation of Lode's angle has been fixed.
  • Extend the CalculateOnIntegrationPoints(const Variable<double>&, ...) member functions of all relevant element classes (UPwSmallStrainElement, SmallStrainUPwDiffOrderElement, ...) such that they can calculate the shear capacity.
  • For the calculation of the shear capacity, reuse the utility function StressStrainUtilities::CalculateMohrCoulombShearCapacity. It requires the cohesion $c$ and the friction angle $\phi$, as well as the current stress vector for each integration point (e.g. taken from data member mStressVector).
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

No branches or pull requests

1 participant