Class DynamicRiskResult

java.lang.Object
neqsim.process.safety.risk.OperationalRiskResult
neqsim.process.safety.risk.dynamic.DynamicRiskResult
All Implemented Interfaces:
Serializable

public class DynamicRiskResult extends OperationalRiskResult implements Serializable
Result from dynamic risk simulation including transient effects.

Extends standard risk results with transient-specific metrics:

  • Total transient losses from startup/shutdown
  • Transient loss as fraction of total loss
  • Detailed breakdown by failure phase
Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • simulateTransients

      private boolean simulateTransients
    • rampUpTimeHours

      private double rampUpTimeHours
    • timestepHours

      private double timestepHours
    • meanTransientLoss

      private double meanTransientLoss
    • meanSteadyStateLoss

      private double meanSteadyStateLoss
    • p10TransientLoss

      private double p10TransientLoss
    • p50TransientLoss

      private double p50TransientLoss
    • p90TransientLoss

      private double p90TransientLoss
    • transientLossFraction

      private double transientLossFraction
    • meanTransientCount

      private double meanTransientCount
    • totalTransientEvents

      private int totalTransientEvents
    • transientLosses

      private double[] transientLosses
    • steadyStateLosses

      private double[] steadyStateLosses
  • Constructor Details

    • DynamicRiskResult

      public DynamicRiskResult()
      Creates a dynamic risk result.
  • Method Details

    • isSimulateTransients

      public boolean isSimulateTransients()
      Returns whether transients were simulated.
      Returns:
      true if transients simulated
    • getRampUpTimeHours

      public double getRampUpTimeHours()
      Gets the ramp-up time used in simulation.
      Returns:
      ramp-up time in hours
    • getTimestepHours

      public double getTimestepHours()
      Gets the timestep used in simulation.
      Returns:
      timestep in hours
    • getMeanTransientLoss

      public double getMeanTransientLoss()
      Gets the mean transient loss.
      Returns:
      mean transient loss in kg
    • getMeanSteadyStateLoss

      public double getMeanSteadyStateLoss()
      Gets the mean steady-state loss.
      Returns:
      mean steady-state loss in kg
    • getP10TransientLoss

      public double getP10TransientLoss()
      Gets the P10 transient loss (10th percentile).
      Returns:
      P10 transient loss in kg
    • getP50TransientLoss

      public double getP50TransientLoss()
      Gets the P50 transient loss (median).
      Returns:
      P50 transient loss in kg
    • getP90TransientLoss

      public double getP90TransientLoss()
      Gets the P90 transient loss (90th percentile).
      Returns:
      P90 transient loss in kg
    • getTransientLossFraction

      public double getTransientLossFraction()
      Gets the fraction of total loss from transients.
      Returns:
      transient loss fraction (0-1)
    • getTransientLossPercent

      public double getTransientLossPercent()
      Gets the fraction of total loss from transients as percentage.
      Returns:
      transient loss percentage (0-100)
    • getMeanTransientCount

      public double getMeanTransientCount()
      Gets the mean transient event count per iteration.
      Returns:
      mean transient count
    • getTotalTransientEvents

      public int getTotalTransientEvents()
      Gets the total transient events across all iterations.
      Returns:
      total transient events
    • getTotalMeanLoss

      public double getTotalMeanLoss()
      Gets the total mean loss (transient + steady-state).
      Returns:
      total mean loss in kg
    • setSimulateTransients

      public void setSimulateTransients(boolean simulate)
      Sets whether transients were simulated.
      Parameters:
      simulate - true if transients simulated
    • setRampUpTimeHours

      public void setRampUpTimeHours(double hours)
      Sets the ramp-up time.
      Parameters:
      hours - ramp-up time in hours
    • setTimestepHours

      public void setTimestepHours(double hours)
      Sets the timestep.
      Parameters:
      hours - timestep in hours
    • calculateStatistics

      public void calculateStatistics(double[] totalProductions, double[] transientLosses, double[] steadyStateLosses, double[] availabilities, int[] failureCounts, int[] transientCounts)
      Calculates statistics from raw simulation data.
      Parameters:
      totalProductions - production totals per iteration
      transientLosses - transient losses per iteration
      steadyStateLosses - steady-state losses per iteration
      availabilities - availability per iteration
      failureCounts - failure counts per iteration
      transientCounts - transient event counts per iteration
    • compareWithStatic

      public Map<String,Object> compareWithStatic(OperationalRiskResult staticResult)
      Compares result with static (no transient) simulation.
      Parameters:
      staticResult - result from non-dynamic simulation
      Returns:
      comparison map
    • toMap

      public Map<String,Object> toMap()
      Converts to map for JSON serialization.
      Overrides:
      toMap in class OperationalRiskResult
      Returns:
      map representation
    • toJson

      public String toJson()
      Converts to JSON string.
      Overrides:
      toJson in class OperationalRiskResult
      Returns:
      JSON representation
    • toString

      public String toString()
      Overrides:
      toString in class OperationalRiskResult