Class OperationalRiskResult
java.lang.Object
neqsim.process.safety.risk.OperationalRiskResult
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
DynamicRiskResult
Result of an operational risk Monte Carlo simulation.
Contains production forecasts with uncertainty quantification:
- Mean, P10, P50, P90 production values
- Availability statistics
- Failure event counts and durations
- Equipment-specific availability data
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate intprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate static final longprivate doubleprivate double -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddEquipmentAvailability(String name, double availability) private doublecalculateMean(double[] values) voidcalculateStatistics(double[] productions, double[] availabilities, int[] failureCounts, double[] downtimes) Calculates statistics from Monte Carlo results.private doublecalculateStdDev(double[] values, double mean) doubleGets the mean availability percentage.doubleGets the baseline production rate.doubleCalculates coefficient of variation (uncertainty measure).Gets equipment-specific availability data.doubleCalculates expected production loss.intGets the number of Monte Carlo iterations.doubleGets the maximum availability percentage.doubleGets the maximum downtime in hours.doubleGets the maximum possible production (100% availability).doubleGets the maximum production across all iterations.doubleGets the mean availability percentage.doubleGets the mean downtime in hours.doubleGets the mean number of failure events.doubleGets the mean production.doubleGets the minimum availability percentage.doubleGets the minimum production across all iterations.doubleGets the P10 production (optimistic).doubleGets the P50 production (median).doubleGets the P90 production (conservative).private doublegetPercentile(double[] sorted, int percentile) doubleCalculates production efficiency (actual vs possible).doubleGets the standard deviation of production.doubleGets the simulation time horizon in days.voidsetBaselineProductionRate(double rate) voidsetIterations(int iterations) voidsetMaxPossibleProduction(double max) voidsetTimeHorizonDays(double days) toJson()Serializes the result to JSON.toMap()Generates a summary map.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
iterations
private int iterations -
timeHorizonDays
private double timeHorizonDays -
baselineProductionRate
private double baselineProductionRate -
maxPossibleProduction
private double maxPossibleProduction -
meanProduction
private double meanProduction -
p10Production
private double p10Production -
p50Production
private double p50Production -
p90Production
private double p90Production -
minProduction
private double minProduction -
maxProduction
private double maxProduction -
stdDevProduction
private double stdDevProduction -
meanAvailability
private double meanAvailability -
minAvailability
private double minAvailability -
maxAvailability
private double maxAvailability -
meanFailureCount
private double meanFailureCount -
meanDowntimeHours
private double meanDowntimeHours -
maxDowntimeHours
private double maxDowntimeHours -
equipmentAvailability
-
-
Constructor Details
-
OperationalRiskResult
public OperationalRiskResult()Default constructor.
-
-
Method Details
-
calculateStatistics
public void calculateStatistics(double[] productions, double[] availabilities, int[] failureCounts, double[] downtimes) Calculates statistics from Monte Carlo results.- Parameters:
productions- array of total production valuesavailabilities- array of availability fractionsfailureCounts- array of failure countsdowntimes- array of downtime hours
-
calculateMean
private double calculateMean(double[] values) -
calculateStdDev
private double calculateStdDev(double[] values, double mean) -
getPercentile
private double getPercentile(double[] sorted, int percentile) -
setIterations
public void setIterations(int iterations) -
setTimeHorizonDays
public void setTimeHorizonDays(double days) -
setBaselineProductionRate
public void setBaselineProductionRate(double rate) -
setMaxPossibleProduction
public void setMaxPossibleProduction(double max) -
addEquipmentAvailability
-
getIterations
public int getIterations()Gets the number of Monte Carlo iterations.- Returns:
- iterations
-
getTimeHorizonDays
public double getTimeHorizonDays()Gets the simulation time horizon in days.- Returns:
- time horizon days
-
getBaselineProductionRate
public double getBaselineProductionRate()Gets the baseline production rate.- Returns:
- production rate in kg/hr
-
getMaxPossibleProduction
public double getMaxPossibleProduction()Gets the maximum possible production (100% availability).- Returns:
- max production in kg
-
getMeanProduction
public double getMeanProduction()Gets the mean production.- Returns:
- mean production in kg
-
getP10Production
public double getP10Production()Gets the P10 production (optimistic).- Returns:
- P10 production in kg
-
getP50Production
public double getP50Production()Gets the P50 production (median).- Returns:
- P50 production in kg
-
getP90Production
public double getP90Production()Gets the P90 production (conservative).- Returns:
- P90 production in kg
-
getMinProduction
public double getMinProduction()Gets the minimum production across all iterations.- Returns:
- minimum production in kg
-
getMaxProduction
public double getMaxProduction()Gets the maximum production across all iterations.- Returns:
- maximum production in kg
-
getStdDevProduction
public double getStdDevProduction()Gets the standard deviation of production.- Returns:
- standard deviation in kg
-
getAvailability
public double getAvailability()Gets the mean availability percentage.- Returns:
- availability percentage (0-100)
-
getMeanAvailability
public double getMeanAvailability()Gets the mean availability percentage.- Returns:
- availability percentage (0-100)
-
getMinAvailability
public double getMinAvailability()Gets the minimum availability percentage.- Returns:
- min availability percentage
-
getMaxAvailability
public double getMaxAvailability()Gets the maximum availability percentage.- Returns:
- max availability percentage
-
getMeanFailureCount
public double getMeanFailureCount()Gets the mean number of failure events.- Returns:
- mean failure count
-
getMeanDowntimeHours
public double getMeanDowntimeHours()Gets the mean downtime in hours.- Returns:
- mean downtime hours
-
getMaxDowntimeHours
public double getMaxDowntimeHours()Gets the maximum downtime in hours.- Returns:
- max downtime hours
-
getEquipmentAvailability
-
getProductionEfficiency
public double getProductionEfficiency()Calculates production efficiency (actual vs possible).- Returns:
- efficiency percentage (0-100)
-
getExpectedProductionLoss
public double getExpectedProductionLoss()Calculates expected production loss.- Returns:
- production loss in kg
-
getCoefficientOfVariation
public double getCoefficientOfVariation()Calculates coefficient of variation (uncertainty measure).- Returns:
- CV as percentage
-
toMap
-
toJson
-
toString
-