This GitHub repository is the code and notebook base for the web module Introduction to Gas Processing using NeqSim in Colab.
NeqSim Python/Colab is part of the NeqSim project. NeqSim (Non-Equilibrium Simulator) is a Java library for estimation of fluid behavior and process design. The basis for NeqSim is a library of fundamental mathematical models related to phase behavior and physical properties of fluids.
Advanced notebooks use JPype directly or through the Python distribution. They clone current equinor/neqsim master, build Java classes or a runtime JAR, record the resolved commit and SHA-256 provenance, and verify that Java classes were loaded from that build before running calculations.
NeqSim (Non-Equilibrium Simulator) is a library for estimation of fluid behaviour for oil and gas production. Colaboratory (Colab) is a free Jupyter notebook environment that requires no setup and runs entirely in the cloud. In the notebooks listed in this page you will find examples of typical gas processing calculations using NeqSim in Colab, and will serve both as introduction to natural gas processing and to interactive use of NeqSim in a Python based notebook. The notebooks serves as a theoretical introduction and as a simulation tool for many processes found in the gas industry.
-
NeqSim × Equinor TimeSeriesAnalysis: large-process analytics – Combine a 67-unit NeqSim facility with Equinor's actual .NET identification and dynamic simulation library: load allocation, connected models, compressor diagnostics and PID screening. Uses pinned NeqSim master and TimeSeriesAnalysis 1.4.38; a fresh Linux Colab setup builds both runtimes. Optional
NEQSIM_VALIDATED_RUNTIMEsupplies an audited prebuilt runtime manifest with source revision, JAR path/hash, dependency directory through the source root, .NET root and assembly directory. Results are written toneqsim_tsa_results/and its ZIP archive, with all tables and figures embedded in the notebook. -
Wellstream flow on current NeqSim master – Two- and three-phase steady profiles, transient rate cycles, phase mass ledgers, mesh/time-step sensitivity, flow-field animation, hydrate margins and a characterized wax screen. Includes the current unsplit/transaction APIs and explicit qualification limits.
-
Gas distillation: recovery, energy and temperature control – Connect cryogenic separator calculations, an NGL deethanizer, audited stage balances, product-quality constraints and downstream NGL temperature control screening. Uses a pinned source-built NeqSim runtime and explicitly documents the terminal-duty limitation tracked in equinor/neqsim#3698.
-
Centrifugal compressor sizing and production optimization – Calculate consistent impeller diameter/head/speed, audit stages and design exports, and optimize a fixed compressor with production, power and recycle constraints. Uses the exact source of NeqSim PR #3695.
-
Reservoir-to-facilities decisions with OPM Flow, NeqSim and ML – Use public Norne reservoir data, synthetic seismic interpretation, an actual OPM ensemble, native gas/oil/water transport and process equipment to compare development controls under geological uncertainty and changing host headroom. Retains simulator diagnostics, surrogate validation, flow-assurance screens and traceable decisions.
-
The AI Asset Team: tie-back and debottlenecking – One executed industrial study combining fixed compressor maps, protected host production, constrained optimization, derating recovery, uncertainty, five-year economics, retained graphics, an audited investigation replay and an optional live language-model agent. Uses pinned NeqSim source; local source reuse is available through
NEQSIM_SOURCE_ROOT/NEQSIM_SOURCE_JAR. Live mode usesOPENAI_API_KEYand optionalOPENAI_MODEL; credentials are never stored in outputs. -
Mechanical design to interactive 3D equipment – Generate separator and compressor models from calculated NeqSim dimensions, inspect cutaways, compare flow cases, and exchange qualified STL/GLB/JSON artifacts.
-
Hot-oil commissioning and ML risk screening – Combine NeqSim properties, wax, thermal resistance and a native heater/pipeline process with a conservative transient displacement model, numerical checks, RF/MLP surrogates and explicit gel-restart assumptions.
-
open-DARTS waterflood simulation and a NeqSim process handoff – Build and validate an open-DARTS reservoir model, exercise well controls, check analytical and numerical sensitivity, and transfer component rates into NeqSim; connect the tutorial to the existing OPM Flow, RMS, and ERT examples.
-
Elemental sulfur in oil stabilization and gas recompression – Calculate H2S/O2 equilibrium and kinetics, sulfur deposition, rust/FeS effects, separator oil/condensate carryover, compressor fouling, and potential mitigation and cleaning measures.
-
LNG process simulation and benchmark comparison – Run closed-loop SMR, C3MR, DMR, and nitrogen-expander models with common KPIs, literature checks, and an exchanger grid-convergence study.
-
IoT and Industry 4.0 with NeqSim – Build an instrumented digital twin, stream dynamic simulation data, and explore Industry 4.0 workflows backed by NeqSim measurements.
-
Plant-data reconciliation and a Bayesian digital twin – Qualify historian windows, reconcile redundant meters, isolate gross errors, calibrate compressor efficiency, validate a Bayesian posterior, and propagate uncertainty to an operating decision.
-
Seismic acquisition to RMS-ready subsurface inputs – Calculate CMP moveout and stacking, interpret public Reek seismic and wells, validate horizons and faults, screen seismic attributes, and export a checked RMS import package.
-
RMS-origin reservoir to OPM Flow, ERT, and NeqSim – Audit public Reek ROFF exports, demonstrate blocking and property spreading, run OPM Flow and ERT, and define a governed RMS-agent contract.
See the NeqSim Colab page for how to start using NeqSim in Colab/Python.
See the NeqSim Colab page. Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests.
Repository-wide notebook integrity is checked with python scripts/check_notebook.py --all. New main-source notebooks must additionally pass python scripts/check_notebook.py PATH --require-main-source after clean execution.