NeqSim Documentation
NeqSim (Non-Equilibrium Simulator) is a comprehensive Java library for thermodynamic, physical property, and process simulation. This documentation covers all major packages and provides detailed guides for developing applications.
Quick Start
import neqsim.thermo.system.SystemSrkEos;
import neqsim.thermodynamicoperations.ThermodynamicOperations;
// Create a natural gas fluid
SystemInterface gas = new SystemSrkEos(298.15, 50.0);
gas.addComponent("methane", 0.90);
gas.addComponent("ethane", 0.05);
gas.addComponent("propane", 0.03);
gas.addComponent("CO2", 0.02);
gas.setMixingRule("classic");
// Perform flash calculation
ThermodynamicOperations ops = new ThermodynamicOperations(gas);
ops.TPflash();
// Get properties
System.out.println("Density: " + gas.getDensity("kg/m3") + " kg/m³");
System.out.println("Compressibility: " + gas.getZ());
Package Documentation
Core Thermodynamics
| Package |
Documentation |
Description |
neqsim.thermo |
thermo/ |
Thermodynamic systems, phases, components, equations of state, mixing rules, fluid characterization |
neqsim.thermodynamicoperations |
thermodynamicoperations/ |
Flash calculations, phase envelopes, saturation operations |
neqsim.physicalproperties |
physical_properties/ |
Transport properties: viscosity, thermal conductivity, diffusivity, interfacial tension |
Process Simulation
| Package |
Documentation |
Description |
neqsim.process |
process/ |
Process equipment, unit operations, controllers, process systems, safety systems |
neqsim.fluidmechanics |
fluidmechanics/ |
Pipeline flow, pressure drop, two-phase flow, flow nodes |
PVT and Reservoir
| Package |
Documentation |
Description |
neqsim.pvtsimulation |
pvtsimulation/ |
PVT experiments: CME, CVD, DL, separator tests, swelling tests |
neqsim.blackoil |
blackoil/ |
Black oil model, PVT tables, Rs, Bo, Bg correlations |
Flow Assurance
| Package |
Documentation |
Description |
neqsim.pvtsimulation.flowassurance |
pvtsimulation/flowassurance/ |
Asphaltene stability, De Boer screening, CPA-based onset calculations |
Chemical Reactions
| Package |
Documentation |
Description |
neqsim.chemicalreactions |
chemicalreactions/ |
Chemical equilibrium, reaction kinetics |
Quality Standards
| Package |
Documentation |
Description |
neqsim.standards |
standards/ |
ISO 6976, ISO 6578, ISO 15403, ASTM D6377, sales contracts |
neqsim.statistics |
statistics/ |
Parameter fitting, Monte Carlo simulation, data analysis |
Utilities
| Package |
Documentation |
Description |
neqsim.util |
util/ |
Database access, unit conversion, serialization, exceptions |
neqsim.mathlib |
mathlib/ |
Mathematical utilities, nonlinear solvers |
Documentation Structure
docs/
├── README.md # This file - main index
├── modules.md # Module overview
│
├── thermo/ # Thermodynamic package
│ ├── README.md # Package overview
│ ├── system/ # EoS implementations
│ ├── phase/ # Phase modeling
│ ├── component/ # Component properties
│ ├── mixingrule/ # Mixing rules
│ └── characterization/ # Plus fraction handling
│
├── thermodynamicoperations/ # Flash operations
│ └── README.md
│
├── physical_properties/ # Transport properties
│ └── README.md
│
├── process/ # Process simulation
│ ├── README.md # Package overview
│ ├── equipment/ # Equipment documentation
│ ├── processmodel/ # ProcessSystem, modules
│ └── safety/ # Safety systems
│
├── fluidmechanics/ # Pipe flow
│ └── README.md
│
├── pvtsimulation/ # PVT experiments
│ ├── README.md
│ └── flowassurance/ # Flow assurance (asphaltene, wax, hydrates)
│ ├── README.md
│ ├── asphaltene_modeling.md
│ ├── asphaltene_cpa_calculations.md
│ ├── asphaltene_deboer_screening.md
│ ├── asphaltene_parameter_fitting.md
│ ├── asphaltene_method_comparison.md
│ └── asphaltene_validation.md
│
├── blackoil/ # Black oil model
│ └── README.md
│
├── chemicalreactions/ # Reactions
│ └── README.md
│
├── standards/ # Quality standards
│ └── README.md
│
├── statistics/ # Statistics package
│ └── README.md
│
├── util/ # Utilities
│ └── README.md
│
├── mathlib/ # Math utilities
│ └── README.md
│
├── safety/ # Safety system guides
│ ├── ESD_BLOWDOWN_SYSTEM.md
│ ├── HIPPS_SUMMARY.md
│ ├── hipps_implementation.md
│ ├── sis_logic_implementation.md
│ ├── fire_blowdown_capabilities.md
│ ├── psv_dynamic_sizing_example.md
│ └── alarm_system_guide.md
│
├── simulation/ # Process simulation guides
│ ├── advanced_process_logic.md
│ ├── graph_based_process_simulation.md
│ ├── parallel_process_simulation.md
│ ├── recycle_acceleration_guide.md
│ ├── well_simulation_guide.md
│ └── turboexpander_compressor_model.md
│
├── integration/ # Integration guides
│ ├── ai_platform_integration.md
│ ├── ml_integration.md
│ ├── mpc_integration.md
│ ├── REAL_TIME_INTEGRATION_GUIDE.md
│ └── dexpi-reader.md
│
├── development/ # Developer guides
│ ├── DEVELOPER_SETUP.md
│ └── contributing-structure.md
│
├── examples/ # Code examples
│ └── ...
│
└── wiki/ # Additional wiki pages
└── ...
Topic Guides
Specialized guides for advanced features and use cases:
Safety and Emergency Systems
Process Logic and Control
Dynamic Simulation
Well and Reservoir
PVT and Characterization
Advanced Features
Integration
Development
Equations of State Quick Reference
| EoS |
Class |
Application |
| SRK |
SystemSrkEos |
General hydrocarbon systems |
| PR |
SystemPrEos |
General hydrocarbon systems |
| PR-1978 |
SystemPrEos1978 |
Improved liquid densities |
| SRK-CPA |
SystemSrkCPAstatoil |
Associating fluids (water, alcohols, glycols) |
| PC-SAFT |
SystemPCSAFT |
Polymers, associating fluids |
| GERG-2008 |
SystemGERG2008Eos |
Natural gas reference |
| EOS-CG |
SystemEOSCGEos |
CO₂-rich systems (CCS) |
| UMR-PRU |
SystemUMRPRUMCEos |
Wide-range hydrocarbon systems |
Process Equipment Quick Reference
| Category |
Equipment |
Class |
| Separation |
2-phase separator |
Separator |
| |
3-phase separator |
ThreePhaseSeparator |
| |
Distillation column |
DistillationColumn |
| Heat Transfer |
Heater |
Heater |
| |
Cooler |
Cooler |
| |
Heat exchanger |
HeatExchanger |
| Compression |
Compressor |
Compressor |
| |
Pump |
Pump |
| |
Expander |
Expander |
| Flow Control |
Valve |
ThrottlingValve |
| |
Mixer |
Mixer, StaticMixer |
| |
Splitter |
Splitter |
| Well/Reservoir |
Well |
SimpleWell |
| |
Choke |
ChokeValve |
Getting Help
- GitHub Issues: Report bugs and request features
- Discussions: Ask questions and share knowledge
- API JavaDoc: Generated from source code
- Examples: See
examples/ and notebooks/ directories
Version Compatibility
- Java: 8+ (builds on 8, 11, 17, 21)
- Python: Via jpype (
neqsim-python package)
- MATLAB: Via Java interface