Class ExpanderCostEstimate

java.lang.Object
neqsim.process.costestimation.UnitCostEstimateBaseClass
neqsim.process.costestimation.expander.ExpanderCostEstimate
All Implemented Interfaces:
Serializable

public class ExpanderCostEstimate extends UnitCostEstimateBaseClass
Cost estimation class for turboexpanders.

This class provides expander-specific cost estimation methods using chemical engineering cost correlations for radial inflow and axial turboexpanders used in gas processing, cryogenic, and power recovery applications.

Correlations are based on:

  • Turton et al. - Analysis, Synthesis and Design of Chemical Processes
  • API 617 - Axial and Centrifugal Compressors and Expander-compressors
  • Industry data for turboexpander costs
Version:
1.0
Author:
AGAS
See Also:
  • Field Details

    • serialVersionUID

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

      private String expanderType
      Expander type.
    • loadType

      private String loadType
      Load type (generator, compressor, brake).
    • includeLoad

      private boolean includeLoad
      Include load in cost.
    • includeGearbox

      private boolean includeGearbox
      Include gearbox.
    • includeLubeOilSystem

      private boolean includeLubeOilSystem
      Include lube oil system.
    • includeControlSystem

      private boolean includeControlSystem
      Include control system.
    • inletTemperature

      private double inletTemperature
      Inlet temperature in K.
    • cryogenicService

      private boolean cryogenicService
      Is cryogenic service (below -40°C).
    • manualShaftPower

      private double manualShaftPower
      Manual shaft power in kW (used when no MechanicalDesign available).
  • Constructor Details

    • ExpanderCostEstimate

      public ExpanderCostEstimate(ExpanderMechanicalDesign mechanicalEquipment)
      Constructor for ExpanderCostEstimate.
      Parameters:
      mechanicalEquipment - the expander mechanical design
  • Method Details

    • setShaftPower

      public void setShaftPower(double power)
      Set shaft power manually (for standalone cost estimation without MechanicalDesign).
      Parameters:
      power - shaft power in kW
    • getShaftPower

      public double getShaftPower()
      Get shaft power.
      Returns:
      shaft power in kW
    • setExpanderType

      public void setExpanderType(String type)
      Set expander type.
      Parameters:
      type - expander type ("radial-inflow", "axial", "mixed-flow")
    • getExpanderType

      public String getExpanderType()
      Get expander type.
      Returns:
      expander type
    • setLoadType

      public void setLoadType(String type)
      Set load type.
      Parameters:
      type - load type ("generator", "compressor", "brake")
    • getLoadType

      public String getLoadType()
      Get load type.
      Returns:
      load type
    • setIncludeLoad

      public void setIncludeLoad(boolean include)
      Set whether to include load.
      Parameters:
      include - true to include load cost
    • setIncludeGearbox

      public void setIncludeGearbox(boolean include)
      Set whether to include gearbox.
      Parameters:
      include - true to include gearbox
    • setIncludeLubeOilSystem

      public void setIncludeLubeOilSystem(boolean include)
      Set whether to include lube oil system.
      Parameters:
      include - true to include lube oil system
    • setIncludeControlSystem

      public void setIncludeControlSystem(boolean include)
      Set whether to include control system.
      Parameters:
      include - true to include control system
    • setInletTemperature

      public void setInletTemperature(double temp)
      Set inlet temperature.
      Parameters:
      temp - inlet temperature in K
    • setCryogenicService

      public void setCryogenicService(boolean cryogenic)
      Set cryogenic service flag.
      Parameters:
      cryogenic - true for cryogenic service
    • 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
    • calcRadialInflowExpanderCost

      private double calcRadialInflowExpanderCost(double power)
      Calculate radial inflow expander cost.
      Parameters:
      power - shaft power in kW
      Returns:
      cost in USD
    • calcAxialExpanderCost

      private double calcAxialExpanderCost(double power)
      Calculate axial expander cost.
      Parameters:
      power - shaft power in kW
      Returns:
      cost in USD
    • calcMixedFlowExpanderCost

      private double calcMixedFlowExpanderCost(double power)
      Calculate mixed flow expander cost.
      Parameters:
      power - shaft power in kW
      Returns:
      cost in USD
    • calcLoadCost

      private double calcLoadCost(double power)
      Calculate load (generator/compressor/brake) cost.
      Parameters:
      power - shaft power in kW
      Returns:
      cost in USD
    • calcGearboxCost

      private double calcGearboxCost(double power)
      Calculate gearbox cost.
      Parameters:
      power - transmitted power in kW
      Returns:
      cost in USD
    • calcLubeOilSystemCost

      private double calcLubeOilSystemCost(double power)
      Calculate lube oil system cost.
      Parameters:
      power - expander power in kW (determines system size)
      Returns:
      cost in USD
    • calcControlSystemCost

      private double calcControlSystemCost(double power)
      Calculate control system cost.
      Parameters:
      power - expander power in kW
      Returns:
      cost in USD
    • calcAnnualOperatingCost

      public double calcAnnualOperatingCost(int operatingHoursPerYear)
      Calculate annual operating cost.
      Parameters:
      operatingHoursPerYear - operating hours per year
      Returns:
      annual operating cost in USD
    • calcPowerGenerationRevenue

      public double calcPowerGenerationRevenue(int operatingHoursPerYear, double electricityPrice)
      Calculate power generation revenue.
      Parameters:
      operatingHoursPerYear - operating hours per year
      electricityPrice - electricity price in $/kWh
      Returns:
      annual revenue in USD
    • getCostBreakdown

      public Map<String,Object> getCostBreakdown()
      Get cost breakdown by component.
      Returns:
      map of cost components
    • toMap

      public Map<String,Object> toMap()
      Convert cost estimate to map for JSON export.
      Overrides:
      toMap in class UnitCostEstimateBaseClass
      Returns:
      map of cost data