Class ThermalUtilitySummary
java.lang.Object
neqsim.process.mechanicaldesign.ThermalUtilitySummary
- All Implemented Interfaces:
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:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRepresents a single utility consumer (equipment with its utility type and flow). -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate static final doubleCooling water specific heat in kJ/(kg*K).private static final doubleCooling water density in kg/m3.private doubleCooling water return temperature in Celsius.private doubleCooling water supply temperature in Celsius.private intprivate static final doubleSteam latent heat for HP steam in kJ/kg.private static final doubleHP steam temperature threshold in Celsius.private doubleprivate doubleprivate static final doubleSteam latent heat for LP steam in kJ/kg.private static final doubleLP steam temperature threshold in Celsius.private doubleprivate static final doubleSteam latent heat for MP steam in kJ/kg.private doubleprivate ProcessSystemThe process system to analyse.private static final longSerialization version UID.private doubleprivate double -
Constructor Summary
ConstructorsConstructorDescriptionThermalUtilitySummary(ProcessSystem processSystem) Creates a ThermalUtilitySummary for the given process system. -
Method Summary
Modifier and TypeMethodDescriptionprivate doublecalcCoolingWaterFlow(double dutyKW) Calculates cooling water flow for a given duty.voidCalculates all thermal utility requirements from the process equipment.private voidclassifyHeatingDuty(String name, double dutyKW, double outTempC) Classifies a heating duty as LP/MP/HP steam based on required temperature.Gets the list of individual utility consumers.doubleGets the cooling water flow rate.doubleGets the HP steam consumption.doubleGets the instrument air consumption estimate.doubleGets the LP steam consumption.doubleGets the MP steam consumption.doubleGets the total cooling duty.doubleGets the total heating duty.voidsetCwReturnTempC(double tempC) Sets the cooling water return temperature.voidsetCwSupplyTempC(double tempC) Sets the cooling water supply temperature.toJson()Exports the thermal utility summary to JSON.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
processSystem
The process system to analyse. -
cwSupplyTempC
private double cwSupplyTempCCooling water supply temperature in Celsius. -
cwReturnTempC
private double cwReturnTempCCooling water return temperature in Celsius. -
CW_CP
private static final double CW_CPCooling water specific heat in kJ/(kg*K).- See Also:
-
CW_DENSITY
private static final double CW_DENSITYCooling water density in kg/m3.- See Also:
-
LP_STEAM_LATENT_HEAT
private static final double LP_STEAM_LATENT_HEATSteam latent heat for LP steam in kJ/kg.- See Also:
-
MP_STEAM_LATENT_HEAT
private static final double MP_STEAM_LATENT_HEATSteam latent heat for MP steam in kJ/kg.- See Also:
-
HP_STEAM_LATENT_HEAT
private static final double HP_STEAM_LATENT_HEATSteam latent heat for HP steam in kJ/kg.- See Also:
-
LP_STEAM_THRESHOLD
private static final double LP_STEAM_THRESHOLDLP steam temperature threshold in Celsius.- See Also:
-
HP_STEAM_THRESHOLD
private static final double HP_STEAM_THRESHOLDHP 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
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
Classifies a heating duty as LP/MP/HP steam based on required temperature.- Parameters:
name- equipment namedutyKW- heating duty in kWoutTempC- 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
Exports the thermal utility summary to JSON.- Returns:
- JSON string with all utility data
-