KratosMultiphysics / Kratos

Kratos Multiphysics (A.K.A Kratos) is a framework for building parallel multi-disciplinary simulation software. Modularity, extensibility and HPC are the main objectives. Kratos has BSD license and is written in C++ with extensive Python interface.
https://kratosmultiphysics.github.io/Kratos/
Other
1k stars 244 forks source link

[GeoMechanicsApplication] Initialize the solving strategy for the Settlement Workflow based on project parameters #11626

Closed rfaasse closed 10 months ago

rfaasse commented 10 months ago

As a user, I would like to be able to specify a solving strategy in the Settlement workflow, such that it is used to solve the equations during settlement computations.

Background

The following solving strategy is supported in the settlement workflow:

  1. GeoMechanicsNewtonRaphsonStrategy

The following convergence criteria are supported in the settlement workflow:

  1. DisplacementCriteria

The following linear solvers are supported in the settlement workflow:

  1. amgcl
  2. amgcl_ns
  3. bicgstab
  4. cg
  5. deflated_cg
  6. monotonicity_preserving
  7. scaling
  8. skyline_lu_factorization
  9. sparse_cg
  10. sparse_lu
  11. sparse_qr
  12. tfqmr

The following schemes are supported in the settlement workflow:

  1. Backward_Euler with a Quasi-Static solution type.

The following 'BuilderAndSolvers' are supported in the settlement workflow:

  1. ResidualBasedBlockBuilderAndSolver
  2. ResidualBasedEliminationBuilderAndSolver

Acceptance Criteria

Given The user specifies a supported (see Background) solving strategy in the ProjectParameters.json When The user runs the settlement workflow Then The specified solving strategy and its parameters are available for use

Given The user specifies a non-supported (see Background) solving strategy in the ProjectParameters.json When The user runs the settlement workflow Then The workflow aborts with the error message: "The solving strategy is not supported for the settlement workflow."

Given The user does not specify a solving strategy in the ProjectParameters.json When The user runs the settlement workflow Then The workflow aborts with the error message: "Please specify a solving strategy as it is mandatory to run the settlement workflow."

rfaasse commented 10 months ago

@avdg81 @WPK4FEM I elaborated this issue a bit. To me it is clear enough to start with, but we'll need to know which solving strategies we support at some point.

Feel free to add/change things here if I missed anything

philbucher commented 10 months ago

hey @KratosMultiphysics/geomechanics , the first page of issues is filled with TODO-tasks for Geomechanics. Perhaps a better workflow would be to create a correspnding project for TODOs, otherwise the issues page seems to be overflowing :sweat_smile:

mcgicjn2 commented 10 months ago

@philbucher: To be fair they are on our project board ..... we don't manually put them on the main board. I think it is automatic @roigcarlo is this by design ?

@RiccardoRossi Maybe a point for wider discussion ?

roigcarlo commented 10 months ago

Edited

As for the project, no there is no way to filter them out. the best we can do is label them and use the filter (I see that most of them are correctly labeled, dunno if its from the geo side or someone has manually added the labels). This is on GitHub side I cannot do anything about it.

That being said from my side there is hardly any problem with this. We have been abusing of the issues section for everything, when there are much better alternatives like "discussions" now.

Moreover, honestly I cannot remember the last time I accessed PR or issues section manually, usually is much more convenient to do it from the notifications settings and selecting the repo / author / etc.. you are interest in.

For example:

view

There you can filter, bookmark, follow, etc.. all the notifications about PR/Issues/Discussions and keep them ordered at user level.