Skip to the content.

Hydrotreating sulfur and hydrogen balance

RefineryHydrotreatingSulfurBalance creates an immutable material-balance receipt for an early hydrotreating screen. It connects the sulfur carried by an OilAssayCharacterisation to an explicit hydrogen-use assumption and a requested sulfur mass fraction in the calculated liquid product.

This is accounting, not a reactor model. It does not predict kinetics, catalyst performance, pressure, temperature, heat duty, recycle, hydrogen availability, liquid yield, or regulatory compliance.

Basis and equations

The caller supplies:

The class uses M_H2 = 0.00201588 kg/mol and derives M_S = M_H2S - M_H2 from the public NIST hydrogen-sulfide molecular weight M_H2S = 0.034081 kg/mol. For sulfur removal R_S, the liquid-mass change per kilogram of sulfur removed is:

a = (nu * M_H2 - M_H2S) / M_S

Because the target is defined on the calculated product mass, the closed-form sulfur removal is:

R_S = (F * zS - xS * F) / (1 + xS * a)

The receipt then reports hydrogen consumed, hydrogen sulfide produced, hydrogen retained in the liquid, product mass, remaining sulfur, achieved product sulfur fraction, total-mass residual, and sulfur residual. Invalid or non-closing inputs fail closed.

Java example

The DOE/OEDI Big Hill assay reconstruction already qualified in NeqSim gives a bulk sulfur mass fraction of 0.0040867518. The 15 ppm target and nu = 2.0 mol H2/mol S below are illustrative screening assumptions, not literature-derived design values.

RefineryHydrotreatingSulfurBalance receipt =
    RefineryHydrotreatingSulfurBalance.calculate(
        1000.0, 0.0040867518, 15.0e-6, 2.0);

double productMassKg = receipt.getProductMassKg();
double hydrogenConsumedKg = receipt.getHydrogenConsumedMassKg();
double hydrogenSulfideKg = receipt.getHydrogenSulfideProducedMassKg();
double achievedSulfur = receipt.getAchievedProductSulfurMassFraction();

For this 1000 kg screening basis, the receipt removes 4.071809037 kg sulfur, consumes 0.511975530 kg hydrogen, produces 4.327796802 kg hydrogen sulfide, retains 0.255987765 kg hydrogen in the liquid, and returns 996.184178728 kg product at 15 ppm sulfur. Both total-mass and sulfur closures are numerically zero.

Use calculateForAssay(...) to read getBulkSulfurMassFraction() directly from an assay without mutating its cuts or thermodynamic system.

Provenance and engineering boundary

The H2/S ratio must be selected and documented by the engineer for the intended screening case. A design or compliance claim requires a separately validated reaction model, feed contaminant specification, reactor and catalyst basis, operating envelope, product-yield model, and plant hydrogen/recycle system.