Class ShellAndTubeDesignCalculator

java.lang.Object
neqsim.process.mechanicaldesign.heatexchanger.ShellAndTubeDesignCalculator

public class ShellAndTubeDesignCalculator extends Object
Shell and tube heat exchanger design calculator per TEMA standards.

This calculator performs detailed mechanical design for shell and tube heat exchangers following TEMA (Tubular Exchanger Manufacturers Association) standards. It calculates:

  • Tube bundle geometry (tube count, length, passes)
  • Shell dimensions and type selection
  • Baffle configuration and spacing
  • Thermal-hydraulic performance estimates
  • Weight and cost estimates

TEMA Classes

  • Class R: Severe service (refineries, petrochemical)
  • Class C: Moderate service (chemical, process)
  • Class B: General service (HVAC, commercial)

Usage Example

ShellAndTubeDesignCalculator calc = new ShellAndTubeDesignCalculator();
calc.setTemaDesignation("AES");
calc.setTemaClass(TEMAClass.R);
calc.setRequiredArea(150.0); // m2
calc.setShellSidePressure(30.0); // bara
calc.setTubeSidePressure(15.0); // bara
calc.setDesignTemperature(200.0); // °C
calc.calculate();

System.out.println("Shell ID: " + calc.getShellInsideDiameter() + " mm");
System.out.println("Tube count: " + calc.getTubeCount());
System.out.println("Total weight: " + calc.getTotalWeight() + " kg");
Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

    • temaDesignation

      private String temaDesignation
    • temaClass

      private TEMAStandard.TEMAClass temaClass
    • requiredArea

      private double requiredArea
    • shellSidePressure

      private double shellSidePressure
    • tubeSidePressure

      private double tubeSidePressure
    • designTemperature

      private double designTemperature
    • shellMaterial

      private String shellMaterial
    • tubeMaterial

      private String tubeMaterial
    • corrosionAllowanceShell

      private double corrosionAllowanceShell
    • corrosionAllowanceTube

      private double corrosionAllowanceTube
    • tubeSize

    • tubeWallThickness

      private double tubeWallThickness
    • tubeLength

      private double tubeLength
    • tubePasses

      private int tubePasses
    • pitchPattern

      private TEMAStandard.TubePitchPattern pitchPattern
    • tubePitchRatio

      private double tubePitchRatio
    • baffleType

      private TEMAStandard.BaffleType baffleType
    • baffleCut

      private double baffleCut
    • baffleCount

      private int baffleCount
    • shellInsideDiameter

      private double shellInsideDiameter
    • shellOutsideDiameter

      private double shellOutsideDiameter
    • shellWallThickness

      private double shellWallThickness
    • tubeCount

      private int tubeCount
    • actualArea

      private double actualArea
    • baffleSpacing

      private double baffleSpacing
    • tubePitch

      private double tubePitch
    • shellWeight

      private double shellWeight
    • tubeWeight

      private double tubeWeight
    • tubesheetWeight

      private double tubesheetWeight
    • headWeight

      private double headWeight
    • baffleWeight

      private double baffleWeight
    • totalDryWeight

      private double totalDryWeight
    • operatingWeight

      private double operatingWeight
    • materialCost

      private double materialCost
    • fabricationCost

      private double fabricationCost
    • totalCost

      private double totalCost
  • Constructor Details

    • ShellAndTubeDesignCalculator

      public ShellAndTubeDesignCalculator()
      Creates a new ShellAndTubeDesignCalculator with default parameters.
    • ShellAndTubeDesignCalculator

      public ShellAndTubeDesignCalculator(ProcessEquipmentInterface equipment)
      Creates a calculator from existing heat exchanger equipment.
      Parameters:
      equipment - heat exchanger equipment
  • Method Details

    • calculate

      public void calculate()
      Performs the complete TEMA-based design calculation.
    • calculateTubeBundle

      private void calculateTubeBundle()
      Calculates tube bundle parameters.
    • calculateShellDimensions

      private void calculateShellDimensions(TEMAStandard.TEMAConfiguration config)
      Calculates shell dimensions.
      Parameters:
      config - TEMA configuration
    • calculateBaffles

      private void calculateBaffles()
      Calculates baffle parameters.
    • calculateWeights

      private void calculateWeights(TEMAStandard.TEMAConfiguration config)
      Calculates component weights.
      Parameters:
      config - TEMA configuration
    • estimateTubesheetThickness

      private double estimateTubesheetThickness()
      Estimates tubesheet thickness per TEMA/ASME.
      Returns:
      tubesheet thickness in mm
    • calculateCosts

      private void calculateCosts(TEMAStandard.TEMAConfiguration config)
      Calculates cost estimates.
      Parameters:
      config - TEMA configuration
    • getAllowableStress

      private double getAllowableStress(String material, double temperature)
      Gets allowable stress for material at temperature.
      Parameters:
      material - material name
      temperature - temperature in °C
      Returns:
      allowable stress in MPa
    • roundToStandardShellSize

      private double roundToStandardShellSize(double diameter)
      Rounds to standard shell sizes (pipe sizes).
      Parameters:
      diameter - diameter in mm
      Returns:
      standard diameter
    • roundToStandardPlateThickness

      private double roundToStandardPlateThickness(double thickness)
      Rounds to standard plate thickness.
      Parameters:
      thickness - thickness in mm
      Returns:
      standard thickness
    • setTemaDesignation

      public void setTemaDesignation(String designation)
      Sets TEMA designation (e.g., "AES").
      Parameters:
      designation - TEMA designation
    • getTemaDesignation

      public String getTemaDesignation()
      Gets TEMA designation.
      Returns:
      TEMA designation
    • setTemaClass

      public void setTemaClass(TEMAStandard.TEMAClass temaClass)
      Sets TEMA class.
      Parameters:
      temaClass - TEMA class
    • getTemaClass

      public TEMAStandard.TEMAClass getTemaClass()
      Gets TEMA class.
      Returns:
      TEMA class
    • setRequiredArea

      public void setRequiredArea(double area)
      Sets required heat transfer area in m2.
      Parameters:
      area - required area
    • getRequiredArea

      public double getRequiredArea()
      Gets required area.
      Returns:
      required area in m2
    • getActualArea

      public double getActualArea()
      Gets actual calculated area.
      Returns:
      actual area in m2
    • setShellSidePressure

      public void setShellSidePressure(double pressure)
      Sets shell side design pressure in bara.
      Parameters:
      pressure - pressure
    • setTubeSidePressure

      public void setTubeSidePressure(double pressure)
      Sets tube side design pressure in bara.
      Parameters:
      pressure - pressure
    • setDesignTemperature

      public void setDesignTemperature(double temperature)
      Sets design temperature in °C.
      Parameters:
      temperature - temperature
    • setTubeSize

      public void setTubeSize(TEMAStandard.StandardTubeSize tubeSize)
      Sets tube size.
      Parameters:
      tubeSize - standard tube size
    • setTubeLength

      public void setTubeLength(double length)
      Sets tube length in mm.
      Parameters:
      length - tube length
    • setTubePasses

      public void setTubePasses(int passes)
      Sets number of tube passes.
      Parameters:
      passes - tube passes
    • getShellInsideDiameter

      public double getShellInsideDiameter()
      Gets shell inside diameter in mm.
      Returns:
      shell ID
    • getShellOutsideDiameter

      public double getShellOutsideDiameter()
      Gets shell outside diameter in mm.
      Returns:
      shell OD
    • getShellWallThickness

      public double getShellWallThickness()
      Gets shell wall thickness in mm.
      Returns:
      shell wall thickness
    • getTubeCount

      public int getTubeCount()
      Gets tube count.
      Returns:
      tube count
    • getBaffleCount

      public int getBaffleCount()
      Gets baffle count.
      Returns:
      baffle count
    • getBaffleSpacing

      public double getBaffleSpacing()
      Gets baffle spacing in mm.
      Returns:
      baffle spacing
    • getTotalDryWeight

      public double getTotalDryWeight()
      Gets total dry weight in kg.
      Returns:
      dry weight
    • getOperatingWeight

      public double getOperatingWeight()
      Gets operating weight in kg.
      Returns:
      operating weight
    • getTotalCost

      public double getTotalCost()
      Gets total estimated cost in USD.
      Returns:
      total cost
    • toMap

      public Map<String,Object> toMap()
      Converts results to a map.
      Returns:
      map of results
    • toJson

      public String toJson()
      Converts results to JSON.
      Returns:
      JSON string