Class LNGTank
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.tank.Tank
neqsim.process.equipment.tank.LNGTank
- All Implemented Interfaces:
Serializable, Runnable, AutoSizeable, CapacityConstrainedEquipment, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface
LNG storage tank model with boil-off gas (BOG) generation.
Models an LNG storage tank (membrane or Moss sphere type) with heat ingress through insulation, generating a boil-off gas (BOG) stream. The BOG rate depends on tank geometry, insulation properties, ambient temperature, and LNG composition.
The model calculates the steady-state boil-off rate as:
Q_ingress = U * A * (T_ambient - T_LNG) BOG_rate = Q_ingress / latent_heat_of_vaporisation
Typical boil-off rates are 0.05 - 0.15 %/day of total LNG volume for modern insulated tanks.
- Version:
- 1.0
- Author:
- NeqSim
- See Also:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleAmbient temperature (K).private doubleCalculated BOG mass flow rate (kg/hr).private StreamInterfaceBOG outlet stream.private doubleCalculated boil-off rate (%/day of LNG mass).private doubleCalculated heat ingress (W).private LNGTank.InsulationTypeTank insulation type.private doubleLatent heat of vaporisation of LNG (J/kg).private doubleTotal LNG inventory (kg).private StreamInterfaceLNG liquid outlet stream.private doubleLNG storage temperature (K).private static final org.apache.logging.log4j.Loggerprivate doubleOverall heat transfer coefficient through insulation (W/m2/K).private static final longprivate doubleLNG storage pressure (bara).private doubleTank outer surface area (m2).Fields inherited from class Tank
gasOutStream, gasSystem, gasVolume, heatTransferNumber, inletStreamMixer, liquidOutStream, liquidSystem, liquidVolume, separatorDiameter, separatorLength, steelCp, steelWallArea, steelWallMass, steelWallTemperature, thermoSystem, 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 LNGTank.LNGTank(String name, StreamInterface inletStream) Constructor for LNGTank with an inlet LNG stream. -
Method Summary
Modifier and TypeMethodDescriptiondoubleGet the ambient temperature.doubleGet the BOG mass flow rate.Get the BOG outlet stream.doubleGet the boil-off rate as a percentage of LNG mass per day.doubleGet the heat ingress into the tank.Get the insulation type.doubleGet the total LNG inventory.Get the LNG product (liquid) outlet stream.Returns all outlet streams produced by this equipment.doubleGet the overall heat transfer coefficient.doubleGet the LNG storage pressure.doubleGet the tank outer surface area.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetAmbientTemperature(double temperature, String unit) Set the ambient temperature surrounding the tank.voidSet the insulation type.voidsetLNGInventory(double inventory) Set the total LNG inventory in the tank.voidsetOverallHeatTransferCoefficient(double u) Set the overall heat transfer coefficient through insulation.voidsetStoragePressure(double pressure) Set the LNG storage pressure.voidsetTankSurfaceArea(double area) Set the tank outer surface area.Methods inherited from class Tank
addCapacityConstraint, addStream, autoSize, autoSize, autoSize, clearCapacityConstraints, displayResult, getBottleneckConstraint, getCapacityConstraints, getDesignLiquidLevel, getDesignResidenceTime, getEfficiency, getGas, getGasCarryunderFraction, getGasOutStream, getLiquid, getLiquidCarryoverFraction, getLiquidLevel, getLiquidOutStream, getMassBalance, getMaxLiquidLevel, getMaxUtilization, getMechanicalDesign, getMinLiquidLevel, getMinResidenceTime, getSizingReport, getSizingReportJson, getVolume, initMechanicalDesign, isAutoSized, isCapacityAnalysisEnabled, isCapacityExceeded, isHardLimitExceeded, removeCapacityConstraint, runTransient, setCapacityAnalysisEnabled, setDesignLiquidLevel, setDesignResidenceTime, setEfficiency, setGasCarryunderFraction, setInletStream, setLiquidCarryoverFraction, setMaxLiquidLevel, setMinLiquidLevel, setMinResidenceTime, setOutComposition, setTempPres, setVolume, toJson, toJson, validateSetupMethods inherited from class ProcessEquipmentBaseClass
addController, copy, equals, getAvailableMargin, getAvailableMarginPercent, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMaxUtilizationPercent, getMinimumFlow, getPressure, getPressure, getProperty, getReferenceDesignation, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, getUtilizationSummary, hashCode, initElectricalDesign, initializeDefaultConstraints, initInstrumentDesign, isActive, isActive, isFailed, isNearCapacityLimit, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, 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, isNearCapacityLimitMethods inherited from interface NamedInterface
getName, getTagName, getTagNumber, setName, setTagName, setTagNumberMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getElectricalDesign, getEquipmentState, getExergyChange, getExergyDestruction, getExergyDestruction, getFluid, getInletStreams, getInstrumentDesign, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, needRecalculationMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
logger
private static final org.apache.logging.log4j.Logger logger -
insulationType
Tank insulation type. -
overallHeatTransferCoeff
private double overallHeatTransferCoeffOverall heat transfer coefficient through insulation (W/m2/K). -
tankSurfaceArea
private double tankSurfaceAreaTank outer surface area (m2). -
ambientTemperature
private double ambientTemperatureAmbient temperature (K). -
lngTemperature
private double lngTemperatureLNG storage temperature (K). Default -162 C. -
storagePressure
private double storagePressureLNG storage pressure (bara). -
heatIngress
private double heatIngressCalculated heat ingress (W). -
boilOffRatePctPerDay
private double boilOffRatePctPerDayCalculated boil-off rate (%/day of LNG mass). -
bogMassFlowRate
private double bogMassFlowRateCalculated BOG mass flow rate (kg/hr). -
lngInventory
private double lngInventoryTotal LNG inventory (kg). -
bogStream
BOG outlet stream. -
lngProductStream
LNG liquid outlet stream. -
latentHeat
private double latentHeatLatent heat of vaporisation of LNG (J/kg).
-
-
Constructor Details
-
LNGTank
-
LNGTank
Constructor for LNGTank with an inlet LNG stream.- Parameters:
name- name of the LNG tankinletStream- inlet LNG stream
-
-
Method Details
-
setInsulationType
Set the insulation type.- Parameters:
type- insulation type (MEMBRANE, MOSS, or PRISMATIC)
-
getInsulationType
-
setOverallHeatTransferCoefficient
public void setOverallHeatTransferCoefficient(double u) Set the overall heat transfer coefficient through insulation.- Parameters:
u- heat transfer coefficient (W/m2/K)
-
getOverallHeatTransferCoefficient
public double getOverallHeatTransferCoefficient()Get the overall heat transfer coefficient.- Returns:
- heat transfer coefficient (W/m2/K)
-
setAmbientTemperature
Set the ambient temperature surrounding the tank.- Parameters:
temperature- ambient temperature valueunit- temperature unit ("K", "C")
-
getAmbientTemperature
public double getAmbientTemperature()Get the ambient temperature.- Returns:
- ambient temperature (K)
-
setTankSurfaceArea
public void setTankSurfaceArea(double area) Set the tank outer surface area.- Parameters:
area- surface area (m2)
-
getTankSurfaceArea
public double getTankSurfaceArea()Get the tank outer surface area.- Returns:
- surface area (m2)
-
setLNGInventory
public void setLNGInventory(double inventory) Set the total LNG inventory in the tank.- Parameters:
inventory- LNG mass (kg)
-
getLNGInventory
public double getLNGInventory()Get the total LNG inventory.- Returns:
- LNG mass (kg)
-
setStoragePressure
public void setStoragePressure(double pressure) Set the LNG storage pressure.- Parameters:
pressure- storage pressure (bara)
-
getStoragePressure
public double getStoragePressure()Get the LNG storage pressure.- Returns:
- storage pressure (bara)
-
getHeatIngress
public double getHeatIngress()Get the heat ingress into the tank.- Returns:
- heat ingress (W)
-
getBoilOffRatePctPerDay
public double getBoilOffRatePctPerDay()Get the boil-off rate as a percentage of LNG mass per day.- Returns:
- boil-off rate (%/day)
-
getBOGMassFlowRate
public double getBOGMassFlowRate()Get the BOG mass flow rate.- Returns:
- BOG mass flow rate (kg/hr)
-
getBOGStream
-
getLNGProductStream
Get the LNG product (liquid) outlet stream.- Returns:
- LNG product stream
-
getOutletStreams
Returns all outlet streams produced by this equipment. Subclasses override to report their specific outlets. Used by graph builders, DEXPI export, and auto-instrumentation to discover topology withoutinstanceofchecks.- Returns:
- unmodifiable list of outlet streams (empty by default)
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
Calculates the following properties:
- steelWallTemperature
- gasOutStream
- liquidOutStream
thermoSystemincluding properties- liquidLevel
- liquidVolume
- gasVolume
- Specified by:
runin interfaceSimulationInterface- Overrides:
runin classTank- Parameters:
id- UUID
-