Class DependencyAnalyzer
java.lang.Object
neqsim.process.util.topology.DependencyAnalyzer
- All Implemented Interfaces:
Serializable
Analyzes dependencies between equipment and their impact on each other.
Answers questions like:
- "If pump A fails, what else becomes critical?"
- "Which equipment should we monitor when we see a weakness in compressor B?"
- "What's the cascade effect of a separator trip?"
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRepresents a dependency between equipment on different installations.static classResult of a dependency analysis. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate ProductionImpactAnalyzerprivate static final org.apache.logging.log4j.Loggerprivate ProcessSystemprivate static final longprivate ProcessTopologyAnalyzer -
Constructor Summary
ConstructorsConstructorDescriptionDependencyAnalyzer(ProcessSystem processSystem) Creates a new dependency analyzer.DependencyAnalyzer(ProcessSystem processSystem, ProcessTopologyAnalyzer topologyAnalyzer) Creates a dependency analyzer with an existing topology analyzer. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCrossInstallationDependency(String sourceEquipment, String targetEquipment, String targetInstallation, String dependencyType) Adds a cross-installation dependency.voidaddCrossInstallationDependency(FunctionalLocation sourceLocation, FunctionalLocation targetLocation, String dependencyType, double impactFactor) Adds a cross-installation dependency with functional locations.analyzeFailure(String equipmentName) Analyzes what happens when a specific equipment fails.private doublecalculatePathCriticality(List<String> path) Finds all critical paths through the process.private voidgetEquipmentToMonitor(String equipmentName) Gets equipment that should be monitored when weakness is detected.Gets the impact analyzer.Gets the topology analyzer.voidInitializes the analyzer (builds topology if not already built).
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
logger
private static final org.apache.logging.log4j.Logger logger -
processSystem
-
topologyAnalyzer
-
impactAnalyzer
-
crossDependencies
-
-
Constructor Details
-
DependencyAnalyzer
Creates a new dependency analyzer.- Parameters:
processSystem- the process system
-
DependencyAnalyzer
Creates a dependency analyzer with an existing topology analyzer.- Parameters:
processSystem- the process systemtopologyAnalyzer- existing topology analyzer
-
-
Method Details
-
initialize
public void initialize()Initializes the analyzer (builds topology if not already built). -
analyzeFailure
Analyzes what happens when a specific equipment fails.- Parameters:
equipmentName- the equipment that fails- Returns:
- dependency analysis result
-
getEquipmentToMonitor
Gets equipment that should be monitored when weakness is detected.Answers: "I see a weakness on this equipment, what else must we watch?"
- Parameters:
equipmentName- equipment with detected weakness- Returns:
- list of equipment to monitor with priority
-
addCrossInstallationDependency
public void addCrossInstallationDependency(String sourceEquipment, String targetEquipment, String targetInstallation, String dependencyType) Adds a cross-installation dependency.Example: Gas export from Gullfaks C to Ã…sgard processing
- Parameters:
sourceEquipment- source equipment on this installationtargetEquipment- target equipment on other installationtargetInstallation- name of target installationdependencyType- type (gas_export, oil_export, utility, etc.)
-
addCrossInstallationDependency
public void addCrossInstallationDependency(FunctionalLocation sourceLocation, FunctionalLocation targetLocation, String dependencyType, double impactFactor) Adds a cross-installation dependency with functional locations.- Parameters:
sourceLocation- source STIDtargetLocation- target STIDdependencyType- type of dependencyimpactFactor- impact factor (0-1)
-
findCriticalPaths
-
findPaths
-
calculatePathCriticality
-
getTopologyAnalyzer
Gets the topology analyzer.- Returns:
- topology analyzer
-
getImpactAnalyzer
Gets the impact analyzer.- Returns:
- impact analyzer
-