EnergyModelsHydrogen

EnergyModelsHydrogenModule

Main module for EnergyModelsHydrogen.

This module implements constraints for describing electrolysis through the types SimpleElectrolyzer and Electrolyzer, natural gas reforming through the type Reformer, and Hydrogen storage through the types SimpleHydrogenStorage and HydrogenStorage.

source

This Julia package implements three main nodes with corresponding JuMP constraints, extending the package EnergyModelsBase with more detailed representation of hydrogen technologies.

The first node is an electrolyser node. Two different types are provided, SimpleElectrolyzer and Electrolyzer. Both types include constraints on the lifetime of the electrolysis stack and the potential for stack replacement. In addition, both types calculate the degradation rate. The Electrolyzer node utilizes the degradation rate to calculate a reducing efficiency resulting in a bilinear problem. The mathematical descriptions can be found on the page Electrolyzer nodes.

The second node is a reformer node described through the type Reformer. The reformer node is incorporating unit commit constraints. The mathematical description can be found on the page Reformer node.

The third node is a hydrogen storage node described through the types SimpleHydrogenStorage and HydrogenStorage. Both types include constraints on the maximum discharge rate relative to the charge capacity and the maximum charge capacity relative to the storage capacity. HydrogenStorage nodes include in addition a dependency of the compression electricity demand on the storage level and the charge rate. The former requires furthermore a piecewise linear formulation for the electricity demand. The mathematical description can be found on the page Hydrogen storage nodes.

Manual outline

Description of the nodes

How to guides

Auxiliary functions

Library outline