Skip to content
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

Implementing hybrid upwinding for total velocity schemes #2394

Merged
merged 53 commits into from
Mar 16, 2024

Conversation

jafranc
Copy link
Contributor

@jafranc jafranc commented Apr 15, 2023

Following up #2410, this PR aims at implementing simple version of Implicit Hybrid Upwinding (IHU). It implements IHUPhaseFlux equivalent to C1PPUPhaseFlux or PPUPhaseFlux located in IsothermalCompositionalMultiphaseFVMKernelUtilities.hpp. It serves as a dispatch value in FaceBasedAssemblyKernelFactory::createAndLaunch().

some refs on IHU:

"Implicit Hybrid Upwinding for two-phase flow in heterogeneous porous media with buoyancy and capillarity"(Hamon et al,2018)
"Consistent upwinding for sequential fully implicit multiscale compositional simulation" (Moncorge et al,2020)
"Implicit Hybrid Upwinding for two-phase flow in heterogeneous porous media with buoyancy and capillarity"(Hamon et al,2018)

It also introduces UpwindHelpers namespace to scope helpers functions computing upwinded fractional flows and potential fluxes that are useful in IHU (and other schemes). Eventually, it introduces an Abstract class UpwindScheme introducing high level mechanisms to compute upwind direction and fluxes and its Derived class HybridUpwind to implement specifics to IHU.

It could be complemented and extended by adding new upwinding schemes such as Phase Upwind (PU) or weighted Hybrid Upwind (wIHU)

"Smooth implicit hybrid upwinding for compositional multiphase flow in porous media"(Bosma et al, 2022)
"Upstream Differencing for Multiphase Flow in Reservoir Simulation"

@jafranc jafranc self-assigned this Apr 15, 2023
jafranc and others added 6 commits July 5, 2023 16:55
# Conflicts:
#	src/coreComponents/finiteVolume/FluxApproximationBase.cpp
#	src/coreComponents/finiteVolume/FluxApproximationBase.hpp
#	src/coreComponents/physicsSolvers/fluidFlow/IsothermalCompositionalMultiphaseFVMKernels.hpp
#	src/coreComponents/unitTests/fluidFlowTests/CMakeLists.txt
@jafranc jafranc marked this pull request as ready for review July 21, 2023 16:34
Copy link
Contributor

@paveltomin paveltomin left a comment

Choose a reason for hiding this comment

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

thanks!

@paveltomin
Copy link
Contributor

@jafranc will you have time to merge it?

@jafranc
Copy link
Contributor Author

jafranc commented Feb 27, 2024

@jafranc will you have time to merge it?

It is plan for early march as needed for other projects

Copy link

codecov bot commented Mar 6, 2024

Codecov Report

Attention: Patch coverage is 38.09524% with 13 lines in your changes are missing coverage. Please review.

Project coverage is 53.18%. Comparing base (2097a54) to head (a35618f).

Files Patch % Lines
...ow/IsothermalCompositionalMultiphaseFVMKernels.hpp 38.09% 13 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2394      +/-   ##
===========================================
- Coverage    53.43%   53.18%   -0.25%     
===========================================
  Files          981      981              
  Lines        83062    83437     +375     
===========================================
- Hits         44382    44380       -2     
- Misses       38680    39057     +377     

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

@paveltomin paveltomin added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Mar 7, 2024
@paveltomin paveltomin removed the ci: run CUDA builds Allows to triggers (costly) CUDA jobs label Mar 7, 2024
@paveltomin paveltomin added ci: run CUDA builds Allows to triggers (costly) CUDA jobs and removed flag: ready for review labels Mar 15, 2024
@CusiniM
Copy link
Collaborator

CusiniM commented Mar 16, 2024

this does not seem to require baselines.

@CusiniM CusiniM merged commit b48741b into develop Mar 16, 2024
24 of 26 checks passed
@CusiniM CusiniM deleted the feature/jafranc/hybrid-upwinding branch March 16, 2024 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: requires rebaseline Requires rebaseline branch in integratedTests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants