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] Standard K0 procedure for 3D #12850

Merged
merged 13 commits into from
Nov 19, 2024

Conversation

markelov208
Copy link
Contributor

@markelov208 markelov208 commented Nov 14, 2024

📝 Description
A brief description of the PR.

  • extended check for K0_MAIN_DIRECTION
  • added unit and integration tests
  • 3D extention of tests:
    • K0ProcedureIsAppliedCorrectlyWithK0_NC,
    • K0ProcedureIsAppliedCorrectlyWithPhi,
    • K0ProcedureIsAppliedCorrectlyWithK0_NCandOCR,
    • K0ProcedureIsAppliedCorrectlyWithK0_NCandOCRandNu_UR,
    • K0ProcedureIsAppliedCorrectlyWithK0_NCandPOP,
    • K0ProcedureIsAppliedCorrectlyWithK0_NCandPOPandNu_UR

@markelov208 markelov208 self-assigned this Nov 14, 2024
@markelov208 markelov208 linked an issue Nov 14, 2024 that may be closed by this pull request
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.

Deaar Gennady,
Thank you for creating the unit tests for the 3D behaviour of the K0 procedure.
I think that it would be good to also add a 3D integration test. We can borrow the mesh of tests\lysmer_boundary_column3D change the load to gravity in Z and change the bottom to fixed . Then run the K0 procedure. If you want, we do that together.
Regards, Wijtze Pieter

Comment on lines 81 to 82
KRATOS_ERROR_IF(rProperties[K0_MAIN_DIRECTION] < 0 || rProperties[K0_MAIN_DIRECTION] > 2)
<< "K0_MAIN_DIRECTION should be 0, 1 or 2 for element " << ElementId << "." << std::endl;
Copy link
Contributor

Choose a reason for hiding this comment

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

For plane strain the applicable directions are 0 and 1, for 3D 0, 1 and 2.
Therefore it would be good if that reflects in the condition for and the text of the error message.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thank you for pointing. Now dimension is used to distinguish an appropriate message.

rfaasse
rfaasse previously approved these changes Nov 18, 2024
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.

This looks good to go for me! I have a suggestion for rewriting part of the 'stub' functionality to use GMock. It's not necessary, but if you have time and think it's interesting to try, you can give it a go!

Copy link
Contributor Author

@markelov208 markelov208 left a comment

Choose a reason for hiding this comment

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

Hi guys, thank you very much for valuable suggestions and your help. Hope this PR is ready to be merged.

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.

Looks good to go to me! Thanks for implementing this with comprehensive unit/integration tests!


namespace
{

using namespace Kratos;

class MockConstitutiveLaw : public GeoIncrementalLinearElasticLaw
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice that we use GMock now!

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.

Good to go ( but you can still consider to put your name in the test :)

@markelov208 markelov208 enabled auto-merge (squash) November 19, 2024 13:20
@markelov208 markelov208 merged commit 6015a90 into master Nov 19, 2024
11 checks passed
@markelov208 markelov208 deleted the geo/standard_K0_procedure_for_3D branch November 19, 2024 14:53
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.

[GeoMechanicsApplication] Standard K0 procedure for 3D
3 participants