Skip to content

Conversation

@sohailwaziri
Copy link
Contributor

@sohailwaziri sohailwaziri commented Aug 25, 2025

Description here: #3707

This PR introduces support for multiphase initialisation in the HydrostaticEquilibrium element. The key updates include:

  • HydrostaticEquilibrium Enhancements

    • Added a new phaseContacts field to support multiphase initialisation.
    • Made the initialPhase field optional:
      • If initialPhase is provided → single-phase initialisation is performed.
      • If initialPhase is omitted → phaseContacts must be provided for multiphase initialisation.
  • HydrostaticPressureKernel Updates

    • Modified to handle the new multiphase initialisation logic based on the presence of phaseContacts.
  • New Capillary Pressure Inversion Kernel

    • Computes initial saturations by inverting initial capillary pressure values.
    • For cases without a defined capillary pressure model, a dummy (zero-valued) model is used to produce flat contacts with no transition zones.
  • Documentation

    • Added detailed descriptions of the new fields and initialisation logic to the relevant .rst documentation files.
  • Rebaseline Required

    • Addition of the optional phaseContacts field on the HydrostaticEquilibrium node.
    • A change from phase elevation tables e.g. equil_cellBlock_water_table to a single elevation table e.g. equil_cellBlock_Elevation_index_table. This single table is used for all phases.
    • Addition of the phaseMinVolumeFraction field to all capillary pressure models. This is required for capillary pressure inversion.
    • Now when the elevation tables are created, the datum elevation is always included as a point within the table. This has led to slight changes in the deltaPressure in a couple of cases.

Notes

  • These changes should be backward-compatible for single-phase setups.

Sohail WAZIRI and others added 16 commits June 25, 2025 00:16
…ic-init

Updating local branch with the develop.
…re/swaziri/3707-multiphase-hydrostatic-init

Obtaining the phase contact specification in HydrostaticEquilibrium xml element.
…rse' into feature/swaziri/3707-multiphase-hydrostatic-init (Inversion of capillary pressure needed for back calculation of phase saturations)
…phase-hydrostatic-init to reflect updates in inverse capillary pressure
…hydrostatic-init' into feature/swaziri/3707-multiphase-hydrostatic-init
… proper intialization of jFuncMultiplier in CompositionalMultiphaseBase.cpp
@paveltomin paveltomin merged commit 618c96f into develop Dec 19, 2025
23 of 25 checks passed
@paveltomin paveltomin deleted the feature/swaziri/3707-multiphase-hydrostatic-init branch December 19, 2025 20:50
arng40 added a commit that referenced this pull request Dec 24, 2025
commit ec7ddc1
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Wed Dec 24 15:43:02 2025 +0100

    uncrustify

commit abc6d2a
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Wed Dec 24 15:33:35 2025 +0100

    fix encapsulation in ErrorLogger by adding BuilderPattern + improve clarity

commit 7df78ff
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Mon Dec 22 10:52:37 2025 +0100

    add context to std::exception

commit d4db78b
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Mon Dec 22 10:50:34 2025 +0100

    improve writeToAscii

commit a2b31d1
Merge: 2a639a7 618c96f
Author: Arnaud DUDES <155963334+arng40@users.noreply.github.com>
Date:   Mon Dec 22 09:51:10 2025 +0100

    Merge branch 'develop' into refactor/dudes/error-context

commit 618c96f
Author: sohailwaziri <90070246+sohailwaziri@users.noreply.github.com>
Date:   Fri Dec 19 12:50:50 2025 -0800

    feat: Multiphase hydrostatic initialisation (#3795)

    Co-authored-by: Sohail WAZIRI <l1162111@rdhpc-n5.desktop.cluster>
    Co-authored-by: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com>
    Co-authored-by: Jian HUANG <jian.huang@totalenergies.com>
arng40 added a commit that referenced this pull request Dec 24, 2025
commit 35d8707
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Wed Dec 24 16:52:50 2025 +0100

    missing const

commit 4a5b4fe
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Wed Dec 24 16:24:47 2025 +0100

    remove redundant lmsg in case of multiple rank

commit ec7ddc1
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Wed Dec 24 15:43:02 2025 +0100

    uncrustify

commit abc6d2a
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Wed Dec 24 15:33:35 2025 +0100

    fix encapsulation in ErrorLogger by adding BuilderPattern + improve clarity

commit 7df78ff
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Mon Dec 22 10:52:37 2025 +0100

    add context to std::exception

commit d4db78b
Author: arng40 <arnaud.dudes@capgemini.com>
Date:   Mon Dec 22 10:50:34 2025 +0100

    improve writeToAscii

commit a2b31d1
Merge: 2a639a7 618c96f
Author: Arnaud DUDES <155963334+arng40@users.noreply.github.com>
Date:   Mon Dec 22 09:51:10 2025 +0100

    Merge branch 'develop' into refactor/dudes/error-context

commit 618c96f
Author: sohailwaziri <90070246+sohailwaziri@users.noreply.github.com>
Date:   Fri Dec 19 12:50:50 2025 -0800

    feat: Multiphase hydrostatic initialisation (#3795)

    Co-authored-by: Sohail WAZIRI <l1162111@rdhpc-n5.desktop.cluster>
    Co-authored-by: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com>
    Co-authored-by: Jian HUANG <jian.huang@totalenergies.com>
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: requires rebaseline Requires rebaseline branch in integratedTests type: feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants