This page explains the numerical evidence in
Standard_ISO6976Test.
Use it with the ISO 6976 calculation guide,
which documents the API, editions, units, and engineering boundaries.
Reference fixture and expected values
The shared setUpBeforeClass fixture builds an SRK gas at 20 °C and 1.0 bara,
adds methane, ethane, nitrogen, and carbon dioxide, applies the classic mixing
rule, and performs a TP flash. testCalculate then configures
Standard_ISO6976 with a 0 °C volume reference, a 15.55 °C combustion-energy
reference, a real-gas reference state, and a volume basis.
getUnit(...) labels energy properties as KJ/Nm3. In this API, the cubic metre
is evaluated at the configured volume-reference temperature; it is not an
unqualified geometric m³. The table converts the kJ/Nm³ assertions to MJ/Nm³ for
readability. testCalculate asserts GCV and WI. testCalculate2 uses a
separately initialized SRK system with the same four component amounts and
asserts relative density.
| Property | Regression value | Unit |
|---|---|---|
Superior calorific value (GCV) |
39.61457 | MJ/Nm³ |
Superior Wobbe index (WI) |
51.70101 | MJ/Nm³ |
| Relative density | 0.5870995 | dimensionless |
The exact energy assertions before conversion are 39614.56783352743 kJ/Nm³ for GCV and 51701.01275822569 kJ/Nm³ for WI.
The superior Wobbe index is related to the superior calorific value by
\[W_s = \frac{H_s}{\sqrt{d}}\]where $H_s$ is the superior calorific value on the selected basis and $d$ is the relative density on the same reference basis. Report both reference temperatures, the real or ideal reference state, and the volume, mass, or molar basis with every result.
Aliases and composition sensitivity
testCalculate verifies that WI and WobbeIndex both resolve to
SuperiorWobbeIndex. The separate testWIAliasVariesWithComposition regression
prevents the alias from returning a composition-independent value: its lean
98 mol% methane / 2 mol% ethane test target is approximately 53860 kJ/Nm³
(53.86 MJ/Nm³), while its richer methane/ethane/propane target is approximately
58380 kJ/Nm³ (58.38 MJ/Nm³).
These values are software regression anchors for the specified fixtures and reference conditions. They are not universal sales-gas limits.
Invalid reference temperatures
testCalculateWithWrongReferenceState deliberately sets unsupported reference
temperatures. When a value is requested, checkReferenceCondition() changes an
unsupported combustion-energy reference to 25 °C and an unsupported volume
reference to 15 °C, and logs both corrections. The test asserts
37499.35392575905 kJ/Nm³ (37.49935 MJ/Nm³) for the resulting GCV.
This fallback keeps the calculation running, but it also changes the requested
basis. Validate reference temperatures before calculation instead of treating
the fallback as input validation. Although checkReferenceCondition() accepts 25 °C as a volume reference,
explicit volume-dependent corrections are implemented only for 0, 15, 15.55,
and 20 °C. Use one of those four values, as explained in the primary guide.
Pseudo-components and unsupported species
testCalculateWithPSeudo adds a C10 TBP fraction and asserts a resulting GCV
of 42377.76099372482 kJ/Nm³ (42.37776 MJ/Nm³). This proves that the current fallback
route remains numerically stable for that fixture; it does not prove explicit
ISO 6976 coverage for the pseudo-component.
For hydrocarbon, TBP, and plus fractions not found in the ISO data table,
Standard_ISO6976 substitutes n-heptane data and records the original component
name in getComponentsNotDefinedByStandard(). Other unsupported component types
use different fallback mappings. Always inspect that list and disclose any
approximation before using the result for design, fiscal, or contractual work.
Full-property and stream coverage
testCalculate2 creates a separate SRK system, loads the component database,
uses mixing rule 2, and configures the standard at 0/15.55 °C. It checks
superior and inferior calorific values, superior and inferior Wobbe indices,
relative density, compression factor, and molar mass. testCalculate3 uses a
different gas at 15/15 °C and verifies the same property family. It also confirms that
Stream.getGCV(...) and Stream.getWI(...) agree with the standard calculation
after the stream has run.
Initialize or flash the thermodynamic system so that its composition and state are current before constructing the standard. Use the same preparation, reference conditions, and basis when comparing a custom calculation with a regression value.
Interpretation boundary
The tests establish repeatable NeqSim results for defined inputs and catch software regressions in aliases, reference handling, composition response, and stream integration. They do not establish sampling quality, measurement uncertainty, laboratory conformity, contractual compliance, or certification to a particular ISO 6976 edition.
See the standards package overview for the broader measurement and reporting checks.