Class CompressorCostEstimate
java.lang.Object
neqsim.process.costestimation.UnitCostEstimateBaseClass
neqsim.process.costestimation.compressor.CompressorCostEstimate
- All Implemented Interfaces:
Serializable
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 Summary
FieldsModifier and TypeFieldDescriptionprivate StringCompressor type.private StringDriver type.private booleanInclude driver in cost.private booleanInclude intercoolers.private intNumber of stages.private static final longSerialization version UID.Fields inherited from class UnitCostEstimateBaseClass
annualOperatingCost, bareModuleCost, costCalculator, equipmentType, grassRootsCost, installationManHours, mechanicalEquipment, purchasedEquipmentCost, totalModuleCost -
Constructor Summary
ConstructorsConstructorDescriptionCompressorCostEstimate(CompressorMechanicalDesign mechanicalEquipment) Constructor for CompressorCostEstimate. -
Method Summary
Modifier and TypeMethodDescriptiondoubleCalculate maintenance cost per year (typically 3-6% of capital).doublecalcAnnualOperatingCost(double hoursPerYear, double electricityRate, double fuelRate) Calculate annual operating cost (electricity or fuel).private doublecalcAxialCompressorCost(double power) Calculate axial compressor cost.private doublecalcDriverCost(double power) Calculate driver cost.private doublecalcIntercoolersCost(double power, int numberOfIntercoolers) Calculate intercoolers cost.protected doubleCalculate purchased equipment cost.private doublecalcScrewCompressorCost(double power) Calculate screw compressor cost.Get the compressor type.Get cost breakdown as map.Get the driver type.doubleGet total cost using simple weight-based method.voidsetCompressorType(String type) Set the compressor type.voidsetDriverType(String type) Set the driver type.voidsetIncludeDriver(boolean include) Set whether to include driver cost.voidsetIncludeIntercoolers(boolean include) Set whether to include intercoolers.voidsetNumberOfStages(int stages) Set number of compression stages.Methods inherited from class UnitCostEstimateBaseClass
calcAnnualOperatingCost, calculateCostEstimate, equals, generateBillOfMaterials, getBareModuleCost, getCostCalculator, getCostPerWeightUnit, getEquipmentType, getGrassRootsCost, getInstallationManHours, getMaterialFactor, getMaterialGrade, getPurchasedEquipmentCost, getTotalModuleCost, hashCode, setCostCalculator, setCostPerWeightUnit, setCurrentCepci, setEquipmentType, setLocationFactor, setMaterialOfConstruction, toCompactJson, toJson, toMap
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
compressorType
Compressor type. -
driverType
Driver type. -
includeDriver
private boolean includeDriverInclude driver in cost. -
numberOfStages
private int numberOfStagesNumber of stages. -
includeIntercoolers
private boolean includeIntercoolersInclude intercoolers.
-
-
Constructor Details
-
CompressorCostEstimate
Constructor for CompressorCostEstimate.- Parameters:
mechanicalEquipment- aCompressorMechanicalDesignobject
-
-
Method Details
-
setCompressorType
Set the compressor type.- Parameters:
type- compressor type ("centrifugal", "reciprocating", "screw", "axial")
-
getCompressorType
-
setDriverType
Set the driver type.- Parameters:
type- driver type ("electric-motor", "gas-turbine", "steam-turbine", "gas-engine")
-
getDriverType
-
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:
calcPurchasedEquipmentCostin classUnitCostEstimateBaseClass- 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 kWnumberOfIntercoolers- 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 yearelectricityRate- 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:
getTotalCostin classUnitCostEstimateBaseClass- Returns:
- the total cost in USD
-
getCostBreakdown
-