Class CompressorCostEstimate

java.lang.Object
neqsim.process.costestimation.UnitCostEstimateBaseClass
neqsim.process.costestimation.compressor.CompressorCostEstimate
All Implemented Interfaces:
Serializable

public class CompressorCostEstimate extends UnitCostEstimateBaseClass
Cost estimation class for compressors.

This class provides compressor-specific cost estimation methods using chemical engineering cost correlations for centrifugal, reciprocating, and screw compressors. Includes driver costs for electric motors, gas turbines, and steam turbines.

Version:
2.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

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

      private String compressorType
      Compressor type.
    • driverType

      private String driverType
      Driver type.
    • includeDriver

      private boolean includeDriver
      Include driver in cost.
    • numberOfStages

      private int numberOfStages
      Number of stages.
    • includeIntercoolers

      private boolean includeIntercoolers
      Include intercoolers.
  • Constructor Details

  • Method Details

    • setCompressorType

      public void setCompressorType(String type)
      Set the compressor type.
      Parameters:
      type - compressor type ("centrifugal", "reciprocating", "screw", "axial")
    • getCompressorType

      public String getCompressorType()
      Get the compressor type.
      Returns:
      compressor type
    • setDriverType

      public void setDriverType(String type)
      Set the driver type.
      Parameters:
      type - driver type ("electric-motor", "gas-turbine", "steam-turbine", "gas-engine")
    • getDriverType

      public String getDriverType()
      Get the driver type.
      Returns:
      driver type
    • setIncludeDriver

      public void setIncludeDriver(boolean include)
      Set whether to include driver cost.
      Parameters:
      include - true to include driver
    • setNumberOfStages

      public void setNumberOfStages(int stages)
      Set number of compression stages.
      Parameters:
      stages - number of stages
    • setIncludeIntercoolers

      public void setIncludeIntercoolers(boolean include)
      Set whether to include intercoolers.
      Parameters:
      include - true to include intercoolers
    • 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
    • calcScrewCompressorCost

      private double calcScrewCompressorCost(double power)
      Calculate screw compressor cost.
      Parameters:
      power - power in kW
      Returns:
      cost in USD
    • calcAxialCompressorCost

      private double calcAxialCompressorCost(double power)
      Calculate axial compressor cost.
      Parameters:
      power - power in kW
      Returns:
      cost in USD
    • calcDriverCost

      private double calcDriverCost(double power)
      Calculate driver cost.
      Parameters:
      power - shaft power required in kW
      Returns:
      driver cost in USD
    • calcIntercoolersCost

      private double calcIntercoolersCost(double power, int numberOfIntercoolers)
      Calculate intercoolers cost.
      Parameters:
      power - compressor power in kW
      numberOfIntercoolers - number of intercoolers
      Returns:
      total intercoolers cost in USD
    • calcAnnualOperatingCost

      public double calcAnnualOperatingCost(double hoursPerYear, double electricityRate, double fuelRate)
      Calculate annual operating cost (electricity or fuel).
      Parameters:
      hoursPerYear - operating hours per year
      electricityRate - electricity rate in $/kWh (for electric motor)
      fuelRate - fuel rate in $/GJ (for gas turbine/engine)
      Returns:
      annual operating cost in USD
    • calcAnnualMaintenanceCost

      public double calcAnnualMaintenanceCost()
      Calculate maintenance cost per year (typically 3-6% of capital).
      Returns:
      annual maintenance 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