Conversation
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.
WPK4FEM
left a comment
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
nitpicking, tangential component(s) as there may be 2
| 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.") |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Yes, that's right. Changed.
- Improved a comment and two error messages. - Added my name to two lists of main authors.
WPK4FEM
left a comment
There was a problem hiding this comment.
Consistent (last?) change. Good to go.
rfaasse
left a comment
There was a problem hiding this comment.
Very clear extension. I only have a couple of suggestions/questions, but I think this is close to being merged!
applications/GeoMechanicsApplication/custom_elements/interface_stress_state.cpp
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_elements/interface_stress_state.h
Show resolved
Hide resolved
applications/GeoMechanicsApplication/custom_elements/stress_state_policies.svg
Show resolved
Hide resolved
- 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.
rfaasse
left a comment
There was a problem hiding this comment.
Thanks for processing the review comments, good to go!
📝 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: