A simple cyclic voltammetry simulator, built as a MATLAB app. Used R2017a App Designer. Based on Appendix B in Bard & Faulkner. See http://petermattia.com/cyclic_voltammetry_simulation/index.html for details.
Hi Peter, thanks for your reply, I get it.
Hi Shuo, yes this is correct. I just tested it with a potential range of +/- 5V and a scan rate of 10^-10 V/s, which are the practical limits for any CV simulations I personally study. It's possible there are other cases that "break" the simulation, but I haven't encountered them in my work. There is a numerical instability for very high chemical reaction rates - the code will warn you if you are in this regime. Bard and Faulkner also review this case (2nd ed., pg 797).
I just reviewed your code, it seems to me the algorithm is an explicit difference method with dimensionless variables, have you experienced some numerical stability problems with specific parameters, e.g., a large potential range or slow scan rate? Many thanks.
Thanks for your comment. Sorry to hear you can't run the app. I've posted a standalone script on my website: http://petermattia.com/cyclic_voltammetry_simulation/code.html. Since the B&F solution is analytical, it runs very quickly.
Hi, doctor Attia,
I built a similar simulator a few months ago too, I would like to try your simulator, but I do not have R2017a. I use a built-in PDE solver pdepe, which is time-consuming. I note that the algorithm in B&F's book may be more efficient. I wonder how long does your simulator complete a simulation?
Fixed error in chemical reaction term for species O
Added concentrations and install file
removed number of electrons transferred
Updated screenshot on FEX
Create scripts with code, output, and formatted text in a single executable document.