Class BottleneckAnalyzer
java.lang.Object
neqsim.process.fielddevelopment.evaluation.BottleneckAnalyzer
- All Implemented Interfaces:
Serializable
Bottleneck identification and debottlenecking analysis for process facilities.
Identifies production-limiting constraints in process systems and evaluates debottlenecking options. This is a key tool for production optimization and field development planning.
Constraint Types Analyzed
- Separator capacity - Gas velocity, liquid retention time
- Compressor limits - Power, surge, stonewall
- Pump capacity - Head, power, NPSH
- Heat exchanger duty - Thermal capacity
- Valve Cv - Control valve sizing
Example Usage
BottleneckAnalyzer analyzer = new BottleneckAnalyzer(facility);
List<BottleneckResult> bottlenecks = analyzer.identifyBottlenecks();
// Show most limiting constraint
BottleneckResult limiting = bottlenecks.get(0);
System.out.println("Bottleneck: " + limiting.getEquipmentName());
System.out.println("Utilization: " + limiting.getUtilization() + "%");
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBottleneck analysis result.static enumConstraint type enumeration.static classDebottlenecking option.static enumEquipment type enumeration. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ProcessSystemProcess system to analyze.private static final longprivate doubleMinimum utilization to flag as potential bottleneck. -
Constructor Summary
ConstructorsConstructorDescriptionBottleneckAnalyzer(ProcessSystem facility) Creates a bottleneck analyzer for a process system. -
Method Summary
Modifier and TypeMethodDescriptionanalyzeCompressor(Compressor comp) Analyzes compressor constraints.Analyzes a single equipment for bottleneck potential.analyzeHeater(Heater heater) Analyzes heater/cooler constraints.analyzePump(Pump pump) Analyzes pump constraints.Analyzes separator constraints.analyzeValve(ThrottlingValve valve) Analyzes valve constraints.evaluateDebottleneckOptions(String equipmentName, double targetCapacityIncrease) Evaluates debottlenecking options for a specific equipment.Generates a bottleneck analysis report.Gets bottlenecks above the utilization threshold.Gets the primary (most limiting) bottleneck.Identifies all bottlenecks in the facility.setUtilizationThreshold(double threshold) Sets the utilization threshold for bottleneck flagging.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
facility
Process system to analyze. -
utilizationThreshold
private double utilizationThresholdMinimum utilization to flag as potential bottleneck.
-
-
Constructor Details
-
BottleneckAnalyzer
Creates a bottleneck analyzer for a process system.- Parameters:
facility- process system to analyze
-
-
Method Details
-
setUtilizationThreshold
Sets the utilization threshold for bottleneck flagging.- Parameters:
threshold- threshold (0.0-1.0), default 0.80- Returns:
- this for chaining
-
identifyBottlenecks
Identifies all bottlenecks in the facility.Returns a list sorted by utilization (highest first), showing the most limiting equipment at the top.
- Returns:
- list of bottleneck results
-
getPrimaryBottleneck
Gets the primary (most limiting) bottleneck.- Returns:
- most limiting bottleneck, or null if none found
-
getActiveBottlenecks
Gets bottlenecks above the utilization threshold.- Returns:
- list of equipment above threshold
-
analyzeEquipment
Analyzes a single equipment for bottleneck potential.- Parameters:
equip- equipment to analyze- Returns:
- bottleneck result, or null if not applicable
-
analyzeSeparator
Analyzes separator constraints. -
analyzeCompressor
Analyzes compressor constraints. -
analyzePump
Analyzes pump constraints. -
analyzeHeater
Analyzes heater/cooler constraints. -
analyzeValve
Analyzes valve constraints. -
evaluateDebottleneckOptions
public List<BottleneckAnalyzer.DebottleneckOption> evaluateDebottleneckOptions(String equipmentName, double targetCapacityIncrease) Evaluates debottlenecking options for a specific equipment.- Parameters:
equipmentName- name of bottleneck equipmenttargetCapacityIncrease- target capacity increase (0.0-1.0, e.g., 0.20 for 20%)- Returns:
- list of debottlenecking options
-
generateReport
Generates a bottleneck analysis report.- Returns:
- markdown formatted report
-