Class FiredHeater
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.TwoPortEquipment
neqsim.process.equipment.heatexchanger.Heater
neqsim.process.equipment.heatexchanger.FiredHeater
- All Implemented Interfaces:
Serializable, Runnable, AutoSizeable, CapacityConstrainedEquipment, HeaterInterface, ProcessEquipmentInterface, TwoPortInterface, ProcessElementInterface, SimulationInterface, NamedInterface
Duty-controlled fired heater with thermal efficiency modeling.
Models a process heater where the process stream is heated by burning fuel. Unlike a simple
Heater which applies duty directly, this class accounts for thermal efficiency, fuel
consumption, stack losses, and CO2 emissions.
The user specifies the desired outlet temperature, and the heater calculates the required absorbed duty, fuel consumption (based on thermal efficiency and fuel LHV), and flue gas emissions.
Usage example:
FiredHeater heater = new FiredHeater("Crude Heater", feedStream);
heater.setOutTemperature(273.15 + 350.0); // Outlet temperature in K
heater.setThermalEfficiency(0.85); // 85% efficiency
heater.setFuelLHV(48.0e6); // J/kg (natural gas)
heater.setFuelCO2Factor(2.75); // kg CO2 per kg fuel
heater.run();
double fuelRate = heater.getFuelConsumption("kg/hr");
double co2 = heater.getCO2Emissions("kg/hr");
double firedDuty = heater.getFiredDuty("kW");
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate doubleprivate doubleprivate doubleCO2 emission factor in kg CO2 per kg fuel.private doubleprivate doubleFuel lower heating value in J/kg.(package private) static org.apache.logging.log4j.LoggerLogger object for class.private doubleprivate doubleNOx emission factor in kg NOx per GJ fired duty.private static final longprivate doubleprivate doubleStack temperature in K.private doubleThermal efficiency (fraction, 0.0 to 1.0).Fields inherited from class Heater
coolingMediumTemperature, dT, electricalDesign, instrumentDesign, lastComposition, lastDuty, lastFlowRate, lastOutPressure, lastOutTemperature, lastPressure, lastPressureDrop, lastTemperature, mechanicalDesign, pressureOut, setOutPressure, setTemperature, system, temperatureOutFields inherited from class TwoPortEquipment
inStream, outStreamFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionFiredHeater(String name) Creates a fired heater with the specified name.FiredHeater(String name, StreamInterface inletStream) Creates a fired heater with an inlet stream. -
Method Summary
Modifier and TypeMethodDescriptionprivate doubleconvertPower(double valueW, String unit) Converts power from Watts to the specified unit.doublegetAbsorbedDuty(String unit) Gets the absorbed duty (heat transferred to process stream).doublegetCO2Emissions(String unit) Gets the CO2 emissions rate.doublegetFiredDuty(String unit) Gets the total fired duty (fuel energy input).doublegetFuelConsumption(String unit) Gets the fuel consumption rate.doubleGets the fuel lower heating value.doublegetNOxEmissions(String unit) Gets the NOx emissions rate.doublegetStackLoss(String unit) Gets the stack heat loss.doubleGets the stack temperature.doubleGets the thermal efficiency.voidIn this method all thermodynamic and unit operations will be calculated in a steady state calculation.voidsetFuelCO2Factor(double factor) Sets the CO2 emission factor per kg of fuel burned.voidsetFuelLHV(double lhvJPerKg) Sets the fuel lower heating value.voidsetNoxFactor(double factor) Sets the NOx emission factor per GJ of fired duty.voidsetStackTemperature(double temperatureK) Sets the stack (flue gas exit) temperature.voidsetThermalEfficiency(double efficiency) Sets the thermal efficiency of the fired heater.toJson()Returns a JSON report of the fired heater performance.Methods inherited from class Heater
addCapacityConstraint, autoSize, autoSize, autoSize, clearCapacityConstraints, displayResult, getBottleneckConstraint, getCapacityConstraints, getCapacityDuty, getCapacityMax, getDuty, getDuty, getElectricalDesign, getEnergyInput, getEntropyProduction, getEquipmentState, getExergyChange, getInstrumentDesign, getMaxDesignDuty, getMaxDesignDuty, getMaxOutletTemperature, getMaxOutletTemperature, getMaxUtilization, getMechanicalDesign, getMinOutletTemperature, getMinOutletTemperature, getPressureDrop, getSizingReport, getSizingReportJson, getUtilitySpecification, hasMaxOutletTemperatureLimit, hasMinOutletTemperatureLimit, initElectricalDesign, initializeCapacityConstraints, initInstrumentDesign, initMechanicalDesign, isAutoSized, isCapacityExceeded, isHardLimitExceeded, isSetEnergyInput, needRecalculation, removeCapacityConstraint, runTransient, setdT, setDuty, setEnergyInput, setMaxDesignDuty, setMaxDesignDuty, setMaxOutletTemperature, setMaxOutletTemperature, setMinOutletTemperature, setMinOutletTemperature, setOutletPressure, setOutletPressure, setOutletTemperature, setOutletTemperature, setOutStream, setOutTemperature, setOutTP, setPressureDrop, setSetEnergyInput, setUtilityApproachTemperature, setUtilityHeatCapacityRate, setUtilityOverallHeatTransferCoefficient, setUtilityReturnTemperature, setUtilitySpecification, setUtilitySupplyTemperature, toJsonMethods inherited from class TwoPortEquipment
getInletPressure, getInletStream, getInletStreams, getInletTemperature, getMassBalance, getOutletPressure, getOutletStream, getOutletStreams, getOutletTemperature, setInletPressure, setInletStream, setInletTemperature, setOutletStream, validateSetupMethods inherited from class ProcessEquipmentBaseClass
addController, copy, equals, getAvailableMargin, getAvailableMarginPercent, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getFailureMode, getMassBalance, getMaxUtilizationPercent, getMinimumFlow, getPressure, getPressure, getProperty, getReferenceDesignation, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, getUtilizationSummary, hashCode, 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
getExergyChange, getExergyDestruction, getExergyDestruction, getFluid, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelopeMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run, run_step, run_step, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime, solvedMethods inherited from interface TwoPortInterface
getInStream, getOutStream, setOutPressure, setOutPressure, setOutTemperature
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
logger
static org.apache.logging.log4j.Logger loggerLogger object for class. -
thermalEfficiency
private double thermalEfficiencyThermal efficiency (fraction, 0.0 to 1.0). Default 0.85. -
fuelLHV
private double fuelLHVFuel lower heating value in J/kg. Default 48 MJ/kg (natural gas). -
fuelCO2Factor
private double fuelCO2FactorCO2 emission factor in kg CO2 per kg fuel. Default 2.75 (natural gas). -
noxFactor
private double noxFactorNOx emission factor in kg NOx per GJ fired duty. Default 0.08. -
stackTemperature
private double stackTemperatureStack temperature in K. Default 423.15 K (150 C). -
absorbedDuty
private double absorbedDuty -
firedDuty
private double firedDuty -
fuelConsumptionKgPerSec
private double fuelConsumptionKgPerSec -
co2EmissionsKgPerSec
private double co2EmissionsKgPerSec -
noxEmissionsKgPerSec
private double noxEmissionsKgPerSec -
stackLoss
private double stackLoss
-
-
Constructor Details
-
FiredHeater
Creates a fired heater with the specified name.- Parameters:
name- equipment name
-
FiredHeater
Creates a fired heater with an inlet stream.- Parameters:
name- equipment nameinletStream- inlet process stream
-
-
Method Details
-
setThermalEfficiency
public void setThermalEfficiency(double efficiency) Sets the thermal efficiency of the fired heater.- Parameters:
efficiency- thermal efficiency as fraction (0.0 to 1.0)
-
getThermalEfficiency
public double getThermalEfficiency()Gets the thermal efficiency.- Returns:
- thermal efficiency as fraction
-
setFuelLHV
public void setFuelLHV(double lhvJPerKg) Sets the fuel lower heating value.- Parameters:
lhvJPerKg- fuel LHV in J/kg
-
getFuelLHV
public double getFuelLHV()Gets the fuel lower heating value.- Returns:
- LHV in J/kg
-
setFuelCO2Factor
public void setFuelCO2Factor(double factor) Sets the CO2 emission factor per kg of fuel burned.- Parameters:
factor- kg CO2 per kg fuel
-
setNoxFactor
public void setNoxFactor(double factor) Sets the NOx emission factor per GJ of fired duty.- Parameters:
factor- kg NOx per GJ
-
setStackTemperature
public void setStackTemperature(double temperatureK) Sets the stack (flue gas exit) temperature.- Parameters:
temperatureK- stack temperature in K
-
getStackTemperature
public double getStackTemperature()Gets the stack temperature.- Returns:
- stack temperature in K
-
run
In this method all thermodynamic and unit operations will be calculated in a steady state calculation.
- Specified by:
runin interfaceSimulationInterface- Overrides:
runin classHeater- Parameters:
id- UUID
-
getAbsorbedDuty
Gets the absorbed duty (heat transferred to process stream).- Parameters:
unit- unit string ("W", "kW", "MW", "BTU/hr")- Returns:
- absorbed duty in specified units
-
getFiredDuty
Gets the total fired duty (fuel energy input).- Parameters:
unit- unit string ("W", "kW", "MW", "BTU/hr")- Returns:
- fired duty in specified units
-
getStackLoss
Gets the stack heat loss.- Parameters:
unit- unit string ("W", "kW", "MW", "BTU/hr")- Returns:
- stack loss in specified units
-
getFuelConsumption
Gets the fuel consumption rate.- Parameters:
unit- unit string ("kg/hr", "kg/sec", "tonnes/hr")- Returns:
- fuel consumption in specified units
-
getCO2Emissions
Gets the CO2 emissions rate.- Parameters:
unit- unit string ("kg/hr", "kg/sec", "tonnes/hr")- Returns:
- CO2 emissions in specified units
-
getNOxEmissions
Gets the NOx emissions rate.- Parameters:
unit- unit string ("kg/hr", "kg/sec", "tonnes/hr")- Returns:
- NOx emissions in specified units
-
convertPower
Converts power from Watts to the specified unit.- Parameters:
valueW- power in Wattsunit- target unit- Returns:
- converted value
-
toJson
Returns a JSON report of the fired heater performance.- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classHeater- Returns:
- JSON string with heater performance data
-