GEOS icon indicating copy to clipboard operation
GEOS copied to clipboard

Implemented initialization elastic time step for coupled problems

Open francoishamon opened this issue 3 years ago • 0 comments

This PR implements the necessary components to perform the initialization time step in Discussion #1926.

That is, assembling and solving the following system:

delta x = - J^-1 R     

where the Jacobian looks like

     | J_uu J_up J_us |
J =  |        I       |
     |             I  |  

and the residual has been modified appropriately to fix pressure and compositions at their initial values.

To do that, I needed:

  • A function in CompositionalMultiphaseBase that uses FieldSpecifications functions to modify the flow (J_p* and J_s*) blocks of the Jacobian matrix appropriately (similar to Dirichlet BC).
  • A task to trigger the call of this function.

and

  • An MGR recipe that can solve the modified system: flow vars eliminated first, and then BoomerAMG on the coarse grid (displacements).
  • A task to trigger the switch in MGR recipe.

I only implemented this for the MultiphasePoromechanicsSolver.

This PR is here mostly to have something concrete to discuss (but it seems fully working and usable)

francoishamon avatar May 23 '22 09:05 francoishamon