Operability mapping of a Solid Oxide Electrolyzer Cell (SOEC) system — connecting an IDAES/Pyomo electrochemical model to the opyrability process-operability toolkit.
I authored this example notebook; it is published in the official opyrability documentation as part of its Examples Gallery. It serves as a general template for connecting any Python-based process model to operability analysis, demonstrated here on SOEC hydrogen production.
An IDAES-based SOEC model computes cell voltage from current density and operating temperature, accounting for reversible (open-circuit), activation, and ohmic overpotentials. Two operability studies are run:
- Case 1 — R² → R¹: maps current density (J) and temperature (T) to cell voltage (V).
- Case 2 — R² → R²: maps J and T to both cell voltage and hydrogen production rate, then evaluates the Operability Index (OI) against two Desired Output Sets (DOS). The OI quantifies how much of a target operating region the system can actually achieve (in the example, DOS 1 ≈ 16%, DOS 2 ≈ 85%).
- Python ≥ 3.8
- IDAES process systems engineering framework
- opyrability
- IPOPT nonlinear solver
numpy,matplotlib,pyomo
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
# IPOPT solver (easiest via conda):
# conda install -c conda-forge ipopt
# or via IDAES:
# idaes get-extensions
jupyter lab idaes_connection.ipynbidaes_connection.ipynb— the notebook, with code and rendered figures.requirements.txt— Python dependencies.
opyrability is developed by the CODES group (CODES-group/opyrability). This notebook imports opyrability rather than redistributing its source; please cite the opyrability package and the upstream repository when using the toolkit itself.
Shared for academic and demonstration purposes. See the opyrability project for the toolkit's own license terms.