Risk Simulation Framework Documentation
This documentation covers NeqSimβs comprehensive Operational Risk Simulation Framework for equipment failure analysis, production impact assessment, and process topology analysis.
π Documentation Structure
Core Framework
Advanced Risk Framework (P1-P7)
π Quick Start
Java
import neqsim.process.safety.risk.*;
import neqsim.process.util.topology.*;
import neqsim.process.equipment.failure.*;
// Create process system
ProcessSystem process = new ProcessSystem();
// ... add equipment ...
// Risk analysis
RiskMatrix matrix = new RiskMatrix(process);
matrix.buildRiskMatrix();
System.out.println(matrix.toVisualization());
// Monte Carlo simulation
OperationalRiskSimulator simulator = new OperationalRiskSimulator(process);
simulator.addEquipmentReliability("Compressor A", 0.5, 24.0);
OperationalRiskResult result = simulator.runSimulation(10000, 365);
System.out.println("Availability: " + result.getAvailability() + "%");
// Topology analysis
ProcessTopologyAnalyzer topology = new ProcessTopologyAnalyzer(process);
topology.buildTopology();
topology.setFunctionalLocation("Compressor A", "1775-KA-23011A");
Advanced Risk Framework (Python)
# Dynamic simulation with transients
from neqsim.process.safety.risk.dynamic import DynamicRiskSimulator
sim = DynamicRiskSimulator("Platform Risk")
sim.setBaseProductionRate(100.0)
sim.addEquipment("Compressor", 8760, 72, 1.0)
sim.setShutdownProfile(DynamicRiskSimulator.RampProfile.S_CURVE)
result = sim.runSimulation()
print(f"Transient losses: {result.getTransientLoss().getTotalTransientLoss()}")
# SIS/LOPA Analysis
from neqsim.process.safety.risk.sis import SISIntegratedRiskModel, SafetyInstrumentedFunction
model = SISIntegratedRiskModel("Overpressure Protection")
model.setInitiatingEventFrequency(0.1)
model.addIPL("BPCS Alarm", 10)
model.addIPL("Operator", 10)
sif = SafetyInstrumentedFunction("SIF-001", "PAHH")
sif.setSILTarget(2)
model.addSIF(sif)
lopa = model.performLOPA()
print(f"LOPA: {'PASS' if lopa.isAcceptable() else 'FAIL'}")
Python (neqsim-python)
import jpype
import neqsim
from neqsim.process.safety.risk import RiskMatrix, OperationalRiskSimulator
from neqsim.process.util.topology import ProcessTopologyAnalyzer, FunctionalLocation
# Build topology
topology = ProcessTopologyAnalyzer(process)
topology.buildTopology()
# STID tagging
topology.setFunctionalLocation("Compressor A", "1775-KA-23011A")
# Risk matrix
matrix = RiskMatrix()
matrix.addRiskItem("Compressor Trip",
RiskMatrix.ProbabilityCategory.POSSIBLE,
RiskMatrix.ConsequenceCategory.MAJOR,
500000.0)
print(matrix.toVisualization())
π Framework Architecture
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β NeqSim Process Simulation β
β ProcessSystem β
ββββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββββΌββββββββββββββββββββ
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Equipment β β Production β β Process β
β Failure β β Impact β β Topology β
β Modeling β β Analysis β β Analysis β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Reliability β β Degraded β β Dependency β
β Data β β Operation β β Analysis β
β (OREDA) β β Optimizer β β β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β β
ββββββββββββββββββββββΌβββββββββββββββββββββ
βΌ
βββββββββββββββββββββββββββββββββ
β Risk Assessment β
β βββββββββββββββββββββββββββ β
β β Monte Carlo β β
β β Simulation β β
β βββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββ β
β β Risk Matrix β β
β β (5Γ5 Visualization) β β
β βββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββ
π¦ Package Structure
neqsim.process
βββ equipment.failure
β βββ EquipmentFailureMode - Failure type definitions
β βββ ReliabilityDataSource - OREDA reliability data
β βββ package-info.java
βββ safety.risk
β βββ OperationalRiskSimulator - Monte Carlo engine
β βββ OperationalRiskResult - Simulation results
β βββ RiskMatrix - 5Γ5 risk matrix
βββ util
βββ optimizer
β βββ ProductionImpactAnalyzer - Impact analysis
β βββ ProductionImpactResult - Impact results
β βββ DegradedOperationOptimizer - Degraded optimization
β βββ DegradedOperationResult - Optimization results
βββ topology
βββ ProcessTopologyAnalyzer - Graph extraction
βββ FunctionalLocation - STID parsing
βββ DependencyAnalyzer - Cascade analysis
βββ package-info.java