Class WasteToEnergyCHPModule

All Implemented Interfaces:
Serializable, Runnable, SimulationInterface, NamedInterface

public class WasteToEnergyCHPModule extends ProcessModule
Pre-built biorefinery module for waste-to-energy combined heat and power (CHP).

Composes an AnaerobicDigester, biogas cleanup, and a CHP engine model into a complete waste-to-energy process. The module takes a substrate feed and produces electricity and useful heat outputs, with associated efficiencies and emissions.

The internal process is:

  1. Anaerobic digestion of organic waste to produce biogas
  2. Biogas desulphurisation (H2S removal modelled as split factor)
  3. CHP engine combustion: CH4 + 2O2 → CO2 + 2H2O (simplified stoichiometry)
  4. Heat recovery from exhaust gas and engine jacket cooling

CHP engine performance defaults are based on typical gas-engine values:

Default CHP engine parameters
Parameter Value
Electrical efficiency 38%
Thermal efficiency 45%
Total CHP efficiency 83%
Version:
1.0
Author:
Even Solbraa
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • logger

      private static final org.apache.logging.log4j.Logger logger
    • electricalEfficiency

      private double electricalEfficiency
      Electrical efficiency of CHP engine (fraction, 0-1).
    • thermalEfficiency

      private double thermalEfficiency
      Thermal efficiency of CHP engine (fraction, 0-1).
    • CH4_LHV_KWH_PER_NM3

      private static final double CH4_LHV_KWH_PER_NM3
      Methane lower heating value in kWh/Nm3.
      See Also:
    • digesterTemperatureC

      private double digesterTemperatureC
      Digester temperature in Celsius.
    • hydraulicRetentionTimeDays

      private double hydraulicRetentionTimeDays
      Hydraulic retention time in days.
    • substrateType

      private AnaerobicDigester.SubstrateType substrateType
      Substrate type for digester.
    • exhaustTemperatureC

      private double exhaustTemperatureC
      Exhaust gas temperature after heat recovery in Celsius.
    • digester

      private transient AnaerobicDigester digester
    • feedStream

      private transient StreamInterface feedStream
    • exhaustGasStream

      private transient StreamInterface exhaustGasStream
    • digestateStream

      private transient StreamInterface digestateStream
    • electricalPowerKW

      private double electricalPowerKW
      Electrical power output in kW.
    • heatOutputKW

      private double heatOutputKW
      Useful heat output in kW.
    • fuelInputKW

      private double fuelInputKW
      Total fuel input in kW (LHV).
    • biogasFlowNm3PerHr

      private double biogasFlowNm3PerHr
      Biogas flow rate in Nm3/hr.
    • methaneFlowNm3PerHr

      private double methaneFlowNm3PerHr
      Methane flow rate in Nm3/hr.
    • co2EmissionsKgPerHr

      private double co2EmissionsKgPerHr
      CO2 emissions from combustion in kg/hr.
    • annualElectricityMWh

      private double annualElectricityMWh
      Annual electricity production in MWh/year (8000 hr/yr assumed).
    • annualHeatMWh

      private double annualHeatMWh
      Annual heat production in MWh/year.
    • totalCHPefficiency

      private double totalCHPefficiency
      Total CHP efficiency.
    • hasRun

      private boolean hasRun
      Whether module has run.
    • operatingHoursPerYear

      private double operatingHoursPerYear
      Operating hours per year for annual calculations.
  • Constructor Details

    • WasteToEnergyCHPModule

      public WasteToEnergyCHPModule(String name)
      Creates a waste-to-energy CHP module.
      Parameters:
      name - module name
  • Method Details

    • setFeedStream

      public void setFeedStream(StreamInterface feed)
      Sets the feed stream.
      Parameters:
      feed - organic waste feed stream
    • setElectricalEfficiency

      public void setElectricalEfficiency(double efficiency)
      Sets the electrical efficiency of the CHP engine.
      Parameters:
      efficiency - electrical efficiency (0-1)
    • setThermalEfficiency

      public void setThermalEfficiency(double efficiency)
      Sets the thermal efficiency of the CHP engine.
      Parameters:
      efficiency - thermal efficiency (0-1)
    • setDigesterTemperatureC

      public void setDigesterTemperatureC(double temperatureC)
      Sets the digester temperature.
      Parameters:
      temperatureC - digester temperature in Celsius
    • setSubstrateType

      public void setSubstrateType(AnaerobicDigester.SubstrateType substrate)
      Sets the substrate type.
      Parameters:
      substrate - substrate type
    • setHydraulicRetentionTimeDays

      public void setHydraulicRetentionTimeDays(double days)
      Sets the hydraulic retention time.
      Parameters:
      days - retention time in days
    • setOperatingHoursPerYear

      public void setOperatingHoursPerYear(double hours)
      Sets operating hours per year for annual calculations.
      Parameters:
      hours - operating hours per year
    • getElectricalPowerKW

      public double getElectricalPowerKW()
      Returns the electrical power output.
      Returns:
      electrical power in kW
    • getHeatOutputKW

      public double getHeatOutputKW()
      Returns the useful heat output.
      Returns:
      heat output in kW
    • getFuelInputKW

      public double getFuelInputKW()
      Returns the total fuel input.
      Returns:
      fuel input in kW (LHV)
    • getCO2EmissionsKgPerHr

      public double getCO2EmissionsKgPerHr()
      Returns the CO2 emissions from combustion.
      Returns:
      CO2 emissions in kg/hr
    • getTotalCHPefficiency

      public double getTotalCHPefficiency()
      Returns the total CHP efficiency.
      Returns:
      CHP efficiency (0-1)
    • getAnnualElectricityMWh

      public double getAnnualElectricityMWh()
      Returns the annual electricity production.
      Returns:
      MWh/year
    • getAnnualHeatMWh

      public double getAnnualHeatMWh()
      Returns the annual heat production.
      Returns:
      MWh/year
    • getExhaustGasStream

      public StreamInterface getExhaustGasStream()
      Returns the exhaust gas stream.
      Returns:
      exhaust gas stream
    • getDigestateStream

      public StreamInterface getDigestateStream()
      Returns the digestate stream.
      Returns:
      digestate stream
    • run

      public void run(UUID id)
      Builds and runs the waste-to-energy CHP process.
      Specified by:
      run in interface SimulationInterface
      Overrides:
      run in class ProcessModule
      Parameters:
      id - calculation identifier
    • getResults

      public Map<String,Object> getResults()
      Returns a results map.
      Returns:
      map of result names to values
    • toJson

      public String toJson()
      Returns a JSON string of results.
      Returns:
      JSON string