Skip to content

feat: integration test for single phase polyhedral discretizations #3780

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 30 commits into
base: develop
Choose a base branch
from

Conversation

OmarDuran
Copy link
Contributor

@OmarDuran OmarDuran commented Aug 18, 2025

This PR introduces integration tests for single-phase flow on polyhedral meshes, verifying TPFA and MFD discretizations against exact pressure solutions on star-shaped meshes.

Test Coverage:

TPFA Integration Tests: Parameterized on three mesh types (polyhedral_voronoi_complex.vtk, polyhedral_voronoi_lattice.vtk, polyhedral_voronoi_regular.vtk) to ensure machine-precision solutions on regular meshes and highlight TPFA inconsistency on non–k-orthogonal meshes.

MFD Integration Tests: Parameterized for multiple inner product types (TPFA, QuasiTPFA, QuasiRT, Simple, BdVLM), verifying exact pressure solutions on star-shaped meshes.

TPFA vs MFD Consistency Tests: Cross-check that MFD with innerProductType="TPFA" reproduces the same pressure field as the standard TPFA solver on all meshes.

On the Meshes

Voronoi mesh constructed from a 2d lattice

This mesh Includes n-facet polygonal prisms with 4 to 6 facets (n in {4,5,6}).
mesh_crop_lattice

Voronoi mesh constructed from a cloud of points

This mesh is designed to cover all element types supported by GEOS and include local mesh adaptations. This mesh Includes n-facet polygonal prisms with 3 to 11 facets (n in {3,4,5,6,7,8,9,10,11}).
mesh_crop_complex

Regular k-ortogonal mesh

mesh_crop_regular

@OmarDuran OmarDuran self-assigned this Aug 18, 2025
@OmarDuran OmarDuran added type: testing Unit tests, non-regression testing, ... ci: run integrated tests Allows to run the integrated tests in GEOS CI ci: run code coverage enables running of the code coverage CI jobs labels Aug 18, 2025
@OmarDuran OmarDuran marked this pull request as ready for review August 18, 2025 16:16
@OmarDuran OmarDuran changed the title Feat: integration test for single phase polyhedral discretizations feat: integration test for single phase polyhedral discretizations Aug 18, 2025
Copy link

codecov bot commented Aug 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.13%. Comparing base (4904736) to head (0a2c914).

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3780      +/-   ##
===========================================
+ Coverage    58.42%   59.13%   +0.70%     
===========================================
  Files         1270     1271       +1     
  Lines       109191   109329     +138     
===========================================
+ Hits         63798    64651     +853     
+ Misses       45393    44678     -715     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@OmarDuran OmarDuran requested a review from Copilot August 18, 2025 17:39
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces comprehensive integration tests for single-phase flow discretizations on polyhedral meshes, validating both TPFA and MFD (Mimetic Finite Difference) solver accuracy against analytical solutions.

  • Implements parameterized tests for TPFA and MFD discretizations across multiple mesh types and inner product formulations
  • Adds cross-verification tests to ensure consistency between TPFA and MFD solvers when using equivalent configurations
  • Includes three polyhedral mesh files (regular, lattice, and complex Voronoi meshes) and corresponding XML input templates

Reviewed Changes

Copilot reviewed 10 out of 13 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
testPolyhedralDiscretizations.cpp Main test implementation with parameterized test classes for TPFA, MFD, and consistency verification
polyhedral_voronoi_*.vtk Three VTK mesh files representing different polyhedral geometries for testing
CMakeLists.txt (integration test) Build configuration for new integration test directory and mesh file copying
CMakeLists.txt (core components) Updated to include integration tests in build when tests are enabled
incompressible_*.xml XML input file templates for TPFA and MFD solver configurations

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

OmarDuran and others added 6 commits August 18, 2025 10:41
…iscretizations/testPolyhedralDiscretizations.cpp

Co-authored-by: Copilot <[email protected]>
…iscretizations/testPolyhedralDiscretizations.cpp

Co-authored-by: Copilot <[email protected]>
…iscretizations/testPolyhedralDiscretizations.cpp

Co-authored-by: Copilot <[email protected]>
…gle-phase' of https://github.com/GEOS-DEV/GEOS into feat-integration-test-for-mimetic-finite-difference-single-phase
@OmarDuran OmarDuran added ci: run CUDA builds Allows to triggers (costly) CUDA jobs flag: ready for review labels Aug 18, 2025
@OmarDuran OmarDuran requested review from herve-gross and bd713 August 19, 2025 20:49
Copy link
Contributor

@herve-gross herve-gross left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! My only comment: change the typo in three filenames: consistentcy->consistency.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci: run code coverage enables running of the code coverage CI jobs ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: ready for review type: testing Unit tests, non-regression testing, ...
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants