Hydrogen Fuel Cell Model

Hydrogen Fuel Cell Model#

The hydrogen fuel cell performance model implemented in H2Integrate is a linearized model that depends on the hydrogen inflow, fuel_cell_efficiency_hhv and system_capacity_kw to calculate the output electricity. The model will not allow negative electricity to be produced or more than the system_capacity_kw.

There are no non-linear considerations in this model such as warm-up delays, degraded performance over operational life, etc.

The hydrogen fuel cell cost model is implemented to use cost values that are in dollars per kilowatt (or per kilowatt per year) because that’s the typical reporting metric for hydrogen fuel cells.

Note

To ensure the hydrogen fuel cell is appropriately connected with other electricity producing technologies, the model name in the tech_config["technologies] needs to begin with h2_fuel_cell.

Performance Model#

class h2integrate.converters.hydrogen.h2_fuel_cell.LinearH2FuelCellPerformanceConfig(*, system_capacity_kw, fuel_cell_efficiency_hhv)

Bases: BaseConfig

Configuration class for the hydrogen fuel cell performance model.

Parameters:
  • system_capacity_kw (float)

  • fuel_cell_efficiency_hhv (float)

system_capacity_kw

The capacity of the fuel cell system in kilowatts (kW).

Type:

float

fuel_cell_efficiency_hhv

The higher heating value efficiency of the fuel cell (0 <= efficiency <= 1).

Type:

float

system_capacity_kw: float
fuel_cell_efficiency_hhv: float
class h2integrate.converters.hydrogen.h2_fuel_cell.LinearH2FuelCellPerformanceModel(**kwargs)

Bases: PerformanceModelBaseClass

Performance model for a hydrogen fuel cell.

The model implements the relationship: electricity_out = hydrogen_in * fuel_cell_efficiency_hhv * HHV_hydrogen

where: - hydrogen_in is the mass flow rate of hydrogen in kg/hr - fuel_cell_efficiency is the efficiency of the fuel cell (0 <= efficiency <= 1) - HHV_hydrogen is the higher heating value of hydrogen (approximately 142 MJ/kg)

_time_step_bounds = (3600, 3600)
initialize()

Perform any one-time initialization run at instantiation.

setup()

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs)
Compute electricity output from the fuel cell based on hydrogen input

and fuel cell HHV efficiency.

Parameters:
  • inputs – OpenMDAO inputs object containing hydrogen_in, fuel cell HHV efficiency, and system_capacity.

  • outputs – OpenMDAO outputs object for electricity_out, hydrogen_consumed.

Cost Model#

class h2integrate.converters.hydrogen.h2_fuel_cell.H2FuelCellCostConfig(*, cost_year, system_capacity_kw, capex_per_kw, fixed_opex_per_kw_per_year)

Bases: CostModelBaseConfig

Configuration class for the hydrogen fuel cell cost model.

Fields include system_capacity_kw, capex_per_kw, and fixed_opex_per_kw_per_year. The cost_year field is inherited from CostModelBaseConfig.

Parameters:
  • cost_year (int)

  • system_capacity_kw (float)

  • capex_per_kw (float)

  • fixed_opex_per_kw_per_year (float)

system_capacity_kw: float
capex_per_kw: float
fixed_opex_per_kw_per_year: float
class h2integrate.converters.hydrogen.h2_fuel_cell.H2FuelCellCostModel(**kwargs)

Bases: CostModelBaseClass

Cost model for a hydrogen fuel cell system.

The model calculates capital and fixed operating costs based on system capacity and specified cost parameters.

_time_step_bounds = (3600, 3600)
setup()

Declare inputs and outputs.

Available attributes:

name pathname comm options

compute(inputs, outputs, discrete_inputs, discrete_outputs)

Compute capital and fixed operating costs for the fuel cell system.

Parameters:
  • inputs – OpenMDAO inputs object containing system_capacity.

  • outputs – OpenMDAO outputs object for capital_cost and fixed_operating_cost_per_year.