GEOS-DEV / GEOS

GEOS Simulation Framework
GNU Lesser General Public License v2.1
210 stars 84 forks source link

Adding pressure stabilization for single phase poromechanics #3100

Closed ryar9534 closed 3 months ago

ryar9534 commented 5 months ago

Implemented stabilized flux kernels to enable pressure jump stabilization for single-phase poromechanics. Also moves some stabilization-related functions from MultiphasePoromechanics to PoromechanicsSolver, as now that single-phase stabilization exists it could be unified.

Also adding input files to perform integrated tests with more physical meaning directly related to pressure stability.

codecov[bot] commented 5 months ago

Codecov Report

Attention: Patch coverage is 1.40845% with 140 lines in your changes missing coverage. Please review.

Project coverage is 56.40%. Comparing base (f856214) to head (a1b9ad9). Report is 103 commits behind head on develop.

Files with missing lines Patch % Lines
...vers/fluidFlow/StabilizedSinglePhaseFVMKernels.hpp 0.00% 58 Missing :warning:
...hysicsSolvers/multiphysics/PoromechanicsSolver.hpp 0.00% 48 Missing :warning:
...onents/physicsSolvers/fluidFlow/SinglePhaseFVM.cpp 0.00% 21 Missing :warning:
.../physicsSolvers/fluidFlow/SinglePhaseHybridFVM.cpp 0.00% 3 Missing :warning:
...sSolvers/multiphysics/SinglePhasePoromechanics.cpp 0.00% 3 Missing :warning:
...vers/multiphysics/SinglePhaseReservoirAndWells.hpp 0.00% 3 Missing :warning:
...ers/fluidFlow/CompositionalMultiphaseHybridFVM.cpp 0.00% 2 Missing :warning:
...nents/physicsSolvers/fluidFlow/SinglePhaseBase.cpp 66.66% 1 Missing :warning:
...csSolvers/multiphysics/MultiphasePoromechanics.cpp 0.00% 1 Missing :warning:
Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #3100 +/- ## =========================================== - Coverage 56.45% 56.40% -0.06% =========================================== Files 1022 1023 +1 Lines 86431 86508 +77 =========================================== - Hits 48794 48793 -1 - Misses 37637 37715 +78 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

ryar9534 commented 4 months ago

Can we try to use in a case with a fault?

We can (it should work?), but I would like to know more about how tpfa is handled to make sure to get the element regions for stabilization right. I also still need to write the integrated tests for this PR.

CusiniM commented 4 months ago

Can we try to use in a case with a fault?

We can (it should work?), but I would like to know more about how tpfa is handled to make sure to get the element regions for stabilization right. I also still need to write the integrated tests for this PR.

if we want to add to the frac-matrix and frac-frac connections we probably can. The tpfa is basically the same as for the matrix just with some "special" transmissibilities. It's assembled by looping on the dedicated stencil types.

paveltomin commented 3 months ago

@ryar9534 there are some conflicts now, please resolve

ryar9534 commented 3 months ago

@ryar9534 there are some conflicts now, please resolve

I think I have fixed this