Class TankCostEstimate

java.lang.Object
neqsim.process.costestimation.UnitCostEstimateBaseClass
neqsim.process.costestimation.tank.TankCostEstimate
All Implemented Interfaces:
Serializable

public class TankCostEstimate extends UnitCostEstimateBaseClass
Cost estimation class for storage tanks.

This class provides tank-specific cost estimation methods using chemical engineering cost correlations for atmospheric and low-pressure storage tanks per API 650/620 standards.

Correlations are based on:

  • Turton et al. - Analysis, Synthesis and Design of Chemical Processes
  • Peters & Timmerhaus - Plant Design and Economics
  • API 650 - Welded Tanks for Oil Storage
  • API 620 - Low-Pressure Storage Tanks
Version:
1.0
Author:
AGAS
See Also:
  • Field Details

    • serialVersionUID

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

      private String tankType
      Tank type.
    • tankVolume

      private double tankVolume
      Tank volume in m3.
    • tankDiameter

      private double tankDiameter
      Tank diameter in meters.
    • tankHeight

      private double tankHeight
      Tank height in meters.
    • designPressure

      private double designPressure
      Design pressure in barg (0 for atmospheric).
    • floatingRoof

      private boolean floatingRoof
      Include floating roof.
    • includeFoundation

      private boolean includeFoundation
      Include foundation cost.
    • includeHeatingCoils

      private boolean includeHeatingCoils
      Include heating coils.
    • includeInsulation

      private boolean includeInsulation
      Include insulation.
    • insulationThickness

      private double insulationThickness
      Insulation thickness in mm.
  • Constructor Details

    • TankCostEstimate

      public TankCostEstimate(TankMechanicalDesign mechanicalEquipment)
      Constructor for TankCostEstimate.
      Parameters:
      mechanicalEquipment - the tank mechanical design
  • Method Details

    • setTankType

      public void setTankType(String type)
      Set tank type.
      Parameters:
      type - tank type ("fixed-cone-roof", "fixed-dome-roof", "floating-roof", "spherical", "horizontal")
    • getTankType

      public String getTankType()
      Get tank type.
      Returns:
      tank type
    • setTankVolume

      public void setTankVolume(double volume)
      Set tank volume.
      Parameters:
      volume - tank volume in m3
    • getTankVolume

      public double getTankVolume()
      Get tank volume.
      Returns:
      tank volume in m3
    • setTankDiameter

      public void setTankDiameter(double diameter)
      Set tank diameter.
      Parameters:
      diameter - tank diameter in meters
    • setTankHeight

      public void setTankHeight(double height)
      Set tank height.
      Parameters:
      height - tank height in meters
    • setDesignPressure

      public void setDesignPressure(double pressure)
      Set design pressure.
      Parameters:
      pressure - design pressure in barg
    • setFloatingRoof

      public void setFloatingRoof(boolean floating)
      Set floating roof option.
      Parameters:
      floating - true for floating roof
    • setIncludeFoundation

      public void setIncludeFoundation(boolean include)
      Set whether to include foundation.
      Parameters:
      include - true to include foundation cost
    • setIncludeHeatingCoils

      public void setIncludeHeatingCoils(boolean include)
      Set whether to include heating coils.
      Parameters:
      include - true to include heating coils
    • setIncludeInsulation

      public void setIncludeInsulation(boolean include)
      Set whether to include insulation.
      Parameters:
      include - true to include insulation
    • setInsulationThickness

      public void setInsulationThickness(double thickness)
      Set insulation thickness.
      Parameters:
      thickness - insulation thickness in mm
    • 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
    • calcFixedRoofTankCost

      private double calcFixedRoofTankCost()
      Calculate fixed roof tank cost (cone or dome).
      Returns:
      cost in USD
    • calcFloatingRoofTankCost

      private double calcFloatingRoofTankCost()
      Calculate floating roof tank cost.
      Returns:
      cost in USD
    • calcSphericalTankCost

      private double calcSphericalTankCost()
      Calculate spherical tank cost.
      Returns:
      cost in USD
    • calcHorizontalTankCost

      private double calcHorizontalTankCost()
      Calculate horizontal tank cost.
      Returns:
      cost in USD
    • calcFoundationCost

      private double calcFoundationCost()
      Calculate foundation cost.
      Returns:
      foundation cost in USD
    • calcHeatingCoilsCost

      private double calcHeatingCoilsCost()
      Calculate heating coils cost.
      Returns:
      heating coils cost in USD
    • calcInsulationCost

      private double calcInsulationCost()
      Calculate insulation cost.
      Returns:
      insulation cost in USD
    • calcAnnualOperatingCost

      public double calcAnnualOperatingCost(int operatingHoursPerYear)
      Calculate annual operating cost (inspection, maintenance).
      Parameters:
      operatingHoursPerYear - operating hours per year
      Returns:
      annual operating cost 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