Class ColumnCostEstimate

java.lang.Object
neqsim.process.costestimation.UnitCostEstimateBaseClass
neqsim.process.costestimation.column.ColumnCostEstimate
All Implemented Interfaces:
Serializable

public class ColumnCostEstimate extends UnitCostEstimateBaseClass
Cost estimation class for distillation and absorption columns.

This class provides column-specific cost estimation methods using chemical engineering cost correlations for trayed and packed columns. Includes costs for internals, reboiler, and condenser.

Version:
1.0
Author:
AGAS
See Also:
  • Field Details

    • serialVersionUID

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

      private String columnType
      Column type.
    • trayType

      private String trayType
      Tray type.
    • packingType

      private String packingType
      Packing type.
    • columnDiameter

      private double columnDiameter
      Column diameter in meters.
    • columnHeight

      private double columnHeight
      Column height in meters.
    • numberOfTrays

      private int numberOfTrays
      Number of trays.
    • packingHeight

      private double packingHeight
      Packing height in meters.
    • designPressure

      private double designPressure
      Design pressure in barg.
    • includeReboiler

      private boolean includeReboiler
      Include reboiler in cost.
    • includeCondenser

      private boolean includeCondenser
      Include condenser in cost.
    • reboilerDuty

      private double reboilerDuty
      Reboiler duty in kW.
    • condenserDuty

      private double condenserDuty
      Condenser duty in kW.
  • Constructor Details

    • ColumnCostEstimate

      public ColumnCostEstimate(MechanicalDesign mechanicalEquipment)
      Constructor for ColumnCostEstimate.
      Parameters:
      mechanicalEquipment - the column mechanical design
  • Method Details

    • setColumnType

      public void setColumnType(String type)
      Set column type.
      Parameters:
      type - column type ("trayed", "packed")
    • getColumnType

      public String getColumnType()
      Get column type.
      Returns:
      column type
    • setTrayType

      public void setTrayType(String type)
      Set tray type.
      Parameters:
      type - tray type ("sieve", "valve", "bubble-cap")
    • setPackingType

      public void setPackingType(String type)
      Set packing type.
      Parameters:
      type - packing type ("structured", "random", "grid")
    • setColumnDiameter

      public void setColumnDiameter(double diameter)
      Set column diameter.
      Parameters:
      diameter - column diameter in meters
    • getColumnDiameter

      public double getColumnDiameter()
      Get column diameter.
      Returns:
      column diameter in meters
    • setColumnHeight

      public void setColumnHeight(double height)
      Set column height.
      Parameters:
      height - column height in meters
    • setNumberOfTrays

      public void setNumberOfTrays(int trays)
      Set number of trays.
      Parameters:
      trays - number of trays
    • setPackingHeight

      public void setPackingHeight(double height)
      Set packing height.
      Parameters:
      height - packing height in meters
    • setDesignPressure

      public void setDesignPressure(double pressure)
      Set design pressure.
      Parameters:
      pressure - design pressure in barg
    • setIncludeReboiler

      public void setIncludeReboiler(boolean include)
      Set whether to include reboiler.
      Parameters:
      include - true to include reboiler
    • setIncludeCondenser

      public void setIncludeCondenser(boolean include)
      Set whether to include condenser.
      Parameters:
      include - true to include condenser
    • setReboilerDuty

      public void setReboilerDuty(double duty)
      Set reboiler duty.
      Parameters:
      duty - reboiler duty in kW
    • setCondenserDuty

      public void setCondenserDuty(double duty)
      Set condenser duty.
      Parameters:
      duty - condenser duty in kW
    • calcPurchasedEquipmentCost

      protected double calcPurchasedEquipmentCost()
      Calculate purchased equipment cost.

      Override this method in subclasses to provide equipment-specific cost correlations.

      Overrides:
      calcPurchasedEquipmentCost in class UnitCostEstimateBaseClass
      Returns:
      purchased equipment cost in USD
    • calcColumnShellCost

      private double calcColumnShellCost()
      Calculate column shell cost.
      Returns:
      shell cost in USD
    • getPressureFactor

      private double getPressureFactor()
      Get pressure factor for shell cost.
      Returns:
      pressure factor
    • calcTraysCost

      private double calcTraysCost()
      Calculate trays cost.
      Returns:
      trays cost in USD
    • calcPackingCost

      private double calcPackingCost()
      Calculate packing cost.
      Returns:
      packing cost in USD
    • calcDistributorCost

      private double calcDistributorCost()
      Calculate liquid distributor cost.
      Returns:
      distributor cost in USD
    • calcReboilerCost

      private double calcReboilerCost()
      Calculate reboiler cost.
      Returns:
      reboiler cost in USD
    • calcCondenserCost

      private double calcCondenserCost()
      Calculate condenser cost.
      Returns:
      condenser cost in USD
    • calcColumnWeight

      public double calcColumnWeight()
      Calculate column weight.
      Returns:
      column weight in kg
    • estimateWallThickness

      private double estimateWallThickness()
      Estimate wall thickness based on diameter and pressure.
      Returns:
      wall thickness in meters
    • calcAnnualUtilityCost

      public double calcAnnualUtilityCost(double hoursPerYear, double steamCostPerTonne, double coolingWaterCostPerM3)
      Calculate annual utility cost for reboiler and condenser.
      Parameters:
      hoursPerYear - operating hours per year
      steamCostPerTonne - steam cost in $/tonne
      coolingWaterCostPerM3 - cooling water cost in $/m3
      Returns:
      annual utility cost in USD
    • getTotalCost

      public double getTotalCost()
      Get total cost using simple weight-based method.
      Overrides:
      getTotalCost in class UnitCostEstimateBaseClass
      Returns:
      the total cost in USD
    • getCostBreakdown

      public Map<String,Object> getCostBreakdown()
      Get cost breakdown as map.
      Returns:
      map with cost breakdown