Class ConditionBasedReliability

java.lang.Object
neqsim.process.safety.risk.condition.ConditionBasedReliability
All Implemented Interfaces:
Serializable

public class ConditionBasedReliability extends Object implements Serializable
Condition-Based Reliability Model.

Provides dynamic reliability estimation based on real-time equipment condition data. Integrates with process monitoring to update failure probabilities based on actual operating conditions rather than generic OREDA data.

Version:
1.0
Author:
NeqSim Development Team
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • equipmentId

      private String equipmentId
      Equipment identifier.
    • equipmentName

      private String equipmentName
      Equipment name.
    • baseFailureRate

      private double baseFailureRate
      Base failure rate (failures/hour).
    • adjustedFailureRate

      private double adjustedFailureRate
      Current adjusted failure rate.
    • healthIndex

      private double healthIndex
      Health index (0-1, 1 = perfect health).
    • indicators

      Condition indicators.
    • degradationModel

      Degradation model type.
    • remainingUsefulLife

      private double remainingUsefulLife
      Remaining useful life estimate (hours).
    • rulConfidence

      private double rulConfidence
      Confidence in RUL estimate (0-1).
    • healthHistory

      History of health indices.
    • lastUpdated

      private Instant lastUpdated
      Last update timestamp.
  • Constructor Details

    • ConditionBasedReliability

      public ConditionBasedReliability(String equipmentId, String equipmentName, double baseFailureRate)
      Creates a condition-based reliability model.
      Parameters:
      equipmentId - equipment identifier
      equipmentName - equipment name
      baseFailureRate - base failure rate (failures/hour)
  • Method Details

    • addIndicator

      public void addIndicator(ConditionBasedReliability.ConditionIndicator indicator)
      Adds a condition indicator.
      Parameters:
      indicator - condition indicator
    • addVibrationIndicator

      public ConditionBasedReliability.ConditionIndicator addVibrationIndicator(String id, String name, double normal, double warning, double critical)
      Creates and adds a vibration indicator.
      Parameters:
      id - indicator ID
      name - indicator name
      normal - normal value (mm/s RMS)
      warning - warning threshold
      critical - critical threshold
      Returns:
      created indicator
    • addTemperatureIndicator

      public ConditionBasedReliability.ConditionIndicator addTemperatureIndicator(String id, String name, double normal, double warning, double critical)
      Creates and adds a temperature indicator.
      Parameters:
      id - indicator ID
      name - indicator name
      normal - normal temperature (C)
      warning - warning threshold
      critical - critical threshold
      Returns:
      created indicator
    • updateIndicator

      public void updateIndicator(String indicatorId, double value)
      Updates indicator value and recalculates health.
      Parameters:
      indicatorId - indicator ID
      value - new value
    • updateIndicators

      public void updateIndicators(Map<String,Double> values)
      Updates all indicators from a map.
      Parameters:
      values - map of indicator ID to value
    • recalculateHealth

      public void recalculateHealth()
      Recalculates health index and adjusted failure rate.
    • calculateFailureRateMultiplier

      private double calculateFailureRateMultiplier(double health)
    • estimateRUL

      private void estimateRUL()
    • getProbabilityOfFailure

      public double getProbabilityOfFailure(double hours)
      Gets probability of failure before specified time.
      Parameters:
      hours - time horizon in hours
      Returns:
      probability of failure
    • getMTTF

      public double getMTTF()
      Gets mean time to failure (MTTF).
      Returns:
      MTTF in hours
    • getAlarmingIndicators

      public List<ConditionBasedReliability.ConditionIndicator> getAlarmingIndicators()
      Gets all alarming indicators.
      Returns:
      list of alarming indicators
    • getCriticalIndicators

      public List<ConditionBasedReliability.ConditionIndicator> getCriticalIndicators()
      Gets all critical indicators.
      Returns:
      list of critical indicators
    • getEquipmentId

      public String getEquipmentId()
    • getEquipmentName

      public String getEquipmentName()
    • getBaseFailureRate

      public double getBaseFailureRate()
    • setBaseFailureRate

      public void setBaseFailureRate(double rate)
    • getAdjustedFailureRate

      public double getAdjustedFailureRate()
    • getHealthIndex

      public double getHealthIndex()
    • getIndicators

    • getDegradationModel

      public ConditionBasedReliability.DegradationModel getDegradationModel()
    • setDegradationModel

      public void setDegradationModel(ConditionBasedReliability.DegradationModel model)
    • getRemainingUsefulLife

      public double getRemainingUsefulLife()
    • getRULConfidence

      public double getRULConfidence()
    • getLastUpdated

      public Instant getLastUpdated()
    • getFailureRateMultiplier

      public double getFailureRateMultiplier()
    • toMap

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

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

      public String toReport()
      Generates status report.
      Returns:
      status report
    • toString

      public String toString()
      Overrides:
      toString in class Object