{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Changing the Reference Electrode" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pyPourbaix as pb" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the previous tutorial, we generated a simple Pourbaix diagram featuring 2 potential- and pH-dependent reactions, the Hydrogen Evolution Reaction (HER) and the Oxygen Evolution Reaction (OER). It was apparent that the plotted standard potentials $E_0$ versus the standard hydrogen electrode of both reactions yielded the desired values. This tutorial will showcase how the reference electrode can be changed. Recall, we define a generic System by defining its .temperature, .pressure, .pHs and .electrode_potentials:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "reference_system = pb.System()\n", "reference_system.temperature = 298.15 \n", "reference_system.pressure = 1.00\n", "reference_system.pHs = (0,10)\n", "reference_system.electrode_potentials = (-1.5,1.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have previously also specified the system reference electrode as:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "reference_system.reference_electrode = (\"SHE\",0.00)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Suppose we want to shift the reference potential of the reactive system by $\\Delta E = 0.241$ V, equivalent to the potential difference between the standard hydrogen and the copper sulfate electrode. This can be done by specifying the electrode_abbreviation as CSE and the potential_difference as 0.241:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "reference_system.reference_electrode = (\"CSE\",0.241)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also define the silver-chlorde elecrode as SCE, or, in fact, any other custom electrode with a new user-defined abbreviation:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "reference_system.reference_electrode = (\"custom_RE\",0.420)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To keep track of your reference system, the electrode abbreviation specified will automatically appear on the y-axis of your Pourbaix diagram." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Tip: You don't have to specify the potential difference of the common reference electrodes SHE, CSE and SCE. As long as the abbrevation is matching, the designated potential difference is automatically retrieved.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's breifly check whether we manage to shift the HER and OER introduced during the last tutorial by exactly $1.23 \\text{V}$, i.e. such that the HER vs. the new reference electrode is congruent with the OER vs. the SHE." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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hp8fAAAAgDGlDotDhw5p6dKlGjp0aFnsKZX27duroKBALVu21J///Ocbvj0KAAAAQNkrdViEh4df96N45a1+/fqaOXOmIiMjVVhYqIULF6pv375KSEhQz549f/Z+hYWFKiwsLDmfk5NTHnMBAACASq/UYfGnP/1Jb7/9tgYMGCA/P7+y2PSr7rzzTt15550l57t06aLTp0/r7bff/sWwmDZtml577bXymAgAAABUKaUOi7179yotLU1NmjRRnz59bvitUO+9957bBt6szp07a9GiRb94mxdeeEHPPfdcyfmcnBw1bNiwrKcBAAAAlV6pw2L69Okl//fixYuvu96ssNi3b5/q16//i7fx9fWVr69vOS0CAAAAqo5Sh0VxcbHbR+Tl5enEiRMl51NSUrR//34FBwcrPDxcL7zwgtLS0rRgwQJJ0rvvvqvbb79drVq1kt1u16JFi7RixQqtWLHC7dsAAAAA/LpSh0VZ2L179zXf6PTT25XGjRunDz74QOfOnVNqamrJ9Xa7Xb///e+VlpYmf39/tWrVSuvWrdOgQYPKfTsAAAAAyeK6xa942rx5szZv3qysrCzVqVNHffv21b333uvufWUqJydHQUFBys7OvuaH9gAAAIDKzt2vhUsdFna7XQ899JA+++wzuVwu2Ww2ORwOWSwWDR48WCtWrJC3t7fhYeWBsAAAAEBV5e7Xwl6lvcPrr7+uDRs26G9/+5vOnz8vu92u8+fP66233tKGDRv0+uuvGx4FAAAAoGIp9RGLJk2a6PHHH9err7563XWvvvqqFixYoJMnT7prX5niiAUAAACqKtOPWJw5c0Y9evS44XU9evRQWlqa4VEAAAAAKpZSh0XdunV14MCBG1534MAB1a1b1/AoAAAAABVLqcNi6NCh+u///m+tXLnymss/+eQTvfrqq3rggQfcNg4AAABAxVDqz1hcunRJvXv31sGDB1W9enWFhobq/PnzysvLU5s2bZSQkKCaNWuW0Vz34jMWAAAAqKrc/Vq41D+QV6tWLSUmJuqDDz7Q1q1blZWVpQ4dOqhv374aO3asfH19DY8CAAAAULHc8g/kVQYcsQAAAEBVZfq3QlmtViUmJt7wuj179shqtRoeBQAAAKBiKXVY/NIBjuLiYlksFkODAAAAAFQ8pQ4LST8bD3v27FFQUJChQQAAAAAqnpv68PZ7772n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AKAyOXLkiOLi4rR582adOnVK+fn5slgsCgoKUosWLTR06FBFRUUpKCiIsHAnwgIAAACVXVJSkuLi4pSQkKDU1FQVFBSUxMalS5fc9lrYyw1bAQAAAHiotm3bKj4+XkePHtXVq1dVXFysxMREDR482K3PwxELjlgAAACgCnL3a2GOWAAAAAAwjLAAAAAAYBhhAQAAAMAwwgIAAACAYYQFAAAAAMMICwAAAACGERYAAAAADCMsAAAAABhGWAAAAAAwjLAAAAAAYBhhAQAAAMAwwgIAAACAYYQFAAAAAMMICwAAAACGERYAAAAADCMsAAAAABhGWAAAAAAwjLAAAAAAYBhhAQAAAMAwwgIAAACAYYQFAAAAAMMICwAAAACGERYAAAAADCMsAAAAABhGWAAAAAAwjLAAAAAAYBhhAQAAAMAwjwqLuLg4RUREyM/PT5GRkfryyy9/9rYJCQmyWCzXnY4ePVqOiwEAAABIHhQWy5Yt0zPPPKOXXnpJ+/btU48ePTRw4EClpqb+4v2OHTumc+fOlZyaNm1aTosBAAAA/MRjwuKdd97RU089pQkTJqhFixZ699131bBhQ73//vu/eL969eopNDS05GS1WstpMQAAAICfeERY2O127dmzR/3797/m8v79++urr776xfu2b99e9evXV9++fbV169ZfvG1hYaFycnKuOQEAAAAwziPCIjMzU06nUyEhIddcHhISovT09Bvep379+po5c6ZWrFihlStX6s4771Tfvn21ffv2n32eadOmKSgoqOTUsGFDt/47AAAAgKrKZvaAf2exWK4573K5rrvsJ3feeafuvPPOkvNdunTR6dOn9fbbb6tnz543vM8LL7yg5557ruR8Tk4OcQEAAAC4gUccsahTp46sVut1RycuXLhw3VGMX9K5c2d9//33P3u9r6+vAgMDrzkBAAAAMM4jwsLHx0eRkZHatGnTNZdv2rRJXbt2venH2bdvn+rXr+/ueQAAAAB+hce8Feq5557T448/ro4dO6pLly6aOXOmUlNTFRUVJenHtzGlpaVpwYIFkqR3331Xt99+u1q1aiW73a5FixZpxYoVWrFihZn/DAAAAKBK8piwGDlypLKysvT666/r3Llzat26tT777DM1atRIknTu3LlrftPCbrfr97//vdLS0uTv769WrVpp3bp1GjRokFn/BAAAAKDK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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "species = ('H|+1|, state=aq, dGf=0, dHf=0, Sm=0',\n", " 'H2, state=g, dGf=0, dHf=0, Sm=0',\n", " 'e|-1|, state=e, dGf=0, dHf=0, Sm=0',\n", " 'H2O, state=l, dGf=-2.37140E+05, dHf=-2.85830E+05, Sm=69.95',\n", " 'O2, state=g, dGf=0, dHf=0, Sm=205.137')\n", " \n", "db = pb.Database.from_default(species)\n", "\n", "reactions = ('2H|+1| + 2e|-1| -> H2',\n", " 'O2 + 4H|+1| + 4e|-1| -> 2H2O')\n", "\n", "reference_system.reference_electrode = (\"custom_RE\",1.23)\n", "reference_system.add_elements([\"O\",\"H\"])\n", "reference_system.set_database(db)\n", "reference_system.add_reactions(reactions)\n", "reference_diagram = pb.PourbaixDiagram(reference_system,line_inspection=True)\n", "reference_diagram.solve()\n", "reference_diagram.show(backend='matplotlib')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It appreas that both reactions have been shifted and the HER is not in the place of the OER, measured vs. the SHE. Note that the y-axis label also changes, displaying the selected reference electrode abbreviation." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }