modelPEMElectrolyzer_L1
Extends from TransiEnt.Producer.Gas.Electrolyzer.Base.PartialElectrolyzer (partial class for electrolyzer).
Information
1. Purpose of model
This is a model for an electrolyzer with a replaceable efficiency curve and replaceable dynamic behavior.
2. Level of detail, physical effects considered, and physical insight
The efficiency curve, the dynamic behaviour and the wanted input (electric power or hydrogen mass flow) can be chosen. The water consumption is calculated using a constant factor.
3. Limits of validity
(no remarks)
4. Interfaces
epp: electric power port, type can be chosen
gasPortOut: hydrogen outlet
P_el_set: input for electric power
m_flow_H2_set: input for hydrogen mass flow
5. Nomenclature
(no elements)
6. Governing Equations
The hydrogen mass flow or the electric power is calculated depending on the given input and chosen efficiency curve and dynamic behavior.
Heat outcoupling is calculated via the efficiency curve and a simplified correlation for heat losses depending on the electrical power, the operating temperature and the ambient temperature. The default value for the temperature coefficient is based on [1].
7. Remarks for Usage
Via parameter 'useLeakageMassFlow' a small mass flow of 'm_flow_small' is always flowing out of gas port (to avoid Zero-Mass-Flow problems).
The model works with any fluids which contain hydrogen as the last component.
8. Validation
Tested in the check models "TransiEnt.Producer.Gas.Electrolyzer.Check.TestPEMElectrolyzer_L1_Charline" and "TransiEnt.Producer.Gas.Electrolyzer.Check.TestPEMElectrolyzer_L1_Dynamics"
9. References
[1] Espinosa-López, M. et al., Modelling and experimental validation of a 46 kW PEM high pressure water electrolyzer, 2018
10. Version History
Model created by Carsten Bode (c.bode@tuhh.de) in March 2017
Model generalized for different electrical power ports by Jan-Peter Heckel (jan.heckel@tuhh.de) in July 2018
Model modified by Oliver Schülting (oliver.schuelting@tuhh.de) on Nov 2018: added useLeakageMassFlow
Model modified by Oliver Schülting (oliver.schuelting@tuhh.de) on Nov 2019: added simplified heat model to simulate thermal losses heat outcoupling
Model adjusted for base class 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 |
| 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 |
| SI.LinearTemperatureCoefficient | k_therm_relative | 0.325436e-3 | temperature conductivity for heat losses relative to electrical power |
| SI.Temperature | T_amb | 273.15 + 15 | ambient temperature for heat loss calculation |
| 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 |
| Boolean | useHomotopy | simCenter.useHomotopy | true if homotopy method is used during initialization |
| Real | specificWaterConsumption | 10 | Mass of water per mass of hydrogen |
| SI.Efficiency | eta_n | 0.75 | Nominal efficiency refering to the GCV (min = 0, max = 1) |
| SI.Efficiency | eta_scale | 0 | Sets a with increasing input power linear degrading efficiency coefficient (min=0,max=1) |
| Integer | whichInput | 1 | use P_el_set or m_flow_H2_set as input |
| 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 |
| Numerical Stability | |||
| Boolean | useLeakageMassFlow | false | Constant leakage gas mass flow of 'm_flow_small' to avoid zero mass flow |
| SI.MassFlowRate | m_flow_small | simCenter.m_flow_small | leakage mass flow if useLeakageMassFlow=true |
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) | ||
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerIn | P_el_set | Electric power input (set value) | |
| TransiEnt.Basics.Interfaces.General.MassFlowRateIn | m_flow_H2_set | Hydrogen mass flow rate input (set value) |
Components
Contents
| Name | Description |
|---|---|