modelPEMElectrolyzer_L2
Extends from TransiEnt.Producer.Gas.Electrolyzer.Base.PartialElectrolyzer (partial class for electrolyzer).
Information
1. Purpose of model
This model electrolyzer uses modular physics classes and a Specification record to describe a real-life electrolyzer system. The default model uses physical relationships taken from (Espinosa-López et al, 2018).
2. Level of detail, physical effects considered, and physical insight
The user can select or create a model with system specific parameters. The desired input (electric power, current, current density or hydrogen mass flow) can be varied. Physics submodels can be replaced as desired, with essential definitions annotated. The water consumption, hydrogen output, and net- and gross-calorific energy conversion efficiency can be calculated. The user has the option of controlling pressure through gasPortOut and/or temperature through T_input as well.
3. Limits of validity
Original model developed and validated in the range of 20-60 °C with operating pressure of 15-35 bar.
4. Interfaces
epp: electric power port, type can be chosen
gasPortOut: hydrogen outlet
i_dens_set: input for electric current density
i_el_stack_set: input for electric current
P_el_set: input for electric power
m_flow_H2_set: input for hydrogen mass flow
T_input: input for temperature
excessHeatFlowOut: Heat flow rate out port, equal to the cooling power used to regulate temperature at max temp.
temperatureOut: temperatureOut interface equal to operating temperature
5. Nomenclature
(no elements)
6. Governing Equations
Selectable physics equations allow for different governing equations to be used, and consist of equations from (Espinosa-López et al, 2018) by default.
7. Remarks for Usage
(no remarks)
8. Validation
Results have been validated against (Espinosa-López et al, 2018) published figures.
9. References
[1] Manuel Espinosa-López, Philippe Baucour, Serge Besse, Christophe Darras, Raynal Glises, Philippe Poggi, André Rakotondrainibe, and Pierre Serre-Combe. Modelling and experimental validation of a 46 kW PEM high pressure water electrolyser. Renewable Energy, 119, pp. 160-173, 2018. doi: 10.1016/J.RENENE.2017.11.081.
[2] efficiency curve of the inverter taken from the data sheet of SMA "Technische Wirkungsgrade und Derating" URL: https://files.sma.de/dl/1348/WirkungDerat-TI-de-46.pdf page 71, 26.11.2019
[3] J. Webster and C. Bode, “Implementation of a Non-Discretized Multiphysics PEM Electrolyzer Model in Modelica,” in Proceedings of the 13th International Modelica Conference, Regensburg, Germany, March 4–6, 2019, no. 157, pp. 833–840, DOI: 10.3384/ecp19157833.
10. Version History
Model created by John Webster (jcwebste@edu.uwaterloo.ca) in October 2018
Model adjusted for TransiEnt by Jan Westphal (j.westphal@tuhh.de) in dec 2019
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| SI.MassFraction[medium.nc - 1] | xi_out (from PartialElectrolyzer) | zeros(medium.nc - 1) | |
| SI.SpecificEnergy[:] | NCV_H2 (from PartialElectrolyzer) | TransiEnt.Basics.Functions.GasProperties.getRealGasNCVVector(medium, medium.nc) | Net calorific value of hydrogen at 25 C and 1 bar |
| SI.SpecificEnergy[:] | GCV_H2 (from PartialElectrolyzer) | TransiEnt.Basics.Functions.GasProperties.getRealGasGCVVector(medium, medium.nc) | Gross calorific value of hydrogen at 25 C and 1 bar |
| SI.SpecificEnthalpy | h0 (from PartialElectrolyzer) | TILMedia.Internals.VLEFluidConfigurations.FullyMixtureCompatible.VLEFluidFunctions.specificEnthalpy_pTxi(medium, 1e5, 298.15) | Specific enthalpy at 25 C and 1 bar |
| EnergyResource | typeOfResource (from PartialElectrolyzer) | EnergyResource.Consumer | Type of energy resource for global model statistics |
| SI.Temperature | T_std | 298.15 | STD temperature |
| Coolant | |||
| Boolean | useFluidCoolantPort (from PartialHeatProvision) | false | choose if fluid port for coolant shall be used |
| Boolean | useHeatPort (from PartialHeatProvision) | false | choose if heat port for coolant shall be used |
| Boolean | externalMassFlowControl (from PartialHeatProvision) | false | choose if coolant mass flow is defined by input |
| Boolean | useVariableCoolantOutputTemperature (from PartialHeatProvision) | false | choose if temperature of cooland output shall be defined by input |
| SI.Temperature | T_out_coolant_target (from PartialHeatProvision) | 500 + 273.15 | output temperature of coolant - will be limited by temperature which is technically feasible |
| Fundamental Definitions | |||
| TILMedia.VLEFluidTypes.BaseVLEFluid | medium (from PartialElectrolyzer) | simCenter.gasModel3 | Medium model |
| SI.ActivePower | P_el_n (from PartialElectrolyzer) | Nominal power of the electrolyzer | |
| SI.ActivePower | P_el_max (from PartialElectrolyzer) | Maximum power of the electrolyzer | |
| SI.Temperature | T_out (from PartialElectrolyzer) | 283.15 | Hydrogen output temperature |
| SI.Temperature | T_amb | 23 + 273.15 | K, ambient temperature |
| Integer | whichInput | 1 | Use current, current density, electric power, or mass_flow_H2 as input |
| Boolean | userSetTemp | false | Use T_input as input |
| Real | eta_inv_n | 0.956 | nominal efficiency of the inverter |
| Replaceable Components | |||
| Boolean | usePowerPort (from PartialElectrolyzer) | true | True if power port shall be used |
| Statistics | |||
| Boolean | integrateH2Flow (from PartialElectrolyzer) | false | true if hydrogen mass flow shall be integrated |
| Boolean | integrateElPower (from PartialElectrolyzer) | simCenter.integrateElPower | true if electric powers shall be integrated |
| Boolean | calculateCost (from PartialElectrolyzer) | simCenter.calculateCost | true if cost shall be calculated |
| TransiEnt.Basics.Units.MonetaryUnitPerEnergy | Cspec_demAndRev_el (from PartialElectrolyzer) | simCenter.Cspec_demAndRev_free | Specific demand-related cost per electric energy |
| Real | Cspec_demAndRev_other (from PartialElectrolyzer) | simCenter.Cspec_demAndRev_other_free | Specific demand-related cost per cubic meter water |
| Initialization | |||
| SI.Temperature | T_op_start | T_std | initial operating temperature of PEM Electrolyzer |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| Basics.Interfaces.Thermal.FluidPortIn | fluidPortIn (from PartialHeatProvision) | ||
| Basics.Interfaces.Thermal.FluidPortOut | fluidPortOut (from PartialHeatProvision) | ||
| Modelica.Thermal.HeatTransfer.Interfaces.HeatPort_a | heat (from PartialHeatProvision) | ||
| Basics.Interfaces.General.TemperatureIn | T_set_coolant_out (from PartialHeatProvision) | ||
| TransiEnt.Basics.Interfaces.Electrical.ActivePowerPort | epp (from PartialElectrolyzer) | ||
| TransiEnt.Basics.Interfaces.Gas.RealGasPortOut | gasPortOut (from PartialElectrolyzer) | ||
| Modelica.Blocks.Interfaces.RealInput | i_el_stack_set | ||
| Modelica.Blocks.Interfaces.RealInput | i_dens_set | ||
| Modelica.Blocks.Interfaces.RealInput | P_el_set | ||
| Modelica.Blocks.Interfaces.RealInput | m_flow_H2_set | ||
| Modelica.Blocks.Interfaces.RealInput | T_input | ||
| TransiEnt.Basics.Interfaces.General.TemperatureOut | temperatureOut | ||
| TransiEnt.Basics.Interfaces.Thermal.HeatFlowRateOut | excessHeatFlowOut |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| TransiEnt.SimCenter | simCenter (from PartialHeatProvision) | ||
| Components.Boundaries.Heat.Heatflow_L1 | heatFlow_externalMassFlowControl (from PartialHeatProvision) | ||
| Modelica.Blocks.Sources.RealExpression | Q_flow_positive (from PartialHeatProvision) | ||
| Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow | prescribedHeatFlow (from PartialHeatProvision) | ||
| Components.Boundaries.Heat.Heatflow_L1_idContrMFlow_temp | heatflow_L1_idContrMFlow_temp (from PartialHeatProvision) | ||
| Modelica.Blocks.Sources.RealExpression | realExpression8 (from PartialHeatProvision) | ||
| SI.HeatFlowRate | Q_flow_heatprovision (from PartialHeatProvision) | ||
| SI.Temperature | T_out_coolant (from PartialHeatProvision) | min(T_out_coolant_target, T_out_coolant_max) | |
| SI.Temperature | T_out_coolant_max (from PartialHeatProvision) | ||
| TransiEnt.ModelStatistics | modelStatistics (from PartialElectrolyzer) | ||
| SI.HeatFlowRate | Q_flow (from PartialElectrolyzer) | waste heat | |
| SI.Power | P_el (from PartialElectrolyzer) | Electric power consumed by the electrolyzer | |
| SI.MassFlowRate | m_flow_H2O (from PartialElectrolyzer) | water mass flow rate into the electrolyzer | |
| Modelica.Blocks.Sources.RealExpression | realExpression (from PartialElectrolyzer) | ||
| TransiEnt.Components.Boundaries.Electrical.ActivePower.Power | powerBoundary (from PartialElectrolyzer) | ||
| TILMedia.Internals.VLEFluidConfigurations.FullyMixtureCompatible.VLEFluid_pT | vleFluidH2 (from PartialElectrolyzer) | ||
| SI.Mass | mass_H2 | Produced H2 mass | |
| SI.Temperature | T_op | Operating stack temperature | |
| SI.Efficiency | eta_cond | Variable for modeling the effiiciency loss of the electrolyseur due to the needed power for the dryer and the water conditioning | |
| SI.EnthalpyFlowRate | H_flow_H2_GCV | H2 enthalpy flow rate out of electrolyzer, gross calorific value | |
| SI.EnthalpyFlowRate | H_flow_H2_NCV | H2 enthalpy flow rate out of electrolyzer, net calorific value | |
| SI.Efficiency | eta_NCV | Efficiency of the electrolyzer based on NCV | |
| SI.Efficiency | eta_GCV | Efficiency of the electrolyzer based on GCV | |
| SI.Current | i_el_stack | Current across the electrolyzer stack | |
| SI.CurrentDensity | i_dens_a | Operating current density at anode | |
| SI.Voltage | V_el_stack | PEM stack voltage | |
| SI.Voltage | V_cell | PEM cell voltage considering all included physical phenomena | |
| SI.Voltage | V_tn | or U_tn, Thermoneutral voltage (voltage at which reaction can occur without releasing any heat) | |
| SI.Pressure | gasPortPressure | pressure of hydrogen connected to gasPortOut | |
| SI.Pressure | pp_H2O | Pa, vapour pressure of water vapour, must always be converted to atm | |
| SI.Pressure | pp_H2 | Pa, partial pressure of H2, must always be converted to atm | |
| SI.Pressure | pp_O2 | Pa, partial pressure of O2, must always be converted to atm | |
| SI.Pressure | p_cat | Pressure at cathode (H2) | |
| SI.Pressure | p_an | Pressure at anode (O2) | |
| SI.MassFlowRate | m_flow_H2 | H2 mass flow rate out of electrolyzer | |
| SI.MolarFlowRate | n_flow_H2O | Molar consummation rate of water | |
| SI.MolarFlowRate | n_flow_H2 | Molar production rate of Hydrogen gas | |
| SI.MolarFlowRate | n_flow_O2 | Molar production rate of Oxygen gas | |
| TransiEnt.Producer.Gas.Electrolyzer.Base.Specifications.AREVAGiner46kW | Specification | ||
| electrolyzerVoltage | voltage | ||
| electrolyzerTemperature | temperature | ||
| electrolyzerPressures | pressure | ||
| electrolyzerMassFlow | massFlow | ||
| Summary | summary | ||
| Modelica.Blocks.Sources.RealExpression | T_op_out | ||
| Modelica.Blocks.Sources.RealExpression | Q_Flow_Cooling | excess waste heat generated by electrolyzer system, actively cooled by default | |
| Modelica.Blocks.Tables.CombiTable1Ds | EfficiencyCurve_Inverter |
Contents
| Name | Description |
|---|---|