Class UnitCostEstimateBaseClass
java.lang.Object
neqsim.process.costestimation.UnitCostEstimateBaseClass
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
AbsorberCostEstimate, ColumnCostEstimate, CompressorCostEstimate, EjectorCostEstimate, ExpanderCostEstimate, HeatExchangerCostEstimate, MixerCostEstimate, PipeCostEstimate, PumpCostEstimate, SeparatorCostEstimate, SplitterCostEstimate, TankCostEstimate, ValveCostEstimate
Base class for equipment cost estimation.
This class provides comprehensive cost estimation methods for process equipment based on chemical engineering cost correlations. It supports multiple cost estimation methodologies and provides JSON export capabilities for integration with project cost systems.
Cost estimation features include:
- Purchased Equipment Cost (PEC) - base cost from correlations
- Bare Module Cost (BMC) - includes installation, piping, instrumentation
- Total Module Cost (TMC) - includes contingency and engineering
- Grass Roots Cost - for new facility construction
- Operating cost estimation
- Labor man-hours estimation
- Bill of Materials generation
- Version:
- 2.0
- Author:
- esol
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doubleAnnual operating cost in USD.protected doubleBare module cost in USD.protected CostEstimationCalculatorCost estimation calculator.private doubleCost per weight unit ($/kg) - simple estimation.protected StringEquipment type identifier.protected doubleGrass roots cost in USD.protected doubleInstallation labor man-hours.Associated mechanical design.protected doublePurchased equipment cost in USD.private static final longSerialization version UID.protected doubleTotal module cost in USD. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.UnitCostEstimateBaseClass(MechanicalDesign mechanicalEquipment) Constructor with mechanical equipment. -
Method Summary
Modifier and TypeMethodDescriptiondoublecalcAnnualOperatingCost(double electricityCostPerKWh, double steamCostPerTonne, double coolingWaterCostPerM3, int operatingHoursPerYear) Calculate annual operating cost.protected doubleCalculate purchased equipment cost.voidCalculate all cost estimates for the equipment.booleanGenerate bill of materials for the equipment.doubleGet bare module cost.Get the cost estimation calculator.doubleGet cost per weight unit.Get equipment type.doubleGet grass roots cost.doubleGet installation labor man-hours.doubleGet material factor for cost adjustment.Get material grade name.doubleGet purchased equipment cost.doubleGet total cost using simple weight-based method.doubleGet total module cost.inthashCode()voidsetCostCalculator(CostEstimationCalculator calculator) Set the cost estimation calculator.voidsetCostPerWeightUnit(double cost) Set cost per weight unit.voidsetCurrentCepci(double cepci) Set current CEPCI for cost escalation.voidsetEquipmentType(String type) Set equipment type.voidsetLocationFactor(double factor) Set location factor for regional cost adjustment.voidsetMaterialOfConstruction(String material) Set material of construction for cost estimation.Export cost estimate to compact JSON format.toJson()Export cost estimate to JSON format.toMap()Convert cost estimate to map for JSON export.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
costPerWeightUnit
private double costPerWeightUnitCost per weight unit ($/kg) - simple estimation. -
mechanicalEquipment
Associated mechanical design. -
costCalculator
Cost estimation calculator. -
purchasedEquipmentCost
protected double purchasedEquipmentCostPurchased equipment cost in USD. -
bareModuleCost
protected double bareModuleCostBare module cost in USD. -
totalModuleCost
protected double totalModuleCostTotal module cost in USD. -
grassRootsCost
protected double grassRootsCostGrass roots cost in USD. -
installationManHours
protected double installationManHoursInstallation labor man-hours. -
annualOperatingCost
protected double annualOperatingCostAnnual operating cost in USD. -
equipmentType
Equipment type identifier.
-
-
Constructor Details
-
UnitCostEstimateBaseClass
public UnitCostEstimateBaseClass()Default constructor. -
UnitCostEstimateBaseClass
Constructor with mechanical equipment.- Parameters:
mechanicalEquipment- aMechanicalDesignobject
-
-
Method Details
-
calculateCostEstimate
public void calculateCostEstimate()Calculate all cost estimates for the equipment.This method calculates purchased equipment cost, bare module cost, total module cost, and grass roots cost based on the equipment weight and design pressure.
-
calcPurchasedEquipmentCost
protected double calcPurchasedEquipmentCost()Calculate purchased equipment cost.Override this method in subclasses to provide equipment-specific cost correlations.
- Returns:
- purchased equipment cost in USD
-
getTotalCost
public double getTotalCost()Get total cost using simple weight-based method.- Returns:
- the total cost in USD
-
getPurchasedEquipmentCost
public double getPurchasedEquipmentCost()Get purchased equipment cost.- Returns:
- purchased equipment cost in USD
-
getBareModuleCost
public double getBareModuleCost()Get bare module cost.- Returns:
- bare module cost in USD
-
getTotalModuleCost
public double getTotalModuleCost()Get total module cost.- Returns:
- total module cost in USD
-
getGrassRootsCost
public double getGrassRootsCost()Get grass roots cost.- Returns:
- grass roots cost in USD
-
getInstallationManHours
public double getInstallationManHours()Get installation labor man-hours.- Returns:
- installation man-hours
-
calcAnnualOperatingCost
public double calcAnnualOperatingCost(double electricityCostPerKWh, double steamCostPerTonne, double coolingWaterCostPerM3, int operatingHoursPerYear) Calculate annual operating cost.- Parameters:
electricityCostPerKWh- electricity cost in $/kWhsteamCostPerTonne- steam cost in $/tonnecoolingWaterCostPerM3- cooling water cost in $/m3operatingHoursPerYear- annual operating hours- Returns:
- annual operating cost in USD
-
generateBillOfMaterials
-
toMap
-
toJson
-
toCompactJson
Export cost estimate to compact JSON format.- Returns:
- compact JSON string
-
getCostCalculator
Get the cost estimation calculator.- Returns:
- cost calculator instance
-
setCostCalculator
Set the cost estimation calculator.- Parameters:
calculator- cost calculator instance
-
getCostPerWeightUnit
public double getCostPerWeightUnit()Get cost per weight unit.- Returns:
- cost per kg in USD
-
setCostPerWeightUnit
public void setCostPerWeightUnit(double cost) Set cost per weight unit.- Parameters:
cost- cost per kg in USD
-
getEquipmentType
-
setEquipmentType
Set equipment type.- Parameters:
type- equipment type string
-
setMaterialOfConstruction
Set material of construction for cost estimation.- Parameters:
material- material name (e.g., "Carbon Steel", "SS316", "Monel")
-
setLocationFactor
public void setLocationFactor(double factor) Set location factor for regional cost adjustment.- Parameters:
factor- location factor (1.0 = US Gulf Coast)
-
setCurrentCepci
public void setCurrentCepci(double cepci) Set current CEPCI for cost escalation.- Parameters:
cepci- Chemical Engineering Plant Cost Index
-
hashCode
-
getMaterialFactor
public double getMaterialFactor()Get material factor for cost adjustment.- Returns:
- material factor
-
getMaterialGrade
-
equals
-