Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Open Source PEM Cell Simulation Tool

Project description


Table of contents

Overview

Modeling and simulation of proton-exchange membrane fuel cells (PEMFC) may work as a powerful tool in the Research & development of renewable energy sources. The Open-Source PEMFC Simulation Tool (OPEM) is a modeling tool for evaluating the performance of proton exchange membrane fuel cells. This package is a combination of models (static/dynamic) that predict the optimum operating parameters of PEMFC. OPEM contained generic models that will accept as input, not only values of the operating variables such as anode and cathode feed gas, pressure and compositions, cell temperature and current density, but also cell parameters including the active area and membrane thickness. In addition, some of the different models of PEMFC that have been proposed in the OPEM, just focus on one particular FC stack, and some others take into account a part or all auxiliaries such as reformers. OPEM is a platform for collaborative development of PEMFC models.

Fig1. OPEM Block Diagram

Usage

CLI (Command Line Interface)

  • Open CMD (Windows) or Terminal (UNIX)

  • Run python -m opem or python3 -m opem (or run OPEM.exe)

  • Enter PEM cell parameters (or run standard test vectors)

    1. Amphlett Static Model

      <html>
      Input Description Unit
      T Cell Operation Temperature K
      PH2 Partial Pressure atm
      PO2 Partial Pressure atm
      i-start Cell operating current start point A
      i-step Cell operating current step A
      i-stop Cell operating current end point A
      A Active area cm^2
      l Membrane Thickness cm
      lambda is an adjustable parameter with a min value of 14 and max value of 23 --
      R(*Optional) R-Electronic ohm
      B An empirical constant depending on the cell and its operation state (Tafel Slope) V
      JMax Maximum current density A/(cm^2)
      N Number Of Single Cells --
      </html> * For more information about this model visit here
    2. Larminie-Dicks Static Model

      <html>
      Input Description Unit
      E0 Fuel Cell reversible no loss voltage V
      A The slope of the Tafel line V
      B Constant in the mass transfer term V
      i-start Cell operating current start point A
      i-step Cell operating current step A
      i-stop Cell operating current end point A
      i_n Internal current A
      i_0 Exchange current at which the overvoltage begins to move from zero A
      i_L Limiting current A
      RM The membrane and contact resistances ohm
      N Number Of Single Cells --
      </html> * For more information about this model visit here
    3. Chamberline-Kim Static Model

      <html>
      Input Description Unit
      E0 Open circuit voltage V
      b Tafel's parameter for the oxygen reduction V
      R Resistance ohm.cm^2
      i-start Cell operating current start point A
      i-step Cell operating current step A
      i-stop Cell operating current end point A
      A Active area cm^2
      m Diffusion's parameters V
      n Diffusion's parameters (A^-1)(cm^2)
      N Number Of Single Cells --
      </html> * For more information about this model visit here
    4. Padulles Dynamic Model I

      <html>
      Input Description Unit
      E0 No load voltage V
      T FuelCell temperature K
      KH2 Hydrogen valve constant kmol.s^(-1).atm^(-1)
      KO2 Oxygen valve constant kmol.s^(-1).atm^(-1)
      tH2 Hydrogen time constant s
      tO2 Oxygen time constant s
      B Activation voltage constant V
      C Activation constant parameter A^(-1)
      Rint FuelCell internal resistance ohm
      rho Hydrogen-oxygen flow ratio --
      qH2 Molar flow of hydrogen kmol/s
      N0 Number of cells --
      i-start Cell operating current start point A
      i-step Cell operating current step A
      i-stop Cell operating current end point A
      </html> * For more information about this model visit here
    5. Padulles Dynamic Model II

      <html>
      Input Description Unit
      E0 No load voltage V
      T FuelCell temperature K
      KH2 Hydrogen valve constant kmol.s^(-1).atm^(-1)
      KH2O Water valve constant kmol.s^(-1).atm^(-1)
      KO2 Oxygen valve constant kmol.s^(-1).atm^(-1)
      tH2 Hydrogen time constant s
      tH2O Water time constant s
      tO2 Oxygen time constant s
      B Activation voltage constant V
      C Activation constant parameter A^(-1)
      Rint FuelCell internal resistance ohm
      rho Hydrogen-oxygen flow ratio --
      qH2 Molar flow of hydrogen kmol/s
      N0 Number of cells --
      i-start Cell operating current start point A
      i-step Cell operating current step A
      i-stop Cell operating current end point A
      </html> * For more information about this model visit here
    6. Padulles-Hauer Dynamic Model

      <html>
      Input Description Unit
      E0 No load voltage V
      T FuelCell temperature K
      KH2 Hydrogen valve constant kmol.s^(-1).atm^(-1)
      KH2O Water valve constant kmol.s^(-1).atm^(-1)
      KO2 Oxygen valve constant kmol.s^(-1).atm^(-1)
      tH2 Hydrogen time constant s
      tH2O Water time constant s
      tO2 Oxygen time constant s
      t1 Reformer time constant s
      t2 Reformer time constant s
      B Activation voltage constant V
      C Activation constant parameter A^(-1)
      CV Conversion factor --
      Rint FuelCell internal resistance ohm
      rho Hydrogen-oxygen flow ratio --
      qMethanol Molar flow of methanol kmol/s
      N0 Number of cells --
      i-start Cell operating current start point A
      i-step Cell operating current step A
      i-stop Cell operating current end point A
      </html> * For more information about this model visit here
    7. Padulles-Amphlett Dynamic Model

      <html>
      Input Description Unit
      E0 No load voltage V
      T FuelCell temperature K
      KH2 Hydrogen valve constant kmol.s^(-1).atm^(-1)
      KH2O Water valve constant kmol.s^(-1).atm^(-1)
      KO2 Oxygen valve constant kmol.s^(-1).atm^(-1)
      tH2 Hydrogen time constant s
      tH2O Water time constant s
      tO2 Oxygen time constant s
      t1 Reformer time constant s
      t2 Reformer time constant s
      A Active area cm^2
      l Membrane Thickness cm
      lambda is an adjustable parameter with a min value of 14 and max value of 23 --
      R(*Optional) R-Electronic ohm
      B An empirical constant depending on the cell and its operation state (Tafel Slope) V
      JMax Maximum current density A/(cm^2)
      CV Conversion factor --
      rho Hydrogen-oxygen flow ratio --
      qMethanol Molar flow of methanol kmol/s
      N0 Number of cells --
      i-start Cell operating current start point A
      i-step Cell operating current step A
      i-stop Cell operating current end point A
      </html> * For more information about this model visit here
  • Find Your Reports In Model_Name Folder

