Class ThermalUtilitySummary

java.lang.Object
neqsim.process.mechanicaldesign.ThermalUtilitySummary
All Implemented Interfaces:
Serializable

public class ThermalUtilitySummary extends Object implements Serializable
Aggregates thermal utility requirements across a process system.

Extends the power-focused utility summary with cooling water, steam, fuel gas, and other thermal utility demands. Each cooling or heating duty is mapped to a utility type with flow rate estimation.

Supported utility types:

  • Cooling water: estimated flow from duty, supply/return temperatures
  • Steam: LP/MP/HP steam consumption from heating duties
  • Fuel gas: estimated from fired heater duties
  • Instrument air: estimate from equipment count

Usage:

ThermalUtilitySummary util = new ThermalUtilitySummary(process);
util.calcUtilities();
double cwFlow = util.getCoolingWaterFlowM3hr();
String json = util.toJson();
Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • processSystem

      private ProcessSystem processSystem
      The process system to analyse.
    • cwSupplyTempC

      private double cwSupplyTempC
      Cooling water supply temperature in Celsius.
    • cwReturnTempC

      private double cwReturnTempC
      Cooling water return temperature in Celsius.
    • CW_CP

      private static final double CW_CP
      Cooling water specific heat in kJ/(kg*K).
      See Also:
    • CW_DENSITY

      private static final double CW_DENSITY
      Cooling water density in kg/m3.
      See Also:
    • LP_STEAM_LATENT_HEAT

      private static final double LP_STEAM_LATENT_HEAT
      Steam latent heat for LP steam in kJ/kg.
      See Also:
    • MP_STEAM_LATENT_HEAT

      private static final double MP_STEAM_LATENT_HEAT
      Steam latent heat for MP steam in kJ/kg.
      See Also:
    • HP_STEAM_LATENT_HEAT

      private static final double HP_STEAM_LATENT_HEAT
      Steam latent heat for HP steam in kJ/kg.
      See Also:
    • LP_STEAM_THRESHOLD

      private static final double LP_STEAM_THRESHOLD
      LP steam temperature threshold in Celsius.
      See Also:
    • HP_STEAM_THRESHOLD

      private static final double HP_STEAM_THRESHOLD
      HP steam temperature threshold in Celsius.
      See Also:
    • totalCoolingDutyKW

      private double totalCoolingDutyKW
    • totalHeatingDutyKW

      private double totalHeatingDutyKW
    • coolingWaterFlowM3hr

      private double coolingWaterFlowM3hr
    • lpSteamFlowKghr

      private double lpSteamFlowKghr
    • mpSteamFlowKghr

      private double mpSteamFlowKghr
    • hpSteamFlowKghr

      private double hpSteamFlowKghr
    • instrumentAirNm3hr

      private double instrumentAirNm3hr
    • equipmentCount

      private int equipmentCount
    • consumers

  • Constructor Details

    • ThermalUtilitySummary

      public ThermalUtilitySummary(ProcessSystem processSystem)
      Creates a ThermalUtilitySummary for the given process system.
      Parameters:
      processSystem - the process system to analyse
  • Method Details

    • setCwSupplyTempC

      public void setCwSupplyTempC(double tempC)
      Sets the cooling water supply temperature.
      Parameters:
      tempC - supply temperature in Celsius
    • setCwReturnTempC

      public void setCwReturnTempC(double tempC)
      Sets the cooling water return temperature.
      Parameters:
      tempC - return temperature in Celsius
    • calcUtilities

      public void calcUtilities()
      Calculates all thermal utility requirements from the process equipment.
    • calcCoolingWaterFlow

      private double calcCoolingWaterFlow(double dutyKW)
      Calculates cooling water flow for a given duty.
      Parameters:
      dutyKW - cooling duty in kW
      Returns:
      cooling water flow in m3/hr
    • classifyHeatingDuty

      private void classifyHeatingDuty(String name, double dutyKW, double outTempC)
      Classifies a heating duty as LP/MP/HP steam based on required temperature.
      Parameters:
      name - equipment name
      dutyKW - heating duty in kW
      outTempC - outlet temperature in Celsius
    • getTotalCoolingDutyKW

      public double getTotalCoolingDutyKW()
      Gets the total cooling duty.
      Returns:
      total cooling duty in kW
    • getTotalHeatingDutyKW

      public double getTotalHeatingDutyKW()
      Gets the total heating duty.
      Returns:
      total heating duty in kW
    • getCoolingWaterFlowM3hr

      public double getCoolingWaterFlowM3hr()
      Gets the cooling water flow rate.
      Returns:
      cooling water flow in m3/hr
    • getLpSteamFlowKghr

      public double getLpSteamFlowKghr()
      Gets the LP steam consumption.
      Returns:
      LP steam flow in kg/hr
    • getMpSteamFlowKghr

      public double getMpSteamFlowKghr()
      Gets the MP steam consumption.
      Returns:
      MP steam flow in kg/hr
    • getHpSteamFlowKghr

      public double getHpSteamFlowKghr()
      Gets the HP steam consumption.
      Returns:
      HP steam flow in kg/hr
    • getInstrumentAirNm3hr

      public double getInstrumentAirNm3hr()
      Gets the instrument air consumption estimate.
      Returns:
      instrument air flow in Nm3/hr
    • getConsumers

      Gets the list of individual utility consumers.
      Returns:
      list of utility consumers
    • toJson

      public String toJson()
      Exports the thermal utility summary to JSON.
      Returns:
      JSON string with all utility data