Skip to the content.

CompressorThermalModel is a reduced-order thermal resistance/capacitance network for estimating temperatures at locations that are not represented by the process-gas outlet temperature. Standard locations include the inlet shaft, impeller, casing, dry-gas seal, radial bearing and thrust bearing. Fluid boundaries include suction gas, discharge gas, seal gas, lube oil and ambient air.

The model is intended for screening, sensitivity analysis, transient studies and fitting to measured temperatures. It is not a substitute for an OEM finite-element or conjugate heat-transfer model.

Governing equation

For every non-boundary node $i$, NeqSim solves

\[C_i \frac{dT_i}{dt} = Q_i + \sum_j G_{ij}(T_j - T_i)\]

where $C_i$ is the lumped heat capacity in J/K, $Q_i$ is local heat generation in W, and $G_{ij}$ is an effective thermal conductance in W/K. The steady-state solver sets the storage term to zero. The transient solver uses implicit Euler, which remains stable for time steps larger than the shortest thermal time constant, although accuracy still depends on time-step selection.

Bearing-loss heat can be supplied by CompressorMechanicalLosses. A configurable fraction of gas-compression power can be deposited at the impeller node. That fraction is a fitted parameter, not a universal physical constant.

Catalog workflow

CompressorCatalog catalog = CompressorCatalog.createDefaultCatalog();
compressor.initMechanicalLosses(120.0);
compressor.applyCatalogEntry(catalog, "generic-centrifugal-single-stage");
compressor.run();

double shaftTemperature = compressor.getThermalModel()
    .getTemperature(CompressorThermalModel.INLET_SHAFT, "C");
Map<String, Double> temperatures = compressor.getThermalModel().getTemperatureProfile("C");

CompressorCatalog is JSON-backed. It can hold generic templates or private machine definitions and records the machine-specific inputs required for calibration. Applying an entry makes an independent copy, so changing one compressor does not alter the catalog or another compressor.

The built-in catalog values are deliberately generic. Replace at least:

Condensate evaporation and sulfur-deposition screening

A shaft can be warmer than the suction gas because it is connected conductively to the impeller/rotor and receives heat from bearings, seals and the compressed gas. If entrained condensate wets this location, compare the calculated metal temperature with a NeqSim flash of a representative condensate at local pressure. A higher equilibrium vapor fraction at the metal temperature indicates an evaporation-driving force. Evaporation can concentrate dissolved elemental sulfur and other low-volatility material at the surface.

This comparison does not by itself predict a deposition rate. A defensible sulfur assessment also needs entrained liquid rate and droplet size, condensate composition, sulfur solubility versus pressure and temperature, residence time, mass transfer, surface temperature distribution, and chemical sulfur production. The thermal model exposes the metal-temperature input needed by that assessment.

Literature basis and limitations

The network is linear in conductance and uses one temperature per lumped node. Radiation, temperature-dependent properties, rotationally dependent convection, contact resistance, detailed oil-film behavior, spatial gradients within a node and droplet evaporation kinetics are not calculated unless the user represents them through fitted links, additional nodes or an external model.