Class Ejector
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.ejector.Ejector
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, SimulationInterface, NamedInterface
Ejector class represents an ejector in a process simulation. It mixes a motive stream with a
suction stream and calculates the resulting mixed stream using a quasi one-dimensional
formulation. The implementation combines energy and momentum balances commonly used in steam-jet
ejector design as summarised by Keenan et al. (1950) and ESDU 86030.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate doubleprivate booleanprivate doubleprivate booleanprivate doubleprivate doubleprivate booleanprivate doubleprivate doubleprivate static final org.apache.logging.log4j.Loggerprivate EjectorMechanicalDesignprivate StreamInterfaceprivate doubleprivate StreamInterfaceprivate static final longSerialization version UID.private doubleprivate booleanprivate StreamInterfaceFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionEjector(String name, StreamInterface motiveStream, StreamInterface suctionStream) Constructs an Ejector with the specified name, motive stream, and suction stream. -
Method Summary
Modifier and TypeMethodDescriptionprivate static doubleclamp(double value, double min, double max) private static doublecylinderVolume(double area, double length) private static doublediameterFromArea(double area) private doubleestimateDefaultMixingPressure(double suctionPressure, double dischargePressure, double mDotMotive, double mDotSuction) private doubleestimateDesignDiffuserOutletVelocity(double mixingPressure, double dischargePressure, double rhoDiffuser, double mDotTotal) private doubleestimateDesignSuctionVelocity(double suctionPressure, double dischargePressure, double rhoSuction, double mDotSuction) private doubleestimateDischargeConnectionLength(double diffuserDiameter, double mixingPressure, double dischargePressure) private static doubleestimateLength(double diameter, double factor) private doubleestimateSuctionConnectionLength(double suctionDiameter, double suctionPressure, double dischargePressure) Backwards compatible accessor for mechanical design results.doubleGetter for the fielddiffuserEfficiency.doubleGetter for the fieldefficiencyIsentropic.doublegetEntrainmentRatio.doublegetMassBalance(String unit) getMassBalance.Get amechanicalDesignfor the equipment.Getter for the fieldmixedStream.Getter for the fieldmotiveStream.getOutStream.Getter for the fieldsuctionStream.voidInitialize ainitMechanicalDesignfor the equipment.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetDesignDiffuserOutletVelocity(double velocity) Sets the design diffuser outlet velocity used when calculating mechanical dimensions.voidsetDesignSuctionVelocity(double velocity) Sets the design suction velocity used when calculating mechanical dimensions.voidsetDiffuserEfficiency(double diffuserEfficiency) Setter for the fielddiffuserEfficiency.voidsetDischargeConnectionLength(double length) Sets the straight length of discharge piping to include in total volume calculations.voidsetDischargePressure(double dischargePressure) Setter for the fielddischargePressure.voidsetEfficiencyIsentropic(double efficiencyIsentropic) Setter for the fieldefficiencyIsentropic.voidsetMixingPressure(double mixingPressure) Sets the target mixing pressure within the ejector.voidsetSuctionConnectionLength(double length) Sets the straight length of suction piping to include in total volume calculations.voidsetThroatArea(double throatArea) Setter for the fieldthroatArea.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.Methods inherited from class ProcessEquipmentBaseClass
copy, displayResult, equals, getConditionAnalysisMessage, getController, getEnergyStream, getEntropyProduction, getExergyChange, getMassBalance, getMinimumFlow, getPressure, getPressure, getProperty, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, hashCode, 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
getCapacityDuty, getCapacityMax, getExergyChange, getFluid, getRestCapacity, needRecalculation, validateSetupMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
logger
private static final org.apache.logging.log4j.Logger logger -
motiveStream
-
suctionStream
-
mixedStream
-
dischargePressure
private double dischargePressure -
mixingPressure
private double mixingPressure -
efficiencyIsentropic
private double efficiencyIsentropic -
diffuserEfficiency
private double diffuserEfficiency -
designSuctionVelocity
private double designSuctionVelocity -
designDiffuserOutletVelocity
private double designDiffuserOutletVelocity -
designSuctionVelocityOverride
private boolean designSuctionVelocityOverride -
designDiffuserVelocityOverride
private boolean designDiffuserVelocityOverride -
suctionConnectionLength
private double suctionConnectionLength -
dischargeConnectionLength
private double dischargeConnectionLength -
suctionConnectionLengthOverride
private boolean suctionConnectionLengthOverride -
dischargeConnectionLengthOverride
private boolean dischargeConnectionLengthOverride -
mechanicalDesign
-
BAR_TO_PA
private static final double BAR_TO_PA- See Also:
-
DEFAULT_NOZZLE_LENGTH_FACTOR
private static final double DEFAULT_NOZZLE_LENGTH_FACTOR- See Also:
-
DEFAULT_SUCTION_LENGTH_FACTOR
private static final double DEFAULT_SUCTION_LENGTH_FACTOR- See Also:
-
DEFAULT_MIXING_LENGTH_FACTOR
private static final double DEFAULT_MIXING_LENGTH_FACTOR- See Also:
-
DEFAULT_DIFFUSER_LENGTH_FACTOR
private static final double DEFAULT_DIFFUSER_LENGTH_FACTOR- See Also:
-
-
Constructor Details
-
Ejector
Constructs an Ejector with the specified name, motive stream, and suction stream.- Parameters:
name- the name of the ejectormotiveStream- the motive streamsuctionStream- the suction stream
-
-
Method Details
-
setDischargePressure
public void setDischargePressure(double dischargePressure) Setter for the field
dischargePressure.- Parameters:
dischargePressure- a double
-
setEfficiencyIsentropic
public void setEfficiencyIsentropic(double efficiencyIsentropic) Setter for the field
efficiencyIsentropic.- Parameters:
efficiencyIsentropic- a double
-
setDiffuserEfficiency
public void setDiffuserEfficiency(double diffuserEfficiency) Setter for the field
diffuserEfficiency.- Parameters:
diffuserEfficiency- a double
-
setThroatArea
public void setThroatArea(double throatArea) Setter for the field
throatArea.- Parameters:
throatArea- a double
-
setMixingPressure
public void setMixingPressure(double mixingPressure) Sets the target mixing pressure within the ejector. If not set the suction pressure is used.- Parameters:
mixingPressure- the mixing pressure in bara
-
setDesignSuctionVelocity
public void setDesignSuctionVelocity(double velocity) Sets the design suction velocity used when calculating mechanical dimensions.- Parameters:
velocity- velocity in m/s
-
setDesignDiffuserOutletVelocity
public void setDesignDiffuserOutletVelocity(double velocity) Sets the design diffuser outlet velocity used when calculating mechanical dimensions.- Parameters:
velocity- velocity in m/s
-
setSuctionConnectionLength
public void setSuctionConnectionLength(double length) Sets the straight length of suction piping to include in total volume calculations.- Parameters:
length- length in metres
-
setDischargeConnectionLength
public void setDischargeConnectionLength(double length) Sets the straight length of discharge piping to include in total volume calculations.- Parameters:
length- length in metres
-
initMechanicalDesign
public void initMechanicalDesign()Description copied from class:ProcessEquipmentBaseClassInitialize a
initMechanicalDesignfor the equipment.- Specified by:
initMechanicalDesignin interfaceProcessEquipmentInterface- Overrides:
initMechanicalDesignin classProcessEquipmentBaseClass
-
getMechanicalDesign
Description copied from class:ProcessEquipmentBaseClassGet a
mechanicalDesignfor the equipment.- Specified by:
getMechanicalDesignin interfaceProcessEquipmentInterface- Overrides:
getMechanicalDesignin classProcessEquipmentBaseClass- Returns:
- a
MechanicalDesignobject
-
getDesignResult
Backwards compatible accessor for mechanical design results.- Returns:
- the ejector mechanical design container
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Parameters:
id- UUID
-
getOutStream
-
getEntrainmentRatio
public double getEntrainmentRatio()getEntrainmentRatio.
- Returns:
- a double
-
diameterFromArea
private static double diameterFromArea(double area) -
estimateLength
private static double estimateLength(double diameter, double factor) -
cylinderVolume
private static double cylinderVolume(double area, double length) -
estimateDefaultMixingPressure
private double estimateDefaultMixingPressure(double suctionPressure, double dischargePressure, double mDotMotive, double mDotSuction) -
estimateDesignSuctionVelocity
private double estimateDesignSuctionVelocity(double suctionPressure, double dischargePressure, double rhoSuction, double mDotSuction) -
estimateDesignDiffuserOutletVelocity
private double estimateDesignDiffuserOutletVelocity(double mixingPressure, double dischargePressure, double rhoDiffuser, double mDotTotal) -
estimateSuctionConnectionLength
private double estimateSuctionConnectionLength(double suctionDiameter, double suctionPressure, double dischargePressure) -
estimateDischargeConnectionLength
private double estimateDischargeConnectionLength(double diffuserDiameter, double mixingPressure, double dischargePressure) -
clamp
private static double clamp(double value, double min, double max) -
getMassBalance
getMassBalance.
- Specified by:
getMassBalancein interfaceProcessEquipmentInterface- Overrides:
getMassBalancein classProcessEquipmentBaseClass- Parameters:
unit- aStringobject- Returns:
- a double
-
getMotiveStream
Getter for the field
motiveStream.- Returns:
- a
StreamInterfaceobject
-
getSuctionStream
Getter for the field
suctionStream.- Returns:
- a
StreamInterfaceobject
-
getMixedStream
Getter for the field
mixedStream.- Returns:
- a
StreamInterfaceobject
-
getEfficiencyIsentropic
public double getEfficiencyIsentropic()Getter for the field
efficiencyIsentropic.- Returns:
- a double
-
getDiffuserEfficiency
public double getDiffuserEfficiency()Getter for the field
diffuserEfficiency.- Returns:
- a double
-
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
-