You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Create a durable engineering campaign for continuously improving NeqSim electrolyte calculations, including thermodynamic models, flash and stability algorithms, chemical-reaction equilibrium, data regression, and coupled process applications.
The campaign must turn literature and public experimental data into verified, reusable NeqSim improvements. It is not a sequence of isolated dataset fits: every increment must improve a clearly stated validity range without degrading previously supported fluids, neutral systems, or established APIs.
Maintain at most one active implementation PR for this campaign. Use this issue as the persistent roadmap and run ledger for scope, evidence, accepted data, active work, blockers, merged increments, and the next dependency-ready hypothesis.
Engineering outcomes
Improve reliable calculation of:
gas–water–salt and gas–oil–water–ion phase equilibrium;
hydrate equilibrium in brines, hydrocarbon liquids, mixed inhibitors, acid gases, and reactive aqueous systems;
mineral-scale saturation and precipitation in gas–oil–water systems;
aqueous chemical equilibrium with ions, charge balance, acid/base reactions, water dissociation, complex formation, and salt speciation;
CO2 and H2S absorption in alkanolamines, including MEA, MDEA and promoted/mixture systems where supported by public data;
reactive absorbers and process calculations using the same thermodynamic and reaction basis as standalone equilibrium calculations;
generic hybrid EOS/aqueous model architecture: #2862.
A generic flash defect belongs to #2937. An electrolyte-specific reproducer, thermodynamic-model change, reaction coupling, or parameter/data improvement belongs here. If one increment touches both areas, use one coordinated PR and update both ledgers; never open competing implementation PRs.
The current electrolyte/hydrate increment is draft PR #3142. The first campaign run must inspect its exact current head, CI, reviews, diff, scientific evidence, and overlap before selecting new work.
Frozen validation matrix
Every applicable implementation increment must freeze a deterministic subset of this matrix before editing and retain the smallest public reproducer.
A. Brine and aqueous speciation
water + NaCl over dilute to concentrated conditions and a justified temperature/pressure range;
mixed ions including Na+, K+, Ca2+, Mg2+, Cl-, sulfate and carbonate species where model support and public data exist;
water dissociation, acid/base systems, CO2/H2O/carbonate/bicarbonate, and H2S species where applicable;
charge-neutral and deliberately difficult initial compositions;
repeated, changed-state, and nearby concentration/T/P paths.
B. Multiphase hydrocarbon/electrolyte systems
GAS+AQUEOUS, OIL+AQUEOUS, and GAS+OIL+AQUEOUS;
methane-rich, CO2-rich, H2S-containing, condensate/oil, water, single salt, and mixed brine;
phase appearance/disappearance, trace ions, high water cut, low water cut, and difficult initial guesses;
ordinary versus explicit multiphase paths where both are applicable.
C. Hydrates and inhibitors
methane and representative natural-gas hydrate dissociation points;
salts alone and salts with MEG, methanol, and mixed inhibitors;
CO2/H2S-containing systems and reactive brines;
gas–oil–water–salt cases when public validation data are available;
hydrate temperature at fixed pressure and hydrate pressure at fixed temperature.
D. Mineral scale
at minimum CaCO3, BaSO4, SrSO4, CaSO4 and FeCO3 as public data and NeqSim component support permit;
saturation index without precipitated solid;
equilibrium precipitation/dissolution with non-negative solid amount;
mixed brines, acid-gas speciation, pressure/temperature change, and gas/oil/water phase coupling.
E. Alkanolamines and acid-gas removal
CO2 and, where supported, H2S in aqueous MEA and MDEA;
promoted or mixed amines only when the reaction set and parameter provenance are explicit;
acid-gas partial pressure versus loading, speciation, heat of absorption/enthalpy and physical properties where data exist;
lean/rich conditions and T/P/concentration ranges relevant to absorber and regenerator calculations;
standalone equilibrium plus at least one process-level mass/energy-balance case when absorber support is available.
For each applicable case, record equations, conventions, units, reference state, model and mixing rule, reaction set, parameter source, data license, validity range, and uncertainty.
Required checks:
total and elemental material balance;
aqueous electroneutrality;
finite, non-negative and normalized phase fractions/compositions within case-specific tolerances;
phase-equilibrium chemical-potential or log-fugacity/activity residual;
reaction-equilibrium residual, for example max absolute ln(Q/K), with a frozen tolerance;
stable phase topology and lower defensible total Gibbs energy;
hydrate water chemical-potential residual and agreement with independent dissociation data;
mineral complementarity: absent solids remain undersaturated/non-precipitating and present solids satisfy saturation equilibrium with non-negative amounts;
deterministic repeated execution and no stale state after T/P/composition/model/reaction-set changes;
physically plausible nearby-state trends and no discontinuity introduced merely by solver history;
mass and energy closure for process examples;
no unexplained regression outside the fitted range.
Do not silently tune to one dataset. Separate calibration and validation data, report residual definitions and parameter covariance/sensitivity where practical, and retain cross-dataset or hold-out evidence. A parameter improvement must not be accepted solely because it reduces its training objective.
Performance and compatibility gates
benchmark the complete calculation as well as any optimized kernel;
report iterations, retries/fallbacks, residuals, and failure rate, not wall time alone;
preserve public API and serialized compatibility unless a reviewed migration is justified;
neutral/non-ionic systems must show no statistically or practically material slowdown; target no more than about 1% median overhead in representative controls unless a larger cost is explicitly justified by new requested behavior;
electrolyte calculations must not gain speed by weakening convergence, stability, balance, or diagnostics;
preserve Java/Python composability, cloning, deterministic calculation identity, and thread safety.
Literature and data workflow
Each run may search peer-reviewed literature, authoritative public databases, standards, theses, and open benchmark datasets. Prefer primary sources and stable public data.
For every adopted dataset or correlation:
record the full citation/DOI or stable URL and license/access conditions;
preserve original units and reported uncertainty;
store only redistributable data in the repository;
document digitization or preprocessing;
map species, apparent/true composition basis, standard states, and reaction conventions explicitly;
split regression and validation evidence;
compare current master before proposing code or parameters;
explain discrepancies instead of silently fitting them away.
Commercial simulator output may be supporting evidence only when legally shareable and independently described; never infer or copy proprietary algorithms or parameters.
Scheduled-run protocol
Every scheduled run must:
read this issue and its newest comments;
inspect current master, repository instructions, related open/recent PRs and issues, and the previous run ledger;
inspect and repair the sole active campaign PR first, including CI and review feedback, before starting another increment;
search for existing or superseding implementation and avoid duplicate work;
choose the largest coherent dependency-ready increment with a frozen scope, baseline, public reproducer, acceptance criteria, stop boundary, documentation impact, and validation target;
search current relevant literature/data when it can materially improve the selected increment;
reproduce the limitation on unmodified current master before editing;
implement the smallest reusable model/solver/data/API improvement with focused regression coverage;
run the applicable NeqSim formatting, documentation, focused/broader test, scientific-validation and performance gates;
publish or update at most one draft implementation PR; do not merge, enable auto-merge, force-push, weaken checks, or mark ready for review;
add a concise run-ledger comment here with date, exact master/base/head SHAs, active PR, question, data/references, files, tests, numerical evidence, documentation impact, blocker, and next dependency;
stop without a PR when no unique evidence-qualified improvement is ready.
Repository-wide scheduled campaigns may have no more than ten open autonomous implementation PRs in total.
Freeze a common electrolyte benchmark harness with balance, electroneutrality, phase/reaction residual, phase-topology, repeatability, and timing metrics.
Audit species/reaction construction and stale-state behavior for CO2/H2O/carbonate and water dissociation.
Validate and improve simple/mixed-brine activity and phase-equilibrium parameters against public data.
Extend hydrate validation from simple brines to inhibitors, acid gases, oil, and reactive systems.
Establish mineral saturation/precipitation architecture and public scale benchmarks.
Improve MEA/MDEA CO2/H2S equilibrium, properties and parameter provenance.
Continue ranked, evidence-based parameter/model/solver improvements without losing the frozen controls.
Definition of done
This is a long-running roadmap. Individual increments are complete only after the implementation, focused tests, applicable broader tests, scientific benchmark, documentation-impact assessment, repository publication gates, and exact-head CI/review audit are recorded.
The campaign is complete only when the supported scope and validity ranges are documented; the frozen matrix passes on current master; outstanding limitations are either resolved or explicitly accepted; and a final audit shows no dependency-ready evidence-qualified improvement remains.
Purpose
Create a durable engineering campaign for continuously improving NeqSim electrolyte calculations, including thermodynamic models, flash and stability algorithms, chemical-reaction equilibrium, data regression, and coupled process applications.
The campaign must turn literature and public experimental data into verified, reusable NeqSim improvements. It is not a sequence of isolated dataset fits: every increment must improve a clearly stated validity range without degrading previously supported fluids, neutral systems, or established APIs.
Maintain at most one active implementation PR for this campaign. Use this issue as the persistent roadmap and run ledger for scope, evidence, accepted data, active work, blockers, merged increments, and the next dependency-ready hypothesis.
Engineering outcomes
Improve reliable calculation of:
Owned scope
Coordination boundaries
Coordinate instead of duplicating:
A generic flash defect belongs to #2937. An electrolyte-specific reproducer, thermodynamic-model change, reaction coupling, or parameter/data improvement belongs here. If one increment touches both areas, use one coordinated PR and update both ledgers; never open competing implementation PRs.
The current electrolyte/hydrate increment is draft PR #3142. The first campaign run must inspect its exact current head, CI, reviews, diff, scientific evidence, and overlap before selecting new work.
Frozen validation matrix
Every applicable implementation increment must freeze a deterministic subset of this matrix before editing and retain the smallest public reproducer.
A. Brine and aqueous speciation
B. Multiphase hydrocarbon/electrolyte systems
C. Hydrates and inhibitors
D. Mineral scale
E. Alkanolamines and acid-gas removal
F. Controls
Scientific acceptance gates
For each applicable case, record equations, conventions, units, reference state, model and mixing rule, reaction set, parameter source, data license, validity range, and uncertainty.
Required checks:
ln(Q/K), with a frozen tolerance;Do not silently tune to one dataset. Separate calibration and validation data, report residual definitions and parameter covariance/sensitivity where practical, and retain cross-dataset or hold-out evidence. A parameter improvement must not be accepted solely because it reduces its training objective.
Performance and compatibility gates
Literature and data workflow
Each run may search peer-reviewed literature, authoritative public databases, standards, theses, and open benchmark datasets. Prefer primary sources and stable public data.
For every adopted dataset or correlation:
Commercial simulator output may be supporting evidence only when legally shareable and independently described; never infer or copy proprietary algorithms or parameters.
Scheduled-run protocol
Every scheduled run must:
master, repository instructions, related open/recent PRs and issues, and the previous run ledger;Repository-wide scheduled campaigns may have no more than ten open autonomous implementation PRs in total.
Initial dependency-ordered queue
Definition of done
This is a long-running roadmap. Individual increments are complete only after the implementation, focused tests, applicable broader tests, scientific benchmark, documentation-impact assessment, repository publication gates, and exact-head CI/review audit are recorded.
The campaign is complete only when the supported scope and validity ranges are documented; the frozen matrix passes on current
master; outstanding limitations are either resolved or explicitly accepted; and a final audit shows no dependency-ready evidence-qualified improvement remains.