Screen Record

Issues & Bug Reports

Just fill an issue and describe it. We'll check it ASAP! or send an email to opem@ecsim.ir.

Gitter is another option :

Gitter

Todo

  • [x] Static Analysis
    • [x] Amphlett Static Model
      • [x] Nernst Voltage
      • [x] PEMFC losses model
      • [x] Power of PEMFC
      • [x] Efficiency of PEMFC
    • [x] Larminie-Dicks Static Model
      • [x] PEMFC losses model
      • [x] Power of PEMFC
      • [x] Efficiency of PEMFC
    • [x] Chamberline-Kim Static Model
      • [x] PEMFC losses model
      • [x] Power of PEMFC
      • [x] Efficiency of PEMFC
  • [x] Flat Output
    • [x] Simulation Result
    • [X] CSV File
    • [x] HTML
  • [ ] GUI
    • [ ] Plot Graphs
    • [ ] Input/Output
  • [x] Dynamic Analysis
    • [x] Padulles Dynamic Model I
      • [x] Nernst Voltage
      • [x] Voltage of PEMFC
      • [x] Power of PEMFC
      • [x] Efficiency of PEMFC
    • [x] Padulles Dynamic Model II
      • [x] Nernst Voltage
      • [x] Voltage of PEMFC
      • [x] Power of PEMFC
      • [x] Efficiency of PEMFC
    • [x] Padulles-Hauer Dynamic Model
      • [x] Nernst Voltage
      • [x] Voltage of PEMFC
      • [x] Power of PEMFC
      • [x] Efficiency of PEMFC
    • [x] Padulles-Amphlett Dynamic Model
      • [x] Nernst Voltage
      • [x] Voltage of PEMFC
      • [x] Power of PEMFC
      • [x] Efficiency of PEMFC

Outputs

  1. HTML
  2. CSV
  3. OPEM

Dependencies

Requirements Status

Thanks

Reference

