Class UncertaintyResult

java.lang.Object
neqsim.process.util.uncertainty.UncertaintyResult
All Implemented Interfaces:
Serializable

public class UncertaintyResult extends Object implements Serializable
Result of an uncertainty propagation analysis for a process simulation.

Contains uncertainty bounds for all outputs along with the sensitivity matrix used for the calculation.

Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • outputUncertainties

      private final Map<String, UncertaintyBounds> outputUncertainties
    • sensitivityMatrix

      private final SensitivityMatrix sensitivityMatrix
    • monteCarloSamples

      private final int monteCarloSamples
    • convergenceMetric

      private final double convergenceMetric
  • Constructor Details

    • UncertaintyResult

      public UncertaintyResult(Map<String, UncertaintyBounds> outputUncertainties, SensitivityMatrix sensitivityMatrix)
      Creates an uncertainty result from analytical propagation.
      Parameters:
      outputUncertainties - map of output names to uncertainty bounds
      sensitivityMatrix - the sensitivity matrix used
    • UncertaintyResult

      public UncertaintyResult(Map<String, UncertaintyBounds> outputUncertainties, int monteCarloSamples, double convergenceMetric)
      Creates an uncertainty result from Monte Carlo analysis.
      Parameters:
      outputUncertainties - map of output names to uncertainty bounds
      monteCarloSamples - number of Monte Carlo samples used
      convergenceMetric - convergence metric (e.g., coefficient of variation of the mean)
  • Method Details

    • getUncertainty

      public UncertaintyBounds getUncertainty(String outputName)
      Gets uncertainty bounds for a specific output variable.
      Parameters:
      outputName - the output variable name
      Returns:
      uncertainty bounds or null if not found
    • getAllUncertainties

      public Map<String, UncertaintyBounds> getAllUncertainties()
      Gets all output uncertainties.
      Returns:
      map of output names to uncertainty bounds
    • getSensitivityMatrix

      public SensitivityMatrix getSensitivityMatrix()
      Gets the sensitivity matrix (if available).
      Returns:
      sensitivity matrix or null for Monte Carlo results
    • isMonteCarloResult

      public boolean isMonteCarloResult()
      Checks if the result is from Monte Carlo analysis.
      Returns:
      true if Monte Carlo was used
    • getMonteCarloSamples

      public int getMonteCarloSamples()
      Gets the number of Monte Carlo samples used.
      Returns:
      number of samples, or 0 for analytical results
    • getConvergenceMetric

      public double getConvergenceMetric()
      Gets the convergence metric for Monte Carlo results.
      Returns:
      convergence metric, or 0 for analytical results
    • getMostUncertainOutput

      public String getMostUncertainOutput()
      Gets the output with the highest relative uncertainty.
      Returns:
      output name with highest uncertainty
    • meetsUncertaintyThreshold

      public boolean meetsUncertaintyThreshold(double maxRelativeUncertainty)
      Checks if all outputs meet a specified relative uncertainty threshold.
      Parameters:
      maxRelativeUncertainty - maximum acceptable relative uncertainty (e.g., 0.05 for 5%)
      Returns:
      true if all outputs meet the threshold
    • getOutputsExceedingThreshold

      public Map<String, UncertaintyBounds> getOutputsExceedingThreshold(double threshold)
      Gets outputs that exceed a relative uncertainty threshold.
      Parameters:
      threshold - maximum acceptable relative uncertainty
      Returns:
      map of output names to their uncertainty bounds that exceed the threshold
    • getSummary

      public String getSummary()
      Generates a summary string of the uncertainty analysis.
      Returns:
      formatted summary
    • toString

      public String toString()
      Overrides:
      toString in class Object