Class ShellAndTubeDesignCalculator
java.lang.Object
neqsim.process.mechanicaldesign.heatexchanger.ShellAndTubeDesignCalculator
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 Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate intprivate doubleprivate doubleprivate TEMAStandard.BaffleTypeprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate TEMAStandard.TubePitchPatternprivate doubleprivate doubleprivate Stringprivate doubleprivate doubleprivate doubleprivate doubleprivate TEMAStandard.TEMAClassprivate Stringprivate doubleprivate doubleprivate intprivate doubleprivate Stringprivate intprivate doubleprivate doubleprivate doubleprivate doubleprivate TEMAStandard.StandardTubeSizeprivate doubleprivate double -
Constructor Summary
ConstructorsConstructorDescriptionCreates a new ShellAndTubeDesignCalculator with default parameters.Creates a calculator from existing heat exchanger equipment. -
Method Summary
Modifier and TypeMethodDescriptionvoidPerforms the complete TEMA-based design calculation.private voidCalculates baffle parameters.private voidCalculates cost estimates.private voidCalculates shell dimensions.private voidCalculates tube bundle parameters.private voidCalculates component weights.private doubleEstimates tubesheet thickness per TEMA/ASME.doubleGets actual calculated area.private doublegetAllowableStress(String material, double temperature) Gets allowable stress for material at temperature.intGets baffle count.doubleGets baffle spacing in mm.doubleGets operating weight in kg.doubleGets required area.doubleGets shell inside diameter in mm.doubleGets shell outside diameter in mm.doubleGets shell wall thickness in mm.Gets TEMA class.Gets TEMA designation.doubleGets total estimated cost in USD.doubleGets total dry weight in kg.intGets tube count.private doubleroundToStandardPlateThickness(double thickness) Rounds to standard plate thickness.private doubleroundToStandardShellSize(double diameter) Rounds to standard shell sizes (pipe sizes).voidsetDesignTemperature(double temperature) Sets design temperature in °C.voidsetRequiredArea(double area) Sets required heat transfer area in m2.voidsetShellSidePressure(double pressure) Sets shell side design pressure in bara.voidsetTemaClass(TEMAStandard.TEMAClass temaClass) Sets TEMA class.voidsetTemaDesignation(String designation) Sets TEMA designation (e.g., "AES").voidsetTubeLength(double length) Sets tube length in mm.voidsetTubePasses(int passes) Sets number of tube passes.voidsetTubeSidePressure(double pressure) Sets tube side design pressure in bara.voidsetTubeSize(TEMAStandard.StandardTubeSize tubeSize) Sets tube size.toJson()Converts results to JSON.toMap()Converts results to a map.
-
Field Details
-
temaDesignation
-
temaClass
-
requiredArea
private double requiredArea -
shellSidePressure
private double shellSidePressure -
tubeSidePressure
private double tubeSidePressure -
designTemperature
private double designTemperature -
shellMaterial
-
tubeMaterial
-
corrosionAllowanceShell
private double corrosionAllowanceShell -
corrosionAllowanceTube
private double corrosionAllowanceTube -
tubeSize
-
tubeWallThickness
private double tubeWallThickness -
tubeLength
private double tubeLength -
tubePasses
private int tubePasses -
pitchPattern
-
tubePitchRatio
private double tubePitchRatio -
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
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
Calculates shell dimensions.- Parameters:
config- TEMA configuration
-
calculateBaffles
private void calculateBaffles()Calculates baffle parameters. -
calculateWeights
Calculates component weights.- Parameters:
config- TEMA configuration
-
estimateTubesheetThickness
private double estimateTubesheetThickness()Estimates tubesheet thickness per TEMA/ASME.- Returns:
- tubesheet thickness in mm
-
calculateCosts
Calculates cost estimates.- Parameters:
config- TEMA configuration
-
getAllowableStress
Gets allowable stress for material at temperature.- Parameters:
material- material nametemperature- 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
Sets TEMA designation (e.g., "AES").- Parameters:
designation- TEMA designation
-
getTemaDesignation
-
setTemaClass
Sets TEMA class.- Parameters:
temaClass- TEMA class
-
getTemaClass
-
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
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
-
toJson
-