Skip to content

[GeoMechanicsApplication] Added an interface stress state for surface interfaces#13618

Merged
WPK4FEM merged 17 commits intomasterfrom
geo/13331-InterfaceStressStatefor-planar-interfaces
Jul 11, 2025
Merged

[GeoMechanicsApplication] Added an interface stress state for surface interfaces#13618
WPK4FEM merged 17 commits intomasterfrom
geo/13331-InterfaceStressStatefor-planar-interfaces

Conversation

@avdg81
Copy link
Contributor

@avdg81 avdg81 commented Jul 10, 2025

📝 Description
Renamed the existing interface stress state to make clear that it applies to two-dimensional line interfaces only. Also added a new stress state policy for surface elements.

🆕 Changelog
Other changes include:

  • Added unit tests for the new stress state policy.
  • Added documentation for both interface stress states.
  • Corrected a few names.
  • Reformatted the C++ code using Clang-format.

avdg81 added 15 commits July 9, 2025 15:07
Now it's named `Line2DInterfaceStressState`.
The implementation of this class is similar to the one of class `Line2DInterfaceStressState`. Member function `CalculateBMatrix` still needs to be modified; now it's a copy of the implementation of `Line2DInterfaceStressState::CalculateBMatrix`.
They don't belong in a unit test, since they are checked at compile time. Moved them to the implementation file.

Also corrected an error message and modified two unit tests.
For plane interfaces, this calculation was incorrect. That has been fixed, and also a unit test has been added.
Also reformatted the C++ code using Clang-format.
- Listed classes `Line2DInterfaceStressState` and `PlaneInterfaceStressState`.
- Extended the class hierarchy with the interface stress states.
- Explained how the B matrix is calculated for interface stress states.
- Fixed a few broken links.
It is now called `SurfaceInterfaceStressState`. Also extended the documentation a bit.
@avdg81 avdg81 requested review from WPK4FEM and rfaasse July 10, 2025 15:27
@avdg81 avdg81 self-assigned this Jul 10, 2025
@avdg81 avdg81 requested a review from a team as a code owner July 10, 2025 15:28
@avdg81 avdg81 added the GeoMechanics Issues related to the GeoMechanicsApplication label Jul 10, 2025
WPK4FEM
WPK4FEM previously approved these changes Jul 11, 2025
Copy link
Contributor

@WPK4FEM WPK4FEM left a comment

Choose a reason for hiding this comment

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

This is ready to go. If really eager for more change look at the 2 comments.
Wijtze Pieter


const auto number_of_u_dofs_per_side = result.size2() / 2;
// Define the order in which the degrees of freedom at any node must be processed to compute the
// normal component first and then the tangential component
Copy link
Contributor

Choose a reason for hiding this comment

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

nitpicking, tangential component(s) as there may be 2

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good catch. Done.

KRATOS_EXPECT_EXCEPTION_IS_THROWN(
[[maybe_unused]] const auto strain = stress_state_policy.CalculateGreenLagrangeStrain({}),
"For surface interfaces, it is not possible to calculate the Green-Lagrange "
"strain based on a deformation gradient.")
Copy link
Contributor

Choose a reason for hiding this comment

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

The "based on a deformation gradient" can be left out. It's not possible on any other base too.
The same holds for the line interface on line 138

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, that's right. Changed.

@github-project-automation github-project-automation bot moved this from In progress to Reviewer approved in GeoMechanicsApplication (Deltares) Jul 11, 2025
- Improved a comment and two error messages.
- Added my name to two lists of main authors.
WPK4FEM
WPK4FEM previously approved these changes Jul 11, 2025
Copy link
Contributor

@WPK4FEM WPK4FEM left a comment

Choose a reason for hiding this comment

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

Consistent (last?) change. Good to go.

Copy link
Contributor

@rfaasse rfaasse left a comment

Choose a reason for hiding this comment

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

Very clear extension. I only have a couple of suggestions/questions, but I think this is close to being merged!

- Explained the meaning of the symbols Delta u_n, Delta u_t, and Delta u_s.
- Made the UML diagram of the stress state policies complete, by adding the missing member function names. The overrides have been removed, since that doesn't really add new information.
@avdg81 avdg81 requested a review from rfaasse July 11, 2025 14:28
Copy link
Contributor

@rfaasse rfaasse left a comment

Choose a reason for hiding this comment

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

Thanks for processing the review comments, good to go!

@WPK4FEM WPK4FEM merged commit 6f9dde8 into master Jul 11, 2025
10 checks passed
@WPK4FEM WPK4FEM deleted the geo/13331-InterfaceStressStatefor-planar-interfaces branch July 11, 2025 14:56
@github-project-automation github-project-automation bot moved this from Reviewer approved to Done in GeoMechanicsApplication (Deltares) Jul 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GeoMechanics Issues related to the GeoMechanicsApplication

Development

Successfully merging this pull request may close these issues.

[GeoMechanicsApplication] Adapt the InterfaceStressState class such that it is suitable for surface interface elements

3 participants