Class BiomassGasifier
java.lang.Object
neqsim.util.NamedBaseClass
neqsim.process.SimulationBaseClass
neqsim.process.equipment.ProcessEquipmentBaseClass
neqsim.process.equipment.reactor.BiomassGasifier
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, ProcessElementInterface, SimulationInterface, NamedInterface
Biomass gasifier reactor for thermochemical conversion of solid biomass to syngas.
Models downdraft, updraft, and fluidized-bed gasification by combining empirical yield
correlations with constrained Gibbs equilibrium (via the existing GibbsReactor). The
gasifier accepts a biomass characterization and a gasification agent stream, producing a syngas
outlet stream and a solid residue (char/ash) outlet stream.
Gasifier Types
- DOWNDRAFT — co-current flow, low tar, typical for small-scale power
- UPDRAFT — counter-current flow, high tar, high thermal efficiency
- FLUIDIZED_BED — bubbling/circulating, good for large-scale and varied feedstocks
Gasification Agents
- Air (default) — produces N2-diluted syngas
- Oxygen — higher quality syngas
- Steam — hydrogen-rich syngas
- Air + steam combinations
Usage example:
BiomassCharacterization wood = BiomassCharacterization.library("wood_chips");
BiomassGasifier gasifier = new BiomassGasifier("Gasifier");
gasifier.setBiomass(wood, 1000.0); // 1000 kg/hr
gasifier.setGasifierType(BiomassGasifier.GasifierType.DOWNDRAFT);
gasifier.setEquivalenceRatio(0.25);
gasifier.setGasificationTemperature(1073.15); // 800 C
gasifier.run();
StreamInterface syngas = gasifier.getSyngasOutStream();
StreamInterface charAsh = gasifier.getCharAshOutStream();
- Version:
- 1.0
- Author:
- Even Solbraa
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumGasification agent type.static enumGasifier type enumeration. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate StreamInterfaceOptional external gasification agent inlet stream.private BiomassGasifier.AgentTypeGasification agent.private BiomassCharacterizationThe biomass feedstock characterization.private doubleBiomass feed rate in kg/hr (dry basis).private doubleCarbon conversion efficiency (0-1).private StreamInterfaceChar and ash residue outlet stream.private doubleChar yield as fraction of dry biomass feed (0-1).private doubleCold gas efficiency (LHV syngas / LHV feed, 0-1).private doubleEquivalence ratio (actual air / stoichiometric air).private doubleGasification pressure in bara.private doubleGasification temperature in Kelvin.private BiomassGasifier.GasifierTypeGasifier type.private GibbsReactorInternal Gibbs reactor used for equilibrium calculation.private booleanWhether the gasifier has been run.private static final org.apache.logging.log4j.LoggerLogger object for class.private static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final longSerialization version UID.private doubleSteam-to-biomass mass ratio (for STEAM and AIR_STEAM agents).private doubleSyngas LHV in MJ/Nm3.private StreamInterfaceSyngas (product gas) outlet stream.private doubleSyngas yield in Nm3 per kg dry biomass.Fields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionBiomassGasifier(String name) Creates a biomass gasifier with the given name. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidCalculates syngas quality and efficiency metrics after simulation.private voidensureComponent(SystemInterface fluid, String componentName) Ensures a component exists in the fluid (adds trace amount if missing).Gets the gasification agent type.doubleGets the carbon conversion efficiency.Returns the char/ash residue outlet stream.doubleReturns the char yield as a fraction of dry biomass feed.doubleReturns the cold gas efficiency (LHV_syngas / LHV_feed).doubleGets the equivalence ratio.doubleGets the gasification pressure in bara.doubleGets the gasification temperature in Kelvin.Gets the gasifier type.Returns all inlet streams connected to this equipment.private doublegetMoleFraction(SystemInterface system, String componentName) Returns the mole fraction of a component in a system, or 0 if not present.Returns all outlet streams produced by this equipment.Returns a map of key results from the gasifier simulation.doubleGets the steam-to-biomass ratio.doubleReturns the syngas lower heating value in MJ/Nm3.Returns the syngas outlet stream.doubleReturns the syngas yield in Nm3 per kg dry biomass.voidRuns the biomass gasifier simulation.voidsetAgentInletStream(StreamInterface stream) Sets an optional external gasification agent inlet stream.voidSets the gasification agent type.voidsetBiomass(BiomassCharacterization biomass, double feedRateKgPerHr) Sets the biomass feedstock and feed rate.voidsetCarbonConversionEfficiency(double efficiency) Sets the carbon conversion efficiency (0 to 1).voidsetEquivalenceRatio(double er) Sets the equivalence ratio (ER = actual air / stoichiometric air).voidsetGasificationPressure(double pressureBara) Sets the gasification pressure in bara.voidsetGasificationTemperature(double temperatureK) Sets the gasification temperature in Kelvin.voidsetGasificationTemperature(double temperature, String unit) Sets the gasification temperature with unit specification.voidSets the gasifier type.voidsetSteamToBiomassRatio(double ratio) Sets the steam-to-biomass mass ratio for steam or air-steam gasification.toJson()Returns a JSON string with the gasifier results.toString()Methods inherited from class ProcessEquipmentBaseClass
addCapacityConstraint, addController, copy, displayResult, equals, getAvailableMargin, getAvailableMarginPercent, getBottleneckConstraint, getCapacityConstraints, getConditionAnalysisMessage, getConstraintEvaluationReport, getController, getController, getControllers, getEffectiveCapacityFactor, getEnergyStream, getEntropyProduction, getExergyChange, getFailureMode, getMassBalance, getMassBalance, getMaxUtilization, getMaxUtilizationPercent, getMechanicalDesign, getMinimumFlow, getPressure, getPressure, getProperty, getReferenceDesignation, getReport_json, getResultTable, getSpecification, getTemperature, getTemperature, getThermoSystem, getUtilizationSummary, hashCode, initElectricalDesign, initializeDefaultConstraints, initInstrumentDesign, initMechanicalDesign, isActive, isActive, isCapacityAnalysisEnabled, isCapacityExceeded, isFailed, isHardLimitExceeded, isNearCapacityLimit, isSetEnergyStream, reportResults, restoreFromFailure, run_step, runConditionAnalysis, setCapacityAnalysisEnabled, setController, setEnergyStream, setEnergyStream, setFailureMode, setFlowValveController, setMinimumFlow, setPressure, setReferenceDesignation, setRegulatorOutSignal, setSpecification, setTemperature, simulateDegradedOperation, simulateTrip, solved, toJsonMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagNumber, setName, setTagNumberMethods inherited from interface NamedInterface
getName, getTagName, getTagNumber, setName, setTagName, setTagNumberMethods inherited from interface ProcessEquipmentInterface
getCapacityDuty, getCapacityMax, getElectricalDesign, getEquipmentState, getExergyChange, getExergyDestruction, getExergyDestruction, getFluid, getInstrumentDesign, getOperatingEnvelopeViolation, getOutletFlowRate, getOutletPressure, getOutletTemperature, getReferenceDesignationString, getRestCapacity, getSimulationValidationErrors, isSimulationValid, isWithinOperatingEnvelope, 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 loggerLogger object for class. -
biomass
The biomass feedstock characterization. -
biomassFeedRateKgPerHr
private double biomassFeedRateKgPerHrBiomass feed rate in kg/hr (dry basis). -
gasifierType
Gasifier type. -
agentType
Gasification agent. -
equivalenceRatio
private double equivalenceRatioEquivalence ratio (actual air / stoichiometric air). Typically 0.2-0.4. -
steamToBiomassRatio
private double steamToBiomassRatioSteam-to-biomass mass ratio (for STEAM and AIR_STEAM agents). -
gasificationTemperature
private double gasificationTemperatureGasification temperature in Kelvin. If NaN, uses Gibbs equilibrium (adiabatic). -
gasificationPressure
private double gasificationPressureGasification pressure in bara. -
carbonConversionEfficiency
private double carbonConversionEfficiencyCarbon conversion efficiency (0-1). Fraction of feed carbon converted to gas. -
gibbsReactor
Internal Gibbs reactor used for equilibrium calculation. -
syngasOutStream
Syngas (product gas) outlet stream. -
charAshOutStream
Char and ash residue outlet stream. -
agentInletStream
Optional external gasification agent inlet stream. -
coldGasEfficiency
private double coldGasEfficiencyCold gas efficiency (LHV syngas / LHV feed, 0-1). -
syngasYieldNm3PerKg
private double syngasYieldNm3PerKgSyngas yield in Nm3 per kg dry biomass. -
syngasLHVMjPerNm3
private double syngasLHVMjPerNm3Syngas LHV in MJ/Nm3. -
charYieldFraction
private double charYieldFractionChar yield as fraction of dry biomass feed (0-1). -
hasRun
private boolean hasRunWhether the gasifier has been run. -
MW_C
private static final double MW_C- See Also:
-
MW_H
private static final double MW_H- See Also:
-
MW_O
private static final double MW_O- See Also:
-
MW_N
private static final double MW_N- See Also:
-
MW_S
private static final double MW_S- See Also:
-
-
Constructor Details
-
BiomassGasifier
Creates a biomass gasifier with the given name.- Parameters:
name- equipment name
-
-
Method Details
-
setBiomass
Sets the biomass feedstock and feed rate.- Parameters:
biomass- the biomass characterizationfeedRateKgPerHr- dry biomass feed rate in kg/hr
-
setGasifierType
Sets the gasifier type.- Parameters:
type- the gasifier type
-
getGasifierType
Gets the gasifier type.- Returns:
- gasifier type
-
setAgentType
Sets the gasification agent type.- Parameters:
agent- the gasification agent
-
getAgentType
Gets the gasification agent type.- Returns:
- agent type
-
setEquivalenceRatio
public void setEquivalenceRatio(double er) Sets the equivalence ratio (ER = actual air / stoichiometric air). Typical range: 0.2 to 0.4.- Parameters:
er- equivalence ratio
-
getEquivalenceRatio
public double getEquivalenceRatio()Gets the equivalence ratio.- Returns:
- equivalence ratio
-
setSteamToBiomassRatio
public void setSteamToBiomassRatio(double ratio) Sets the steam-to-biomass mass ratio for steam or air-steam gasification.- Parameters:
ratio- steam-to-biomass ratio (kg steam / kg dry biomass)
-
getSteamToBiomassRatio
public double getSteamToBiomassRatio()Gets the steam-to-biomass ratio.- Returns:
- steam-to-biomass ratio
-
setGasificationTemperature
public void setGasificationTemperature(double temperatureK) Sets the gasification temperature in Kelvin. If not set, operates in adiabatic equilibrium mode.- Parameters:
temperatureK- temperature in Kelvin
-
setGasificationTemperature
Sets the gasification temperature with unit specification.- Parameters:
temperature- temperature valueunit- unit string ("K", "C", "F")
-
getGasificationTemperature
public double getGasificationTemperature()Gets the gasification temperature in Kelvin.- Returns:
- gasification temperature in K
-
setGasificationPressure
public void setGasificationPressure(double pressureBara) Sets the gasification pressure in bara.- Parameters:
pressureBara- pressure in bara
-
getGasificationPressure
public double getGasificationPressure()Gets the gasification pressure in bara.- Returns:
- pressure in bara
-
setCarbonConversionEfficiency
public void setCarbonConversionEfficiency(double efficiency) Sets the carbon conversion efficiency (0 to 1).- Parameters:
efficiency- carbon conversion efficiency
-
getCarbonConversionEfficiency
public double getCarbonConversionEfficiency()Gets the carbon conversion efficiency.- Returns:
- carbon conversion efficiency (0-1)
-
setAgentInletStream
Sets an optional external gasification agent inlet stream. When set, this stream provides the gasification agent (air, oxygen, steam) directly, overriding the auto-generated agent from ER.- Parameters:
stream- the gasification agent stream
-
getSyngasOutStream
Returns the syngas outlet stream.- Returns:
- syngas outlet stream, or null if not yet run
-
getCharAshOutStream
Returns the char/ash residue outlet stream.- Returns:
- char/ash outlet stream, or null if not yet run
-
getColdGasEfficiency
public double getColdGasEfficiency()Returns the cold gas efficiency (LHV_syngas / LHV_feed).- Returns:
- cold gas efficiency (0-1)
-
getSyngasYieldNm3PerKg
public double getSyngasYieldNm3PerKg()Returns the syngas yield in Nm3 per kg dry biomass.- Returns:
- syngas yield
-
getSyngasLHVMjPerNm3
public double getSyngasLHVMjPerNm3()Returns the syngas lower heating value in MJ/Nm3.- Returns:
- syngas LHV
-
getCharYieldFraction
public double getCharYieldFraction()Returns the char yield as a fraction of dry biomass feed.- Returns:
- char yield fraction (0-1)
-
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)
-
getInletStreams
Returns all inlet streams connected to this equipment. Subclasses override to report their specific inlets. Used by graph builders, DEXPI export, and auto-instrumentation to discover topology withoutinstanceofchecks.- Returns:
- unmodifiable list of inlet streams (empty by default)
-
run
Runs the biomass gasifier simulation.Converts the biomass elemental composition and gasification agent into a NeqSim fluid, runs Gibbs equilibrium, and separates products into syngas and char/ash streams.
- Parameters:
id- UUID for this run
-
ensureComponent
Ensures a component exists in the fluid (adds trace amount if missing).- Parameters:
fluid- the SystemInterfacecomponentName- the component name
-
calculatePerformanceMetrics
private void calculatePerformanceMetrics()Calculates syngas quality and efficiency metrics after simulation. -
getMoleFraction
Returns the mole fraction of a component in a system, or 0 if not present.- Parameters:
system- the thermo systemcomponentName- component name- Returns:
- mole fraction
-
getResults
-
toJson
Returns a JSON string with the gasifier results.- Specified by:
toJsonin interfaceProcessEquipmentInterface- Overrides:
toJsonin classProcessEquipmentBaseClass- Returns:
- JSON results string
-
toString
-