Class EndFlash
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.separator.Separator
neqsim.process.equipment.separator.EndFlash
- All Implemented Interfaces:
Serializable, Runnable, AutoSizeable, CapacityConstrainedEquipment, ProcessEquipmentInterface, SeparatorInterface, StateVectorProvider, ProcessElementInterface, SimulationInterface, NamedInterface
End flash drum model for LNG production.
The end flash drum is the final separation stage in an LNG plant. Sub-cooled LNG from the main cryogenic heat exchanger (MCHE) is letdown to near-atmospheric pressure, causing flash evaporation. The flash gas (rich in nitrogen) is separated from the LNG product.
This class extends Separator and adds:
- N2 content tracking in LNG product and flash gas
- LNG product specification checking (max N2 per ISO 16903)
- Flash gas fuel value assessment
- LNG heating value calculation
- Version:
- 1.0
- Author:
- NeqSim
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class Separator
Separator.Builder -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleFlash gas to feed ratio (molar).private booleanWhether LNG product meets N2 specification.private static final org.apache.logging.log4j.Loggerprivate doubleMaximum allowable N2 mole fraction in LNG product (ISO 16903 limit).private doubleMethane mole fraction in LNG product.private doubleN2 mole fraction in flash gas.private doubleActual N2 mole fraction in LNG product.private static final longFields 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, electricalDesign, gasOutStream, gasSystem, gasVolume, inletStreamMixer, instrumentDesign, isInitTransient, liquidLevel, liquidOutStream, liquidSystem, liquidVolume, 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
ConstructorsConstructorDescriptionConstructor for EndFlash.EndFlash(String name, StreamInterface inletStream) Constructor for EndFlash with inlet stream. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidanalyseFlashGas(SystemInterface gasSystem) Analyse the flash gas composition.private voidanalyseLNGProduct(SystemInterface liqSystem) Analyse the LNG product composition.doubleGet the flash gas to feed ratio (moles of flash gas / moles of feed).doubleGet the maximum allowable N2 mole fraction.doubleGet the methane mole fraction in the LNG product.doubleGet the N2 mole fraction in the flash gas.doubleGet the N2 mole fraction in the LNG product.booleanCheck whether the LNG product meets the N2 specification.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetMaxN2InLNG(double maxFraction) Set the maximum allowable N2 mole fraction in the LNG product.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, getBootVolume, getBottleneckConstraint, getCapacityConstraints, getCapacityDuty, getCapacityMax, getCapacityUtilization, getConstraintSummary, getDeRatedGasLoadFactor, getDeRatedGasLoadFactor, getDesignGasLoadFactor, getDesignLiquidLevelFraction, getEfficiency, getElectricalDesign, getEnabledConstraintNames, getEntropyProduction, getEquipmentState, getExergyChange, getExergyChange, getFeedStream, getGas, getGasCarryunderFraction, getGasLoadFactor, getGasLoadFactor, getGasOutStream, getGasSuperficialVelocity, getHeatDuty, getHeatDuty, getHeatInput, getHeatInput, getInletFlowRegime, getInletStreams, getInnerSurfaceArea, getInstrumentDesign, getInternalDiameter, getKFactor, getKFactorUtilization, getLiquid, getLiquidCarryoverFraction, getLiquidLevel, getLiquidOutStream, getMassBalance, getMaxAllowableGasFlowRate, getMaxAllowableGasVelocity, getMaxUtilization, getMechanicalDesign, getMistEliminatorDpCoeff, getMistEliminatorPressureDrop, getMistEliminatorThickness, getOperatingEnvelopeViolation, getOrientation, getOutletStreams, getPerformanceCalculator, getPerformanceSummary, getPressure, getPressureDrop, getResultTable, getSeparatorLength, getSeparatorSection, getSeparatorSection, getSeparatorSections, getSimulationValidationErrors, getSizingReport, getSizingReportJson, getStateVector, getThermoSystem, getUnwettedArea, getWeirHeight, getWeirLength, getWeirOverflowRate, getWettedArea, hasGeometry, hashCode, initDesignFromFlow, initElectricalDesign, initializeCapacityConstraints, initializeTransientCalculation, initInstrumentDesign, initMechanicalDesign, isAutoSized, isCapacityExceeded, isConstraintEnabled, isDetailedEntrainmentCalculation, isDropletCutSizeWithinLimit, isDropletCutSizeWithinLimit, isEnforceCapacityLimits, isEnhancedEntrainmentCalculation, isHardLimitExceeded, isInletMomentumWithinLimit, isInletMomentumWithinLimit, isKValueWithinLimit, isKValueWithinLimit, isMistEliminatorFlooded, isOilRetentionTimeAboveMinimum, isOilRetentionTimeAboveMinimum, isOverloaded, isSetHeatInput, isSimulationValid, isSinglePhase, isWaterRetentionTimeAboveMinimum, isWaterRetentionTimeAboveMinimum, isWithinAllLimits, isWithinOperatingEnvelope, levelFromVolume, liquidArea, removeCapacityConstraint, runTransient, setBootVolume, setDesignGasLoadFactor, setDesignLiquidLevelFraction, setDetailedEntrainmentCalculation, setDropletCutSizeLimit, setDuty, setDuty, setEfficiency, setEnforceCapacityLimits, setEnhancedEntrainmentCalculation, setEntrainment, setGasCarryunderFraction, setGasLiquidSurfaceTension, setHeatDuty, setHeatDuty, setHeatInput, setHeatInput, setInletDeviceType, setInletMomentumLimit, setInletPipeDiameter, setInletStream, setInternalDiameter, setKValueLimit, setLiquidCarryoverFraction, setLiquidLevel, setMinOilRetentionTime, setMinWaterRetentionTime, setMistEliminatorDpCoeff, setMistEliminatorThickness, setOrientation, setPerformanceCalculator, setPressureDrop, setSeparatorLength, setTempPres, setWeirHeight, setWeirLength, sizeFromFlow, toJson, toJson, updateEntrainmentForTransient, updateEntrainmentFromPerformanceCalculator, useAllConstraints, useAPIConstraints, useConstraints, useEquinorConstraints, useGasCapacityConstraints, useGasScrubberConstraints, useLiquidCapacityConstraints, validateSetupMethods inherited from class ProcessEquipmentBaseClass
addController, copy, getAvailableMargin, getAvailableMarginPercent, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getFailureMode, getMassBalance, getMaxUtilizationPercent, getMinimumFlow, getPressure, getProperty, getReferenceDesignation, getReport_json, getSpecification, getTemperature, getTemperature, getUtilizationSummary, initializeDefaultConstraints, isActive, isActive, isCapacityAnalysisEnabled, isFailed, isNearCapacityLimit, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setReferenceDesignation, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solvedMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagNumber, setName, setTagNumberMethods 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, getTagNumber, setName, setTagName, setTagNumberMethods inherited from interface ProcessEquipmentInterface
getExergyDestruction, getExergyDestruction, getFluid, getOutletFlowRate, getOutletPressure, getOutletTemperature, getReferenceDesignationString, 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 serialVersionUID- See Also:
-
logger
private static final org.apache.logging.log4j.Logger logger -
maxN2InLNG
private double maxN2InLNGMaximum allowable N2 mole fraction in LNG product (ISO 16903 limit). -
n2InLNGMolFrac
private double n2InLNGMolFracActual N2 mole fraction in LNG product. -
n2InFlashGasMolFrac
private double n2InFlashGasMolFracN2 mole fraction in flash gas. -
methaneInLNGMolFrac
private double methaneInLNGMolFracMethane mole fraction in LNG product. -
lngSpecMet
private boolean lngSpecMetWhether LNG product meets N2 specification. -
flashGasRatio
private double flashGasRatioFlash gas to feed ratio (molar).
-
-
Constructor Details
-
EndFlash
Constructor for EndFlash.- Parameters:
name- name of the end flash drum
-
EndFlash
Constructor for EndFlash with inlet stream.- Parameters:
name- name of the end flash druminletStream- inlet sub-cooled LNG stream
-
-
Method Details
-
setMaxN2InLNG
public void setMaxN2InLNG(double maxFraction) Set the maximum allowable N2 mole fraction in the LNG product.- Parameters:
maxFraction- maximum N2 mole fraction (default 0.01 = 1%)
-
getMaxN2InLNG
public double getMaxN2InLNG()Get the maximum allowable N2 mole fraction.- Returns:
- maximum N2 mole fraction
-
getN2InLNGMolFrac
public double getN2InLNGMolFrac()Get the N2 mole fraction in the LNG product.- Returns:
- N2 mole fraction
-
getN2InFlashGasMolFrac
public double getN2InFlashGasMolFrac()Get the N2 mole fraction in the flash gas.- Returns:
- N2 mole fraction
-
getMethaneInLNGMolFrac
public double getMethaneInLNGMolFrac()Get the methane mole fraction in the LNG product.- Returns:
- methane mole fraction
-
isLNGSpecMet
public boolean isLNGSpecMet()Check whether the LNG product meets the N2 specification.- Returns:
- true if N2 in LNG is within limit
-
getFlashGasRatio
public double getFlashGasRatio()Get the flash gas to feed ratio (moles of flash gas / moles of feed).- Returns:
- flash gas ratio
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Specified by:
runin interfaceSimulationInterface- Overrides:
runin classSeparator- Parameters:
id- UUID
-
analyseFlashGas
Analyse the flash gas composition.- Parameters:
gasSystem- flash gas thermodynamic system
-
analyseLNGProduct
Analyse the LNG product composition.- Parameters:
liqSystem- LNG product thermodynamic system
-