Class BiogasToGridModule

All Implemented Interfaces:
Serializable, Runnable, SimulationInterface, NamedInterface

public class BiogasToGridModule extends ProcessModule
Pre-built biorefinery module for biogas-to-grid injection.

Composes an AnaerobicDigester, BiogasUpgrader, compressor, and cooler into a complete biogas-to-grid process. The module takes a substrate feed stream and produces a grid-quality biomethane stream at the specified injection pressure.

The internal process is:

  1. Anaerobic digestion of substrate feed to produce raw biogas
  2. Biogas upgrading (PSA, membrane, water scrubbing, or amine) to biomethane
  3. Compression to grid injection pressure
  4. Cooling to grid injection temperature
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
    • gridPressureBara

      private double gridPressureBara
      Target grid injection pressure in bara.
    • gridTemperatureC

      private double gridTemperatureC
      Target grid injection temperature in Celsius.
    • digesterTemperatureC

      private double digesterTemperatureC
      Anaerobic digester temperature in Celsius.
    • hydraulicRetentionTimeDays

      private double hydraulicRetentionTimeDays
      Hydraulic retention time in days.
    • upgradingTechnology

      private BiogasUpgrader.UpgradingTechnology upgradingTechnology
      Upgrading technology.
    • substrateType

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

      private transient AnaerobicDigester digester
    • upgrader

      private transient BiogasUpgrader upgrader
    • compressor

      private transient Compressor compressor
    • cooler

      private transient Cooler cooler
    • feedStream

      private transient StreamInterface feedStream
    • biomethaneOutStream

      private transient StreamInterface biomethaneOutStream
    • offgasStream

      private transient StreamInterface offgasStream
    • digestateStream

      private transient StreamInterface digestateStream
    • biomethaneFlowNm3PerHour

      private double biomethaneFlowNm3PerHour
    • compressorPowerKW

      private double compressorPowerKW
    • coolerDutyKW

      private double coolerDutyKW
    • hasRun

      private boolean hasRun
  • Constructor Details

    • BiogasToGridModule

      public BiogasToGridModule(String name)
      Creates a biogas-to-grid module with the given name.
      Parameters:
      name - module name
  • Method Details

    • setGridPressureBara

      public void setGridPressureBara(double pressureBara)
      Sets the grid injection pressure.
      Parameters:
      pressureBara - grid pressure in bara
    • setGridTemperatureC

      public void setGridTemperatureC(double temperatureC)
      Sets the grid injection temperature.
      Parameters:
      temperatureC - grid temperature in Celsius
    • setDigesterTemperatureC

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

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

      public void setUpgradingTechnology(BiogasUpgrader.UpgradingTechnology technology)
      Sets the upgrading technology.
      Parameters:
      technology - upgrading technology
    • setSubstrateType

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

      public void setFeedStream(StreamInterface feed)
      Sets the feed stream for the module.
      Parameters:
      feed - substrate feed stream
    • getBiomethaneOutStream

      public StreamInterface getBiomethaneOutStream()
      Returns the biomethane output stream (grid-quality gas).
      Returns:
      biomethane output stream
    • getOffgasStream

      public StreamInterface getOffgasStream()
      Returns the off-gas stream from upgrading.
      Returns:
      off-gas stream
    • getDigestateStream

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

      public double getBiomethaneFlowNm3PerHour()
      Returns the biomethane flow rate.
      Returns:
      biomethane flow in Nm3/hr
    • getCompressorPowerKW

      public double getCompressorPowerKW()
      Returns the compressor power.
      Returns:
      compressor power in kW
    • getCoolerDutyKW

      public double getCoolerDutyKW()
      Returns the cooler duty.
      Returns:
      cooler duty in kW
    • run

      public void run(UUID id)
      Builds and runs the complete biogas-to-grid 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