Class Heater

All Implemented Interfaces:
Serializable, Runnable, HeaterInterface, ProcessEquipmentInterface, TwoPortInterface, SimulationInterface, NamedInterface
Direct Known Subclasses:
Cooler, HeatExchanger, MultiStreamHeatExchanger, MultiStreamHeatExchanger2, NeqHeater, SteamHeater

public class Heater extends TwoPortEquipment implements HeaterInterface

Heater class.

Version:
$Id: $Id
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

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

      boolean setTemperature
    • setOutPressure

      boolean setOutPressure
    • system

    • temperatureOut

      protected double temperatureOut
    • dT

      protected double dT
    • pressureOut

      protected double pressureOut
    • setEnergyInput

      private boolean setEnergyInput
    • energyInput

      private double energyInput
    • pressureDrop

      private double pressureDrop
    • temperatureUnit

      private String temperatureUnit
    • pressureUnit

      private String pressureUnit
    • coolingMediumTemperature

      double coolingMediumTemperature
    • lastTemperature

      protected double lastTemperature
    • lastPressure

      protected double lastPressure
    • lastFlowRate

      protected double lastFlowRate
    • lastOutPressure

      protected double lastOutPressure
    • lastOutTemperature

      protected double lastOutTemperature
    • lastDuty

      protected double lastDuty
    • lastPressureDrop

      protected double lastPressureDrop
    • mechanicalDesign

      protected transient HeatExchangerMechanicalDesign mechanicalDesign
    • utilitySpecification

      private UtilityStreamSpecification utilitySpecification
  • Constructor Details

    • Heater

      public Heater(String name)
      Constructor for Heater.
      Parameters:
      name - name of heater
    • Heater

      public Heater(String name, StreamInterface inStream)

      Constructor for Heater.

      Parameters:
      name - a String object
      inStream - a StreamInterface object
  • Method Details

    • getMechanicalDesign

      public HeatExchangerMechanicalDesign getMechanicalDesign()

      Get a mechanicalDesign for the equipment.

      Specified by:
      getMechanicalDesign in interface ProcessEquipmentInterface
      Overrides:
      getMechanicalDesign in class ProcessEquipmentBaseClass
      Returns:
      a MechanicalDesign object
    • initMechanicalDesign

      public void initMechanicalDesign()

      Initialize a initMechanicalDesign for the equipment.

      Specified by:
      initMechanicalDesign in interface ProcessEquipmentInterface
      Overrides:
      initMechanicalDesign in class ProcessEquipmentBaseClass
    • getCapacityDuty

      public double getCapacityDuty()

      getCapacityDuty.

      Specified by:
      getCapacityDuty in interface ProcessEquipmentInterface
      Returns:
      a double
    • getCapacityMax

      public double getCapacityMax()

      getCapacityMax.

      Specified by:
      getCapacityMax in interface ProcessEquipmentInterface
      Returns:
      a double
    • getUtilitySpecification

      public UtilityStreamSpecification getUtilitySpecification()
      Returns the utility-side specification used by the mechanical design calculation.
      Returns:
      the utility specification instance for this heater/cooler
    • setUtilitySpecification

      public void setUtilitySpecification(UtilityStreamSpecification specification)
      Replace the current utility-side specification.
      Parameters:
      specification - new utility specification instance
    • setUtilitySupplyTemperature

      public void setUtilitySupplyTemperature(double temperature, String unit)
      Convenience method to set the utility supply temperature.
      Parameters:
      temperature - utility temperature value
      unit - unit of the provided value (e.g. "K" or "C")
    • setUtilityReturnTemperature

      public void setUtilityReturnTemperature(double temperature, String unit)
      Convenience method to set the utility return temperature.
      Parameters:
      temperature - utility temperature value
      unit - unit of the provided value (e.g. "K" or "C")
    • setUtilityApproachTemperature

      public void setUtilityApproachTemperature(double approach, String unit)
      Convenience method to set the minimum approach temperature between process and utility.
      Parameters:
      approach - minimum temperature difference
      unit - unit of the provided value (e.g. "K" or "C")
    • setUtilityHeatCapacityRate

      public void setUtilityHeatCapacityRate(double heatCapacityRate)
      Convenience method to set the assumed utility-side heat capacity rate.
      Parameters:
      heatCapacityRate - utility heat capacity rate in W/K
    • setUtilityOverallHeatTransferCoefficient

      public void setUtilityOverallHeatTransferCoefficient(double u)
      Convenience method to set the assumed overall heat-transfer coefficient for sizing.
      Parameters:
      u - overall heat-transfer coefficient in W/(m^2*K)
    • setdT

      public void setdT(double dT)

      setdT.

      Specified by:
      setdT in interface HeaterInterface
      Parameters:
      dT - a double
    • setOutPressure

      public void setOutPressure(double pressure)

      setOutPressure.

      Parameters:
      pressure - Pressure in bara
    • setOutPressure

      public void setOutPressure(double pressure, String unit)

      Set the outlet pressure of the heater in a specified unit.

      Specified by:
      setOutPressure in interface HeaterInterface
      Parameters:
      pressure - Outlet pressure.
      unit - a String object
    • setOutTemperature

      public void setOutTemperature(double temperature)

      Set the outlet temperature of the heater.

      Parameters:
      temperature - Temperature in Kelvin
    • setOutTemperature

      public void setOutTemperature(double temperature, String unit)

      Set the outlet temperature of the heater in a specified unit.

      Specified by:
      setOutTemperature in interface HeaterInterface
      Parameters:
      temperature - Outlet temperature.
      unit - a String object
    • setOutTP

      public void setOutTP(double temperature, double pressure)

      Set the outlet temperature and pressure of the heater.

      Specified by:
      setOutTP in interface HeaterInterface
      Parameters:
      temperature - Temperature in Kelvin
      pressure - Pressure in bara
    • needRecalculation

      public boolean needRecalculation()

      Check if process equipment needs recalculating.

      Specified by:
      needRecalculation in interface ProcessEquipmentInterface
      Returns:
      true or false
    • run

      public void run(UUID id)

      In this method all thermodynamic and unit operations will be calculated in a steady state calculation.

      Specified by:
      run in interface SimulationInterface
      Parameters:
      id - UUID
    • runTransient

      public void runTransient(double dt, UUID id)

      runTransient

      This method calculates thermodynamic and unit operations using difference equations if available and calculateSteadyState is true. Use setCalculateSteadyState to set the parameter. Sets calc identifier UUID.
      Specified by:
      runTransient in interface SimulationInterface
      Parameters:
      dt - Delta time [s]
      id - Calculation identifier
    • displayResult

      public void displayResult()

      displayResult.

      Specified by:
      displayResult in interface ProcessEquipmentInterface
      Overrides:
      displayResult in class ProcessEquipmentBaseClass
    • getEnergyInput

      public double getEnergyInput()

      Getter for the field energyInput.

      Returns:
      a double
    • getDuty

      public double getDuty()

      getDuty.

      Returns:
      a double
    • getDuty

      public double getDuty(String unit)

      getDuty.

      Parameters:
      unit - a String object
      Returns:
      a double
    • setEnergyInput

      public void setEnergyInput(double energyInput)

      Setter for the field energyInput.

      Parameters:
      energyInput - a double
    • setDuty

      public void setDuty(double energyInput)

      setDuty.

      Parameters:
      energyInput - a double
    • isSetEnergyInput

      public boolean isSetEnergyInput()

      isSetEnergyInput.

      Returns:
      a boolean
    • setSetEnergyInput

      public void setSetEnergyInput(boolean setEnergyInput)

      Setter for the field setEnergyInput.

      Parameters:
      setEnergyInput - a boolean
    • getPressureDrop

      public double getPressureDrop()

      Getter for the field pressureDrop.

      Returns:
      the pressureDrop
    • setPressureDrop

      public void setPressureDrop(double pressureDrop)

      Setter for the field pressureDrop.

      Parameters:
      pressureDrop - the pressureDrop to set
    • setOutStream

      @Deprecated public void setOutStream(StreamInterface outStream)
      Deprecated.

      Setter for the field outStream.

      Parameters:
      outStream - the outStream to set
    • getEntropyProduction

      public double getEntropyProduction(String unit)

      getEntropyProduction.

      Specified by:
      getEntropyProduction in interface ProcessEquipmentInterface
      Overrides:
      getEntropyProduction in class ProcessEquipmentBaseClass
      Parameters:
      unit - a String object
      Returns:
      a double
    • getExergyChange

      public double getExergyChange(String unit, double surroundingTemperature)
      Get exergy change production of the process equipment.
      Specified by:
      getExergyChange in interface ProcessEquipmentInterface
      Overrides:
      getExergyChange in class ProcessEquipmentBaseClass
      Parameters:
      unit - Supported units are J and kJ
      surroundingTemperature - The surrounding temperature in Kelvin
      Returns:
      change in exergy in specified unit
    • toJson

      public String toJson()

      Serializes the Process Equipment along with its state to a JSON string.

      Specified by:
      toJson in interface ProcessEquipmentInterface
      Overrides:
      toJson in class TwoPortEquipment
      Returns:
      json string.
    • toJson

      public String toJson(ReportConfig cfg)
      Serializes the Process Equipment with configurable level of detail.
      Specified by:
      toJson in interface ProcessEquipmentInterface
      Overrides:
      toJson in class TwoPortEquipment
      Parameters:
      cfg - report configuration
      Returns:
      json string