SOEC Electrolyzer (SOECElectrolyzer)¶
Class:
SOECElectrolyzer| Module:energysim.models.hydrogen| Validation benchmarks | Units
Overview¶
Solid Oxide Electrolyzer Cell (SOEC) for high-temperature steam electrolysis.
Simple specific-consumption model: H2 = P / spec_elec_kwh_kg limited by the
available steam (spec_steam_kg_per_kg_h2 kg steam per kg H2, stoichiometric
minimum 8.94). There is no stack voltage / thermoneutral-heat model: the electricity
figure assumes the heat for steam generation is supplied externally. That heat is
reported as Q_steam_MW_th = m_steam * steam_enthalpy_kj_kg, the thermal demand to
turn feed water into steam at stack conditions (default 3900 kJ/kg: liquid water at
~25 degC to ~750 degC steam at ~1 bar; adjust to your steam source).
operating_temp_c is only a validity guard (600-900 degC, ValueError otherwise);
it does not enter the calculation. Stateless: dt has no effect.
Parameters¶
| Parameter | Type | Default | Unit | Description |
|---|---|---|---|---|
name |
str |
'SOEC_Electrolyzer' |
- | Unique component name identifier |
p_nominal_mw |
float |
2.0 |
MW | Nominal electrical stack power rating |
operating_temp_c |
float |
750.0 |
degC | - |
spec_elec_kwh_kg |
float |
38.0 |
kWh/kg | - |
spec_steam_kg_per_kg_h2 |
float |
9.0 |
kg/kg H2 | - |
steam_enthalpy_kj_kg |
float |
3900.0 |
kJ/kg | - |
step_size |
float |
1.0 |
s | - |
Inputs¶
| Variable | Unit | Description |
|---|---|---|
P_cmd |
MW | Active power setpoint |
steam_available_kg_hr |
kg/h | - |
Outputs¶
| Variable | Unit | Description |
|---|---|---|
P_actual |
MW | Actual electrical power consumed |
m_dot_H2_kg_hr |
kg/h | Hydrogen production rate |
steam_consumed_kg_hr |
kg/h | - |
Q_steam_MW_th |
MW | - |
Validity and notes¶
Validity: operating_temp_c between 600 and 900 degC (enforced at construction); steady state, constant specific electricity consumption independent of load and temperature; the heat for steam generation is supplied externally.
Usage example¶
from energysim import world
from energysim.models import SOECElectrolyzer
sim = world(start_time=0, stop_time=3600, t_macro=900)
sim.add_model('soecelectrolyzer', model=SOECElectrolyzer(), outputs=['P_actual', 'm_dot_H2_kg_hr', 'steam_consumed_kg_hr'], step_size=60)
res = sim.simulate()
print(res['soecelectrolyzer'].tail(2))