Initialization of coupled flow and mechanics problems #1926
Replies: 4 comments 4 replies
-
I do not understand if step However, it guess that steps
So maybe not committing the solvers to one unique initialization recipe and letting the users develop their own mix is fine? 🧙 🤣 EDIT: Or maybe your |
Beta Was this translation helpful? Give feedback.
-
I think the workflow is a good one, though I would emphasize that Step 4 may involve some nuance. If any stress or traction conditions lie outside the yield surface after Step 3, we would have to move the yield surface at these points to ensure everything is in static equilibrium. Otherwise there will be a sudden deformation at The alternative is to do a geologic timescale simulation with inelasticity enabled, to gradually compute an in situ stress and inelastic state that makes the most sense. I think both options are available using the currrent implementation. The second will work already, though Step 3 above would now take several nonlinear timesteps. For the first, we just have to add a yield surface reset algorithm to the solid models (maybe 15 lines of code). |
Beta Was this translation helpful? Give feedback.
-
For Step 3, have you considered instead forming and solving a statically condensed system with a regular single-physics linear solver? I.e.
This would require writing a special variation of multiphase poromechanics FEM kernel that assembles the modified right-hand side. But to me it still seems like a more straightforward and efficient approach, although I might be missing something? |
Beta Was this translation helpful? Give feedback.
-
@francoishamon, was it not sufficient to just set @klevzoff, I could see what you propose being more broadly useful in the context of one-way poromechanics (solve fluid flow on its own, and then postprocess for deformations). |
Beta Was this translation helpful? Give feedback.
-
I am opening this discussion to brainstorm about initialization for coupled flow and mechanics problems.
In the simulations that we have to run, we are often given an initial hydrostatic pressure field (and an initial composition) and we are asked to initialize the mechanical stresses such that the problem is at equilibrium when the simulation starts. Following discussions with Nicola and Josh, it seems the following initialization procedure would work well:
1- Compute or load the hydrostatic pressure field before the simulation starts
2- Disable inelasticity
3- Prior to the beginning of the simulation, solve an elastic problem that accounts for the initial pressure and composition.
In the context of the multiphase poromechanics solver, we can do that by solving the linear system:
where the Jacobian looks like
and where the residual has been modified appropriately to fix pressure and compositions at their initial values.
In GEOSX, this can be implemented as an initialization time step (time step size does not matter), and the modification of the Jacobian can be implemented with our field specifications functions. The linear solver may have to be modified to accomodate this Jacobian structure.
4- Enable inelasticity
5- Zero out the displacements computed during the initialization time step
6- Start the "real" simulation at time t = 0s
In terms of implementation:
develop
I tested the procedure on realistic large problems and it seems to work well for realistic large cases.
Does this initialization procedure look ok for everyone?
I don't have a good vision of all the use cases, so I may be missing something (faults and fractures, etc)
@castelletto1 @joshua-white @rrsettgast @klevzoff @CusiniM @jhuang2601
Beta Was this translation helpful? Give feedback.
All reactions