(Invited) Application of Open-Source, Python-Based Tools for the Simulation of Electrochemical Systems
Authors: Fuller Thomas F , Molel Leshinka 
Published: September 2023

There is a rich history of mathematical modeling of electrochemical systems. These simulations are useful 1) to refine our understanding of systems that contain complex, coupled phenomena, 2) to design and control electrochemical devices, and 3) to help novices in developing confidence and intuition for the behavior of electrochemical systems.
Regardless of the application, cyclic voltammetry, storage batteries, secondary current distributions, or corrosion to name a few, elucidating the relationship between current and potential is central to understanding how electrochemical systems behave. Here, we report on historical and future perspectives of simulating electrochemical systems with open-source, python-based tools. The presentation includes a tutorial of the formulation of problems based on underlying engineering and electrochemistry principles.
Within R1 universities in the United States, excellent resources are available at little to no cost for the simulation of electrochemical systems. However, the price for these tools can be prohibitive for most engineers and scientists working in industry. Access to these tools is even worse in low- and lower-middle-income countries. Actively supporting open-source software promotes a more inclusive scientific and research community that is essential to confronting the challenges facing society. Python was chosen because it is open-source.
FEniCSx, a popular open-source computing platform for solving partial differential equations,1-2 is applied to the solution of primary and secondary current distributions for two- and three-dimensional geometries. FEniCSx is used on both desktop computers as well as within high performance computing environments, such as Georgia Tech’s PACE.
Simulations have long been known to increase interactions between instructors and teachers as well as to help students visualize content.3-4 Recently, tools developed in python have been applied to simple electrochemical systems. 5-6. Because of the low barrier to entry and access to numerous computational packages, such as numpy, matplotlib, and scipy, the Anaconda distribution of python is promoted. A series of dynamic simulations are designed to help students improve their understanding of electrochemical systems. These simulations feature animation and extensive use of widgets that allow students to adjust parameters and immediately observe the results.

A. Logg, K. A. Mardal, G. N. Wells. Automated solution of differential equations by the finite element method, Lecture Notes in Computational Science and Engineering, 84 LNCSE (2012).

A, Logg and G. N. Wells. DOLFIN: Automated finite element computing, ACM Transactions on Mathematical Software, 37.2 (2010).

T. de Jong, W. R. van Joolingen, Scientific Discovery Learning with Computer Simulations of Conceptual Domains, Review of Educational Research, 68, 179-201 (1998).

R. E. West, C. R. Graham, Five Powerful Ways Technology Can Enhance Teaching and Learning in Higher Education, Educational Technology, 45, 20-27 (2005).

X. Wang, Z. Wang, Animated Electrochemistry Simulation Modules, J. Chem. Educ., 99, 752-758 (2022).

T.F. Fuller, J.N. Harb, Using Python Simulations for Inquiry-Based Learning of Electrochemical Systems, ECS Meeting Abstracts, (2021). DOI 10.1149/MA2021-02511503mtgabs