Skip to the content.

Development Documentation

Guides for developers contributing to NeqSim, extending the library with new models, and integrating with Python.


Overview

This folder contains documentation for:


Getting Started

Document Description
DEVELOPER_SETUP.md Development environment setup
contributing-structure.md Contributing guidelines and code structure
jupyter_development_workflow.md Jupyter notebooks for live Java development

AI-Assisted Task Solving

Document Description
TASK_SOLVING_GUIDE.md Complete workflow for solving tasks with AI while developing the physics engine
Solve an Engineering Task Hands-on tutorial: from blank screen to validated report
CODE_PATTERNS.md Copy-paste code starters for every common task type
TASK_LOG.md Persistent memory — searchable log of all solved tasks

Start with CONTEXT.md in the repo root for a 60-second orientation.


Extending NeqSim

These guides explain how to add new functionality to NeqSim:

Guide Description
Extending Process Equipment Add custom separators, reactors, and other unit operations
Extending Physical Properties Add custom viscosity, conductivity, and diffusivity models
Extending Thermodynamic Models Add custom equations of state and activity models
Python Extension Patterns Use NeqSim from Python, create wrappers, implement interfaces

Extension Quick Reference

Process Equipment: Extend ProcessEquipmentBaseClass, implement run() method

public class MyEquipment extends ProcessEquipmentBaseClass {
    @Override
    public void run(UUID id) {
        // Get inlet, calculate, set outlet
    }
}

Physical Properties: Extend Viscosity/Conductivity/Diffusivity, implement calcViscosity() etc.

public class MyViscosityModel extends Viscosity {
    @Override
    public double calcViscosity() {
        // Your correlation here
    }
}

Thermodynamic Models: Extend SystemEos, create matching PhaseXxxEos and ComponentXxx

public class SystemMyEos extends SystemEos {
    public SystemMyEos(double T, double P) {
        // Initialize phases with PhaseMyEos
    }
}

Python Integration: Use jneqsim gateway or implement Java interfaces with @JImplements

from neqsim import jneqsim
fluid = jneqsim.thermo.system.SystemSrkEos(300.0, 50.0)

Architecture References

For deeper understanding of NeqSim’s architecture:

Topic Location
Thermodynamic Systems ../thermo/
Process Equipment ../process/
Physical Properties ../physical_properties/
Validation Framework ../integration/ai_validation_framework.md