Skip to content

Implement the 3-phase Rachford-Rice solve#4069

Draft
dkachuma wants to merge 4 commits into
developfrom
dkachuma/3-phase-rachford-rice
Draft

Implement the 3-phase Rachford-Rice solve#4069
dkachuma wants to merge 4 commits into
developfrom
dkachuma/3-phase-rachford-rice

Conversation

@dkachuma
Copy link
Copy Markdown
Contributor

@dkachuma dkachuma commented May 28, 2026

This pull request implements the 3-phase Rachford-Rice solve in preparation for 3-phase thermal models with K-values.

  • Implements the constrained optimization approach originally by Michelsen, extended to the negative flash region as described by Leibovici and Nichita (2008).
  • Formulates the problem as an unbounded minimization with linear constraints (hyperplanes) to ensure continuous differentiability at phase boundaries. The inner loop uses a bounded Newton-Raphson scheme coupled with an Armijo backtracking line search to ensure global convergence.
  • Introduced parameterised unit tests in the new testRachfordRice3Phase.cpp file. This validates the solver across multiple mixture scenarios (ranging from 3 to 8 components), varied K-values, and tests both positive and negative phase fraction behaviour.

@dkachuma dkachuma self-assigned this May 28, 2026
@dkachuma dkachuma added type: feature New feature or request ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline ci: run code coverage enables running of the code coverage CI jobs labels May 28, 2026
@dkachuma dkachuma marked this pull request as ready for review May 28, 2026 21:46
@dkachuma dkachuma requested a review from rrsettgast as a code owner May 28, 2026 21:46
@dkachuma dkachuma marked this pull request as draft May 28, 2026 21:57
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: no rebaseline Does not require rebaseline type: feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant