Class HeatExchangerMechanicalDesign

java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesign
neqsim.process.mechanicaldesign.heatexchanger.HeatExchangerMechanicalDesign
All Implemented Interfaces:
Serializable

public class HeatExchangerMechanicalDesign extends MechanicalDesign
Mechanical design for a generic heat exchanger. Provides detailed sizing estimates for supported exchanger configurations and selects a preferred option based on configurable criteria.

The implementation supports both full two-stream heat exchangers and single-stream heaters or coolers that only know their process-side conditions. When the utility side is described through UtilityStreamSpecification the sizing routine derives approximate UA and approach temperatures before computing a simplified geometric layout.

See Also:
  • Field Details

  • Constructor Details

  • Method Details

    • calcDesign

      public void calcDesign()

      calcDesign.

      Overrides:
      calcDesign in class MechanicalDesign
    • handleTwoStreamThermalData

      private void handleTwoStreamThermalData(HeatExchanger exchanger, double duty)
    • handleSingleStreamThermalData

      private void handleSingleStreamThermalData(Heater heater, UtilityStreamSpecification specification, double duty)
    • finalizeThermalEstimates

      private void finalizeThermalEstimates(double duty)
    • buildSizingResults

      private void buildSizingResults(HeatExchanger exchanger, double duty, boolean useTypeSpecificCoefficient)
    • determineTypesToEvaluate

      private List<HeatExchangerType> determineTypesToEvaluate()
    • selectPreferredResult

      private void selectPreferredResult()
    • applySelectedSizing

      private void applySelectedSizing()
    • setCandidateTypes

      public void setCandidateTypes(List<HeatExchangerType> types)
    • setCandidateTypes

      public void setCandidateTypes(HeatExchangerType... types)
    • getCandidateTypes

      public List<HeatExchangerType> getCandidateTypes()
    • getSelectionCriterion

      public HeatExchangerMechanicalDesign.SelectionCriterion getSelectionCriterion()
    • setSelectionCriterion

      public void setSelectionCriterion(HeatExchangerMechanicalDesign.SelectionCriterion selectionCriterion)
    • getManualSelection

      public HeatExchangerType getManualSelection()
    • setManualSelection

      public void setManualSelection(HeatExchangerType manualSelection)
    • getSizingResults

      public List<HeatExchangerSizingResult> getSizingResults()
    • getSelectedSizingResult

      public HeatExchangerSizingResult getSelectedSizingResult()
    • getSelectedType

      public HeatExchangerType getSelectedType()
    • getSizingSummary

      public String getSizingSummary()
    • getCalculatedUA

      public double getCalculatedUA()
      Returns:
      Calculated UA (W/K) based on the available duty and temperature approach information.
    • getLogMeanTemperatureDifference

      public double getLogMeanTemperatureDifference()
      Returns:
      Log-mean temperature difference used for the simplified sizing (K).
    • getApproachTemperature

      public double getApproachTemperature()
      Returns:
      Minimum temperature difference between the hot and cold streams (K).
    • getUsedOverallHeatTransferCoefficient

      public double getUsedOverallHeatTransferCoefficient()
      Returns:
      Overall heat-transfer coefficient used during the calculation (W/(m^2*K)).
    • determineDuty

      private double determineDuty(ProcessEquipmentInterface equipment)
    • determineTwoStreamTemperatures

      private double[] determineTwoStreamTemperatures(HeatExchanger exchanger)
    • determineSingleStreamTemperatures

      private double[] determineSingleStreamTemperatures(Heater heater, UtilityStreamSpecification spec, double duty)
    • calculateLmtd

      private double calculateLmtd(double deltaT1, double deltaT2)