1- J. C. Amphlett, R. M. Baumert, R. F. Mann, B. A. Peppley, and P. R. Roberge. 1995. "Performance Modeling of the Ballard Mark IV Solid Polymer Electrolyte Fuel Cell." J. Electrochem. Soc. (The Electrochemical Society, Inc.) 142 (1): 9-15. doi: 10.1149/1.2043959.
2- Jeferson M. Correa, Felix A. Farret, Vladimir A. Popov, Marcelo G. Simoes. 2005. "Sensitivity Analysis of the Modeling Parameters Used in Simulation of Proton Exchange Membrane Fuel Cells." IEEE Transactions on Energy Conversion (IEEE) 20 (1): 211-218. doi:10.1109/TEC.2004.842382.
3- 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.
4- I. Sadli, P. Thounthong, J.-P. Martin, S. Rael, B. Davat. 2006. "Behaviour of a PEMFC supplying a low voltage static converter." Journal of Power Sources (Elsevier) 156: 119–125. doi:10.1016/j.jpowsour.2005.08.021.
5- J. Padulles, G.W. Ault, J.R. McDonald. 2000. "An integrated SOFC plant dynamic model for power systems simulation." Journal of Power Sources (Elsevier) 86 (1-2): 495-500. doi:10.1016/S0378-7753(99)00430-9.
6- Hauer, K.-H. 2001. "Analysis tool for fuel cell vehicle hardware and software (controls) with an application to fuel economy comparisons of alternative system designs." Ph.D. dissertation, Transportation Technology and Policy, University of California Davis.
7- A. Saadi, M. Becherif, A. Aboubou, M.Y. Ayad. 2013. "Comparison of proton exchange membrane fuel cell static models." Renewable Energy (Elsevier) 56: 64-71. doi:dx.doi.org/10.1016/j.renene.2012.10.012.
8- Diego Feroldi, Marta Basualdo. 2012. "Description of PEM Fuel Cells System." Green Energy and Technology (Springer) 49-72. doi:10.1007/978-1-84996-184-4_2
9- Gottesfeld, Shimshon. n.d. The Polymer Electrolyte Fuel Cell: Materials Issues in a Hydrogen Fueled Power Source. http://physics.oregonstate.edu/~hetheriw/energy/topics/doc/electrochemistry/fc/basic/The_Polymer_Electrolyte_Fuel_Cell.htm
10- Mohamed Becherif, Aïcha Saadi, Daniel Hissel, Abdennacer Aboubou, Mohamed Yacine Ayad. 2011. "Static and dynamic proton exchange membrane fuel cell models." Journal of Hydrocarbons Mines and Environmental Research 2 (1)

Cite

If you use OPEM in your research , please cite this :

@misc{https://doi.org/10.5281/zenodo.1133110,
  doi = {10.5281/zenodo.1133110},
  author = {{Sepand Haghighi} and {Kasra Askari} and {Sarmin Hamidi} and Rahimi,  Mohammad Mahdi},
  keywords = {Cell,  PEM,  Fuel Cell,  electrochemistry},
  title = {Opem : An Open Source Pem Cell Simulation Tool},
  pages = {--},
  publisher = {Zenodo},
  year = {2017}
}


Download OPEM.bib(BibTeX Format)

DOI

License

FOSSA Status

Donate to our project

Bitcoin :

12Xm1qL4MXYWiY9sRMoa3VpfTfw6su3vNq

Payping (For Iranian citizens) :

Say Thanks!

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Unreleased

0.9 - 2018-07-14

Added

  • JOSS paper

Changed

  • Test System Updated
  • setup File Modified
  • Exceptions Modified

Removed

  • PEM.md

0.8 - 2018-04-10

Added

  • Overall Parameters
  • Linear Approximation
  • Power(Thermal) Parameter
  • Efficiency vs I Plot
  • PH2 vs I Plot
  • PO2 vs I Plot
  • Power vs Efficiency Plot
  • Loss vs I Plot
  • Power(Thermal) vs I Plot
  • macOS Version

Changed

  • Simulation Error Response

0.7 - 2018-03-17

Added

  • Standard Test Vectors
  • Model Description
  • Help Page
  • Warning System
  • System Block Diagram

Changed

  • HTML Report Layout

0.6 - 2018-03-1

Added

  • Padulles-Amphlett Dynamic Model
  • Check Update Function
  • Webpage Document Section

Changed

  • Get_Input Function Default Params
  • Exe-File Incompatibility Fixed

0.5 - 2018-02-16

Added

  • Padulles-Hauer Dynamic Model
  • Simulation Name
  • Interactive HTML Report

Changed

  • qH2O And qH2 In Padulles Dynamic Model 2 Merged
  • Static Analysis Function Output
  • Dynamic Analysis Function Output
  • ReportMode & PrintMode Flags

0.4 - 2018-02-06

Added

  • Test Case Of Padullas Model 2
  • Padulles Dynamic Model 2

Changed

  • Travis And Appveyor Configs
  • Jupyter Notebook Documentation

Removed

  • RHO In Larmninee Model

0.3 - 2018-01-31

Added

  • Padulles Dynamic Model 1
  • GUI Folder

Changed

  • Test Cases For Static Models
  • Padullas Refactored
  • Jupyter Notebook Padullas

0.2 - 2018-01-05

Added

  • Test Case And CI
  • Jupyter Notebook And Documentation
  • exe-version
  • Badges
  • Larminie-Dicks Static Model
  • Chamberline-Kim Static Model
  • pyqt5 To Requirments

Removed

  • python2.7 Setup For pyQt

Changed

  • Style To PEP8
  • Power Stack

0.1 - 2017-12-25

Added

  • Static Analyze Prototype
  • Amphlett Analyze
  • CSV Output Files
  • Documents And README

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
opem-0.9-py3-none-any.whl (133.3 kB) Copy SHA256 hash SHA256 Wheel py3 Jul 13, 2018
opem-0.9.tar.gz (999.4 kB) Copy SHA256 hash SHA256 Source None Jul 13, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page