h2integrate.simulation.technologies.hydrogen.electrolysis.PEM_H2_LT_electrolyzer#
Python model of H2 PEM low-temp electrolyzer.
Quick Hydrogen Physics:
1 kg H2 <-> 11.1 N-m3 <-> 33.3 kWh (LHV) <-> 39.4 kWh (HHV)
High mass energy density (1 kg H2= 3,77 l gasoline) Low volumetric density (1 Nm³ H2= 0,34 l gasoline
Hydrogen production from water electrolysis (~5 kWh/Nm³ H2)
Power:1 MW electrolyser <-> 200 Nm³/h H2 <-> ±18 kg/h H2 Energy:+/-55 kWh of electricity --> 1 kg H2 <-> 11.1 Nm³ <-> ±10 liters demineralized water
Power production from a hydrogen PEM fuel cell from hydrogen (+/-50% efficiency): Energy: 1 kg H2 --> 16 kWh
Classes
|
Create an instance of a low-temperature PEM Electrolyzer System. |
- class h2integrate.simulation.technologies.hydrogen.electrolysis.PEM_H2_LT_electrolyzer.PEM_electrolyzer_LT(input_dict, output_dict)#
Create an instance of a low-temperature PEM Electrolyzer System. Each stack in the electrolyzer system in this model is rated at 1 MW_DC.
- Parameters:
P_input_external_kW (np_array) -- 1-D array of time-series external power supply
voltage_type (string) -- Nature of voltage supplied to electrolyzer from the external power supply ['variable' or 'constant]
power_supply_rating_MW (float) -- Rated power of external power supply
- external_power_supply()#
External power source (grid or REG) which will need to be stepped down and converted to DC power for the electrolyzer.
Please note, for a wind farm as the electrolyzer's power source, the model assumes variable power supplied to the stack at fixed voltage (fixed voltage, variable power and current)
TODO: extend model to accept variable voltage, current, and power This will replicate direct DC-coupled PV system operating at MPP
- system_design()#
For now, system design is solely a function of max. external power supply; i.e., a rated power supply of 50 MW means that the electrolyzer system developed by this model is also rated at 50 MW
TODO: Extend model to include this capability. Assume that a PEM electrolyzer behaves as a purely resistive load in a circuit, and design the configuration of the entire electrolyzer system - which may consist of multiple stacks connected together in series, parallel, or a combination of both.
- cell_design()#
Creates an I-V (polarization) curve of each cell in a stack.
Please note that this method is currently not used in the model. It will be used once the electrolyzer model is expanded to variable voltage supply as well as implementation of the self.system_design() method
Motivation:
The most common representation of the electrolyzer performance is the polarization curve that represents the relation between the current density and the voltage (V): Source: https://www.sciencedirect.com/science/article/pii/S0959652620312312
V = N_c(E_cell + V_Act,c + V_Act,a + iR_cell)
where N_c is the number of electrolyzer cells,E_cell is the open circuit voltage VAct,and V_Act,c are the anode and cathode activation over-potentials, i is the current density and iRcell is the electrolyzer cell resistance (ohmic losses).
Use this to make a V vs. A (Amperes/cm2) graph which starts at 1.23V because thermodynamic reaction of water formation/splitting dictates that standard electrode potential has a ∆G of 237 kJ/mol (where: ∆H = ∆G + T∆S)
- dynamic_operation()#
Model the electrolyzer's realistic response/operation under variable RE
TODO: add this capability to the model
- water_electrolysis_efficiency()#
https://www.sciencedirect.com/science/article/pii/S2589299119300035#b0500
According to the first law of thermodynamics energy is conserved. Thus, the conversion efficiency calculated from the yields of converted electrical energy into chemical energy. Typically, water electrolysis efficiency is calculated by the higher heating value (HHV) of hydrogen. Since the electrolysis process water is supplied to the cell in liquid phase efficiency can be calculated by:
n_T = V_TN / V_cell
where, V_TN is the thermo-neutral voltage (min. required V to electrolyze water)
- faradaic_efficiency()#
Text background from: [https://www.researchgate.net/publication/344260178_Faraday%27s_ Efficiency_Modeling_of_a_Proton_Exchange_Membrane_Electrolyzer_ Based_on_Experimental_Data]
In electrolyzers, Faraday's efficiency is a relevant parameter to assess the amount of hydrogen generated according to the input energy and energy efficiency. Faraday's efficiency expresses the faradaic losses due to the gas crossover current. The thickness of the membrane and operating conditions (i.e., temperature, gas pressure) may affect the Faraday's efficiency.
Equation for n_F obtained from: https://www.sciencedirect.com/science/article/pii/S0360319917347237#bib27
- Parameters:
f_1 (float) -- Coefficient - value at operating temperature of 80degC (mA2/cm4)
f_2 (float) -- Coefficient - value at operating temp of 80 degC (unitless)
current_input_external_Amps (np_array) -- 1-D array of current supplied to electrolyzer stack from external power source
- Returns:
float n_F -- Faradaic efficiency (unitless)
- compression_efficiency()#
In industrial contexts, the remaining hydrogen should be stored at certain storage pressures that vary depending on the intended application. In the case of subsequent compression, pressure-volume work, Wc, must be performed. The additional pressure-volume work can be related to the heating value of storable hydrogen. Then, the total efficiency reduces by the following factor: https://www.mdpi.com/1996-1073/13/3/612/htm
Due to reasons of material properties and operating costs, large amounts of gaseous hydrogen are usually not stored at pressures exceeding 100 bar in aboveground vessels and 200 bar in underground storages https://www.sciencedirect.com/science/article/pii/S0360319919310195
Partial pressure of H2(g) calculated using: The hydrogen partial pressure is calculated as a difference between the cathode pressure, 101,325 Pa, and the water saturation pressure [Source: Energies2018,11,3273; doi:10.3390/en11123273]
- total_efficiency()#
Aside from efficiencies accounted for in this model (water_electrolysis_efficiency, faradaic_efficiency, and compression_efficiency) all process steps such as gas drying above 2 bar or water pumping can be assumed as negligible. Ultimately, the total efficiency or system efficiency of a PEM electrolysis system is:
n_T = n_p_h2 * n_F_h2 * n_c_h2 https://www.mdpi.com/1996-1073/13/3/612/htm
- h2_production_rate()#
H2 production rate calculated using Faraday's Law of Electrolysis (https://www.sciencedirect.com/science/article/pii/S0360319917347237#bib27)
- Parameters:
f_1 (float) -- Coefficient - value at operating temperature of 80degC (mA2/cm4)
f_2 (float) -- Coefficient - value at operating temp of 80 degC (unitless)
np_array -- 1-D array of current supplied to electrolyzer stack from external power source
- degradation()#
TODO Add a time component to the model - for degradation -> https://www.hydrogen.energy.gov/pdfs/progress17/ii_b_1_peters_2017.pdf
- water_supply()#
Calculate water supply rate based system efficiency and H2 production rate TODO: Add this capability to the model
- h2_storage()#
Model to estimate Ideal Isorthermal H2 compression at 70degC https://www.sciencedirect.com/science/article/pii/S036031991733954X
The amount of hydrogen gas stored under pressure can be estimated using the van der Waals equation
p = [(nRT)/(V-nb)] - [a * ((n^2) / (V^2))]
where p is pressure of the hydrogen gas (Pa), n the amount of substance (mol), T the temperature (K), and V the volume of storage (m3). The constants a and b are called the van der Waals coefficients, which for hydrogen are 2.45 x 10^2 Pa m6mol-2 and 26.61 x 10^6 , respectively.