Class BiorefineryCostEstimator

java.lang.Object
neqsim.process.util.fielddevelopment.BiorefineryCostEstimator
All Implemented Interfaces:
Serializable

public class BiorefineryCostEstimator extends Object implements Serializable
Techno-economic analysis (TEA) cost estimator for biorefinery plants.

Provides CAPEX and OPEX estimation for biorefinery equipment using capacity-based scaling correlations (six-tenths rule) and technology-specific installation factors. Integrates with DCFCalculator for full NPV/IRR analysis.

Supported Equipment

Base cost references for biorefinery equipment
Equipment Base Size Base Cost (kUSD) Scaling Exponent
Anaerobic Digester 5000 m3 2500 0.60
Biogas Upgrader 500 Nm3/hr 1200 0.65
Biomass Gasifier 1000 kg/hr 3500 0.70
Pyrolysis Reactor 500 kg/hr 2800 0.65
Biomass Dryer 5000 kg/hr 600 0.55
Gas Cleanup 1000 Nm3/hr 800 0.60

Usage example:

BiorefineryCostEstimator estimator = new BiorefineryCostEstimator();
estimator.addEquipment(BiorefineryCostEstimator.BiorefineryEquipment.ANAEROBIC_DIGESTER, 8000.0);
estimator.addEquipment(BiorefineryCostEstimator.BiorefineryEquipment.BIOGAS_UPGRADER, 750.0);
estimator.setBiomassPrice(30.0); // USD/tonne
estimator.setBiomassConsumptionTonnesPerYear(50000.0);
estimator.setProductPrice(0.80); // USD/Nm3 biomethane
estimator.setAnnualProductionNm3(4.0e6);
estimator.calculate();

