**TYPE 73: FUEL CELL**

**General Description**

This component models a fuel cell with a proton exchange membrane for five different inputs modes, where four of the modes are based on the same equation. The fuel cell can have either voltage or current as input. A switch can turn the fuel cell off or on.

**Nomenclature**

- a - Constant for Temperature-Voltage equation (diffusion)
- A - Outside area of the fuel cell
- b - Constant for Temperature-Voltage equation (migration)
- C
_{mass}- Average heat capacity for the fuel cell* Mass of the fuel cell - c - Constant for Temperature-Voltage equation (migration)
- c
_{O2}- Concentration of oxygen - E - Reversible voltage
- e - Parameters for the activation voltage loss
- g - Parameters for the resistance voltage loss
- I - Current through the fuel cell
- I
_{high}- Maximal current for high temp I-U curve - I
_{low}- Maximal current for low temp I-U curve - I
_{temp}- Maximal current at the given temperature - k - Constant for Temperature-Voltage equation (diffusion)
- lud - Logical number of data file
- m
_{H2}- H2-mass flow to the fuel cell - nfuel - Fuel cell number in data file
- h
_{act}- Activation voltage loss - h
_{eff}- Total efficiency of fuel cell - h
_{el}- Voltage efficiency of fuel cell - h
_{ohmic}- Voltage loss due to resistance - P
_{el}- Electric power from the fuel cell - P
_{H2}- Partial pressure of hydrogen - P
_{max}- Maximal power output of the fuel cell - P
_{O2}- Partial pressure of oxygen - P
_{ref}- Reference output of the fuel cell (output the data are given for). - p
_{use0}- Power consumption of fuel cell when not in use - p
_{use1}- Power consumption of fuel cell when in use - q - Total heat production in the fuel cell per time
- q
_{rem}- Heat that has to be removed to prevent overheating of the fuel cell - q
_{sur}- Heat loss to the surroundings - q
_{heat}- Heat loss to heat up the fuel cell - R - Internal resistance of the fuel cell
- T
_{sur}- Temperature of the surroundings of the fuel cell - T
_{start}- Initial temperature of fuel cell - T
_{fc}- Temperature of fuel cell - T
_{high}- Temperature for high temp I-U curve - T
_{low}- Temperature for low temp I-U curve - U
_{oc}- Open circuit voltage for fuel cell (I=0.0) - U
_{fc}- Voltage over fuel cell - U
_{loss}- Heat loss coefficient for the fuel cell - U
_{low}- Maximal current for low temp I-U curve - U
_{high}- Maximal current for high temp I-U curve - U
_{temp}- Maximal voltage at the given temperature - U
_{tn}- Thermo-neutral voltage - ybz - Control function (0.0-1.0, where 0.0=off and 1.0=on)
- zs - number of cell in series

**Mathematical Description**

This subroutine models a fuel cell stack with a proton exchange membrane after /1/. The equation for the I-V curve for one specific temperature is for mode 1, 3, 4 and 5:

(mode 4: a and k is zero)

The current for the high and the low temperature curve is calculated from this equation. To find the current at the working temperature of the fuel cell, the current is calculated by linear interpolation:

Mode 2 models a fuel cell stack with a proton exchange membrane after /2/ and /3/. The equation for the I-V curve is:

where

\

The calculations are done by iterations. When the temperature of the fuel cell reaches maximum allowed temperature, heat has to be removed from the fuel cell to not exceed the maximal temperature. To do this, the efficiencies of the fuel cell has to be calculated:

Two main efficiencies are calculated, the electric efficiency and the total efficiency. The reason for calculating two efficiencies is that it is only the electric efficiency that will heat up the electrolyzer. The total efficiency also includes the loss of hydrogen which will not heat up the fuel cell (the electric efficiency and the total efficiency will be very close at normal or high production, but will differ at a very low production rate).

The new temperature of the fuel cell is based on the temperature from the last time step and is calculated from heat produced and energy lost to the environment.:

The heat loss factor and the heat capacity of the fuel cell should be an average of the whole fuel cell system that will be heated by the operation of the fuel cell.

The heat that has to be removed is:

The used mass of hydrogen is calculated by:

**TRNSYS Component Configuration**

__PARAMETER NUMBER__ __DESCRIPTION__

- 1: zs - number of cells in series
- 2: Ar - Area of each cell
- 3: V
_{0}- Minimal voltage for reaction to occur - 4: V
_{loss }- Heat loss coefficient of fuel cell - 5: T
_{sur}- Surrounding temperature - 6: T
_{start}- Initial temperature of fuel cell - 7: lud - Logical number of a data file
- 8: nfuel - Fuel cell number in data file

__INPUT NO.__ __DESCRIPTION __

- 1: mo
_{fc}- Mode for calculations - 0 = Current is calculated
- 1 = Voltage is calculated
- 2: V
_{fc}- Voltage over the fuel cell - or
- I
_{fc}- Current through the fuel cell - 3: y
_{fc}- Control function (Switch)

__OUTPUT NO.__ __DESCRIPTION __

- 1: V
_{fc}- Voltage over fuel cell - 2: I
_{fc}- Current through the fuel cell - 3: P
_{el}- Electric power from the fuel cell - 4: Z
_{fc }- Power efficiency (voltage efficiency) - 5: m
_{H2}- H2-mass flow to the fuel cell - 6: T
_{fc}- Temperature of the fuel cell - 7: q
_{rem}- Heat that has to be removed to prevent overheating of the fuel cell per time - 8: q - Total heat produced by the fuel cell per time
- 9: q
_{sur}- Heat loss to the surroundings per time - 10: q
_{heat}- Heat loss to heat up the fuel cell per time - 11: P
_{use0 }- Power consumption of fuel cell when not in use - 12: P
_{use1}- Power consumption of fuel cell when in use - 13: I
_{fcvmax }- Moximal current through the fuel cell (at operating temperature)

**Informational Flow Diagrams**

**Data file input**

The data for a fuel cell has to be given in a separate file.
The first line in this file will give the number of fuel cells
given in the file. The data for each different cell will have two
lines; the first line will give the number of the cell in the
file, the second line will give the data for the cell. There are
several different modes for the fuel cell, and each requires
different data. The data for the different modes** **can look
like this (the third line (P1-P23) should not be in the file, but
are included here to show what the data represents):

__Mode 1__

4,Fuel cell Tor

1 20 0.00019 0.045 0.1 0.0001 0.001 80 0.000103 0.03 0.1 0.0001 0.001 1.36 62500 80 62.5 344 1500 2500 0. 0.01 10

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23

- P1 = mode : Mode for data input =1
- P2 = LT : Temperature of Low-Temperature I-V-curve for fuel cell [C]
- P3 = Rlt : Resistance in the fuel cell at low temperature
times cell area [Ohm*m
^{2}] - P4 = blt : Parameter for migration in fuel cell at low temperature [V]
- P5 = clt : Parameter for migration in fuel cell at low
temperature [m
^{2}/A] - P6 = alt : Parameter for diffusion in fuel cell at low temperature [V]
- P7 = klt : Parameter for diffusion in fuel cell at low
temperature [m
^{2}/A] - P8 = HT : Temperature of High-Temperature I-V-curve for fuel cell [C]
- P9 = Rht : Resistance in the fuel cell at high
temperature times cell area [Ohm* m
^{2}] - P10 = bht : Parameter for migration in fuel cell at high temperature [V]
- P11 = cht : Parameter for migration in fuel cell at high
temperature per cell area [m
^{2}/A] - P12 = aht : Parameter diffusion in fuel cell at high temperature [V]
- P13 = kht : Parameter diffusion in fuel cell at high
temperature [m
^{2}/A] - P14 = Area : Area of the surface of the fuel cell
*per cell area and cell*[m^{2}/ m^{2}]. This number is sized by in the power of 2/3, so it assumes a cube formed fuel cell! - P15= Cmass : Heat capacity of fuel cell[J/K]
- P16= Thmax : Maximum operating temperature of fuel cell[C]
- P17= Puse0 : Power consumption of fuel cell when the fuel
cell is not used
*per cell area and cell*[W/ m^{2}] - P18= Puse1 : Power consumption of fuel cell when the fuel
cell is used
*per cell area and cell*[W/ m^{2}] - P19= Ifcmlt : Maximum allowed current at low temperature
*per cell area*[A/ m^{2}] - P20= Ifcmht : Maximum allowed current at high temperature
*per cell area*[A/ m^{2}] - P21= curloss : Loss of current in fuel cell (Current that
passes through the fuel cell without producing hydrogen)
*per cell area*[A/(V*m^{2})] - P22= hydloss : Loss of hydrogen over to the oxygen side in percent related to production at minimum allowed current
- P23= Ifcmin : Minimum allowed current
*per cell area*[A/m^{2}]

OUTPUT to the listing file will look like this:

- Parameter from file to fuel cell, unit 37:
- mode = 1
- lt = 2.0000E+01 Rlt = 1.9000E-04 blt = 4.5000E-02
- clt = 1.0000E-01 alt = 1.0000E-04 klt = 1.0000E-03
- ht = 8.0000E+01 Rht = 1.0300E-04 bht = 3.0000E-02
- cht = 1.0000E-01 aht = 1.0000E-04 kht = 1.0000E-03
- area = 1.3600E+00 cmass = 6.2500E+04 thmax = 8.0000E+01
- puse0 = 6.2500E+01 puse1 = 3.4400E+02 Ifcmlt = 1.5000E+03
- Ifcmht = 2.5000E+03 curloss= 0.0000E+00 hydloss= 1.0000E-02
- Ifcmin = 1.0000E+01

__Mode 2__

5,Fuel cell Odin

2 -0.9514 0.004109 7.4e-5 -0.000187 8.115e-5 -1.77e-7 2.045e-9 1 0.21 0.015 40000 80 0 0 6000 7000 0. 0.01 100

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20

- P1 = mode : Mode for data input =2
- P1 = e
_{1}: Parameter for activation voltage drop - P3 = e
_{2}: Parameter for activation voltage drop - P4 = e
_{3}: Parameter for activation voltage drop - P5 = e4 : Parameter for activation voltage drop
- P6 = g
_{1}: Parameter for resistance voltage drop - P7 = g
_{2}: Parameter for resistance voltage drop - P8 = g
_{3}: Parameter for resistance voltage drop - P9 = p
_{H2}: Partial pressure of H_{2}[atm] - P10 = p
_{O2}: Partial pressure of O_{2}[atm] - P11 = Area : Area of the surface of the fuel cell
*per cell area and cell*[m^{2}/ m^{2}]. This number is sized by in the power of 2/3, so it assumes a cube formed fuel cell! - P12= Cmass : Heat capacity of fuel cell[J/K]
- P13= Thmax : Maximum operating temperature of fuel cell[C]
- P14= Puse0 : Power consumption of fuel cell when the fuel
cell is not used
*per cell area and cell*[W/ m^{2}] - P15= Puse1 : Power consumption of fuel cell when the fuel
cell is used
*per cell area and cell*[W/ m^{2}] - P16= Ifcmlt : Maximum allowed current at low temperature
*per cell area*[A/ m^{2}] - P17= Ifcmht : Maximum allowed current at high temperature
*per cell area*[A/ m^{2}] - P18= curloss : Loss of current in fuel cell (Current that
passes through the fuel cell without producing hydrogen)
*per cell area*[A/(V*m^{2})] - P19= hydloss : Loss of hydrogen over to the oxygen side in percent related to production at minimum allowed current
- P20= Ifcmin : Minimum allowed current
*per cell area*[A/m^{2}]

OUTPUT to the listing file will look like this:

- Parameter from file to fuel cell, unit 37:
- mode = 2
- eps1 = -9.5140E-01 eps2 = 4.1090E-03 eps3 = 7.4000E-05
- eps4 = -1.8700E-04 gam1 = 8.1150E-05 gam2 = -1.7700E-07
- gam3 = 2.0450E-09 pH2 = 1.0000E+00 pO2 = 2.1000E-01
- area = 1.5000E-02 cmass = 4.0000E+04 thmax = 8.0000E+01
- puse0 = 0.0000E+00 puse1 = 0.0000E+00 Ifcmlt = 6.0000E+03
- Ifcmht = 7.0000E+03 curloss= 0.0000E+00 hydloss= 1.0000E-02
- Ifcmin = 1.0000E+02

__Mode 3__

2,Fuel cell Gudrun

3 20 1000 0.787 3000 0.428 80 2000 0.776 5000 0.490 0.015 40000 80 0 0 3000 5000 0. 0.01 100

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21

- P1 = mode : Mode for data input =3
- P2 = LT : Temperature of Low-Temperature I-V-curve for fuel cell [C]
- P3 = I1 : Current density for first point of low
temperature curve [A/m
^{2}] - P4 = V1 : Voltage at low temperature and current=I1 [V]
- P5 = I2 : Current density for maximum power point of low
temperature curve [A/m
^{2}] - P6 = V2 : Voltage at maximum power point at low temperature [V]
- P7 = HT : Temperature of High-Temperature I-V-curve for fuel cell [C]
- P8 = I3 : Current density for first point of high
temperature curve [A/m
^{2}] - P9 = V3 : Voltage at high temperature and current=I3 [V]
- P10 = I4 : Current density for maximum power point of
high temperature curve [A/m
^{2}] - P11 = V4 : Voltage at maximum power point at high temperature [V]
- P12 = Area : Area of the surface of the fuel cell
*per cell area and cell*[m^{2}/ m^{2}]. This number is sized by in the power of 2/3, so it assumes a cube formed fuel cell! - P13= Cmass : Heat capacity of fuel cell [J/K]
- P14= Thmax : Maximum operating temperature of fuel cell[C]
- P15= Puse0 : Power consumption of fuel cell when the fuel
cell is not used
*per cell area and cell*[W/ m^{2}] - P16= Puse1 : Power consumption of fuel cell when the fuel
cell is used
*per cell area and cell*[W/ m^{2}] - P17= Ifcmlt : Maximum allowed current at low temperature
*per cell area*[A/ m^{2}] - P18= Ifcmht : Maximum allowed current at high temperature
*per cell area*[A/ m^{2}] - P19= curloss : Loss of current in fuel cell (Current that
passes through the fuel cell without producing hydrogen)
*per cell area*[A/(V*m^{2})] - P20= hydloss : Loss of hydrogen over to the oxygen side in percent related to production at minimum allowed current
- P21= Ifcmin : Minimum allowed current
*per cell area*[A/m^{2}]

OUTPUT to the listing file will look like this:

- Parameter from file to fuel cell, unit 37:
- mode = 3
- Temp1 = 2.0000E+01 I1 = 1.0000E+03 V1 = 7.8700E-01
- I2 = 3.0000E+03 V2 = 4.2800E-01 Temp2 = 8.0000E+01
- I3 = 2.0000E+03 V3 = 7.7600E-01 I4 = 5.0000E+03
- V4 = 4.9000E-01 area = 1.5000E-02 cmass = 4.0000E+04
- thmax = 8.0000E+01 puse0 = 0.0000E+00 puse1 = 0.0000E+00
- Ifcmlt = 3.0000E+03 Ifcmht = 5.0000E+03 curloss= 0.0000E+00
- hydloss= 1.0000E-02 Ifcmin = 1.0000E+02
- Parameter calculated from the given I-V points for the equation:
- T[C],I[A/m2],V[V]
- V=V0-(b0+b1*T)*log(I+1)-(r0+r1*T)*I-(a0+a1*T)*(exp((k0+k1*T)*I)-1)
- b0= 4.5496E-02 r0= 1.8057E-04 a0= -5.9018E-07 k0= -5.2677E-04
- b1= -1.7764E-04 r1= -1.2046E-06 a1= 2.9509E-08 k1= 2.6339E-05

__Mode 4__

3,Fuel cell Froy

4 20 1750 0.68 80 1750 0.68 0.015 40000 80 0 0 6000 7000 0. 0.01 100

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 P16 P17

- P1 = mode : Mode for data input =3
- P2 = LT : Temperature of Low-Temperature I-V-curve for fuel cell [C]
- P3 = I1 : Current density for maximum power point of low
temperature curve [A/m
^{2}] - P4 = V1 : Voltage at maximum power point at low temperature [V]
- P5 = HT : Temperature of High-Temperature I-V-curve for fuel cell [C]
- P6 = I2 : Current density for maximum power point of high
temperature curve [A/m
^{2}] - P7 = V2 : Voltage at maximum power point at high temperature [V]
- P8 = Area : Area of the surface of the fuel cell
*per cell area and cell*[m^{2}/ m^{2}]. This number is sized by in the power of 2/3, so it assumes a cube formed fuel cell! - P9= Cmass : Heat capacity of fuel cell [J/K]
- P10= Thmax : Maximum operating temperature of fuel cell[C]
- P11= Puse0 : Power consumption of fuel cell when the fuel
cell is not used
*per cell area and cell*[W/ m^{2}] - P12= Puse1 : Power consumption of fuel cell when the fuel
cell is used
*per cell area and cell*[W/ m^{2}] - P13= Ifcmlt : Maximum allowed current at low temperature
*per cell area*[A/ m^{2}] - P14= Ifcmht : Maximum allowed current at high temperature
*per cell area*[A/ m^{2}] - P15= curloss : Loss of current in fuel cell (Current that
passes through the fuel cell without producing hydrogen)
*per cell area*[A/(V*m^{2})] - P16= hydloss : Loss of hydrogen over to the oxygen side in percent related to production at minimum allowed current
- P17= Ifcmin : Minimum allowed current
*per cell area*[A/m^{2}]

OUTPUT to the listing file will look like this:

- Parameter from file to fuel cell, unit 37:
- mode = 4
- Temp1 = 2.0000E+01 I1 = 1.7500E+03 V1 = 6.8000E-01
- Temp2 = 8.0000E+01 I2 = 1.7500E+03 V2 = 6.8000E-01
- area = 1.5000E-02 cmass = 4.0000E+04 thmax = 8.0000E+01
- puse0 = 0.0000E+00 puse1 = 0.0000E+00 Ifcmlt = 6.0000E+03
- Ifcmht = 7.0000E+03 curloss= 0.0000E+00 hydloss= 1.0000E-02
- Ifcmin = 1.0000E+02
- Parameter calculated from the given I-V points for the equation:
- T[C],I[A/m2],V[V]
- V=V0-(b0+b1*T)*log(I+1)-(r0+r1*T)*I
- b0= -1.6967E-02 b1= -1.3141E-04 r0= 3.9826E-04 r1= 7.5046E-08

__Mode 5__

4, Fuel cell Balder

5 80 2000 0.74 6000 0.52 8700 0 80 2000 0.74 6000 0.52 8700 0 0.015 40000 80 0 0 6000 7000 0. 0.01 100

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P1 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24 P25

- P1 = mode : Mode for data input =3
- P2 = LT : Temperature of Low-Temperature I-V-curve for fuel cell [C]
- P3 = I1 : Current density for first point of low
temperature curve [A/m
^{2}] - P4 = V1 : Voltage at low temperature and current=I1 [V]
- P5 = I2 : Current density for maximum power point of low
temperature curve [A/m
^{2}] - P6 = V2 : Voltage at maximum power point at low temperature [V]
- P7 = I3 : Current density for current beyond maximum
power point of low temperature curve [A/m
^{2}] - P8 = V3 : Voltage at low temperature and current=I3 [V]
- P9 = HT : Temperature of High-Temperature I-V-curve for fuel cell [C]
- P10 = I4 : Current density for first point of high
temperature curve [A/m
^{2}] - P11= V4 : Voltage at high temperature and current=I4 [V]
- P12 = I5 : Current density for maximum power point of
high temperature curve [A/m
^{2}] - P13 = V5 : Voltage at maximum power point at high temperature [V]
- P14= I6 : Current density for current beyond maximum
power point of high temperature curve [A/m
^{2}] - P15= V6 : Voltage at high temperature and current=I6 [V]
- P16 = Area : Area of the surface of the fuel cell
*per cell area and cell*[m^{2}/ m^{2}]. This number is sized by in the power of 2/3, so it assumes a cube formed fuel cell! - P17= Cmass : Heat capacity of fuel cell [J/K]
- P18= Thmax : Maximum operating temperature of fuel cell[C]
- P19= Puse0 : Power consumption of fuel cell when the fuel
cell is not used
*per cell area and cell*[W/ m^{2}] - P20= Puse1 : Power consumption of fuel cell when the fuel
cell is used
*per cell area and cell*[W/ m^{2}] - P21= Ifcmlt : Maximum allowed current at low temperature
*per cell area*[A/ m^{2}] - P22= Ifcmht : Maximum allowed current at high temperature
*per cell area*[A/ m^{2}] - P23= curloss : Loss of current in fuel cell (Current that
passes through the fuel cell without producing hydrogen)
*per cell area*[A/(V*m^{2})] - P24= hydloss : Loss of hydrogen over to the oxygen side in percent related to production at minimum allowed current
- P25= Ifcmin : Minimum allowed current
*per cell area*[A/m^{2}]

OUTPUT to the listing file will look like this:

- Parameter from file to fuel cell, unit 37:
- mode = 5
- Temp1 = 8.0000E+01 I1 = 2.0000E+03 V1 = 7.4000E-01
- I2 = 6.0000E+03 V2 = 5.2000E-01 I3 = 8.7000E+03
- V3 = 0.0000E+00 Temp2 = 8.0000E+01 I4 = 2.0000E+03
- V4 = 7.4000E-01 I5 = 6.0000E+03 V5 = 5.2000E-01
- I6 = 8.7000E+03 V6 = 0.0000E+00 area = 1.5000E-02
- cmass = 4.0000E+04 thmax = 8.0000E+01 puse0 = 0.0000E+00
- puse1 = 0.0000E+00 Ifcmlt = 6.0000E+03 Ifcmht = 7.0000E+03
- curloss= 0.0000E+00 hydloss= 1.0000E-02 Ifcmin = 1.0000E+02
- Parameter calculated from the given I-V points for the equation:
- T[C],I[A/m2],V[V]
- V=V0-(b0+b1*T)*log(I+1)-(r0+r1*T)*I-(a0+a1*T)*(exp((k0+k1*T)*I)-1)
- b0= 5.2016E-02 r0= 2.1461E-05 a0= 1.3339E-03 k0= 6.8703E-04
- b1= 0.0000E+00 r1= 0.0000E+00 a1= 0.0000E+00 k1= 0.0000E+00

**References**

/1/ Chamberlin, C.E., Lehman, P.A., Reid, R.M. Herron, T.G.
Preliminary results of the Schatz fuel cell project. In: Hydrogen
Energy progress X, Proceedings of the 10^{th} world
hydrogen energy conference, editors D.L.Block aand T.N.
Veziroglu, 1994.

/2/ Amplett, J.C., R.M. Baumert, R.F. Mann, B.A.Peppley, P.R. Roberge and T.J. Harris. Performance Modeling of the Ballard MarkIV Solid Polymer Electrolyte Fuel Cell, I. Mechanistic Model development. In: J. Electrochem. Soc. Vol. 142, No.1 pp1-8, 1995.

/3/ Amplett, J.C., R.M. Baumert, R.F. Mann, B.A.Peppley, P.R. Roberge and T.J. Harris. Performance Modeling of the Ballard MarkIV Solid Polymer Electrolyte Fuel Cell, II. Empirical Model development. In: J. Electrochem. Soc. Vol. 142, No.1 pp9-15, 1995.