Skip to the content.

Reactors

NeqSim provides a family of reactor models for gas-phase kinetics, chemical equilibrium, stoichiometric conversion, catalytic reactions, and bio-processing. All reactors live in the neqsim.process.equipment.reactor package and integrate with ProcessSystem flowsheets.

Table of Contents


Overview

Package: neqsim.process.equipment.reactor

Class Description
PlugFlowReactor Tubular reactor with ODE-based kinetics, catalyst bed, pressure drop
KineticReaction Rate expression (power-law, LHHW, reversible Arrhenius)
CatalystBed Packed bed properties, Ergun pressure drop, Thiele modulus
ReactorAxialProfile Axial position profiles with interpolation and export
StirredTankReactor Continuous stirred tank reactor (CSTR)
GibbsReactor Gibbs free energy minimization for equilibrium
GibbsReactorCO2 Gibbs reactor variant specialized for CO2 reactions
StoichiometricReaction Fixed-conversion stoichiometric reactor
AmmoniaSynthesisReactor Specialized reactor for ammonia synthesis
SulfurDepositionAnalyser Sulfur solubility, deposition onset, corrosion assessment
FurnaceBurner Fired heater / furnace burner
CatalyticTubeReformer Tube-side SMR equilibrium model with duty and tube-wall screening
ReformerFurnace Fired SMR furnace coupling burner heat to reformer tube demand
SyngasBurnerZone Oxygen-blown ATR/POX burner-zone screening model
AutothermalReformer ATR route model with O₂/C and S/C control, burner zone, catalytic equilibrium, and soot risk
PartialOxidationReactor POX route model with refractory warning, quench section, and H₂/CO metric
QuenchSection Rapid syngas cooling model with heat-removed and quench-severity outputs
Fermenter Fermentation reactor for bio-processing
EnzymeTreatment Enzyme-based treatment reactor

Reactor Selection Guide

Reactor When to Use
PlugFlowReactor Gas-phase catalytic or homogeneous reactions with axial gradients
StirredTankReactor Liquid-phase reactions, good mixing, residence time calculations
GibbsReactor Complex equilibrium without specifying reaction stoichiometry
StoichiometricReaction Known fixed conversion, simple material balance
CatalyticTubeReformer SMR tube-side syngas generation with heat-duty and catalyst-activity screening
ReformerFurnace SMR furnace heat-balance studies with fuel/air combustion and tube reforming
AutothermalReformer ATR concept studies with oxygen/steam ratio control and soot-risk screening
PartialOxidationReactor POX syngas route studies with quench and refractory-temperature screening
AmmoniaSynthesisReactor Haber-Bosch ammonia synthesis modeling
SulfurDepositionAnalyser Sulfur precipitation, H2S reactions, corrosion assessment

Plug Flow Reactor (PFR)

The PlugFlowReactor is the most comprehensive reactor in NeqSim. It solves coupled ODEs for species molar flows, temperature, and pressure as a function of axial position.

Key features:

Quick Example

import neqsim.thermo.system.SystemSrkEos;
import neqsim.process.equipment.stream.Stream;
import neqsim.process.equipment.reactor.PlugFlowReactor;
import neqsim.process.equipment.reactor.KineticReaction;
import neqsim.process.equipment.reactor.CatalystBed;

// Feed gas
SystemSrkEos gas = new SystemSrkEos(273.15 + 300.0, 20.0);
gas.addComponent("methane", 0.90);
gas.addComponent("ethane", 0.10);
gas.setMixingRule("classic");

Stream feed = new Stream("Feed", gas);
feed.setFlowRate(10.0, "mole/sec");
feed.run();

// Reaction: methane -> ethane (illustrative)
KineticReaction rxn = new KineticReaction("A to B");
rxn.addReactant("methane", 1.0, 1.0);
rxn.addProduct("ethane", 1.0);
rxn.setPreExponentialFactor(1.0e4);
rxn.setActivationEnergy(50000.0);
rxn.setHeatOfReaction(-50000.0);

// Catalyst
CatalystBed catalyst = new CatalystBed(3.0, 0.40, 800.0);

// Reactor
PlugFlowReactor pfr = new PlugFlowReactor("PFR-1", feed);
pfr.addReaction(rxn);
pfr.setCatalystBed(catalyst);
pfr.setLength(5.0, "m");
pfr.setDiameter(0.10, "m");
pfr.setEnergyMode(PlugFlowReactor.EnergyMode.ADIABATIC);
pfr.setNumberOfSteps(100);
pfr.setKeyComponent("methane");
pfr.run();

System.out.println("Conversion: " + pfr.getConversion());
System.out.println("Outlet T: " + (pfr.getOutletTemperature() - 273.15) + " C");
System.out.println("Pressure drop: " + pfr.getPressureDrop() + " bar");

Full documentation: See the Plug Flow Reactor Guide for governing equations, all kinetic models, LHHW setup, coolant mode, multi-tube reactors, Python usage, and the complete API reference.


