Skip to content

feat: Enable additional constraint options for initial equilibrium reaction solve - #4145

Open
frankfeifan wants to merge 28 commits into
developfrom
feat/frankfei/HPCReactEnforceConstraints
Open

frankfeifan wants to merge 28 commits into
developfrom
feat/frankfei/HPCReactEnforceConstraints

Conversation

@frankfeifan

@frankfeifan frankfeifan commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

This PR aims to plug in the new feature in HPCReact (GEOS-DEV/HPCReact#25) that allows for additional constraint options for the initial equilibrium solve. Previously, we only have one constraint type which is based on target aggregate/total concentrations.

Specific changes include:

  • A new primarySpeciesConstraintTypes input that defines the constraint type for each primary species during initial equilibrium solve. Available options include aggregateConcentration, pX, chargeBalance, and mineralEquilibrium. (mineralEquilibrium not yet implemented though).

  • The old primarySpeciesAggregateConcentration field specification becomes primarySpeciesConstraintValue, read in whatever units each species' constraint implies.

  • Input checking method checkPrimarySpeciesConstraints during postInputInitialization that checks the length of the primarySpeciesConstraintTypes input list, ensures chargeBalance is not applied on a neutral species and at most one species carrying the charge balance constraint.

  • Merge the activity model development first, add initial constitutive relations api HPCReact#17, feat: Plug in HPCReact Activity Model #4140

  • Merge HPCReact PR first feat: Add additional constraint options for enforceEquilibrium HPCReact#25

  • Need rebaseline

frankfeifan and others added 28 commits March 14, 2026 10:34
…/HPCReactEnforceConstraints

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…/activityModelAPI

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…eactEnforceConstraints

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@frankfeifan frankfeifan self-assigned this Sep 16, 2026
@frankfeifan frankfeifan added the flag: requires rebaseline Requires rebaseline branch in integratedTests label Sep 16, 2026
@frankfeifan frankfeifan added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Sep 16, 2026
@frankfeifan frankfeifan added the ci: run code coverage enables running of the code coverage CI jobs label Sep 16, 2026
@frankfeifan frankfeifan added the ci: run device builds Allows to run the device (CUDA/HIP) builds label Sep 16, 2026
@frankfeifan frankfeifan changed the title feat: Enable additional constraint options for enforceEquilibrium run in HPCReact feat: Enable additional constraint options for initial equilibrium reaction solve Sep 16, 2026
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: requires rebaseline Requires rebaseline branch in integratedTests flag: requires updated submodule(s)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant