Class Separator
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, SeparatorInterface, StateVectorProvider, SimulationInterface, NamedInterface
- Direct Known Subclasses:
GasScrubber, GasScrubberSimple, Hydrocyclone, Hydrocyclone, NeqGasScrubber, SimpleAbsorber, ThreePhaseSeparator, TwoPhaseSeparator
Separator class.
- Version:
- $Id: $Id
- Author:
- Even Solbraa
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder class for constructing Separator instances with a fluent API. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate doubleprivate doubleprivate doubleprivate String(package private) StreamInterface(package private) SystemInterface(package private) doubleprivate doubleprivate String(package private) Mixerprivate doubleInner diameter/height of separator volume.private double(package private) booleanprivate doubleprivate doubleprivate doubleprivate doubleprotected doubleLiquid level height in meters (default set to 50% of internal diameter).(package private) StreamInterface(package private) SystemInterface(package private) double(package private) static org.apache.logging.log4j.LoggerLogger object for class.private static final doubleprivate static final doubleintprivate doubleprivate Stringprivate StringOrientation of separator.private doubleprivate doubleLength of separator volume.(package private) SeparatorMechanicalDesign(package private) ArrayList<SeparatorSection> private doubleSeparator volume.private doubleSeparator cross sectional area.private static final longSerialization version UID.private booleanprivate String(package private) SystemInterface(package private) SystemInterface(package private) SystemInterfaceprivate doubleprivate String(package private) SystemInterfaceFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionConstructor for Separator.Separator(String name, StreamInterface inletStream) Constructor for Separator. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSeparatorSection(String name, String type) addSeparatorSection.voidaddStream(StreamInterface newStream) addStream.static Separator.BuilderCreates a new Builder for constructing a Separator with a fluent API.doublecalculates liquid volume based on separator type.private doubleclampLiquidHeight(double height) voiddisplayResult.protected voidbooleanEvaluates fire exposure using the separator geometry and process conditions.evaluateFireExposure(SeparatorFireExposure.FireScenarioConfig config, Flare flare, double flareGroundDistanceM) Evaluates fire exposure using separator geometry and process conditions while accounting for flare radiation based on the real flaring heat duty.doublegetCapacityDuty.doublegetCapacityMax.doublegetDeRatedGasLoadFactor.doublegetDeRatedGasLoadFactor(int phaseNum) getDeRatedGasLoadFactor.doubleGetter for the fielddesignLiquidLevelFraction.doubleGetter for the fieldefficiency.doublegetEntropyProduction(String unit) getEntropyProduction.doublegetExergyChange(String unit) getExergyChange.doublegetExergyChange(String unit, double surroundingTemperature) Get exergy change production of the process equipment.getFeedStream.getGas()getGas.doubleGetter for the fieldgasCarryunderFraction.doublegetGasLoadFactor.doublegetGasLoadFactor(int phaseNumber) getGasLoadFactor.Getter for the fieldgasOutStream.doublegetGasSuperficialVelocity.doubleGet heat duty (alias for getHeatInput).doublegetHeatDuty(String unit) Get heat duty in specified unit.doubleGet heat input in watts.doublegetHeatInput(String unit) Get heat input in specified unit.doubleCalculates the total inner surface area of the separator, including shell and heads.doubleGetter for the fieldinternalDiameter.getLiquid.doubleGetter for the fieldliquidCarryoverFraction.doubleGetter for the fieldliquidLevelin percentage.Getter for the fieldliquidOutStream.doublegetMassBalance(String unit) getMassBalance.private doubleGet amechanicalDesignfor the equipment.private doubleGetter for the fieldorientation.doubleGetter for the fieldpressure.doubleGetter for the fieldpressureDrop.String[][]getResultTable.doubleGetter for the fieldseparatorLength.getSeparatorSection(int i) Getter for the fieldseparatorSection.getSeparatorSection(String name) Getter for the fieldseparatorSection.getSeparatorSections.Get the current state as a standardized vector.getThermoSystem.doubleEstimates the unwetted (dry) area as the remaining inner area not in contact with liquid.doubleEstimates the wetted inner surface area based on current liquid level and orientation.inthashCode()voidInitializes separator for transient calculations.voidInitialize ainitMechanicalDesignfor the equipment.booleanCheck if heat input is set.doublelevelFromVolume(double volumeTarget) Estimates liquid level based on volume for horizontal separators using bisection method.doubleliquidArea(double level) Calculates both gas and liquid fluid section areas for horizontal separators.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidrunTransient(double dt, UUID id) runTransientvoidsetDesignLiquidLevelFraction(double designLiquidLevelFraction) Setter for the fielddesignLiquidLevelFraction.voidsetDuty(double heatDuty) Set heat duty (alias preserved for compatibility with energy-stream style naming).voidSet heat duty with unit (alias preserved for compatibility with energy-stream style naming).voidsetEfficiency(double efficiency) Setter for the fieldefficiency.voidsetEntrainment(double val, String specType, String specifiedStream, String phaseFrom, String phaseTo) setEntrainment.voidsetGasCarryunderFraction(double gasCarryunderFraction) Setter for the fieldgasCarryunderFraction.voidsetHeatDuty(double heatDuty) Set heat duty (alias for setHeatInput).voidsetHeatDuty(double heatDuty, String unit) Set heat duty with unit (alias for setHeatInput).voidsetHeatInput(double heatInput) Set heat input to the separator (e.g., from flare radiation, external heating).voidsetHeatInput(double heatInput, String unit) Set heat input to the separator with specified unit.voidsetInletStream(StreamInterface inletStream) setInletStream.voidsetInternalDiameter(double diameter) setInternalDiameter.voidsetLiquidCarryoverFraction(double liquidCarryoverFraction) Setter for the fieldliquidCarryoverFraction.voidsetLiquidLevel(double liquidlev) Setter for the fieldliquidLevel.voidsetOrientation(String orientation) Setter for the fieldorientation.voidsetPressureDrop(double pressureDrop) Setter for the fieldpressureDrop.voidsetSeparatorLength(double separatorLength) Setter for the fieldseparatorLength.voidsetTempPres(double temp, double pres) setTempPres.toJson()Serializes the Process Equipment along with its state to a JSON string.toJson(ReportConfig cfg) Serializes the Process Equipment with configurable level of detail.private voidKeeps cached gas/liquid holdup volumes aligned with current geometry and level.Validate the process equipment before execution.Methods inherited from class ProcessEquipmentBaseClass
copy, getConditionAnalysisMessage, getController, getEnergyStream, getMassBalance, getMinimumFlow, getPressure, getProperty, getReport_json, getSpecification, getTemperature, getTemperature, isActive, isActive, isSetEnergyStream, reportResults, run_step, runConditionAnalysis, setController, setEnergyStream, setEnergyStream, setFlowValveController, setMinimumFlow, setPressure, setRegulatorOutSignal, setSpecification, setTemperature, solvedMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagName, setName, setTagNameMethods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface NamedInterface
getName, getTagName, setName, setTagNameMethods inherited from interface ProcessEquipmentInterface
getFluid, getRestCapacity, needRecalculationMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, run_step, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime, solvedMethods inherited from interface StateVectorProvider
getStateDimension, getStateNames
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
logger
static org.apache.logging.log4j.Logger loggerLogger object for class. -
thermoSystem
SystemInterface thermoSystem -
gasSystem
SystemInterface gasSystem -
waterSystem
SystemInterface waterSystem -
liquidSystem
SystemInterface liquidSystem -
thermoSystemCloned
SystemInterface thermoSystemCloned -
thermoSystem2
SystemInterface thermoSystem2 -
isInitTransient
boolean isInitTransient -
orientation
Orientation of separator. "horizontal" or "vertical" -
gasOutStream
StreamInterface gasOutStream -
liquidOutStream
StreamInterface liquidOutStream -
pressureDrop
private double pressureDrop -
numberOfInputStreams
public int numberOfInputStreams -
inletStreamMixer
Mixer inletStreamMixer -
efficiency
private double efficiency -
liquidCarryoverFraction
private double liquidCarryoverFraction -
gasCarryunderFraction
private double gasCarryunderFraction -
specifiedStream
-
oilInGas
private double oilInGas -
oilInGasSpec
-
waterInGas
private double waterInGas -
waterInGasSpec
-
gasInLiquid
private double gasInLiquid -
gasInLiquidSpec
-
separatorLength
private double separatorLengthLength of separator volume. -
internalDiameter
private double internalDiameterInner diameter/height of separator volume. -
internalRadius
private double internalRadius -
liquidLevel
protected double liquidLevelLiquid level height in meters (default set to 50% of internal diameter). -
MIN_HEADSPACE_FRACTION
private static final double MIN_HEADSPACE_FRACTION- See Also:
-
MIN_HEADSPACE_VOLUME
private static final double MIN_HEADSPACE_VOLUME- See Also:
-
sepCrossArea
private double sepCrossAreaSeparator cross sectional area. -
separatorVolume
private double separatorVolumeSeparator volume. -
liquidVolume
double liquidVolume -
gasVolume
double gasVolume -
designLiquidLevelFraction
private double designLiquidLevelFraction -
separatorSection
ArrayList<SeparatorSection> separatorSection -
separatorMechanicalDesign
SeparatorMechanicalDesign separatorMechanicalDesign -
lastEnthalpy
private double lastEnthalpy -
lastFlowRate
private double lastFlowRate -
lastPressure
private double lastPressure -
setHeatInput
private boolean setHeatInput -
heatInput
private double heatInput -
heatInputUnit
-
-
Constructor Details
-
Separator
-
Separator
Constructor for Separator.- Parameters:
name- aStringobjectinletStream- aStreamInterfaceobject
-
-
Method Details
-
initializeTransientCalculation
public void initializeTransientCalculation()Initializes separator for transient calculations. -
getMechanicalDesign
Get a
mechanicalDesignfor the equipment.- Specified by:
getMechanicalDesignin interfaceProcessEquipmentInterface- Overrides:
getMechanicalDesignin classProcessEquipmentBaseClass- Returns:
- a
MechanicalDesignobject
-
initMechanicalDesign
public void initMechanicalDesign()Initialize a
initMechanicalDesignfor the equipment.- Specified by:
initMechanicalDesignin interfaceProcessEquipmentInterface- Overrides:
initMechanicalDesignin classProcessEquipmentBaseClass
-
setInletStream
setInletStream.
- Parameters:
inletStream- aStreamInterfaceobject
-
addStream
addStream.
- Parameters:
newStream- aStreamInterfaceobject
-
getLiquidOutStream
Getter for the field
liquidOutStream.- Returns:
- a
StreamInterfaceobject
-
getGasOutStream
Getter for the field
gasOutStream.- Returns:
- a
StreamInterfaceobject
-
getGas
-
getLiquid
-
getThermoSystem
getThermoSystem.
- Specified by:
getThermoSystemin interfaceProcessEquipmentInterface- Specified by:
getThermoSystemin interfaceSeparatorInterface- Overrides:
getThermoSystemin classProcessEquipmentBaseClass- Returns:
- a
SystemInterfaceobject
-
setEntrainment
public void setEntrainment(double val, String specType, String specifiedStream, String phaseFrom, String phaseTo) setEntrainment.
- Parameters:
val- a double specifying the entrainment amountspecType- aStringobject describing the specification unitspecifiedStream- aStringobject describing the reference streamphaseFrom- aStringobject describing the phase entrained fromphaseTo- aStringobject describing the phase entrained to
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Specified by:
runin interfaceSimulationInterface- Parameters:
id- UUID
-
displayResult
public void displayResult()displayResult.
- Specified by:
displayResultin interfaceProcessEquipmentInterface- Overrides:
displayResultin classProcessEquipmentBaseClass
-
getResultTable
getResultTable.
- Specified by:
getResultTablein interfaceProcessEquipmentInterface- Overrides:
getResultTablein classProcessEquipmentBaseClass- Returns:
- an array of
Stringobjects
-
runTransient
runTransient
This method calculates thermodynamic and unit operations using difference equations if available and calculateSteadyState is true. Use setCalculateSteadyState to set the parameter. Sets calc identifier UUID.- Specified by:
runTransientin interfaceSimulationInterface- Parameters:
dt- Delta time [s]id- Calculation identifier
-
setTempPres
public void setTempPres(double temp, double pres) setTempPres.
- Parameters:
temp- a doublepres- a double
-
getEfficiency
public double getEfficiency()Getter for the field
efficiency.- Returns:
- a double
-
setEfficiency
public void setEfficiency(double efficiency) Setter for the field
efficiency.- Parameters:
efficiency- a double
-
getLiquidCarryoverFraction
public double getLiquidCarryoverFraction()Getter for the field
liquidCarryoverFraction.- Returns:
- a double
-
setLiquidCarryoverFraction
public void setLiquidCarryoverFraction(double liquidCarryoverFraction) Setter for the field
liquidCarryoverFraction.- Parameters:
liquidCarryoverFraction- a double
-
getGasCarryunderFraction
public double getGasCarryunderFraction()Getter for the field
gasCarryunderFraction.- Returns:
- a double
-
setGasCarryunderFraction
public void setGasCarryunderFraction(double gasCarryunderFraction) Setter for the field
gasCarryunderFraction.- Parameters:
gasCarryunderFraction- a double
-
setLiquidLevel
public void setLiquidLevel(double liquidlev) Setter for the field
liquidLevel.- Specified by:
setLiquidLevelin interfaceSeparatorInterface- Parameters:
liquidlev- a double
-
getLiquidLevel
public double getLiquidLevel()Getter for the field
liquidLevelin percentage.- Returns:
- a double
-
getPressureDrop
public double getPressureDrop()Getter for the field
pressureDrop.- Returns:
- the pressureDrop
-
setPressureDrop
public void setPressureDrop(double pressureDrop) Setter for the field
pressureDrop.- Parameters:
pressureDrop- the pressureDrop to set
-
getInternalDiameter
public double getInternalDiameter()Getter for the field
internalDiameter.- Returns:
- the diameter
-
setInternalDiameter
public void setInternalDiameter(double diameter) setInternalDiameter.
- Specified by:
setInternalDiameterin interfaceSeparatorInterface- Parameters:
diameter- a double
-
getGasSuperficialVelocity
public double getGasSuperficialVelocity()getGasSuperficialVelocity.
- Returns:
- a double
-
getGasLoadFactor
public double getGasLoadFactor()getGasLoadFactor.
- Returns:
- a double
-
getGasLoadFactor
public double getGasLoadFactor(int phaseNumber) getGasLoadFactor.
- Parameters:
phaseNumber- a int- Returns:
- a double
-
getDeRatedGasLoadFactor
public double getDeRatedGasLoadFactor()getDeRatedGasLoadFactor.
- Returns:
- a double
-
getDeRatedGasLoadFactor
public double getDeRatedGasLoadFactor(int phaseNum) getDeRatedGasLoadFactor.
- Parameters:
phaseNum- a int- Returns:
- a double
-
getOrientation
-
setOrientation
Setter for the field
orientation.- Parameters:
orientation- the orientation to set
-
liquidArea
public double liquidArea(double level) Calculates both gas and liquid fluid section areas for horizontal separators. Results can be used for volume calculation, gas superficial velocity, and settling time.
- Parameters:
level- current liquid level inside the separator [m]- Returns:
- separator liquid area.
-
calcLiquidVolume
public double calcLiquidVolume()calculates liquid volume based on separator type.
- Returns:
- liquid level in the separator
-
updateHoldupVolumes
private void updateHoldupVolumes()Keeps cached gas/liquid holdup volumes aligned with current geometry and level. -
enforceHeadspace
protected void enforceHeadspace() -
getMaxLiquidHeight
private double getMaxLiquidHeight() -
getMinGasVolume
private double getMinGasVolume() -
clampLiquidHeight
private double clampLiquidHeight(double height) -
getInnerSurfaceArea
public double getInnerSurfaceArea()Calculates the total inner surface area of the separator, including shell and heads.- Returns:
- inner surface area in square meters
-
getWettedArea
public double getWettedArea()Estimates the wetted inner surface area based on current liquid level and orientation.For horizontal separators, the wetted area uses the circular segment defined by the liquid level to apportion the cylindrical shell and head areas. For vertical separators, the wetted area is the side area up to the current level plus the bottom head.
- Returns:
- wetted area in square meters
-
getUnwettedArea
public double getUnwettedArea()Estimates the unwetted (dry) area as the remaining inner area not in contact with liquid.- Returns:
- unwetted area in square meters
-
evaluateFireExposure
public SeparatorFireExposure.FireExposureResult evaluateFireExposure(SeparatorFireExposure.FireScenarioConfig config) Evaluates fire exposure using the separator geometry and process conditions.- Parameters:
config- fire scenario configuration- Returns:
- aggregated fire exposure result
-
evaluateFireExposure
public SeparatorFireExposure.FireExposureResult evaluateFireExposure(SeparatorFireExposure.FireScenarioConfig config, Flare flare, double flareGroundDistanceM) Evaluates fire exposure using separator geometry and process conditions while accounting for flare radiation based on the real flaring heat duty.- Parameters:
config- fire scenario configurationflare- flare supplying heat duty and radiation parametersflareGroundDistanceM- horizontal distance from flare base to separator [m]- Returns:
- aggregated fire exposure result
-
levelFromVolume
public double levelFromVolume(double volumeTarget) Estimates liquid level based on volume for horizontal separators using bisection method. Vertical separators too. tol and maxIter are bisection loop parameters.
- Parameters:
volumeTarget- desired liquid volume to be held in the separator [m3]- Returns:
- liquid level in the separator
-
getSeparatorLength
public double getSeparatorLength()Getter for the field
separatorLength.- Returns:
- the separatorLength
-
setSeparatorLength
public void setSeparatorLength(double separatorLength) Setter for the field
separatorLength.- Parameters:
separatorLength- the separatorLength to set
-
getSeparatorSection
Getter for the field
separatorSection.- Parameters:
i- a int- Returns:
- a
SeparatorSectionobject
-
getSeparatorSection
Getter for the field
separatorSection.- Parameters:
name- aStringobject- Returns:
- a
SeparatorSectionobject
-
getSeparatorSections
getSeparatorSections.
- Returns:
- a
ArrayListobject
-
addSeparatorSection
-
getDesignLiquidLevelFraction
public double getDesignLiquidLevelFraction()Getter for the field
designLiquidLevelFraction.- Returns:
- the designGasLevelFraction
-
setDesignLiquidLevelFraction
public void setDesignLiquidLevelFraction(double designLiquidLevelFraction) Setter for the field
designLiquidLevelFraction.- Parameters:
designLiquidLevelFraction- a double
-
getPressure
public double getPressure()Getter for the field
pressure.- Specified by:
getPressurein interfaceProcessEquipmentInterface- Overrides:
getPressurein classProcessEquipmentBaseClass- Returns:
- Pressure in bara
-
getEntropyProduction
getEntropyProduction.
- Specified by:
getEntropyProductionin interfaceProcessEquipmentInterface- Overrides:
getEntropyProductionin classProcessEquipmentBaseClass- Parameters:
unit- aStringobject- Returns:
- a double
-
getMassBalance
getMassBalance.
- Specified by:
getMassBalancein interfaceProcessEquipmentInterface- Overrides:
getMassBalancein classProcessEquipmentBaseClass- Parameters:
unit- aStringobject- Returns:
- a double
-
getExergyChange
Get exergy change production of the process equipment.- Specified by:
getExergyChangein interfaceProcessEquipmentInterface- Overrides:
getExergyChangein classProcessEquipmentBaseClass- Parameters:
unit- Supported units are J and kJsurroundingTemperature- The surrounding temperature in Kelvin- Returns:
- change in exergy in specified unit
-
hashCode
public int hashCode()- Specified by:
hashCodein interfaceProcessEquipmentInterface- Overrides:
hashCodein classProcessEquipmentBaseClass
-
equals
- Specified by:
equalsin interfaceProcessEquipmentInterface- Overrides:
equalsin classProcessEquipmentBaseClass
-
getFeedStream
-
toJson
Serializes the Process Equipment along with its state to a JSON string.
- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classProcessEquipmentBaseClass- Returns:
- json string.
-
toJson
Serializes the Process Equipment with configurable level of detail.- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classProcessEquipmentBaseClass- Parameters:
cfg- report configuration- Returns:
- json string
-
setHeatInput
public void setHeatInput(double heatInput) Set heat input to the separator (e.g., from flare radiation, external heating).- Specified by:
setHeatInputin interfaceSeparatorInterface- Parameters:
heatInput- heat duty in watts
-
setHeatInput
Set heat input to the separator with specified unit.- Specified by:
setHeatInputin interfaceSeparatorInterface- Parameters:
heatInput- heat duty valueunit- heat duty unit (W, kW, MW, J/s, etc.)
-
setHeatDuty
public void setHeatDuty(double heatDuty) Set heat duty (alias for setHeatInput).- Parameters:
heatDuty- heat duty in watts
-
setHeatDuty
Set heat duty with unit (alias for setHeatInput).- Parameters:
heatDuty- heat duty valueunit- heat duty unit
-
setDuty
public void setDuty(double heatDuty) Set heat duty (alias preserved for compatibility with energy-stream style naming).- Parameters:
heatDuty- heat duty in watts
-
setDuty
Set heat duty with unit (alias preserved for compatibility with energy-stream style naming).- Parameters:
heatDuty- heat duty valueunit- heat duty unit
-
getHeatInput
public double getHeatInput()Get heat input in watts.- Specified by:
getHeatInputin interfaceSeparatorInterface- Returns:
- heat input in watts
-
getHeatInput
Get heat input in specified unit.- Specified by:
getHeatInputin interfaceSeparatorInterface- Parameters:
unit- desired unit (W, kW, MW)- Returns:
- heat input in specified unit
-
getHeatDuty
public double getHeatDuty()Get heat duty (alias for getHeatInput).- Returns:
- heat duty in watts
-
getHeatDuty
Get heat duty in specified unit.- Parameters:
unit- desired unit- Returns:
- heat duty in specified unit
-
isSetHeatInput
public boolean isSetHeatInput()Check if heat input is set.- Specified by:
isSetHeatInputin interfaceSeparatorInterface- Returns:
- true if heat input is explicitly set
-
getExergyChange
getExergyChange.
- Specified by:
getExergyChangein interfaceProcessEquipmentInterface- Parameters:
unit- aStringobject- Returns:
- a double
-
getCapacityDuty
public double getCapacityDuty()getCapacityDuty.
- Specified by:
getCapacityDutyin interfaceProcessEquipmentInterface- Returns:
- a double
-
getCapacityMax
public double getCapacityMax()getCapacityMax.
- Specified by:
getCapacityMaxin interfaceProcessEquipmentInterface- Returns:
- a double
-
getStateVector
Get the current state as a standardized vector.The state vector should include all observable variables relevant for control and monitoring. Values should be in physical units with appropriate bounds.
Returns state vector containing:
- pressure - Separator pressure [bar]
- temperature - Separator temperature [K]
- liquid_level - Liquid level fraction [0-1]
- gas_density - Gas phase density [kg/m³]
- liquid_density - Liquid phase density [kg/m³]
- gas_flow - Gas outlet flow [kg/s]
- liquid_flow - Liquid outlet flow [kg/s]
- gas_load_factor - Gas load factor [-]
- Specified by:
getStateVectorin interfaceStateVectorProvider- Returns:
- current state vector
-
validateSetup
Validate the process equipment before execution.Checks for common setup errors:
- Equipment has a valid name
- Input streams connected
- Operating parameters in valid ranges
Validates the separator setup before execution. Checks that:
- Equipment has a valid name
- At least one inlet stream is connected
- Separator dimensions are positive
- Liquid level is within valid range
- Specified by:
validateSetupin interfaceProcessEquipmentInterface- Returns:
- validation result with errors and warnings
-
builder
Creates a new Builder for constructing a Separator with a fluent API.Example usage:
Separator sep = Separator.builder("V-100").inletStream(feed).orientation("horizontal") .length(5.0).diameter(2.0).liquidLevel(0.5).build();- Parameters:
name- the name of the separator- Returns:
- a new Builder instance
-