Class GasScrubber
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.separator.Separator
neqsim.process.equipment.separator.GasScrubber
- All Implemented Interfaces:
Serializable, Runnable, AutoSizeable, CapacityConstrainedEquipment, ProcessEquipmentInterface, SeparatorInterface, StateVectorProvider, SimulationInterface, NamedInterface
GasScrubber class.
A gas scrubber is a vertical separator designed primarily for removing liquid droplets from gas streams. Unlike standard separators, the key performance metric is the K-value (Souders-Brown factor) rather than liquid retention time.
Capacity Utilization Setup
To get meaningful capacity utilization from Separator.getCapacityUtilization(), set:
Separator.setInternalDiameter(double)— scrubber inner diameter [m]Separator.setDesignGasLoadFactor(double)— design K-factor [m/s], typically 0.04–0.10 for vertical scrubbers
The orientation is automatically set to "vertical" and the design liquid level fraction defaults to 0.1 (10%), reflecting that scrubbers hold very little liquid. For dry gas (no liquid phase), a default liquid density of 1000 kg/m³ is used.
Example:
GasScrubber scrubber = new GasScrubber("inlet scrubber", feedStream);
scrubber.setInternalDiameter(1.2); // 1.2 m ID
scrubber.setDesignGasLoadFactor(0.08); // K = 0.08 m/s
scrubber.run();
double util = scrubber.getCapacityUtilization(); // e.g. 0.65 = 65%
- Version:
- $Id: $Id
- Author:
- Even Solbraa
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class Separator
Separator.Builder -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longSerialization version UID.Fields inherited from class Separator
DEFAULT_DROPLET_CUTSIZE_LIMIT, DEFAULT_INLET_MOMENTUM_LIMIT, DEFAULT_K_VALUE_LIMIT, DEFAULT_LIQUID_DENSITY_FOR_SIZING, DEFAULT_MIN_OIL_RETENTION_TIME, DEFAULT_MIN_WATER_RETENTION_TIME, gasOutStream, gasSystem, gasVolume, inletStreamMixer, isInitTransient, liquidLevel, liquidOutStream, liquidSystem, liquidVolume, logger, numberOfInputStreams, separatorMechanicalDesign, separatorSection, thermoSystem, thermoSystem2, thermoSystemCloned, waterSystemFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionGasScrubber(String name) Constructor for GasScrubber.GasScrubber(String name, StreamInterface inletStream) Constructor for GasScrubber. -
Method Summary
Modifier and TypeMethodDescriptionGet amechanicalDesignfor the equipment.Methods inherited from class Separator
addCapacityConstraint, addSeparatorSection, addStream, autoSize, autoSize, autoSize, builder, calcDropletCutSize, calcDropletCutSizeAtHLL, calcGasAreaAboveLevel, calcGasVelocityAboveLevel, calcInletMomentumFlux, calcInletMomentumFlux, calcKValue, calcKValueAtHLL, calcLiquidVolume, calcOilRetentionTime, calcSegmentArea, calcWaterRetentionTime, clearCapacityConstraints, disableConstraint, disableConstraints, displayResult, enableConstraints, enforceHeadspace, equals, evaluateFireExposure, evaluateFireExposure, getBottleneckConstraint, getCapacityConstraints, getCapacityDuty, getCapacityMax, getCapacityUtilization, getConstraintSummary, getDeRatedGasLoadFactor, getDeRatedGasLoadFactor, getDesignGasLoadFactor, getDesignLiquidLevelFraction, getEfficiency, getEnabledConstraintNames, getEntropyProduction, getExergyChange, getExergyChange, getFeedStream, getGas, getGasCarryunderFraction, getGasLoadFactor, getGasLoadFactor, getGasOutStream, getGasSuperficialVelocity, getHeatDuty, getHeatDuty, getHeatInput, getHeatInput, getInnerSurfaceArea, getInternalDiameter, getLiquid, getLiquidCarryoverFraction, getLiquidLevel, getLiquidOutStream, getMassBalance, getMaxAllowableGasFlowRate, getMaxAllowableGasVelocity, getMaxUtilization, getOperatingEnvelopeViolation, getOrientation, getPerformanceSummary, getPressure, getPressureDrop, getResultTable, getSeparatorLength, getSeparatorSection, getSeparatorSection, getSeparatorSections, getSimulationValidationErrors, getSizingReport, getSizingReportJson, getStateVector, getThermoSystem, getUnwettedArea, getWettedArea, hashCode, initDesignFromFlow, initializeCapacityConstraints, initializeTransientCalculation, initMechanicalDesign, isAutoSized, isCapacityExceeded, isConstraintEnabled, isDropletCutSizeWithinLimit, isDropletCutSizeWithinLimit, isEnforceCapacityLimits, isHardLimitExceeded, isInletMomentumWithinLimit, isInletMomentumWithinLimit, isKValueWithinLimit, isKValueWithinLimit, isOilRetentionTimeAboveMinimum, isOilRetentionTimeAboveMinimum, isOverloaded, isSetHeatInput, isSimulationValid, isSinglePhase, isWaterRetentionTimeAboveMinimum, isWaterRetentionTimeAboveMinimum, isWithinAllLimits, isWithinOperatingEnvelope, levelFromVolume, liquidArea, removeCapacityConstraint, run, runTransient, setDesignGasLoadFactor, setDesignLiquidLevelFraction, setDropletCutSizeLimit, setDuty, setDuty, setEfficiency, setEnforceCapacityLimits, setEntrainment, setGasCarryunderFraction, setHeatDuty, setHeatDuty, setHeatInput, setHeatInput, setInletMomentumLimit, setInletStream, setInternalDiameter, setKValueLimit, setLiquidCarryoverFraction, setLiquidLevel, setMinOilRetentionTime, setMinWaterRetentionTime, setOrientation, setPressureDrop, setSeparatorLength, setTempPres, sizeFromFlow, toJson, toJson, useAllConstraints, useAPIConstraints, useConstraints, useEquinorConstraints, useGasCapacityConstraints, useGasScrubberConstraints, useLiquidCapacityConstraints, validateSetupMethods inherited from class ProcessEquipmentBaseClass
copy, getConditionAnalysisMessage, getController, getEffectiveCapacityFactor, getEnergyStream, getFailureMode, getMassBalance, getMinimumFlow, getPressure, getProperty, getReport_json, getSpecification, getTemperature, getTemperature, isActive, isActive, isCapacityAnalysisEnabled, isFailed, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, 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 CapacityConstrainedEquipment
disableAllConstraints, enableAllConstraints, getAvailableMargin, getAvailableMarginPercent, getMaxUtilizationPercent, getUtilizationSummary, isCapacityAnalysisEnabled, isNearCapacityLimit, setCapacityAnalysisEnabledMethods 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:
-
-
Constructor Details
-
Method Details
-
getMechanicalDesign
Get a
mechanicalDesignfor the equipment.- Specified by:
getMechanicalDesignin interfaceProcessEquipmentInterface- Overrides:
getMechanicalDesignin classSeparator- Returns:
- a
MechanicalDesignobject
-