Class PumpCostEstimate

java.lang.Object
neqsim.process.costestimation.UnitCostEstimateBaseClass
neqsim.process.costestimation.pump.PumpCostEstimate
All Implemented Interfaces:
Serializable

public class PumpCostEstimate extends UnitCostEstimateBaseClass
Cost estimation class for pumps.

This class provides pump-specific cost estimation methods using chemical engineering cost correlations for centrifugal, positive displacement, and specialty pumps.

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

    • serialVersionUID

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

      private String pumpType
      Pump type.
    • includeMotor

      private boolean includeMotor
      Motor included in cost.
    • apiRated

      private boolean apiRated
      API rating.
    • sealType

      private String sealType
      Seal type.
  • Constructor Details

    • PumpCostEstimate

      public PumpCostEstimate(PumpMechanicalDesign mechanicalEquipment)
      Constructor for PumpCostEstimate.
      Parameters:
      mechanicalEquipment - the pump mechanical design
  • Method Details

    • setPumpType

      public void setPumpType(String type)
      Set the pump type.
      Parameters:
      type - pump type ("centrifugal", "reciprocating", "gear", "screw", "diaphragm")
    • getPumpType

      public String getPumpType()
      Get the pump type.
      Returns:
      pump type
    • setIncludeMotor

      public void setIncludeMotor(boolean include)
      Set whether motor is included.
      Parameters:
      include - true to include motor
    • setApiRated

      public void setApiRated(boolean rated)
      Set API rating.
      Parameters:
      rated - true if API rated (e.g., API 610)
    • setSealType

      public void setSealType(String type)
      Set seal type.
      Parameters:
      type - seal type ("single-mechanical", "double-mechanical", "packed", "mag-drive")
    • 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
    • calcReciprocatingPumpCost

      private double calcReciprocatingPumpCost(double power)
      Calculate reciprocating pump cost.
      Parameters:
      power - pump power in kW
      Returns:
      cost in USD
    • calcGearPumpCost

      private double calcGearPumpCost(double power)
      Calculate gear pump cost.
      Parameters:
      power - pump power in kW
      Returns:
      cost in USD
    • calcScrewPumpCost

      private double calcScrewPumpCost(double power)
      Calculate screw pump cost.
      Parameters:
      power - pump power in kW
      Returns:
      cost in USD
    • calcDiaphragmPumpCost

      private double calcDiaphragmPumpCost(double power)
      Calculate diaphragm pump cost.
      Parameters:
      power - pump power in kW
      Returns:
      cost in USD
    • calcMotorCost

      private double calcMotorCost(double power)
      Calculate electric motor cost.
      Parameters:
      power - motor power in kW
      Returns:
      cost in USD
    • getSealTypeFactor

      private double getSealTypeFactor()
      Get seal type cost factor.
      Returns:
      seal type factor
    • calcAnnualOperatingCost

      public double calcAnnualOperatingCost(double hoursPerYear, double electricityRate)
      Calculate annual operating cost (electricity).
      Parameters:
      hoursPerYear - operating hours per year
      electricityRate - electricity rate in $/kWh
      Returns:
      annual operating cost in USD
    • calcAnnualMaintenanceCost

      public double calcAnnualMaintenanceCost()
      Calculate maintenance cost per year (typically 3-5% 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