Class EjectorCapacityStrategy
java.lang.Object
neqsim.process.equipment.capacity.EjectorCapacityStrategy
- All Implemented Interfaces:
EquipmentCapacityStrategy
Capacity strategy for ejector equipment.
This strategy evaluates ejector capacity based on multiple constraints including:
- Entrainment ratio (suction/motive flow)
- Motive flow rate limits
- Suction pressure limits
- Discharge pressure limits
- Isentropic efficiency
- Version:
- 1.0
- Author:
- NeqSim Development Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final doubleDefault maximum entrainment ratio.static final doubleDefault maximum motive flow rate (kg/hr).static final doubleDefault minimum suction pressure (bara).private doubleprivate doubleprivate double -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor.EjectorCapacityStrategy(double maxEntrainmentRatio, double minSuctionPressure, double maxMotiveFlowRate) Constructor with custom constraints. -
Method Summary
Modifier and TypeMethodDescriptiondoubleevaluateCapacity(ProcessEquipmentInterface equipment) Evaluates the current capacity utilization of the equipment.doubleevaluateMaxCapacity(ProcessEquipmentInterface equipment) Evaluates the maximum capacity of the equipment.doublegetAvailableMargin(ProcessEquipmentInterface equipment) Gets the available margin before hitting the bottleneck constraint.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.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).voidsetMaxEntrainmentRatio(double maxEntrainmentRatio) Sets the maximum entrainment ratio.voidsetMaxMotiveFlowRate(double maxMotiveFlowRate) Sets the maximum motive flow rate.voidsetMinSuctionPressure(double minSuctionPressure) Sets the minimum suction pressure.booleansupports(ProcessEquipmentInterface equipment) Checks if this strategy supports the given equipment.
-
Field Details
-
DEFAULT_MAX_ENTRAINMENT_RATIO
public static final double DEFAULT_MAX_ENTRAINMENT_RATIODefault maximum entrainment ratio.- See Also:
-
DEFAULT_MIN_SUCTION_PRESSURE
public static final double DEFAULT_MIN_SUCTION_PRESSUREDefault minimum suction pressure (bara).- See Also:
-
DEFAULT_MAX_MOTIVE_FLOW
public static final double DEFAULT_MAX_MOTIVE_FLOWDefault maximum motive flow rate (kg/hr).- See Also:
-
maxEntrainmentRatio
private double maxEntrainmentRatio -
minSuctionPressure
private double minSuctionPressure -
maxMotiveFlowRate
private double maxMotiveFlowRate
-
-
Constructor Details
-
EjectorCapacityStrategy
public EjectorCapacityStrategy()Default constructor. -
EjectorCapacityStrategy
public EjectorCapacityStrategy(double maxEntrainmentRatio, double minSuctionPressure, double maxMotiveFlowRate) Constructor with custom constraints.- Parameters:
maxEntrainmentRatio- maximum entrainment ratiominSuctionPressure- minimum suction pressure in baramaxMotiveFlowRate- maximum motive flow rate in kg/hr
-
-
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
-
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
-
getAvailableMargin
Gets the available margin before hitting the bottleneck constraint.- Specified by:
getAvailableMarginin interfaceEquipmentCapacityStrategy- Parameters:
equipment- the equipment to evaluate- Returns:
- available margin as a fraction (0.2 = 20% headroom)
-
setMaxEntrainmentRatio
public void setMaxEntrainmentRatio(double maxEntrainmentRatio) Sets the maximum entrainment ratio.- Parameters:
maxEntrainmentRatio- the maximum entrainment ratio
-
setMinSuctionPressure
public void setMinSuctionPressure(double minSuctionPressure) Sets the minimum suction pressure.- Parameters:
minSuctionPressure- the minimum suction pressure in bara
-
setMaxMotiveFlowRate
public void setMaxMotiveFlowRate(double maxMotiveFlowRate) Sets the maximum motive flow rate.- Parameters:
maxMotiveFlowRate- the maximum motive flow rate in kg/hr
-