double capex = estimator.getTotalCapexUSD();
double opex = estimator.getAnnualOpexUSD();
double lcoe = estimator.getLCOE();
Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • equipmentTypes

      Equipment type array.
    • equipmentCapacities

      private double[] equipmentCapacities
      Actual capacity for each equipment item.
    • equipmentCount

      private int equipmentCount
      Number of equipment items added.
    • MAX_EQUIPMENT

      private static final int MAX_EQUIPMENT
      Maximum number of equipment items.
      See Also:
    • biomassPriceUSDPerTonne

      private double biomassPriceUSDPerTonne
      Biomass feedstock price in USD per tonne.
    • biomassConsumptionTonnesPerYear

      private double biomassConsumptionTonnesPerYear
      Annual biomass consumption in tonnes.
    • productPrice

      private double productPrice
      Product price per unit (e.g. USD/Nm3 for gas, USD/kg for bio-oil).
    • annualProduction

      private double annualProduction
      Annual product output in product units.
    • productUnit

      private String productUnit
      Product unit description (for display).
    • labourCostFraction

      private double labourCostFraction
      Labour cost as fraction of CAPEX per year.
    • maintenanceCostFraction

      private double maintenanceCostFraction
      Maintenance cost as fraction of CAPEX per year.
    • insuranceFraction

      private double insuranceFraction
      Insurance and overhead fraction of CAPEX per year.
    • utilityCostUSDPerKWh

      private double utilityCostUSDPerKWh
      Utility cost rate in USD/kWh.
    • annualUtilityConsumptionKWh

      private double annualUtilityConsumptionKWh
      Annual utility consumption in kWh.
    • locationFactor

      private double locationFactor
      Location factor (1.0 = US Gulf Coast baseline).
    • costEscalationIndex

      private double costEscalationIndex
      Cost year escalation index (1.0 = base year).
    • contingencyFraction

      private double contingencyFraction
      Project contingency as fraction of installed equipment cost.
    • totalPurchasedEquipmentCostUSD

      private double totalPurchasedEquipmentCostUSD
      Total purchased equipment cost in USD.
    • totalInstalledCostUSD

      private double totalInstalledCostUSD
      Total installed equipment cost in USD.
    • totalCapexUSD

      private double totalCapexUSD
      Total CAPEX (installed + contingency) in USD.
    • annualFeedstockCostUSD

      private double annualFeedstockCostUSD
      Annual feedstock cost in USD.
    • annualLabourCostUSD

      private double annualLabourCostUSD
      Annual labour cost in USD.
    • annualMaintenanceCostUSD

      private double annualMaintenanceCostUSD
      Annual maintenance cost in USD.
    • annualUtilityCostUSD

      private double annualUtilityCostUSD
      Annual utility cost in USD.
    • annualOpexUSD

      private double annualOpexUSD
      Total annual OPEX in USD.
    • annualRevenueUSD

      private double annualRevenueUSD
      Annual revenue in USD.
    • lcoe

      private double lcoe
      Levelised cost of energy/product (LCOE/LCOP).
    • calculated

      private boolean calculated
      Whether the estimation has been calculated.
  • Constructor Details

    • BiorefineryCostEstimator

      public BiorefineryCostEstimator()
      Creates a new biorefinery cost estimator.
  • Method Details

    • addEquipment

      public void addEquipment(BiorefineryCostEstimator.BiorefineryEquipment equipment, double actualCapacity)
      Adds an equipment item with its actual capacity.
      Parameters:
      equipment - the equipment type
      actualCapacity - the actual capacity in the equipment's native units
    • setBiomassPrice

      public void setBiomassPrice(double priceUSDPerTonne)
      Sets the biomass feedstock price.
      Parameters:
      priceUSDPerTonne - price in USD per tonne of biomass
    • getBiomassPrice

      public double getBiomassPrice()
      Gets the biomass price.
      Returns:
      biomass price in USD/tonne
    • setBiomassConsumptionTonnesPerYear

      public void setBiomassConsumptionTonnesPerYear(double tonnes)
      Sets the annual biomass consumption.
      Parameters:
      tonnes - annual consumption in tonnes
    • setProduct

      public void setProduct(double price, double annualProd, String unit)
      Sets the product price and annual production for revenue calculation.
      Parameters:
      price - product price per unit
      annualProd - annual production in product units
      unit - product unit description (e.g. "Nm3", "kg", "MWh")
    • setProductPrice

      public void setProductPrice(double price)
      Sets the product price per unit.
      Parameters:
      price - product price per unit
    • setAnnualProductionNm3

      public void setAnnualProductionNm3(double production)
      Sets the annual production volume.
      Parameters:
      production - annual production volume
    • setLabourCostFraction

      public void setLabourCostFraction(double fraction)
      Sets the labour cost fraction of CAPEX per year.
      Parameters:
      fraction - labour cost fraction (e.g. 0.03 for 3%)
    • setMaintenanceCostFraction

      public void setMaintenanceCostFraction(double fraction)
      Sets the maintenance cost fraction of CAPEX per year.
      Parameters:
      fraction - maintenance cost fraction (e.g. 0.025 for 2.5%)
    • setInsuranceFraction

      public void setInsuranceFraction(double fraction)
      Sets the insurance and overhead cost fraction.
      Parameters:
      fraction - insurance fraction (e.g. 0.015 for 1.5%)
    • setUtilityCost

      public void setUtilityCost(double pricePerKWh, double annualKWh)
      Sets the utility cost parameters.
      Parameters:
      pricePerKWh - utility price in USD/kWh
      annualKWh - annual utility consumption in kWh
    • setLocationFactor

      public void setLocationFactor(double factor)
      Sets the location factor for regional cost adjustment.
      Parameters:
      factor - location factor (1.0 = US Gulf Coast baseline)
    • setCostEscalationIndex

      public void setCostEscalationIndex(double index)
      Sets the cost escalation index for year adjustment.
      Parameters:
      index - escalation index (1.0 = base year)
    • setContingencyFraction

      public void setContingencyFraction(double fraction)
      Sets the project contingency fraction.
      Parameters:
      fraction - contingency as fraction of installed cost (e.g. 0.15 for 15%)
    • calculateEquipmentCost

      public double calculateEquipmentCost(BiorefineryCostEstimator.BiorefineryEquipment equipment, double actualCapacity)
      Calculates the scaled purchased equipment cost for a single item.

      Uses the power-law scaling correlation: Cost = BaseCost * (Capacity / BaseCapacity)^n

      Parameters:
      equipment - the equipment type
      actualCapacity - actual capacity
      Returns:
      purchased equipment cost in USD
    • calculate

      public void calculate()
      Runs the cost estimation calculation.
    • toDCFCalculator

      public DCFCalculator toDCFCalculator(int projectLifeYears, double discountRate)
      Creates a configured DCFCalculator from this cost estimate for full NPV/IRR analysis.
      Parameters:
      projectLifeYears - project life in years
      discountRate - discount rate (e.g. 0.08)
      Returns:
      configured DCFCalculator ready to calculate
    • getTotalPurchasedEquipmentCostUSD

      public double getTotalPurchasedEquipmentCostUSD()
      Returns the total purchased equipment cost.
      Returns:
      purchased equipment cost in USD
    • getTotalInstalledCostUSD

      public double getTotalInstalledCostUSD()
      Returns the total installed cost (equipment + installation).
      Returns:
      installed cost in USD
    • getTotalCapexUSD

      public double getTotalCapexUSD()
      Returns the total CAPEX (installed + contingency).
      Returns:
      total CAPEX in USD
    • getAnnualOpexUSD

      public double getAnnualOpexUSD()
      Returns the total annual OPEX.
      Returns:
      annual OPEX in USD
    • getAnnualFeedstockCostUSD

      public double getAnnualFeedstockCostUSD()
      Returns the annual feedstock cost.
      Returns:
      feedstock cost in USD/yr
    • getAnnualRevenueUSD

      public double getAnnualRevenueUSD()
      Returns the annual revenue.
      Returns:
      revenue in USD/yr
    • getLCOE

      public double getLCOE()
      Returns the levelised cost of product (LCOE/LCOP).
      Returns:
      levelised cost per unit of production
    • isCalculated

      public boolean isCalculated()
      Returns weather the estimation has been calculated.
      Returns:
      true if calculated
    • getResults

      public Map<String,Object> getResults()
      Returns a detailed results map.
      Returns:
      map of result names to values
    • toJson

      public String toJson()
      Returns a JSON string with the full cost estimation results.
      Returns:
      JSON string
    • toString

      public String toString()
      Overrides:
      toString in class Object