modelPEM
Extends from TransiEnt.Basics.Icons.Model (Icon for models).
Information
1. Purpose of model
Model of PEM cell stack.
2. Level of detail, physical effects considered, and physical insight
(no remarks)
3. Limits of validity
(no remarks)
4. Interfaces
Type of electrical power port can be chosen
5. Nomenclature
(no remarks)
6. Governing Equations
(no remarks)
7. Remarks for Usage
With the choice of the boundary the the model can be used as PQ or PU bus.
8. Validation
Validation has been done as part of the master thesis [1]
9. References
[1] Modellierung und Simulation von erdgasbetriebenen Brennstoffzellen-Blockheizkraftwerken zur Heimenergieversorgung
Master thesis, Simon Weilbach (2014)
10. Version History
Model created by Simon Weilbach (simon.weilbach@tuhh.de) in October 2014
Model revised by Pascal Dubucq (dubucq@tuhh.de) in October 2015
Quality check (Code conventions) by Rebekka Denninger in October 2016
Model generalized for different electrical power ports by Jan-Peter Heckel (jan.heckel@tuhh.de) in July 2018
Parameters
| Type | Name | Default | Description |
|---|---|---|---|
| Integer | no_Cells | 30 | Number of cells connected in series |
| Modelica.Units.SI.CurrentDensity | i_0 | 0.000006 | Reactive current (empiric) |
| Modelica.Units.SI.CurrentDensity | i_L | 6 | Limiting current |
| Modelica.Units.SI.CurrentDensity | i_Loss | 6 | Leakage current |
| Real | Ri | 0.15e-4 | Internal resistance according to Barbir in Ohm |
| Real | alpha | 1 | Transfer coefficient |
| Real | z | 2 | Quantity of transfered electrons |
| Modelica.Units.SI.Area | A_cell | 361e-4 | Area of one cell |
| Modelica.Units.SI.Pressure | p_Anode | 150000 | Pressure at the anode |
| Modelica.Units.SI.Pressure | p_Kathode | 100000 | Pressure at the cathode |
| TransiEnt.Basics.Media.Gases.Gas_VDIWA_SG7_var | Syngas | TransiEnt.Basics.Media.Gases.Gas_VDIWA_SG7_var() | Medium model of Syngas |
| TransiEnt.Basics.Media.Gases.Gas_MoistAir | Air | TransiEnt.Basics.Media.Gases.Gas_MoistAir() | Medium model of air |
| Real[3,3] | cp_tab | [28.91404, -0.00084, 2.01e-6; 25.84512, 0.012987, -3.9e-6; 30.62644, 0.009621, 1.18e-6] | Empiric parameter for calculating the Gibbs free energy according to Barbir |
| Modelica.Units.SI.Current | I_shutdown | 10 | If load controller requests currents below this value, stack will shut down |
| Modelica.Units.SI.Mass | m | 5 | Mass of the stack |
| Modelica.Units.SI.SpecificHeatCapacity | cp | 1000 | Specific heat capacity of the stack |
| Real | eta_Q | 0.7 | Efficiency of the heat transfer |
| Modelica.Units.SI.Temperature | T_nom | 820 + 273.15 | Temperature in nominal point (i.e. minimum temperature for heat) |
| Modelica.Units.SI.ThermalConductance | ka | 0.5 | Thermal conductance of the wall |
| SI.Voltage | v_n | simCenter.v_n | Nominal Voltage for grid |
| Replaceable Components | |||
| Boolean | usePowerPort | true | True if power port shall be used |
Connectors
| Type | Name | Default | Description |
|---|---|---|---|
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortIn | feedh | ||
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortOut | drainh | ||
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortIn | feeda | ||
| TransiEnt.Basics.Interfaces.Gas.IdealGasTempPortOut | draina | ||
| TransiEnt.Basics.Interfaces.Electrical.ActivePowerPort | epp | ||
| TransiEnt.Basics.Interfaces.Electrical.ElectricCurrentIn | I_load | Input for loading current | |
| TransiEnt.Basics.Interfaces.Electrical.VoltageOut | V_stack | Output for Voltage of a stack | |
| TransiEnt.Basics.Interfaces.General.MassFractionOut | lambda_H | Output for excess ratio of hydrogen | |
| TransiEnt.Basics.Interfaces.Thermal.HeatFlowRateOut | Q_flow_use | Useful heat flow rate | |
| TransiEnt.Basics.Interfaces.Electrical.ElectricPowerOut | P_el | -1*V_stack*I | |
| TransiEnt.Basics.Interfaces.General.MassFractionOut | lambda_O | Output for excess ratio of oxygen |
Components
| Type | Name | Default | Description |
|---|---|---|---|
| TransiEnt.SimCenter | simCenter | ||
| Modelica.Units.SI.Temperature | T_cell | T_stack | Temperature of one cell |
| Modelica.Units.SI.Temperature | T_stack | Temperature of the stack | |
| Modelica.Units.SI.Temperature | T_syng_ein | Temperature of the syngas | |
| Modelica.Units.SI.Temperature | T_air_ein | Temperature of the air | |
| Modelica.Units.SI.CurrentDensity | i_cell | Current in one cell | |
| Modelica.Units.SI.Pressure | P_O2 | air.p_i[3]/air.p | Partial pressure of oxygen at the cathode |
| Modelica.Units.SI.Pressure | P_H2 | syng.p_i[5]/syng.p | Partial pressure of hydrogen at the anode |
| Modelica.Units.SI.Voltage | E_cell | Voltage of one cell | |
| Modelica.Units.SI.Voltage | E_stack | Voltage of the stack | |
| Modelica.Units.SI.Voltage | V1 | Voltage loss 1 | |
| Modelica.Units.SI.Voltage | V2 | Voltage loss 2 | |
| Modelica.Units.SI.Voltage | V3 | Voltage loss 3 | |
| Modelica.Units.SI.Voltage | Er | Reversible electric potential without the other losses | |
| Real | da | cp_tab[3, 1] - cp_tab[1, 1] - 0.5*cp_tab[2, 1] | Empiric parameter for calculating Gibbs free energy according to Barbir |
| Real | db | cp_tab[3, 2] - cp_tab[1, 2] - 0.5*cp_tab[2, 2] | Empiric parameter for calculating Gibbs free energy according to Barbir |
| Real | dc | cp_tab[3, 3] - cp_tab[1, 3] - 0.5*cp_tab[2, 3] | Empiric parameter for calculating Gibbs free energy according to Barbir |
| Real | Delta_H_T | -241.98*1000 + da*(T_cell - 298.15) + db*((T_cell^2) - 298.15^2)/2 + dc*((T_cell^3) - 298.15^3)/3 | Empiric equation for calculating the enthalpy of formation according to Barbir |
| Real | Delta_S_T | -0.0444*1000 + da*log(T_cell/298.15) + db*(T_cell - 298.15) + dc*((T_cell^2) - 298.15^2)/2 | Empiric equation for calculating the entropy according to Barbir |
| Modelica.Units.SI.MolarFlowRate | N_dot_e | Molar flow rate of the electrons | |
| Modelica.Units.SI.MassFlowRate | m_dot_H2_react_stack | Required H2 mass flow rate of one cell | |
| Modelica.Units.SI.MassFlowRate | m_dot_O2_react_stack | Required O2 mass flow rate of one cell | |
| Modelica.Units.SI.MassFlowRate | m_dot_H2O_gen_stack | Generated H2O mass flow rate of one cell | |
| Modelica.Units.SI.MassFlowRate | m_dot_air_react_stack | Required air mass flow rate of one cell | |
| Modelica.Units.SI.MolarMass | M_H2 | syng.M_i[5] | Molar mass H2 |
| Modelica.Units.SI.MolarMass | M_O2 | syng.M_i[2] | Molar mass O2 |
| Modelica.Units.SI.MassFraction | xi_O2 | Mass fraction of O2 in the air | |
| Modelica.Units.SI.SpecificEnthalpy | h_hein | syng.h | |
| Modelica.Units.SI.SpecificEnthalpy | h_haus | synga.h | |
| Modelica.Units.SI.SpecificEnthalpy | h_aein | air.h | |
| Modelica.Units.SI.SpecificEnthalpy | h_aaus | aira.h | |
| SI.HeatFlowRate | Q_flow_reac | Heat flow due to reaction | |
| SI.HeatFlowRate | Q_flow_gas | Heat flow to/from syngas and air | |
| Modelica.Units.SI.Current | I | ||
| Modelica.Units.SI.Current | I_is | ||
| Boolean | is_T_reac_min_reached | true, if minimum temperature for FC reaction reached | |
| Boolean | is_Shutdown | true, if load current is indicating to shut the stack down | |
| TILMedia.Gas_pT | syng | ||
| TILMedia.Gas_pT | air | Moist air is used which consists of N2, H2O and O2. This is why the component O2 can be used from it! | |
| TILMedia.Gas_pT | synga | ||
| TILMedia.Gas_pT | aira | Moist air is used which consists of N2, H2O and O2. This is why the component O2 can be used from it! | |
| TransiEnt.Components.Boundaries.Electrical.ActivePower.Power | powerBoundary | ||
| Modelica.Blocks.Sources.RealExpression | realExpression |