Skip to content

Thermal compositional fluid models - #4080

Open
dkachuma wants to merge 106 commits into
developfrom
dkachuma/thermal-fluid-models
Open

dkachuma wants to merge 106 commits into
developfrom
dkachuma/thermal-fluid-models

Conversation

@dkachuma

@dkachuma dkachuma commented Jun 9, 2026 •

Copy link
Copy Markdown
Contributor
  • Adds new functionality for thermal compositional models: Introduces new non-isothermal compositional multiphase fluid models, specifically CompositionalTwoPhaseThermalFluidLohrenzBrayClark, CompositionalTwoPhaseThermalFluidPhillipsBrine, and CompositionalTwoPhaseKValueThermalFluidPhillipsBrine. These models couple real-gas equations of state (evaluating ideal-gas heat capacity and departure enthalpy) with the energy balance to support processes involving drastic temperature and composition changes.

  • Adds a benchmark example: Cooling during CO2 Injection into a Gas Reservoir. Incorporates a Joule-Thomson cooling validation study simulating constant-rate CO2 injection into a depleted CH4 gas reservoir. The setup reproduces the 5 mD case from Oldenburg (2007) .

  • Adds PVT driver tests to cover the fluid models: Expands the constitutiveDriver suite with a new testPVT_ThermalCompositional test deck. This tests both thermal flash and thermal K-value formulations using dynamic pressure and temperature functions to validate phase splits, compressibility, and phase composition outputs.

Failing integrated test due to failure to restart when we have thermal wells. See #4036

@dkachuma dkachuma added the ci: run device builds Allows to run the device (CUDA/HIP) builds label Oct 16, 2026
// Transform to reference temperature space
minTemperature -= m_referenceTemperature;
maxTemperature -= m_referenceTemperature;
// Follow the CO2 brine example and validate in the range [10,200] deg C

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

why this hard coded value was used? The JT benchmark's fluid table goes down to −10 °C.

parser.add_argument(
"-r", "--reference",
action="store_true",
help="Flag to load and show reference data from 'odenburg.json'. (Default: False)"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
help="Flag to load and show reference data from 'odenburg.json'. (Default: False)"
help="Flag to load and show reference data from 'oldenburg.json'. (Default: False)"

dkachuma added a commit that referenced this pull request Nov 2, 2026
Updated the link for PR #4080 to the latest baseline tar.gz file.
* Update baseline path in integrated tests configuration

* Update baseline entry for PR #4080

Updated the link for PR #4080 to the latest baseline tar.gz file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changes XML input ci: run code coverage enables running of the code coverage CI jobs ci: run device builds Allows to run the device (CUDA/HIP) builds ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: ready for review 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.

4 participants