Class ProductionImpactResult

java.lang.Object
neqsim.process.util.optimizer.ProductionImpactResult
All Implemented Interfaces:
Serializable

public class ProductionImpactResult extends Object implements Serializable
Result of a production impact analysis for equipment failure scenarios.

This class contains comprehensive information about the impact of equipment failure on production, including:

  • Baseline (normal) production rates
  • Production with failed equipment
  • Production loss (absolute and percentage)
  • Comparison to full plant shutdown
  • Economic impact estimates
  • Recommended operating mode
Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • equipmentName

      private String equipmentName
    • equipmentType

      private String equipmentType
    • failureMode

      private EquipmentFailureMode failureMode
    • baselineProductionRate

      private double baselineProductionRate
    • productionWithFailure

      private double productionWithFailure
    • optimizedProductionWithFailure

      private double optimizedProductionWithFailure
    • fullShutdownProduction

      private double fullShutdownProduction
    • absoluteLoss

      private double absoluteLoss
    • percentLoss

      private double percentLoss
    • lossVsFullShutdown

      private double lossVsFullShutdown
    • economicLossPerHour

      private double economicLossPerHour
    • economicLossPerDay

      private double economicLossPerDay
    • productPricePerKg

      private double productPricePerKg
    • newBottleneck

      private String newBottleneck
    • newBottleneckUtilization

      private double newBottleneckUtilization
    • originalBottleneck

      private String originalBottleneck
    • originalBottleneckUtilization

      private double originalBottleneckUtilization
    • recommendedAction

      private ProductionImpactResult.RecommendedAction recommendedAction
    • recommendationReason

      private String recommendationReason
    • optimizedSetpoints

      private Map<String,Double> optimizedSetpoints
    • affectedEquipment

      private List<String> affectedEquipment
    • baselinePower

      private double baselinePower
    • powerWithFailure

      private double powerWithFailure
    • powerSavings

      private double powerSavings
    • specificEnergyBaseline

      private double specificEnergyBaseline
    • specificEnergyWithFailure

      private double specificEnergyWithFailure
    • estimatedRecoveryTime

      private double estimatedRecoveryTime
    • timeToImplementChanges

      private double timeToImplementChanges
    • analysisTimestamp

      private long analysisTimestamp
    • analysisComputeTime

      private double analysisComputeTime
    • converged

      private boolean converged
    • analysisNotes

      private String analysisNotes
  • Constructor Details

    • ProductionImpactResult

      public ProductionImpactResult()
      Creates a new production impact result.
    • ProductionImpactResult

      public ProductionImpactResult(String equipmentName, EquipmentFailureMode failureMode)
      Creates a production impact result for a specific equipment failure.
      Parameters:
      equipmentName - name of the failed equipment
      failureMode - the failure mode
  • Method Details

    • calculateDerivedMetrics

      public void calculateDerivedMetrics()
      Calculates derived metrics from the set production values.
    • determineRecommendedAction

      private void determineRecommendedAction()
    • getEquipmentName

      public String getEquipmentName()
      Gets the equipment name.
      Returns:
      the equipment name
    • setEquipmentName

      public void setEquipmentName(String equipmentName)
      Sets the equipment name.
      Parameters:
      equipmentName - the equipment name
    • getEquipmentType

      public String getEquipmentType()
      Gets the equipment type.
      Returns:
      the equipment type
    • setEquipmentType

      public void setEquipmentType(String equipmentType)
      Sets the equipment type.
      Parameters:
      equipmentType - the equipment type
    • getFailureMode

      public EquipmentFailureMode getFailureMode()
      Gets the failure mode.
      Returns:
      the failure mode
    • setFailureMode

      public void setFailureMode(EquipmentFailureMode failureMode)
      Sets the failure mode.
      Parameters:
      failureMode - the failure mode
    • getBaselineProductionRate

      public double getBaselineProductionRate()
      Gets the baseline production rate in kg/hr.
      Returns:
      the baseline rate
    • setBaselineProductionRate

      public void setBaselineProductionRate(double rate)
      Sets the baseline production rate.
      Parameters:
      rate - the rate in kg/hr
    • getProductionWithFailure

      public double getProductionWithFailure()
      Gets the production rate with failure in kg/hr.
      Returns:
      the production with failure
    • setProductionWithFailure

      public void setProductionWithFailure(double rate)
      Sets the production rate with failure.
      Parameters:
      rate - the rate in kg/hr
    • getOptimizedProductionWithFailure

      public double getOptimizedProductionWithFailure()
      Gets the optimized production with failure in kg/hr.
      Returns:
      the optimized production
    • setOptimizedProductionWithFailure

      public void setOptimizedProductionWithFailure(double rate)
      Sets the optimized production with failure.
      Parameters:
      rate - the rate in kg/hr
    • getFullShutdownProduction

      public double getFullShutdownProduction()
      Gets the full shutdown production (usually 0).
      Returns:
      the shutdown production
    • setFullShutdownProduction

      public void setFullShutdownProduction(double rate)
      Sets the full shutdown production.
      Parameters:
      rate - the rate in kg/hr
    • getAbsoluteLoss

      public double getAbsoluteLoss()
      Gets the absolute production loss in kg/hr.
      Returns:
      the absolute loss
    • getPercentLoss

      public double getPercentLoss()
      Gets the production loss percentage.
      Returns:
      the percent loss
    • getLossVsFullShutdown

      public double getLossVsFullShutdown()
      Gets the production advantage over full shutdown.
      Returns:
      positive if degraded operation is better than shutdown
    • getEconomicLossPerHour

      public double getEconomicLossPerHour()
      Gets the economic loss per hour.
      Returns:
      the economic loss per hour
    • getEconomicLossPerDay

      public double getEconomicLossPerDay()
      Gets the economic loss per day.
      Returns:
      the economic loss per day
    • setProductPricePerKg

      public void setProductPricePerKg(double pricePerKg)
      Sets the product price for economic calculations.
      Parameters:
      pricePerKg - price per kg of product
    • getNewBottleneck

      public String getNewBottleneck()
      Gets the new bottleneck equipment name.
      Returns:
      the new bottleneck
    • setNewBottleneck

      public void setNewBottleneck(String bottleneck)
      Sets the new bottleneck equipment name.
      Parameters:
      bottleneck - the new bottleneck
    • getNewBottleneckUtilization

      public double getNewBottleneckUtilization()
      Gets the new bottleneck utilization.
      Returns:
      the utilization fraction
    • setNewBottleneckUtilization

      public void setNewBottleneckUtilization(double utilization)
      Sets the new bottleneck utilization.
      Parameters:
      utilization - the utilization fraction
    • getOriginalBottleneck

      public String getOriginalBottleneck()
      Gets the original bottleneck equipment name.
      Returns:
      the original bottleneck
    • setOriginalBottleneck

      public void setOriginalBottleneck(String bottleneck)
      Sets the original bottleneck equipment name.
      Parameters:
      bottleneck - the original bottleneck
    • getOriginalBottleneckUtilization

      public double getOriginalBottleneckUtilization()
      Gets the original bottleneck utilization.
      Returns:
      the utilization fraction
    • setOriginalBottleneckUtilization

      public void setOriginalBottleneckUtilization(double utilization)
      Sets the original bottleneck utilization.
      Parameters:
      utilization - the utilization fraction
    • getRecommendedAction

      public ProductionImpactResult.RecommendedAction getRecommendedAction()
      Gets the recommended action.
      Returns:
      the recommended action
    • setRecommendedAction

      public void setRecommendedAction(ProductionImpactResult.RecommendedAction action)
      Sets the recommended action.
      Parameters:
      action - the recommended action
    • getRecommendationReason

      public String getRecommendationReason()
      Gets the recommendation reason.
      Returns:
      the reason
    • setRecommendationReason

      public void setRecommendationReason(String reason)
      Sets the recommendation reason.
      Parameters:
      reason - the reason
    • getOptimizedSetpoints

      public Map<String,Double> getOptimizedSetpoints()
      Gets the optimized setpoints map.
      Returns:
      map of equipment name to recommended setpoint
    • addOptimizedSetpoint

      public void addOptimizedSetpoint(String equipmentName, double setpoint)
      Adds an optimized setpoint.
      Parameters:
      equipmentName - the equipment name
      setpoint - the recommended setpoint
    • getAffectedEquipment

      public List<String> getAffectedEquipment()
      Gets the list of affected equipment.
      Returns:
      list of affected equipment names
    • addAffectedEquipment

      public void addAffectedEquipment(String equipmentName)
      Adds affected equipment.
      Parameters:
      equipmentName - the equipment name
    • getBaselinePower

      public double getBaselinePower()
      Gets the baseline power consumption in kW.
      Returns:
      the baseline power
    • setBaselinePower

      public void setBaselinePower(double power)
      Sets the baseline power consumption.
      Parameters:
      power - the power in kW
    • getPowerWithFailure

      public double getPowerWithFailure()
      Gets the power consumption with failure in kW.
      Returns:
      the power with failure
    • setPowerWithFailure

      public void setPowerWithFailure(double power)
      Sets the power consumption with failure.
      Parameters:
      power - the power in kW
    • getPowerSavings

      public double getPowerSavings()
      Gets the power savings (positive if less power used).
      Returns:
      the power savings in kW
    • getEstimatedRecoveryTime

      public double getEstimatedRecoveryTime()
      Gets the estimated recovery time in hours.
      Returns:
      the recovery time
    • setEstimatedRecoveryTime

      public void setEstimatedRecoveryTime(double hours)
      Sets the estimated recovery time.
      Parameters:
      hours - the recovery time in hours
    • getTimeToImplementChanges

      public double getTimeToImplementChanges()
      Gets the time to implement operational changes in hours.
      Returns:
      the time to implement
    • setTimeToImplementChanges

      public void setTimeToImplementChanges(double hours)
      Sets the time to implement changes.
      Parameters:
      hours - the time in hours
    • isConverged

      public boolean isConverged()
      Checks if the analysis converged.
      Returns:
      true if converged
    • setConverged

      public void setConverged(boolean converged)
      Sets the convergence status.
      Parameters:
      converged - true if converged
    • getAnalysisNotes

      public String getAnalysisNotes()
      Gets the analysis notes.
      Returns:
      the notes
    • setAnalysisNotes

      public void setAnalysisNotes(String notes)
      Sets the analysis notes.
      Parameters:
      notes - the notes
    • setAnalysisComputeTime

      public void setAnalysisComputeTime(double timeMs)
      Sets the analysis compute time.
      Parameters:
      timeMs - the time in milliseconds
    • getAnalysisComputeTime

      public double getAnalysisComputeTime()
      Gets the analysis compute time.
      Returns:
      the time in milliseconds
    • toMap

      public Map<String,Object> toMap()
      Converts the result to a Map for easy access.
      Returns:
      map of result properties
    • toJson

      public String toJson()
      Converts to JSON string.
      Returns:
      JSON representation
    • toString

      public String toString()
      Overrides:
      toString in class Object