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] Implement drainage policy #12318

Open
rfaasse opened this issue Apr 26, 2024 · 2 comments
Open

[GeoMechanicsApplication] Implement drainage policy #12318

rfaasse opened this issue Apr 26, 2024 · 2 comments

Comments

@rfaasse
Copy link
Contributor

rfaasse commented Apr 26, 2024

As a developer, I want the drainage functionality to be separated from the elements, such that the elements become more maintainable and extendible and easier to understand.

Acceptance criteria

  • All functionality related to drainage, which could have different implementations (i.e. transient, drained and undrained) is moved to a separate class using the strategy design pattern see e.g. wikipedia for a bit more info.
  • Three strategies/policies are created, all deriving from an abstract interface, to provide the drainage functionality.

As discussed as apart of #12067 the interface for this policy will provide the following two functions to add the coupling, permeability and coupling contributions to the left and right hand side:

  • AddToLHS(Matrix& rLeftHandSideMatrix, …, const callBack) and
  • AddtoRHS(Vector& rRightHandSideVector, …, const callBack).

where the callBack will hold references on required functions and it will be populated by an element (this implementation detail might still change).

@rfaasse
Copy link
Contributor Author

rfaasse commented Apr 26, 2024

@markelov208 @WPK4FEM @avdg81 I added some details to this issue, feel free to add to/correct it.

@rfaasse
Copy link
Contributor Author

rfaasse commented May 22, 2024

To be split up by @avdg81

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