Use this page to install NeqSim, run one complete thermodynamic calculation, and choose the maintained guide that matches your task. NeqSim uses kelvin for constructor temperatures and bara for constructor pressures unless an API explicitly accepts a unit string.
Install the released library
Add the current release to a Maven project:
<dependency>
<groupId>com.equinor.neqsim</groupId>
<artifactId>neqsim</artifactId>
<version>3.18.0</version>
</dependency>
Use Maven Central to inspect
published artifacts and GitHub Releases for release
notes and downloadable assets. Application builds should pin a released version rather than track
the changing master branch.
Build the current source
Clone the repository when contributing to NeqSim or validating changes against current source:
git clone https://github.com/equinor/neqsim.git
cd neqsim
./mvnw install
On Windows, run mvnw.cmd install. The Maven wrapper supplies the repository’s Maven version.
NeqSim source remains Java 8 compatible; continuous integration also tests newer supported JDKs.
See the developer setup guide for prerequisites, formatting,
tests, and platform-specific troubleshooting.
Run the canonical Java quick start
The following complete program is shared with the documentation landing pages and protected by the landing-page regression contract:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import neqsim.thermo.system.SystemInterface;
import neqsim.thermo.system.SystemSrkEos;
import neqsim.thermodynamicoperations.ThermodynamicOperations;
public final class NeqSimQuickStart {
private static final Logger logger = LogManager.getLogger(NeqSimQuickStart.class);
private NeqSimQuickStart() {}
public static void main(String[] args) {
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");
ThermodynamicOperations operations = new ThermodynamicOperations(gas);
operations.TPflash();
gas.initProperties();
logger.info("Density: {} kg/m3", gas.getDensity("kg/m3"));
logger.info("Compressibility: {}", gas.getZ());
}
}
TPflash() solves phase equilibrium at the system temperature and pressure. The explicit
initProperties() call prepares physical-property results before the example reads density. The
example logs values instead of writing directly to standard output, in line with repository rules.
For compilation and dependency details, continue with the
Java getting-started guide. Python users should start from the
Python integration on the documentation landing page, which uses
the supported jneqsim gateway.
Choose a maintained workflow
| Goal | Recommended guide |
|---|---|
| Create fluids, run flashes, and read properties | Thermodynamics recipes |
| Understand models and phase-equilibrium methods | Thermodynamics guide |
| Inspect flash equations and validation | Flash equations and tests |
| Characterize oils and heavy fractions | Fluid characterization |
| Run laboratory-style PVT studies | PVT simulation workflows |
| Build a steady-state process | Process recipes |
| Understand process execution and reporting | ProcessSystem guide |
| Model absorbers and strippers | Absorber and stripper guide |
| Select a pipeline workflow | Pipeline documentation index |
| Build dynamic cases | Process transient simulation guide |
| Screen oil-quality methods | Oil-quality standards |
| Find runnable tutorials and notebooks | Examples index |
| Diagnose setup or runtime problems | Troubleshooting guide |
The curated usage-example catalog groups these guides by engineering task and records the validation expectations for complete programs and notebooks.
Interpret results responsibly
- Keep temperature, pressure, flow, composition, and property units explicit.
- Select the thermodynamic model and mixing rule for the fluid and property of interest.
- Check phase count before requesting a named phase from a result that may be single phase.
- Initialize the state required by each property API and verify mass or component closure where the workflow changes streams.
- Treat examples as reproducible screening workflows, not mechanical design, safety approval, or standards certification.
Use current source, focused tests, published benchmarks, and accountable engineering review before using a result for design or operational decisions.