Class BottleneckResult

java.lang.Object
neqsim.process.equipment.capacity.BottleneckResult

public class BottleneckResult extends Object
Result class containing information about the bottleneck equipment and constraint.

This class is returned by ProcessSystem.findBottleneck() and contains the equipment that is limiting process capacity, along with the specific constraint that is most limiting.

Version:
1.0
Author:
NeqSim Development Team
  • Field Details

    • equipment

      private final ProcessEquipmentInterface equipment
      The equipment that is the bottleneck.
    • constraint

      private final CapacityConstraint constraint
      The most limiting constraint on the bottleneck equipment.
    • utilization

      private final double utilization
      The utilization of the bottleneck constraint.
  • Constructor Details

    • BottleneckResult

      public BottleneckResult(ProcessEquipmentInterface equipment, CapacityConstraint constraint, double utilization)
      Creates a bottleneck result.
      Parameters:
      equipment - the bottleneck equipment (may be null if no constraints defined)
      constraint - the limiting constraint (may be null if no constraints defined)
      utilization - the utilization as fraction (1.0 = 100%)
  • Method Details

    • empty

      public static BottleneckResult empty()
      Creates an empty bottleneck result (no bottleneck found).
      Returns:
      an empty result
    • hasBottleneck

      public boolean hasBottleneck()
      Checks if a bottleneck was found.
      Returns:
      true if equipment and constraint are not null
    • getEquipment

      public ProcessEquipmentInterface getEquipment()
      Gets the bottleneck equipment.
      Returns:
      the equipment, or null if no bottleneck
    • getEquipmentName

      public String getEquipmentName()
      Gets the name of the bottleneck equipment.
      Returns:
      the equipment name, or "None" if no bottleneck
    • getConstraint

      public CapacityConstraint getConstraint()
      Gets the limiting constraint.
      Returns:
      the constraint, or null if no bottleneck
    • getConstraintName

      public String getConstraintName()
      Gets the name of the limiting constraint.
      Returns:
      the constraint name, or "None" if no bottleneck
    • getUtilization

      public double getUtilization()
      Gets the utilization as a fraction.
      Returns:
      utilization (1.0 = 100%)
    • getUtilizationPercent

      public double getUtilizationPercent()
      Gets the utilization as a percentage.
      Returns:
      utilization percentage (100.0 = 100%)
    • isExceeded

      public boolean isExceeded()
      Checks if the bottleneck constraint is exceeded.
      Returns:
      true if utilization is above 100%
    • isNearLimit

      public boolean isNearLimit()
      Checks if the bottleneck is near its limit (above warning threshold).
      Returns:
      true if constraint is near limit
    • getMargin

      public double getMargin()
      Gets the available margin as a fraction.
      Returns:
      margin (0.2 = 20% headroom)
    • getMarginPercent

      public double getMarginPercent()
      Gets the available margin as a percentage.
      Returns:
      margin percentage
    • toString

      public String toString()
      Overrides:
      toString in class Object