PEM Electrolyzer
The DISPATCHES PEM Electrolyzer Model represents a simple proton-exchange membrane electrolyzer that operates with a fixed efficiency in converting electricity to hydrogen gas. The outlet state is determined via an H2 property package.
Degrees of Freedom
The PEM Electrolyzer Model has 0 degrees of freedom.
Model Structure
The PEM Electrolyzer Model consists of a fixed conversion rate between the inlet electricity and the outlet flow rate of hydrogen gas.
Variables
The PEM Electrolyzer Model Model uses the following variables:
Variable Name |
Symbol |
Notes |
---|---|---|
electricity_to_mol |
\(\eta\) |
|
electricity |
\(I_{t}\) |
|
outlet_state |
\(O_{t, *}\) |
state variables such as mol flow, temperature, pressure |
Constraints
Outlet flow of hydrogen gas depends on efficiency:
PEM Electrolyzer Class
- class dispatches.models.renewables_case.pem_electrolyzer.PEM_Electrolyzer(*args, **kwds)
Simple 0D proton-exchange membrane electrolyzer model.
- Parameters
rule (function) – A rule function or None. Default rule calls build().
concrete (bool) – If True, make this a toplevel model. Default - False.
ctype (class) – Pyomo ctype of the block. Default - pyomo.environ.Block
default (dict) –
Default ProcessBlockData config
- Keys
- dynamic
PEM Electrolyzer does not support dynamic models, thus this must be False.
- has_holdup
Gibbs reactors do not have defined volume, thus this must be False.
- property_package
Property parameter object used to define property calculations, default - useDefault. Valid values: { useDefault - use default package from parent model or flowsheet, PropertyParameterObject - a PropertyParameterBlock object.}
- property_package_args
A ConfigBlock with arguments to be passed to a property block(s) and used when constructing these, default - None. Valid values: { see property package for documentation.}
initialize (dict) – ProcessBlockData config for individual elements. Keys are BlockData indexes and values are dictionaries described under the “default” argument above.
idx_map (function) – Function to take the index of a BlockData element and return the index in the initialize dict from which to read arguments. This can be provided to overide the default behavior of matching the BlockData index exactly to the index in initialize.
- Returns
(PEM_Electrolyzer) New instance