Class DistillationColumnMechanicalDesign

java.lang.Object
neqsim.process.mechanicaldesign.MechanicalDesign
neqsim.process.mechanicaldesign.distillation.DistillationColumnMechanicalDesign
All Implemented Interfaces:
Serializable

public class DistillationColumnMechanicalDesign extends MechanicalDesign
Mechanical design class for distillation columns.

Handles design calculations for tray-based and packed distillation columns including:

  • Column vessel sizing (diameter, height, wall thickness)
  • Tray hydraulics (weir loading, flooding, pressure drop)
  • Internals design (tray spacing, downcomer area)
  • Reboiler and condenser duty requirements
Version:
$Id: $Id
Author:
AGAS
See Also:
  • Field Details

    • serialVersionUID

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

      private double columnDiameter
      Column internal diameter [m].
    • columnHeight

      private double columnHeight
      Column tangent-to-tangent height [m].
    • columnWallThickness

      private double columnWallThickness
      Column wall thickness [mm].
    • numberOfTrays

      private int numberOfTrays
      Number of theoretical trays.
    • actualTrays

      private int actualTrays
      Actual number of trays (accounting for efficiency).
    • trayEfficiency

      private double trayEfficiency
      Overall tray efficiency.
    • traySpacing

      private double traySpacing
      Tray spacing [m].
    • weirHeight

      private double weirHeight
      Weir height [m].
    • weirLength

      private double weirLength
      Weir length [m].
    • downcomberAreaFraction

      private double downcomberAreaFraction
      Downcomer area fraction.
    • activeAreaFraction

      private double activeAreaFraction
      Active area fraction.
    • holeAreaFraction

      private double holeAreaFraction
      Hole area fraction (for sieve trays).
    • holeDiameter

      private double holeDiameter
      Hole diameter [mm] (for sieve trays).
    • floodingFactor

      private double floodingFactor
      Flooding factor (0-1, design typically 0.80-0.85).
    • maxFloodingFactor

      private double maxFloodingFactor
      Maximum flooding factor allowed.
    • weirLoading

      private double weirLoading
      Weir liquid loading [m3/hr per m of weir].
    • maxWeirLoading

      private double maxWeirLoading
      Maximum weir loading [m3/hr per m].
    • trayPressureDrop

      private double trayPressureDrop
      Tray pressure drop [mbar/tray].
    • totalPressureDrop

      private double totalPressureDrop
      Total column pressure drop [bar].
    • reboilerDuty

      private double reboilerDuty
      Reboiler duty [kW].
    • condenserDuty

      private double condenserDuty
      Condenser duty [kW].
    • trayType

      private String trayType
      Tray type (sieve, valve, bubble-cap).
    • materialGrade

      private String materialGrade
      Material grade for column shell.
    • designStandardCode

      private String designStandardCode
      Design standard code.
    • trayMaterial

      private String trayMaterial
      Tray material.
  • Constructor Details

    • DistillationColumnMechanicalDesign

      public DistillationColumnMechanicalDesign(ProcessEquipmentInterface equipment)
      Constructor for DistillationColumnMechanicalDesign.
      Parameters:
      equipment - the process equipment for this design
  • Method Details

    • readDesignSpecifications

      public void readDesignSpecifications()

      readDesignSpecifications.

      Overrides:
      readDesignSpecifications in class MechanicalDesign
    • calcDesign

      public void calcDesign()

      calcDesign.

      Overrides:
      calcDesign in class MechanicalDesign
    • roundToStandardDiameter

      private double roundToStandardDiameter(double diameter)
      Rounds diameter to nearest standard vessel diameter.
      Parameters:
      diameter - diameter in meters
      Returns:
      nearest standard vessel diameter in meters
    • getColumnDiameter

      public double getColumnDiameter()
      Gets the column diameter.
      Returns:
      column diameter in meters
    • setColumnDiameter

      public void setColumnDiameter(double diameter)
      Sets the column diameter.
      Parameters:
      diameter - column diameter in meters
    • getColumnHeight

      public double getColumnHeight()
      Gets the column height.
      Returns:
      column height in meters
    • setColumnHeight

      public void setColumnHeight(double height)
      Sets the column height.
      Parameters:
      height - column height in meters
    • getColumnWallThickness

      public double getColumnWallThickness()
      Gets the column wall thickness.
      Returns:
      wall thickness in mm
    • getNumberOfTrays

      public int getNumberOfTrays()
      Gets the number of theoretical trays.
      Returns:
      number of theoretical trays
    • getActualTrays

      public int getActualTrays()
      Gets the actual number of trays.
      Returns:
      actual number of trays
    • getTrayEfficiency

      public double getTrayEfficiency()
      Gets the tray efficiency.
      Returns:
      tray efficiency (0-1)
    • setTrayEfficiency

      public void setTrayEfficiency(double efficiency)
      Sets the tray efficiency.
      Parameters:
      efficiency - tray efficiency (0-1)
    • getTraySpacing

      public double getTraySpacing()
      Gets the tray spacing.
      Returns:
      tray spacing in meters
    • setTraySpacing

      public void setTraySpacing(double spacing)
      Sets the tray spacing.
      Parameters:
      spacing - tray spacing in meters
    • getFloodingFactor

      public double getFloodingFactor()
      Gets the flooding factor.
      Returns:
      flooding factor (0-1)
    • getMaxFloodingFactor

      public double getMaxFloodingFactor()
      Gets the maximum flooding factor.
      Returns:
      maximum flooding factor
    • setMaxFloodingFactor

      public void setMaxFloodingFactor(double factor)
      Sets the maximum flooding factor.
      Parameters:
      factor - maximum flooding factor (typically 0.80-0.85)
    • getWeirLoading

      public double getWeirLoading()
      Gets the weir loading.
      Returns:
      weir loading in m3/hr per m
    • getTrayPressureDrop

      public double getTrayPressureDrop()
      Gets the tray pressure drop.
      Returns:
      tray pressure drop in mbar/tray
    • getTotalPressureDrop

      public double getTotalPressureDrop()
      Gets the total column pressure drop.
      Returns:
      total pressure drop in bar
    • getReboilerDuty

      public double getReboilerDuty()
      Gets the reboiler duty.
      Returns:
      reboiler duty in kW
    • getCondenserDuty

      public double getCondenserDuty()
      Gets the condenser duty.
      Returns:
      condenser duty in kW
    • getTrayType

      public String getTrayType()
      Gets the tray type.
      Returns:
      tray type (sieve, valve, bubble-cap)
    • setTrayType

      public void setTrayType(String type)
      Sets the tray type.
      Parameters:
      type - tray type (sieve, valve, bubble-cap)
    • getMaterialGrade

      public String getMaterialGrade()
      Gets the material grade.
      Returns:
      material grade
    • setMaterialGrade

      public void setMaterialGrade(String grade)
      Sets the material grade.
      Parameters:
      grade - material grade
    • getDesignStandardCode

      public String getDesignStandardCode()
      Gets the design standard code.
      Returns:
      design standard code
    • setDesignStandardCode

      public void setDesignStandardCode(String code)
      Sets the design standard code.
      Parameters:
      code - design standard code
    • calculateWeights

      public void calculateWeights()
      Calculate equipment weight for cost estimation.

      Calculates column shell weight, head weight, tray weight, and total weight based on dimensions and wall thickness.

    • calculateColumnCost

      public double calculateColumnCost()
      Calculate cost for distillation column.
      Returns:
      estimated cost in USD
    • calculateReboilerCost

      public double calculateReboilerCost()
      Calculate reboiler cost estimate.
      Returns:
      reboiler cost in USD
    • calculateCondenserCost

      public double calculateCondenserCost()
      Calculate condenser cost estimate.
      Returns:
      condenser cost in USD
    • calculateTotalSystemCost

      public double calculateTotalSystemCost()
      Calculate total column system cost including reboiler and condenser.
      Returns:
      total system cost in USD
    • toJson

      public String toJson()
      Export mechanical design data to JSON format.

      This method creates a MechanicalDesignResponse object and serializes it to JSON using Gson. The JSON includes equipment identification, weight breakdown, design conditions, dimensions, and materials information.

      Usage example:

      
      MechanicalDesign mecDesign = separator.getMechanicalDesign();
      mecDesign.calcDesign();
      String json = mecDesign.toJson();
      
      
      Overrides:
      toJson in class MechanicalDesign
      Returns:
      JSON string representation of the mechanical design