Repository navigation
Conversation
…ixed_mimetic_discretization
Contributor
|
Will be reviewed by @jafranc, @joshua-white |
victorapm
reviewed
Oct 8, 2026
victorapm
reviewed
Oct 8, 2026
victorapm
reviewed
Oct 8, 2026
victorapm
reviewed
Oct 8, 2026
victorapm
reviewed
Oct 8, 2026
victorapm
reviewed
Oct 8, 2026
victorapm
reviewed
Oct 8, 2026
victorapm
approved these changes
Oct 8, 2026
victorapm
left a comment
Contributor
There was a problem hiding this comment.
Thanks for the great work @chauj96 and @OmarDuran ! I left a few comments and I'm also working on a follow-up PR with some additional improvements built on top of this branch
jafranc
approved these changes
Oct 19, 2026
jafranc
left a comment
Contributor
There was a problem hiding this comment.
Great addition ! Thank you 🙏
Some notes and docs to be done later.
Co-authored-by: Jacques Franc <49998870+jafranc@users.noreply.github.com>
…/testMimeticInnerProducts.cpp Co-authored-by: Jacques Franc <49998870+jafranc@users.noreply.github.com>
Co-authored-by: Jacques Franc <49998870+jafranc@users.noreply.github.com>
Contributor
Author
|
Thank you @jafranc and @victorapm for the careful review. All your comments are addressed in the last commits. |
….com/GEOS-DEV/GEOS into feature/mixed_mimetic_discretization
…baseline note to the top
….com/GEOS-DEV/GEOS into feature/mixed_mimetic_discretization
Contributor
|
Needs code owner review from @MelReyCG , @bd713 , @dkachuma , @jhuang2601 , @joshua-white and/or @rrsettgast Thank you 🙏 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a mixed mimetic finite difference (MFD) discretization of single-phase flow, solved as a saddle-point problem. It adapts the consistency, each cell uses the TPFA inner product where TPFA is consistent and a consistent
MFD product elsewhere; fluxes between two TPFA cells are condensed. The associated theory can be found here: https://arxiv.org/abs/2607.23568.
It adds the
mixedMimeticmodule, theSinglePhaseMixedMFDsolver, a mixed-form RT inner product that requires no stabilization on simplexes, as it is the exact lower-order RT element, the ConsistencyAdaptation cell classification, a MGR strategy, and unit tests.This is a work in collaboration with @chauj96 , @castelletto1 , @victorapm and myself.
The discretization block will look like this:
innerProductType: the consistent product used in the MFD cells.adaptiveConsistency: 1 selects TPFA or MFD per cell, 0 uses MFD everywhere.consistencyTolerance: a cell becomes MFD when the relative two-point flux error, probed withnominalGradient, exceeds it.degeneracyTolerance: a cell is degenerate, and stays TPFA, when its volume is smaller than this percentage ofthe combined volume of all cells sharing a vertex with it. This controls the conditioning of the system on meshes with cells with extreme aspect ratio.
Alternatively, the choice can be prescribed per cell from the VTK mesh with the integer cell array
prescribedMfdFlag: 0 = TPFA, 1 = MFD, −1 = letconsistencyToleranceanddegeneracyTolerancedecide. Prescribed cells with 0 = TPFA, 1 = MFD are never altered. The result of the classification is written asmfdFlag.The following is an toy example of consistency adaptation on the full SPE10, where the green regions (MFD subregion) represent a simplex region connected with a large portion of hexahedral cells (TPFA subregion).
The following figure shows the MFD sub-region automatically identified employing a

consistencyTolerance="0.01"The following figures show the pressure colormaps for adaptive-MFD (left panel), TPFA on a hexahedral mesh (middle panel), and TPFA on the hybrid mesh (right panel). The TPFA approximation on the hybrid mesh exhibits a visible effect due to the consistency error localized in the simplex cells. The adaptive-MFD approximation is quite similar to the TPFA approximation on the hexahedral mesh, where it is exact. The small differences are due to the different types of meshes.

The following table was constructed using 8 ranks to show the following features: