{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chamberline-KimStatic Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Version 0.7" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

\n", "Chamberlin-Kim static model is an empirical equation which was developed to fit the experimental cell potential (E) vs. current density (J) data for proton exchange membrane fuel cells (PEMFCs), at several temperatures, pressures, and oxygen compositions in the cathode gas mixture. The exponential term compensates for the mass-transport regions of the V vs. i plot; i.e., the increase in slope of the pseudolinear region and the subsequent rapid fall-off of the cell potential with increasing current density. The terms E0 and b yield the electrode kinetic parameters for oxygen reduction in the PEMFC and R represents the resistance, predominantly ohmic and, to a small extent, the charge transfer resistance of the electro-oxidation of hydrogen. The exponential term characterizes the mass-transport region of the V vs. i plot. The parameter n has more pronounced effects than the parameter m in this region. In Chamberline Kim’s model, the values of the parameters(five parameters: E0, b, R, m, n) vary depending on many variables, including the composition of the Membrane Electrode Assemblies(MEA), the fuel and oxidant used, besides the local temperature, pressure, and humidity of the MEA. They also depend on the stack itself, so that it can not be transposed to another fuel cell without new parameter identification.\n", "

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", " \n", " \n", "

Fig1. Graphical Abstract of Static Models

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Vcell\n", "\n", "$$V_{cell}=E_0-b\\times ln(J)-(R\\times J)-m\\times exp(nJ)$$\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$J=\\frac{i}{A}$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.244827379954939" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from opem.Static.Chamberline_Kim import *\n", "Vcell=Vcell_Calc(E0=0.982,b=0.0689,R=0.328,m=0.000125,n=9.45,i=1,A=50.0)\n", "Vcell" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Notice : from opem.Chamberline_Kim in version (0.3>)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### VStack" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$V_{Stack}=N\\times V_{cell}$$" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.244827379954939" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "VStack=VStack_Calc(Vcell=Vcell,N=1)\n", "VStack" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Power Of PEMFC" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$P=V_{cell}\\times i$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$P_{Stack}=N\\times P$$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.489654759909878" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Power=Power_Calc(Vcell=Vcell,i=2)\n", "Power" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4.979309519819756" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PowerStack_Calc(Power=Power,N=2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Efficiency of PEMFC" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\eta=\\frac{\\mu_F\\times V_{cell}}{HHV}$$" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.797966269201884" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Efficiency_Calc(Vcell=Vcell)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Full Run" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Run from `i`=0 to `i`=4 with `step`=0.1" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": true }, "outputs": [], "source": [ "Test_Vector={\"A\":50.0,\"E0\":0.982,\"b\":0.0689,\"R\":0.328,\"m\":0.000125,\"n\":9.45,\"N\":1,\"i-start\":1,\"i-stop\":4,\"i-step\":0.1,\"Name\":\"Test\"}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Notice : \"Name\", new in version 0.5" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'I': [1,\n", " 1.1,\n", " 1.2,\n", " 1.3,\n", " 1.4,\n", " 1.5,\n", " 1.6,\n", " 1.7,\n", " 1.8,\n", " 1.9,\n", " 2.0,\n", " 2.1,\n", " 2.2,\n", " 2.3,\n", " 2.4,\n", " 2.5,\n", " 2.6,\n", " 2.7,\n", " 2.8,\n", " 2.9,\n", " 3.0,\n", " 3.1,\n", " 3.2,\n", " 3.3,\n", " 3.4,\n", " 3.5,\n", " 3.6,\n", " 3.7,\n", " 3.8,\n", " 3.9],\n", " 'P': [1.244827379954939,\n", " 1.3613617901715511,\n", " 1.4771371289340156,\n", " 1.5922057745841485,\n", " 1.706612017960278,\n", " 1.820393802022961,\n", " 1.933583995558465,\n", " 2.0462113472500323,\n", " 2.158301214515197,\n", " 2.2698761299021477,\n", " 2.380956247931119,\n", " 2.491559702356007,\n", " 2.601702895230229,\n", " 2.7114007333123014,\n", " 2.820666823283489,\n", " 2.929513634375034,\n", " 3.0379526349346824,\n", " 3.145994407952373,\n", " 3.2536487494474096,\n", " 3.360924752781809,\n", " 3.4678308813294754,\n", " 3.5743750314441862,\n", " 3.6805645872928157,\n", " 3.786406468826155,\n", " 3.891907173928067,\n", " 3.9970728155998123,\n", " 4.101909154889422,\n", " 4.206421630157481,\n", " 4.310615383174736,\n", " 4.414495282468661],\n", " 'V': [1.244827379954939,\n", " 1.2376016274286827,\n", " 1.230947607445013,\n", " 1.2247736727570373,\n", " 1.2190085842573415,\n", " 1.2135958680153074,\n", " 1.2084899972240406,\n", " 1.2036537336764896,\n", " 1.1990562302862204,\n", " 1.1946716473169199,\n", " 1.1904781239655595,\n", " 1.1864570011219082,\n", " 1.1825922251046495,\n", " 1.1788698840488268,\n", " 1.1752778430347872,\n", " 1.1718054537500135,\n", " 1.168443321128724,\n", " 1.1651831140564344,\n", " 1.162017410516932,\n", " 1.1589395699247618,\n", " 1.1559436271098251,\n", " 1.153024203691673,\n", " 1.1501764335290048,\n", " 1.1473958996442895,\n", " 1.1446785805670785,\n", " 1.1420208044570892,\n", " 1.1394192096915061,\n", " 1.136870710853373,\n", " 1.1343724692565096,\n", " 1.1319218672996567]}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Static_Analysis(InputMethod=Test_Vector,TestMode=True,PrintMode=False,ReportMode=True)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "###########\n", "Chamberline-Kim-Model Simulation\n", "###########\n", "Analyzing . . .\n", "I : 1\n", "PEM Efficiency : 0.797966269201884 \n", "Power : 1.244827379954939 W\n", "Power-Stack : 1.244827379954939 W\n", "VStack : 1.244827379954939 V\n", "Vcell : 1.244827379954939 V\n", "###########\n", "I : 1.1\n", "PEM Efficiency : 0.7933343765568479 \n", "Power : 1.3613617901715511 W\n", "Power-Stack : 1.3613617901715511 W\n", "VStack : 1.2376016274286827 V\n", "Vcell : 1.2376016274286827 V\n", "###########\n", "I : 1.2\n", "PEM Efficiency : 0.7890689791314186 \n", "Power : 1.4771371289340156 W\n", "Power-Stack : 1.4771371289340156 W\n", "VStack : 1.230947607445013 V\n", "Vcell : 1.230947607445013 V\n", "###########\n", "I : 1.3\n", "PEM Efficiency : 0.7851113286904084 \n", "Power : 1.5922057745841485 W\n", "Power-Stack : 1.5922057745841485 W\n", "VStack : 1.2247736727570373 V\n", "Vcell : 1.2247736727570373 V\n", "###########\n", "I : 1.4\n", "PEM Efficiency : 0.7814157591393215 \n", "Power : 1.706612017960278 W\n", "Power-Stack : 1.706612017960278 W\n", "VStack : 1.2190085842573415 V\n", "Vcell : 1.2190085842573415 V\n", "###########\n", "I : 1.5\n", "PEM Efficiency : 0.7779460692405816 \n", "Power : 1.820393802022961 W\n", "Power-Stack : 1.820393802022961 W\n", "VStack : 1.2135958680153074 V\n", "Vcell : 1.2135958680153074 V\n", "###########\n", "I : 1.6\n", "PEM Efficiency : 0.7746730751436158 \n", "Power : 1.933583995558465 W\n", "Power-Stack : 1.933583995558465 W\n", "VStack : 1.2084899972240406 V\n", "Vcell : 1.2084899972240406 V\n", "###########\n", "I : 1.7\n", "PEM Efficiency : 0.771572906202878 \n", "Power : 2.0462113472500323 W\n", "Power-Stack : 2.0462113472500323 W\n", "VStack : 1.2036537336764896 V\n", "Vcell : 1.2036537336764896 V\n", "###########\n", "I : 1.8\n", "PEM Efficiency : 0.7686257886450131 \n", "Power : 2.158301214515197 W\n", "Power-Stack : 2.158301214515197 W\n", "VStack : 1.1990562302862204 V\n", "Vcell : 1.1990562302862204 V\n", "###########\n", "I : 1.9\n", "PEM Efficiency : 0.7658151585364871 \n", "Power : 2.2698761299021477 W\n", "Power-Stack : 2.2698761299021477 W\n", "VStack : 1.1946716473169199 V\n", "Vcell : 1.1946716473169199 V\n", "###########\n", "I : 2.0\n", "PEM Efficiency : 0.7631270025420254 \n", "Power : 2.380956247931119 W\n", "Power-Stack : 2.380956247931119 W\n", "VStack : 1.1904781239655595 V\n", "Vcell : 1.1904781239655595 V\n", "###########\n", "I : 2.1\n", "PEM Efficiency : 0.7605493596935309 \n", "Power : 2.491559702356007 W\n", "Power-Stack : 2.491559702356007 W\n", "VStack : 1.1864570011219082 V\n", "Vcell : 1.1864570011219082 V\n", "###########\n", "I : 2.2\n", "PEM Efficiency : 0.7580719391696471 \n", "Power : 2.601702895230229 W\n", "Power-Stack : 2.601702895230229 W\n", "VStack : 1.1825922251046495 V\n", "Vcell : 1.1825922251046495 V\n", "###########\n", "I : 2.3\n", "PEM Efficiency : 0.7556858231082223 \n", "Power : 2.7114007333123014 W\n", "Power-Stack : 2.7114007333123014 W\n", "VStack : 1.1788698840488268 V\n", "Vcell : 1.1788698840488268 V\n", "###########\n", "I : 2.4\n", "PEM Efficiency : 0.753383232714607 \n", "Power : 2.820666823283489 W\n", "Power-Stack : 2.820666823283489 W\n", "VStack : 1.1752778430347872 V\n", "Vcell : 1.1752778430347872 V\n", "###########\n", "I : 2.5\n", "PEM Efficiency : 0.7511573421474446 \n", "Power : 2.929513634375034 W\n", "Power-Stack : 2.929513634375034 W\n", "VStack : 1.1718054537500135 V\n", "Vcell : 1.1718054537500135 V\n", "###########\n", "I : 2.6\n", "PEM Efficiency : 0.7490021289286691 \n", "Power : 3.0379526349346824 W\n", "Power-Stack : 3.0379526349346824 W\n", "VStack : 1.168443321128724 V\n", "Vcell : 1.168443321128724 V\n", "###########\n", "I : 2.7\n", "PEM Efficiency : 0.7469122526002784 \n", "Power : 3.145994407952373 W\n", "Power-Stack : 3.145994407952373 W\n", "VStack : 1.1651831140564344 V\n", "Vcell : 1.1651831140564344 V\n", "###########\n", "I : 2.8\n", "PEM Efficiency : 0.7448829554595718 \n", "Power : 3.2536487494474096 W\n", "Power-Stack : 3.2536487494474096 W\n", "VStack : 1.162017410516932 V\n", "Vcell : 1.162017410516932 V\n", "###########\n", "I : 2.9\n", "PEM Efficiency : 0.7429099807210011 \n", "Power : 3.360924752781809 W\n", "Power-Stack : 3.360924752781809 W\n", "VStack : 1.1589395699247618 V\n", "Vcell : 1.1589395699247618 V\n", "###########\n", "I : 3.0\n", "PEM Efficiency : 0.7409895045575802 \n", "Power : 3.4678308813294754 W\n", "Power-Stack : 3.4678308813294754 W\n", "VStack : 1.1559436271098251 V\n", "Vcell : 1.1559436271098251 V\n", "###########\n", "I : 3.1\n", "PEM Efficiency : 0.7391180792895339 \n", "Power : 3.5743750314441862 W\n", "Power-Stack : 3.5743750314441862 W\n", "VStack : 1.153024203691673 V\n", "Vcell : 1.153024203691673 V\n", "###########\n", "I : 3.2\n", "PEM Efficiency : 0.7372925855955158 \n", "Power : 3.6805645872928157 W\n", "Power-Stack : 3.6805645872928157 W\n", "VStack : 1.1501764335290048 V\n", "Vcell : 1.1501764335290048 V\n", "###########\n", "I : 3.3\n", "PEM Efficiency : 0.7355101920796727 \n", "Power : 3.786406468826155 W\n", "Power-Stack : 3.786406468826155 W\n", "VStack : 1.1473958996442895 V\n", "Vcell : 1.1473958996442895 V\n", "###########\n", "I : 3.4\n", "PEM Efficiency : 0.7337683208763324 \n", "Power : 3.891907173928067 W\n", "Power-Stack : 3.891907173928067 W\n", "VStack : 1.1446785805670785 V\n", "Vcell : 1.1446785805670785 V\n", "###########\n", "I : 3.5\n", "PEM Efficiency : 0.7320646182417239 \n", "Power : 3.9970728155998123 W\n", "Power-Stack : 3.9970728155998123 W\n", "VStack : 1.1420208044570892 V\n", "Vcell : 1.1420208044570892 V\n", "###########\n", "I : 3.6\n", "PEM Efficiency : 0.7303969292894269 \n", "Power : 4.101909154889422 W\n", "Power-Stack : 4.101909154889422 W\n", "VStack : 1.1394192096915061 V\n", "Vcell : 1.1394192096915061 V\n", "###########\n", "I : 3.7\n", "PEM Efficiency : 0.7287632761880597 \n", "Power : 4.206421630157481 W\n", "Power-Stack : 4.206421630157481 W\n", "VStack : 1.136870710853373 V\n", "Vcell : 1.136870710853373 V\n", "###########\n", "I : 3.8\n", "PEM Efficiency : 0.7271618392669932 \n", "Power : 4.310615383174736 W\n", "Power-Stack : 4.310615383174736 W\n", "VStack : 1.1343724692565096 V\n", "Vcell : 1.1343724692565096 V\n", "###########\n", "I : 3.9\n", "PEM Efficiency : 0.7255909405767029 \n", "Power : 4.414495282468661 W\n", "Power-Stack : 4.414495282468661 W\n", "VStack : 1.1319218672996567 V\n", "Vcell : 1.1319218672996567 V\n", "###########\n", "Done!\n" ] } ], "source": [ "Data=Static_Analysis(InputMethod=Test_Vector,TestMode=True,PrintMode=True,ReportMode=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* Notice : \"PrintMode\" & \"ReportMode\" , new in version 0.5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Inputs, Constants & Middle Values\n", "1. User : User Input\n", "2. System : Simulator Calculation (Middle Value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
$$Parameter$$$$Description$$$$Unit$$$$Value$$
$$E_0$$Open circuit voltage$$V$$$$User$$
$$b$$Tafel’s parameter for the oxygen reduction$$V$$$$User$$
$$R$$Resistance$$\\Omega cm^2$$$$User$$
$$m$$Diffusion’s parameters $$V$$$$User$$
$$n$$Diffusion’s parameters $$A^{-1}cm^2$$$$User$$
$$A$$Active area$$cm^2$$$$User$$
$$N$$Number of single cells$$--$$$$User$$
$$i_{start}$$Cell operating current start point$$A$$$$User$$
$$i_{step}$$Cell operating current step$$A$$$$User$$
$$i_{stop}$$Cell operating current end point$$A$$$$User$$
$$J$$Actual current density of the cell $$Acm^{-2}$$$$System$$
$$\\mu_F$$The fuel utilization$$--$$$$0.95$$
$$HHV$$Higher Heating Value Potential$$V$$$$1.482$$
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reference\n", "
\n", "Junbom Kim, Seong-Min Lee, Supramaniam Srinivasan, Charles E. Chamberlin. 1995. \"Modeling of Proton Exchange Membrane Fuel Cell Performance with an Empirical Equation.\" Journal of The Electrochemical Society (The Electrochemical Society) 142 (8): 2670-2674. doi:10.1149/1.2050072.\n", "
" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }