Class DistillationColumnCapacityStrategy
java.lang.Object
neqsim.process.equipment.capacity.DistillationColumnCapacityStrategy
- All Implemented Interfaces:
EquipmentCapacityStrategy
Capacity strategy for distillation column equipment.
This strategy evaluates distillation column capacity based on multiple constraints including:
- Flooding factor (vapor/liquid loading)
- Weir loading (liquid flow per unit weir length)
- Reboiler duty utilization
- Condenser duty utilization
- Tray pressure drop
- Version:
- 1.0
- Author:
- NeqSim Development Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleDefault maximum flooding factor.static final doubleDefault maximum tray pressure drop (mbar/tray).static final doubleDefault maximum weir loading (m3/hr per m of weir).private doubleprivate doubleprivate double -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.DistillationColumnCapacityStrategy(double maxFloodingFactor, double maxWeirLoading, double maxTrayPressureDrop) Constructor with custom constraints. -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleEvaluates basic capacity when column doesn't have constraint interface.doubleevaluateCapacity(ProcessEquipmentInterface equipment) Evaluates the current capacity utilization of the equipment.doubleevaluateMaxCapacity(ProcessEquipmentInterface equipment) Evaluates the maximum capacity of the equipment.getBottleneckConstraint(ProcessEquipmentInterface equipment) Gets the bottleneck constraint (highest utilization).getConstraints(ProcessEquipmentInterface equipment) Gets all capacity constraints for this equipment.Class<? extends ProcessEquipmentInterface> Gets the equipment class this strategy handles.doubleGets the maximum flooding factor.doubleGets the maximum tray pressure drop.doubleGets the maximum weir loading.getName()Gets a descriptive name for this strategy.intGets the priority of this strategy.getViolations(ProcessEquipmentInterface equipment) Gets the list of constraint violations for this equipment.booleanisWithinHardLimits(ProcessEquipmentInterface equipment) Checks if the equipment is operating within all hard limits.booleanisWithinSoftLimits(ProcessEquipmentInterface equipment) Checks if the equipment is operating within all soft limits (design values).voidsetMaxFloodingFactor(double maxFloodingFactor) Sets the maximum flooding factor.voidsetMaxTrayPressureDrop(double maxTrayPressureDrop) Sets the maximum tray pressure drop.voidsetMaxWeirLoading(double maxWeirLoading) Sets the maximum weir loading.booleansupports(ProcessEquipmentInterface equipment) Checks if this strategy supports the given equipment.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface EquipmentCapacityStrategy
getAvailableMargin
-
Field Details
-
DEFAULT_MAX_FLOODING_FACTOR
public static final double DEFAULT_MAX_FLOODING_FACTORDefault maximum flooding factor.- See Also:
-
DEFAULT_MAX_WEIR_LOADING
public static final double DEFAULT_MAX_WEIR_LOADINGDefault maximum weir loading (m3/hr per m of weir).- See Also:
-
DEFAULT_MAX_TRAY_PRESSURE_DROP
public static final double DEFAULT_MAX_TRAY_PRESSURE_DROPDefault maximum tray pressure drop (mbar/tray).- See Also:
-
maxFloodingFactor
private double maxFloodingFactor -
maxWeirLoading
private double maxWeirLoading -
maxTrayPressureDrop
private double maxTrayPressureDrop
-
-
Constructor Details
-
DistillationColumnCapacityStrategy
public DistillationColumnCapacityStrategy()Default constructor. -
DistillationColumnCapacityStrategy
public DistillationColumnCapacityStrategy(double maxFloodingFactor, double maxWeirLoading, double maxTrayPressureDrop) Constructor with custom constraints.- Parameters:
maxFloodingFactor- maximum flooding factor (0-1)maxWeirLoading- maximum weir loading (m3/hr per m)maxTrayPressureDrop- maximum tray pressure drop (mbar/tray)
-
-
Method Details
-
supports
Checks if this strategy supports the given equipment.- Specified by:
supportsin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to check- Returns:
- true if this strategy can evaluate the equipment
-
getPriority
public int getPriority()Gets the priority of this strategy.When multiple strategies support the same equipment, the one with higher priority is used. Default priority is 0. Use positive values for more specific strategies.
- Specified by:
getPriorityin interfaceEquipmentCapacityStrategy- Returns:
- the priority value (higher = more preferred)
-
getName
Gets a descriptive name for this strategy.- Specified by:
getNamein interfaceEquipmentCapacityStrategy- Returns:
- strategy name
-
getEquipmentClass
Gets the equipment class this strategy handles.- Specified by:
getEquipmentClassin interfaceEquipmentCapacityStrategy- Returns:
- the equipment class
-
evaluateCapacity
Evaluates the current capacity utilization of the equipment.Returns a value between 0 and 1+ where:
- 0.0 = no load
- 1.0 = at design capacity
- >1.0 = over capacity
- Specified by:
evaluateCapacityin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to evaluate- Returns:
- capacity utilization as a fraction
-
evaluateBasicCapacity
Evaluates basic capacity when column doesn't have constraint interface.- Parameters:
column- the distillation column to evaluate- Returns:
- utilization factor (0-1+)
-
evaluateMaxCapacity
Evaluates the maximum capacity of the equipment.Returns the maximum capacity in the equipment's natural units (e.g., flow rate, power, duty).
- Specified by:
evaluateMaxCapacityin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to evaluate- Returns:
- maximum capacity
-
getConstraints
Gets all capacity constraints for this equipment.Returns a map of constraint name to constraint object. The constraints include both the current value and the design/limit values.
- Specified by:
getConstraintsin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to get constraints for- Returns:
- map of constraint name to CapacityConstraint
-
getViolations
Gets the list of constraint violations for this equipment.Returns only the constraints that are currently violated (utilization > 1.0 or outside limits).
- Specified by:
getViolationsin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to check- Returns:
- list of violated constraints
-
getBottleneckConstraint
Gets the bottleneck constraint (highest utilization).- Specified by:
getBottleneckConstraintin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to evaluate- Returns:
- the constraint with highest utilization, or null if none
-
isWithinHardLimits
Checks if the equipment is operating within all hard limits.- Specified by:
isWithinHardLimitsin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to check- Returns:
- true if no hard limits are violated
-
isWithinSoftLimits
Checks if the equipment is operating within all soft limits (design values).- Specified by:
isWithinSoftLimitsin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to check- Returns:
- true if no soft limits are violated
-
setMaxFloodingFactor
public void setMaxFloodingFactor(double maxFloodingFactor) Sets the maximum flooding factor.- Parameters:
maxFloodingFactor- maximum flooding factor (0-1)
-
getMaxFloodingFactor
public double getMaxFloodingFactor()Gets the maximum flooding factor.- Returns:
- maximum flooding factor (0-1)
-
setMaxWeirLoading
public void setMaxWeirLoading(double maxWeirLoading) Sets the maximum weir loading.- Parameters:
maxWeirLoading- maximum weir loading (m3/hr per m)
-
getMaxWeirLoading
public double getMaxWeirLoading()Gets the maximum weir loading.- Returns:
- maximum weir loading (m3/hr per m)
-
setMaxTrayPressureDrop
public void setMaxTrayPressureDrop(double maxTrayPressureDrop) Sets the maximum tray pressure drop.- Parameters:
maxTrayPressureDrop- maximum tray pressure drop (mbar/tray)
-
getMaxTrayPressureDrop
public double getMaxTrayPressureDrop()Gets the maximum tray pressure drop.- Returns:
- maximum tray pressure drop (mbar/tray)
-