Skip to the content.

Industrial Agentic Engineering with NeqSim — AI Agents for Engineering Task Solving in Industry. NeqSim (Non-Equilibrium Simulator) is a comprehensive Java library developed at NTNU.

Java CI Maven Central License
🚀 Get Started 🔎 Search Documentation ⭐ Star on GitHub 📖 Reference Manual Index 📘 JavaDoc API

Quick Navigation


⚡ Quick Start Example

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());
  }
}

🆕 Quickstart & Learning Resources


📖 Documentation Sections

Section Description
🧪 ThermodynamicsEquations of state, phase behavior, component properties
⚙️ Process SimulationUnit operations, process systems, controllers
🏗️ EngineeringDesign cases, equipment sizing, safety verification, deliverables, and lifecycle evidence
🔄 Dynamic SimulationTransient simulation, time-stepping, depressurization
📊 Physical PropertiesTransport properties, interfacial tension
🛢️ PVT SimulationReservoir fluid characterization, tuning
🌊 Fluid MechanicsPipeline flow, multiphase modeling
🎯 OptimizationProduction optimization, multi-objective, constraints
⚠️ Risk & ReliabilityEquipment failure, Monte Carlo, SIS/SIF, bow-tie
🛡️ Safety SystemsESD, HIPPS, PSV, blowdown, alarms
🌱 Emissions & SustainabilityCO₂, methane, nmVOC virtual measurement, Norwegian methods
💰 Cost EstimationCAPEX, OPEX, financial metrics (NPV, ROI)
💡 ExamplesTutorials, Jupyter notebooks, code samples
🤖 AI-Assisted EngineeringMulti-agent task solver: simulation, validation, and report generation
🔧 DevelopmentContributing guidelines, developer setup

📚 Reference Manual Index

The Reference Manual Index organizes the documentation collection by topic and links to current guides, examples, and package references:

✅ Topic-based navigation
✅ Setup, thermodynamics, process, and engineering guides
✅ Usage guides and verified examples
✅ Cross-referenced documentation

🐍 Python Integration

NeqSim is also available for Python through neqsim-python:

from neqsim import jneqsim

# Create and flash a natural gas
gas = jneqsim.thermo.system.SystemSrkEos(298.15, 50.0)
gas.addComponent("methane", 0.9)
gas.addComponent("ethane", 0.1)
gas.setMixingRule("classic")

operations = jneqsim.thermodynamicoperations.ThermodynamicOperations(gas)
operations.TPflash()
gas.initProperties()
print(f"Gas density: {gas.getDensity('kg/m3'):.2f} kg/m³")

🔗 Resources

📦 GitHub Repository
Source code & issues
Maven Central
Latest releases
🐛 Issue Tracker
Report bugs
💬 Discussions
Community Q&A