Class CompressorConstraintConfig
java.lang.Object
neqsim.process.equipment.compressor.CompressorConstraintConfig
- All Implemented Interfaces:
Serializable
Configuration class for compressor operational constraints.
This class consolidates all configurable constraint parameters for compressor operation including:
- Surge and stonewall margins
- Speed limits (minimum and maximum)
- Power limits
- Temperature limits
- Anti-surge control settings
- Driver constraints
Example Usage
CompressorConstraintConfig config = new CompressorConstraintConfig(); config.setMinSurgeMargin(0.10); // 10% minimum surge margin config.setMinStonewallMargin(0.05); // 5% minimum stonewall margin config.setMaxPowerUtilization(0.95); // 95% max power config.setMaxDischargeTemperature(473.15); // 200°C max compressor.setConstraintConfig(config);
- Version:
- 1.0
- Author:
- NeqSim Development Team
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanWhether to allow operation near surge (within control margin).private doubleAnti-surge control line margin above surge line (0-1).private DriverCurveAssociated driver curve (may be null).private doubleDriver power margin required (0-1).private booleanWhether to enforce hard limits (vs soft warnings).private doubleMaximum discharge pressure in bara.private doubleMaximum discharge temperature in Kelvin.private doubleMaximum power in kW (absolute limit).private doubleMaximum power utilization as fraction of available power (0-1).private doubleMaximum pressure ratio per stage.private doubleAnti-surge recycle valve maximum opening (0-1).private doubleMaximum shaft torque in Nm.private doubleMaximum speed as fraction of rated speed.private doubleMaximum suction temperature in Kelvin.private doubleMaximum temperature rise per stage in Kelvin.private doubleMaximum vibration amplitude in mm/s.private doubleMinimum power in kW (for stable operation).private doubleMinimum speed as fraction of rated speed.private doubleMinimum stonewall margin as fraction of stonewall flow (0-1).private doubleMinimum suction pressure in bara.private doubleMinimum surge margin as fraction of surge flow (0-1).private doubleRated speed in RPM.private static final longSerialization version UID.private booleanWhether to use anti-surge control. -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor with industry-standard defaults.CompressorConstraintConfig(double surgeMargin, double stonewallMargin) Constructor with surge and stonewall margins. -
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates a copy of this configuration.static CompressorConstraintConfigCreates a config with aggressive (minimal) margins for maximum capacity.static CompressorConstraintConfigCreates a config based on API 617 requirements.static CompressorConstraintConfigCreates a config with conservative margins for safe operation.doubleGets the anti-surge control margin.Gets the driver curve.doubleGets the driver power margin.doubleGets the maximum discharge pressure.doubleGets the maximum discharge temperature.doubleGets the maximum power.doubleGets the maximum power utilization.doubleGets the maximum pressure ratio per stage.doubleGets the maximum recycle valve opening.doubleGets the maximum shaft torque.doubleGets the maximum speed in RPM.doubleGets the maximum speed ratio.doubleGets the maximum suction temperature.doubleGets the maximum temperature rise per stage.doubleGets the maximum vibration.doubleGets the minimum power.doubleGets the minimum speed in RPM.doubleGets the minimum speed ratio.doubleGets the minimum stonewall margin.doubleGets the minimum suction pressure.doubleGets the minimum surge margin.doubleGets the rated speed.booleanChecks if near-surge operation is allowed.booleanChecks if hard limits are enforced.booleanChecks if anti-surge control is enabled.voidsetAllowNearSurgeOperation(boolean allow) Sets whether near-surge operation is allowed.voidsetAntiSurgeControlMargin(double margin) Sets the anti-surge control margin.voidsetDriverCurve(DriverCurve driver) Sets the driver curve.voidsetDriverPowerMargin(double margin) Sets the driver power margin.voidsetEnforceHardLimits(boolean enforce) Sets whether hard limits are enforced.voidsetMaxDischargePressure(double pressure) Sets the maximum discharge pressure.voidsetMaxDischargeTemperature(double tempKelvin) Sets the maximum discharge temperature.voidsetMaxDischargeTemperatureCelsius(double tempCelsius) Sets the maximum discharge temperature in Celsius.voidsetMaxPower(double power) Sets the maximum power.voidsetMaxPowerUtilization(double utilization) Sets the maximum power utilization.voidsetMaxPressureRatioPerStage(double ratio) Sets the maximum pressure ratio per stage.voidsetMaxRecycleValveOpening(double opening) Sets the maximum recycle valve opening.voidsetMaxShaftTorque(double torque) Sets the maximum shaft torque.voidsetMaxSpeedRatio(double ratio) Sets the maximum speed ratio.voidsetMaxSuctionTemperature(double tempKelvin) Sets the maximum suction temperature.voidsetMaxTemperatureRisePerStage(double tempRise) Sets the maximum temperature rise per stage.voidsetMaxVibration(double vibration) Sets the maximum vibration.voidsetMinPower(double power) Sets the minimum power.voidsetMinSpeedRatio(double ratio) Sets the minimum speed ratio.voidsetMinStonewallMargin(double margin) Sets the minimum stonewall margin.voidsetMinSuctionPressure(double pressure) Sets the minimum suction pressure.voidsetMinSurgeMargin(double margin) Sets the minimum surge margin.voidsetRatedSpeed(double speed) Sets the rated speed.voidsetUseAntiSurgeControl(boolean use) Sets whether to use anti-surge control.
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
minSurgeMargin
private double minSurgeMarginMinimum surge margin as fraction of surge flow (0-1). -
minStonewallMargin
private double minStonewallMarginMinimum stonewall margin as fraction of stonewall flow (0-1). -
antiSurgeControlMargin
private double antiSurgeControlMarginAnti-surge control line margin above surge line (0-1). -
maxRecycleValveOpening
private double maxRecycleValveOpeningAnti-surge recycle valve maximum opening (0-1). -
minSpeedRatio
private double minSpeedRatioMinimum speed as fraction of rated speed. -
maxSpeedRatio
private double maxSpeedRatioMaximum speed as fraction of rated speed. -
ratedSpeed
private double ratedSpeedRated speed in RPM. -
maxPowerUtilization
private double maxPowerUtilizationMaximum power utilization as fraction of available power (0-1). -
maxPower
private double maxPowerMaximum power in kW (absolute limit). -
minPower
private double minPowerMinimum power in kW (for stable operation). -
maxDischargeTemperature
private double maxDischargeTemperatureMaximum discharge temperature in Kelvin. -
maxTemperatureRisePerStage
private double maxTemperatureRisePerStageMaximum temperature rise per stage in Kelvin. -
maxSuctionTemperature
private double maxSuctionTemperatureMaximum suction temperature in Kelvin. -
maxDischargePressure
private double maxDischargePressureMaximum discharge pressure in bara. -
minSuctionPressure
private double minSuctionPressureMinimum suction pressure in bara. -
maxPressureRatioPerStage
private double maxPressureRatioPerStageMaximum pressure ratio per stage. -
driverCurve
Associated driver curve (may be null). -
driverPowerMargin
private double driverPowerMarginDriver power margin required (0-1). -
maxShaftTorque
private double maxShaftTorqueMaximum shaft torque in Nm. -
maxVibration
private double maxVibrationMaximum vibration amplitude in mm/s. -
useAntiSurgeControl
private boolean useAntiSurgeControlWhether to use anti-surge control. -
allowNearSurgeOperation
private boolean allowNearSurgeOperationWhether to allow operation near surge (within control margin). -
enforceHardLimits
private boolean enforceHardLimitsWhether to enforce hard limits (vs soft warnings).
-
-
Constructor Details
-
CompressorConstraintConfig
public CompressorConstraintConfig()Default constructor with industry-standard defaults. -
CompressorConstraintConfig
public CompressorConstraintConfig(double surgeMargin, double stonewallMargin) Constructor with surge and stonewall margins.- Parameters:
surgeMargin- minimum surge margin (0-1)stonewallMargin- minimum stonewall margin (0-1)
-
-
Method Details
-
createAggressiveConfig
Creates a config with aggressive (minimal) margins for maximum capacity.- Returns:
- config with minimal margins
-
createConservativeConfig
Creates a config with conservative margins for safe operation.- Returns:
- config with conservative margins
-
createAPI617Config
Creates a config based on API 617 requirements.- Returns:
- API 617 compliant config
-
getMinSurgeMargin
public double getMinSurgeMargin()Gets the minimum surge margin.- Returns:
- surge margin as fraction (0-1)
-
setMinSurgeMargin
public void setMinSurgeMargin(double margin) Sets the minimum surge margin.- Parameters:
margin- surge margin as fraction (0-1)
-
getMinStonewallMargin
public double getMinStonewallMargin()Gets the minimum stonewall margin.- Returns:
- stonewall margin as fraction (0-1)
-
setMinStonewallMargin
public void setMinStonewallMargin(double margin) Sets the minimum stonewall margin.- Parameters:
margin- stonewall margin as fraction (0-1)
-
getAntiSurgeControlMargin
public double getAntiSurgeControlMargin()Gets the anti-surge control margin.- Returns:
- control margin as fraction (0-1)
-
setAntiSurgeControlMargin
public void setAntiSurgeControlMargin(double margin) Sets the anti-surge control margin.- Parameters:
margin- control margin as fraction (0-1)
-
getMaxRecycleValveOpening
public double getMaxRecycleValveOpening()Gets the maximum recycle valve opening.- Returns:
- max opening as fraction (0-1)
-
setMaxRecycleValveOpening
public void setMaxRecycleValveOpening(double opening) Sets the maximum recycle valve opening.- Parameters:
opening- max opening as fraction (0-1)
-
getMinSpeedRatio
public double getMinSpeedRatio()Gets the minimum speed ratio.- Returns:
- min speed as fraction of rated
-
setMinSpeedRatio
public void setMinSpeedRatio(double ratio) Sets the minimum speed ratio.- Parameters:
ratio- min speed as fraction of rated
-
getMaxSpeedRatio
public double getMaxSpeedRatio()Gets the maximum speed ratio.- Returns:
- max speed as fraction of rated
-
setMaxSpeedRatio
public void setMaxSpeedRatio(double ratio) Sets the maximum speed ratio.- Parameters:
ratio- max speed as fraction of rated
-
getRatedSpeed
public double getRatedSpeed()Gets the rated speed.- Returns:
- rated speed in RPM
-
setRatedSpeed
public void setRatedSpeed(double speed) Sets the rated speed.- Parameters:
speed- rated speed in RPM
-
getMinSpeed
public double getMinSpeed()Gets the minimum speed in RPM.- Returns:
- minimum speed
-
getMaxSpeed
public double getMaxSpeed()Gets the maximum speed in RPM.- Returns:
- maximum speed
-
getMaxPowerUtilization
public double getMaxPowerUtilization()Gets the maximum power utilization.- Returns:
- max utilization as fraction (0-1)
-
setMaxPowerUtilization
public void setMaxPowerUtilization(double utilization) Sets the maximum power utilization.- Parameters:
utilization- max utilization as fraction (0-1)
-
getMaxPower
public double getMaxPower()Gets the maximum power.- Returns:
- max power in kW
-
setMaxPower
public void setMaxPower(double power) Sets the maximum power.- Parameters:
power- max power in kW
-
getMinPower
public double getMinPower()Gets the minimum power.- Returns:
- min power in kW
-
setMinPower
public void setMinPower(double power) Sets the minimum power.- Parameters:
power- min power in kW
-
getMaxDischargeTemperature
public double getMaxDischargeTemperature()Gets the maximum discharge temperature.- Returns:
- max discharge temp in Kelvin
-
setMaxDischargeTemperature
public void setMaxDischargeTemperature(double tempKelvin) Sets the maximum discharge temperature.- Parameters:
tempKelvin- max discharge temp in Kelvin
-
setMaxDischargeTemperatureCelsius
public void setMaxDischargeTemperatureCelsius(double tempCelsius) Sets the maximum discharge temperature in Celsius.- Parameters:
tempCelsius- max discharge temp in Celsius
-
getMaxTemperatureRisePerStage
public double getMaxTemperatureRisePerStage()Gets the maximum temperature rise per stage.- Returns:
- max temp rise in Kelvin
-
setMaxTemperatureRisePerStage
public void setMaxTemperatureRisePerStage(double tempRise) Sets the maximum temperature rise per stage.- Parameters:
tempRise- max temp rise in Kelvin
-
getMaxSuctionTemperature
public double getMaxSuctionTemperature()Gets the maximum suction temperature.- Returns:
- max suction temp in Kelvin
-
setMaxSuctionTemperature
public void setMaxSuctionTemperature(double tempKelvin) Sets the maximum suction temperature.- Parameters:
tempKelvin- max suction temp in Kelvin
-
getMaxDischargePressure
public double getMaxDischargePressure()Gets the maximum discharge pressure.- Returns:
- max discharge pressure in bara
-
setMaxDischargePressure
public void setMaxDischargePressure(double pressure) Sets the maximum discharge pressure.- Parameters:
pressure- max discharge pressure in bara
-
getMinSuctionPressure
public double getMinSuctionPressure()Gets the minimum suction pressure.- Returns:
- min suction pressure in bara
-
setMinSuctionPressure
public void setMinSuctionPressure(double pressure) Sets the minimum suction pressure.- Parameters:
pressure- min suction pressure in bara
-
getMaxPressureRatioPerStage
public double getMaxPressureRatioPerStage()Gets the maximum pressure ratio per stage.- Returns:
- max pressure ratio
-
setMaxPressureRatioPerStage
public void setMaxPressureRatioPerStage(double ratio) Sets the maximum pressure ratio per stage.- Parameters:
ratio- max pressure ratio
-
getDriverCurve
-
setDriverCurve
Sets the driver curve.- Parameters:
driver- driver curve
-
getDriverPowerMargin
public double getDriverPowerMargin()Gets the driver power margin.- Returns:
- power margin as fraction (0-1)
-
setDriverPowerMargin
public void setDriverPowerMargin(double margin) Sets the driver power margin.- Parameters:
margin- power margin as fraction (0-1)
-
getMaxShaftTorque
public double getMaxShaftTorque()Gets the maximum shaft torque.- Returns:
- max torque in Nm
-
setMaxShaftTorque
public void setMaxShaftTorque(double torque) Sets the maximum shaft torque.- Parameters:
torque- max torque in Nm
-
getMaxVibration
public double getMaxVibration()Gets the maximum vibration.- Returns:
- max vibration in mm/s
-
setMaxVibration
public void setMaxVibration(double vibration) Sets the maximum vibration.- Parameters:
vibration- max vibration in mm/s
-
isUseAntiSurgeControl
public boolean isUseAntiSurgeControl()Checks if anti-surge control is enabled.- Returns:
- true if enabled
-
setUseAntiSurgeControl
public void setUseAntiSurgeControl(boolean use) Sets whether to use anti-surge control.- Parameters:
use- true to enable
-
isAllowNearSurgeOperation
public boolean isAllowNearSurgeOperation()Checks if near-surge operation is allowed.- Returns:
- true if allowed
-
setAllowNearSurgeOperation
public void setAllowNearSurgeOperation(boolean allow) Sets whether near-surge operation is allowed.- Parameters:
allow- true to allow
-
isEnforceHardLimits
public boolean isEnforceHardLimits()Checks if hard limits are enforced.- Returns:
- true if enforced
-
setEnforceHardLimits
public void setEnforceHardLimits(boolean enforce) Sets whether hard limits are enforced.- Parameters:
enforce- true to enforce
-
copy
Creates a copy of this configuration.- Returns:
- copy of config
-