Stirred Tank Reactor (CSTR)

The StirredTankReactor models a continuous stirred tank reactor with perfect mixing.

import neqsim.process.equipment.reactor.StirredTankReactor;

StirredTankReactor cstr = new StirredTankReactor("R-100", feedStream);
cstr.run();

Gibbs Reactor

Minimizes Gibbs free energy to find equilibrium composition without requiring explicit reaction stoichiometry. Uses Newton-Raphson iteration with element balance constraints.

import neqsim.process.equipment.reactor.GibbsReactor;

// Feed must include all possible product species (even at zero mole fraction)
SystemSrkEos gas = new SystemSrkEos(273.15 + 800.0, 20.0);
gas.addComponent("methane", 1.0);
gas.addComponent("water", 3.0);
gas.addComponent("CO", 1.0e-10);
gas.addComponent("CO2", 1.0e-10);
gas.addComponent("hydrogen", 1.0e-10);
gas.setMixingRule("classic");

Stream feed = new Stream("Feed", gas);
feed.setFlowRate(100.0, "kmol/hr");
feed.run();

GibbsReactor gibbs = new GibbsReactor("SMR Reactor", feed);
gibbs.run();

Key methods:

See GibbsReactor Reference Documentation for the full mathematical foundation, algorithm details, and usage examples.


Stoichiometric Reactor

Fixed-conversion reactor based on specified stoichiometry.

import neqsim.process.equipment.reactor.StoichiometricReaction;

StoichiometricReaction stoich = new StoichiometricReaction("R-Stoich", feedStream);
stoich.run();

Ammonia Synthesis Reactor

Specialized reactor for the Haber-Bosch process (N2 + 3 H2 ⇌ 2 NH3).

import neqsim.process.equipment.reactor.AmmoniaSynthesisReactor;

AmmoniaSynthesisReactor nh3 = new AmmoniaSynthesisReactor("NH3-Reactor", feedStream);
nh3.run();

Sulfur Deposition Analyser

Analyses sulfur solubility, deposition onset temperature, chemical equilibrium of H2S/O2 reactions, corrosion (FeS formation), and blockage risk. Performs temperature sweep analysis.

import neqsim.process.equipment.reactor.SulfurDepositionAnalyser;

SulfurDepositionAnalyser analyser = new SulfurDepositionAnalyser("S-Analyser", feedStream);
analyser.setTemperatureSweepRange(0.0, 200.0, 5.0);
analyser.setRunChemicalEquilibrium(true);
analyser.setRunSolidFlash(true);
analyser.setRunCorrosionAssessment(true);
analyser.run();

double onset = analyser.getSulfurDepositionOnsetTemperature();
String json = analyser.getResultsAsJson();

Furnace Burner

Models a fired heater / furnace burner for high-temperature heating.

import neqsim.process.equipment.reactor.FurnaceBurner;

FurnaceBurner burner = new FurnaceBurner("Furnace", feedStream);
burner.run();

Hydrogen Production Reactors

The hydrogen-production reactor models build on GibbsReactor, FurnaceBurner, and catalyst screening utilities to provide route-level models for SMR, ATR, POX, and water-gas shift studies. Use them for concept screening, heat-balance checks, oxygen and steam-ratio envelopes, soot/refractory/tube-temperature warnings, WGS conversion checks, and plant builder templates. Detailed radiant-box design, burner CFD, vendor tube ratings, and rate-based catalyst calibration remain outside this screening layer.

Class Typical use
CatalyticTubeReformer Tube-side steam methane reforming equilibrium, heat duty, tube-wall temperature, heat flux, methane conversion
ReformerFurnace Fired SMR furnace with process feed, fuel feed, combustion air, syngas outlet, and flue-gas outlet
SyngasBurnerZone High-temperature oxygen-blown burner zone for ATR and POX front ends
AutothermalReformer Integrated ATR model with O₂/C and S/C controls, burner-zone warnings, and catalytic equilibrium
PartialOxidationReactor POX model with O₂/C control, optional steam, refractory warning, fast quench, and H₂/CO output
QuenchSection Standalone rapid syngas cooling and quench-severity screening
WaterGasShiftReactor HT/LT WGS equilibrium wrapper with CO conversion, H2 gain, CO2 formation, heat duty, and WGS ratio reporting

For full route examples and plant builders, see Hydrogen Production with NeqSim.


Bio-Processing Reactors

Fermenter

Models a biological fermentation reactor.

import neqsim.process.equipment.reactor.Fermenter;

Fermenter fermenter = new Fermenter("BioReactor", feedStream);
fermenter.run();

Enzyme Treatment

Models an enzyme-based treatment step.

import neqsim.process.equipment.reactor.EnzymeTreatment;

EnzymeTreatment enzyme = new EnzymeTreatment("EnzymeUnit", feedStream);
enzyme.run();