{ "cells": [ { "cell_type": "markdown", "id": "23f1215b", "metadata": {}, "source": [ "# Appendix: Transmission Line Modelling" ] }, { "cell_type": "code", "execution_count": 1, "id": "8c4b8ded", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "08c9fc09", "metadata": {}, "source": [ "Recursive function to compute overall impedance for given transmission line (this function can also be imported from taufactor/utils with `from taufactor.utils import compute_impedance`)" ] }, { "cell_type": "code", "execution_count": 2, "id": "73d820ce", "metadata": {}, "outputs": [], "source": [ "def compute_impedance(R, C, freq):\n", " \"\"\"Compute impedance given resistor and capacitor arrays.\"\"\"\n", " Z = np.full_like(freq, 1e50, dtype=complex)\n", " for R_i, C_i in zip(R[::-1], C[::-1]):\n", " Z = R_i + 1.0 / (1j * freq * C_i + 1.0 / Z)\n", " return Z" ] }, { "cell_type": "markdown", "id": "07b4070d", "metadata": {}, "source": [ "## Comparison of discrete with analytical solution" ] }, { "cell_type": "markdown", "id": "8884659a", "metadata": {}, "source": [ "This example shows that\n", "1. A change in the capacitance constant does not alter the impedance (just the frequencies which are relevant)\n", "2. A change in resistance scales both the real and imaginary part\n", "3. The relative error between the analytical and discrete solution goes to zero as the number of elements is increased (as expected)\n", "4. We should use the discrete solution as a reference for impedance simulations to minimize the error from post-processing" ] }, { "cell_type": "code", "execution_count": 3, "id": "696ac97c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Deviation of -7.0854 %\n", "Deviation of -2.9318 %\n", "Deviation of -1.4828 %\n" ] }, { "data": { "image/png": "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QXASfv31V7KyshgyZAihJepSXGpc46pCJEMzQXAhUlJSOHbsmJZTZhEi1/eIRIgEwYWwVaHRqLs05K7MWjNnRIRIEFwIm0JUatbWVafvRYgEwYWwtei1uER79Irebna9TN8LglBtWIQILFUgzMFqV91KCESIBMGlsAhRqVQMESJBEByCUiq51aBoouTKQuSkZgmCYIt//etfWmJqqVXtxhJ3wt6MGcismeDEtGjRgvfee++qzrF582YURSErK6tabDpx4gSKohAXF1ct56uLKIpiWXkPYNC5vkckQuTExMTEoNfrGT16tKNNAbRlImU3N+jfvz9paWn4+/s7xqj6SikhMpZMlFUkRDJrJlwxixYt4oknnmDr1q1OWxPaw8ODpk2bXvHuIkLVWL58OcuXL+diSV0tVa/HqGjxIvGIhGonNzeX7777jscee4zRo0dbLYQ1D4c2bNhAnz59CAsLY8CAARw5csTSJykpibFjxxISEoKvry+9e/dmfQU7kDz44IPccsstVm0Gg4Hg4GAWLVrE5MmT2bJlC++//76lcNuJEydsDs127NjBoEGD8PHxoVGjRkRGRlp2I1m7di0DBgwgICCAxo0bc8stt1jK1AqXJzExkYSEBIzmqg9ubpctAQIiRE5JUVGR3VtxcXGl+5YtDG6rz5Xy/fff0759e9q1a8e9997LF198UW71/KxZs3jzzTfZuHEjbm5uPPjgg5bncnNzGTVqFBs2bODAgQOMGDGCMWPGkJKSYvP1HnroIdauXUtaWpqlbfXq1Vy8eJG77rqL999/n379+vHwww+TlpZGWloa4TYWBMfFxXHzzTfTsWNHYmJi2L59O2PGjLEUfc/Ly2PatGns3buXDRs2oNPpuPXWW6+qxEl9QVVVy3dAZ36/6ogQOalZNUtFW/S0adPGqvjUW2+9ZXcngoiICEv5VoD333+/XLHwOXPmXJGNixYt4t577wVgxIgRZGdns2XLFgYNGmTp88orrzBw4EBycnJ47rnnGDNmDAUFBXh5edGtWze6detm6fvf//6XFStW8PPPP/P444+Xe73+/fvTrl07vvrqK5577jkAFi9ezPjx4/H19QW0YZiPjw9Nmza1a/cbb7zBddddx0cffWRp69Spk+X+7bffbtX/iy++oEmTJiQkJDhHQTwnpvQ/otJCZFIrPzSTWTOh0hw5coQ9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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "L = 2\n", "conductivity = 0.45 # [S/m] = [1/Ohm m]\n", "capacitance = 0.19 # [F/m^2] = [C/V m^2]\n", "area = 1 # cross-sectional area [m^2]\n", "surf = 0.11 # specific surface area [1/m]\n", "\n", "# Resistivity and capacitance per length \n", "r_x = 1/conductivity/area # [Ohm / m]\n", "c_x = capacitance*surf*area # [F / m]\n", "\n", "freq_0 = 1 / r_x / c_x / L**2\n", "freq = freq_0 * 2 ** np.arange(-3, 10, 0.5)\n", "lambdas_0 = np.sqrt(1j * freq * r_x * c_x)\n", "Z_pde_ref = r_x * np.cosh(lambdas_0*L) / np.sinh(lambdas_0*L) / lambdas_0\n", "\n", "fig, ax = plt.subplots(figsize=(3, 4), dpi=100)\n", "colors = ['b', 'g', 'r']\n", "for i, N_el in enumerate([20, 50, 100]):\n", " # Discrete resistance and capacitance\n", " R_i = r_x * L / N_el\n", " C_i = c_x * L / N_el\n", "\n", " Z_mean = compute_impedance(R_i*np.ones(N_el), C_i*np.ones(N_el), freq)\n", " print(f\"Deviation of {100*(Z_pde_ref[0].real-Z_mean[0].real)/Z_mean[0].real:.4f} %\")\n", " plt.plot(Z_mean.real, -Z_mean.imag, '^-', color=colors[i], label=f'N={N_el}')\n", " ref_idx = np.argmin(np.abs(freq - freq_0))\n", " plt.scatter(Z_mean.real[ref_idx], -Z_mean.imag[ref_idx], c=colors[i], edgecolors='k', s=80)\n", "ax.plot(Z_pde_ref.real, -Z_pde_ref.imag, label='Analytical', color='gray', linestyle='--')\n", "plt.xlabel(\"Z' [Ohm]\")\n", "plt.ylabel(\"-Z'' [Ohm]\")\n", "# plt.title(\"Nyquist Plot\")\n", "# ax.set_aspect('equal')\n", "plt.legend()\n", "plt.grid()\n", "plt.xlim([0, 1.2*Z_mean[0].real])\n", "plt.ylim([0, 3*1.1*Z_mean[0].real])\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "823064e5", "metadata": {}, "source": [ "## Heterogenous distribution of impedance" ] }, { "cell_type": "markdown", "id": "cff5d977", "metadata": {}, "source": [ "The three microstructural parameters\n", "- porosity $\\epsilon(x)$,\n", "- specific surface area $a(x)$ and\n", "- tortuosity factor $\\tau(x)$\n", "all determine the effective behaviour of on electrode.\n", "One way of quantifiying this as a scalar factor is the tortuosity factor extracted from impedance measurements $\\tau_\\text{EIS}$ which can be described as:\n", "\n", "How much **harder or easier** is it to **transport ions to all reactive surfaces** compared to a perfectly homogeneous electrode with straight channels and the\n", "- same dimensions (thickness of electrode $L$ and cross-sectional area $A$),\n", "- same overall porosity $\\bar{\\epsilon}=(\\int \\epsilon(x))/L$ and\n", "- same average specific surface area $\\bar{a}=(\\int a(x))/L$.\n", "\n", "$\\tau_\\text{EIS} > 1$ indicates worse than homogeneous case while $\\tau_\\text{EIS} < 1$ means better than the homogeneous reference.\n", "As we are only interested in the non-dimensional tortuosity factor, we can select the physical parameters such that we ensure high numerical accuracy and normalize the impedance with respect to the analytical solution. Therefore, we set the physical parameters `conductivity=1`, `capacitance=1` and `area=1` in the following." ] }, { "cell_type": "code", "execution_count": 4, "id": "ddc6c106", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_nyquist(Zs, Z_mean, freq, ref_freq=None):\n", " \"\"\"Plot Nyquist plot comparing heterogeneous and homogenized impedance.\"\"\"\n", " scale = Z_mean[0].real\n", " ax_lim = 1.0\n", " fig, ax = plt.subplots(figsize=(4, 4), dpi=100)\n", " colors = ['darkred', 'goldenrod', 'green', 'teal', 'navy']\n", " for i, Z in enumerate(Zs):\n", " ax_lim = np.max([Z[0].real/scale, ax_lim])\n", " plt.plot(Z.real/scale, -Z.imag/scale, color=colors[i] , label=f'$\\\\tau=${Z[0].real/Z_mean[0].real:.2f}')\n", " plt.plot(Z_mean.real/scale, -Z_mean.imag/scale, '^', color='gray', linestyle='--') #, label='Homogenized reference')\n", "\n", " # Mark a reference frequency point (optional)\n", " if ref_freq:\n", " ref_idx = np.argmin(np.abs(freq - ref_freq))\n", " for i, Z in enumerate(Zs):\n", " plt.scatter(Z.real[ref_idx]/scale, -Z.imag[ref_idx]/scale, c=colors[i], edgecolors='k', s=80)\n", " plt.scatter(Z_mean.real[ref_idx]/scale, -Z_mean.imag[ref_idx]/scale, c='blue', edgecolors='k', s=80)\n", "\n", " plt.xlabel(\"Z' [Ohm]\")\n", " plt.ylabel(\"-Z'' [Ohm]\")\n", " ax.set_aspect('equal')\n", " plt.legend()\n", " plt.grid()\n", " plt.xlim([0, 2.5])\n", " plt.ylim([0, 2.5])\n", " # plt.show()\n", " return fig, ax\n", "\n", "# Set parameters\n", "N_el = 100\n", "tau_x = np.linspace(1.0, 1.0, N_el)\n", "step1 = np.concatenate((np.linspace(0.7, 0.7, int(N_el/2)), np.linspace(0.3, 0.3, int(N_el/2))))\n", "lin1 = np.linspace(0.7, 0.3, N_el)\n", "hom = np.linspace(0.5, 0.5, N_el)\n", "lin2 = np.linspace(0.3, 0.7, N_el)\n", "step2 = step1[::-1].copy()\n", "\n", "# Compute impedance for heterogeneous distribution\n", "freq_0 = np.mean(hom) / np.mean(hom) / N_el**2\n", "freq = freq_0 * 2 ** np.arange(-3, 10, 0.5) # Frequency array\n", "Zs = []\n", "for eps_x in [step1, lin1, hom, lin2, step2]:\n", "# for a_x in [step1, lin1, hom, lin2, step2]:\n", " # eps_x = hom\n", " a_x = hom\n", " R = tau_x/eps_x\n", " C = a_x\n", " Zs.append(compute_impedance(R, C, freq))\n", "\n", "# Compute impedance for homogenized case\n", "R_mean = np.full(N_el, 1/np.mean(hom))\n", "C_mean = np.full(N_el, np.mean(hom))\n", "Z_mean = compute_impedance(R_mean, C_mean, freq)\n", "\n", "# for Z in Zs:\n", "# print(f\"tau_e = {Z[0].real/Z_mean[0].real:.4f}\")\n", "# Plot Nyquist plots\n", "fig, ax = plot_nyquist(Zs, Z_mean, freq, ref_freq = freq_0)\n", "\n", "colors = ['darkred', 'goldenrod', 'forestgreen', 'teal', 'navy']\n", "axins = ax.inset_axes([0.61, 0.35, 0.38, 0.15])\n", "axins.plot(np.arange(N_el), step1, color=colors[0], linewidth=2)\n", "axins.plot(np.arange(N_el), hom, color=colors[2], linewidth=2)\n", "axins.set_xticks([])\n", "axins.set_yticks([])\n", "\n", "axins = ax.inset_axes([0.61, 0.18, 0.38, 0.15])\n", "axins.plot(np.arange(N_el), lin1, color=colors[1], linewidth=2)\n", "axins.plot(np.arange(N_el), hom, color=colors[2], linewidth=2)\n", "axins.plot(np.arange(N_el), lin2, color=colors[3], linewidth=2)\n", "axins.set_xticks([])\n", "axins.set_yticks([])\n", "\n", "axins = ax.inset_axes([0.61, 0.01, 0.38, 0.15])\n", "axins.plot(np.arange(N_el), hom, color=colors[2], linewidth=2)\n", "axins.plot(np.arange(N_el), step2, color=colors[4], linewidth=2)\n", "axins.set_xticks([])\n", "axins.set_yticks([])\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "2f047e17", "metadata": {}, "source": [ "**Some important conclusions are:**\n", "\n", "The impedance measurement alone is not conclusive. Note that an even distribution of resistance (i.e. same volume fraction and tortuosity throughout the electrode thickness) in combination with a grading in specific surface area still leads to $\\tau_\\text{EIS} \\neq 1$. This means transport appears to be better/worse simply because there is more/less surface area close to the separator side." ] }, { "cell_type": "markdown", "id": "5b38ab4b", "metadata": {}, "source": [ "## Downsampling for DFN models\n", "\n", "Let's assume we have determined the averaged properties $\\epsilon(x)$, $a_\\text{surf}(x)$ and $\\tau(x)$ from a micrograph with a resolution of 200 voxels in x-direction (the direction of ion transport in the porous electrode). To transfer these values into a DFN battery cell model such as PyBAMM, we need to reduce the amount if grid points." ] }, { "cell_type": "code", "execution_count": 5, "id": "fe32e1d4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Deviation of -3.8797 %\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N_el = 200\n", "eps_x = np.linspace(0.7, 0.1, N_el)\n", "tau_x = np.linspace(1.0, 5.0, N_el)\n", "a_x = np.linspace(1, 10, N_el)\n", "\n", "# Compute impedance for heterogeneous distribution\n", "R = tau_x/eps_x\n", "C = a_x\n", "freq_0 = np.mean(eps_x) / np.mean(C) / N_el**2\n", "freq = freq_0 * 2 ** np.arange(-3, 10, 0.5) \n", "Z = compute_impedance(R, C, freq)\n", "\n", "# Compute impedance for homogenized case\n", "R_mean = np.full(N_el, 1/np.mean(eps_x))\n", "C_mean = np.full(N_el, np.mean(C))\n", "Z_mean = compute_impedance(R_mean, C_mean, freq)\n", "\n", "# Compute impedance for downsampled case\n", "def coarse_grain_ladder(R, C, m):\n", " M = len(R) // m\n", " Rb = R[:M*m].reshape(M, m).sum(axis=1) # add series resistances\n", " Cb = C[:M*m].reshape(M, m).sum(axis=1) # add surface areas\n", " return Rb, Cb\n", "\n", "factor = 5\n", "R_d, C_d = coarse_grain_ladder(R, C, factor)\n", "Z_d = compute_impedance(R_d, C_d, freq)\n", "\n", "print(f\"Deviation of {100*(Z[0].real-Z_d[0].real)/Z[0].real:.4f} %\")\n", "# Plot Nyquist plots\n", "scale = Z_mean[0].real\n", "ax_lim = 1.2*np.max([Z[0].real, Z_mean[0].real])/scale\n", "plt.figure(figsize=(4, 4), dpi=100)\n", "plt.plot(Z.real/scale, -Z.imag/scale, 'ro-', label='Heterogeneous R(x), C(x)')\n", "plt.plot(Z_d.real/scale, -Z_d.imag/scale, color='black', linestyle='--', label=f'Downsample factor {factor}')\n", "plt.plot(Z_mean.real/scale, -Z_mean.imag/scale, 'b^-', label='Homogenized reference')\n", "\n", "plt.xlabel(\"Z' [Ohm]\")\n", "plt.ylabel(\"-Z'' [Ohm]\")\n", "plt.title(f\"tau_e = {Z[0].real/Z_mean[0].real:.3f}/{Z_d[0].real/Z_mean[0].real:.3f}\")\n", "plt.legend()\n", "plt.grid()\n", "plt.xlim([0, ax_lim])\n", "plt.ylim([0, 2*ax_lim])\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "245989b3", "metadata": {}, "source": [ "Note that summing resistances and capacitance in the above case relates to microstructural parameters in the following way:\n", "Let $i$ be the index on the fine grid and $f$ the coarsening factor. Properties on the coarse grid indexed by $k$ are then given as\n", "\n", "- $\\epsilon_k = \\sum^f_i \\epsilon_i / f$ (arithmetic mean)\n", "- $a_k = \\sum^f_i a_i / f$ (arithmetic mean)\n", "- $\\tau_k = (\\sum^f_i \\tau_i / \\epsilon_i)/ f * \\epsilon_k$\n", "\n", "which recovers the summation of resistances and capacitance\n", "- $C_k = \\sum_i^f C_i = c_{dl}A_c \\sum_i a_i \\Delta x = c_{dl}A_c a_k f\\Delta x$\n", "- $R_k = \\sum_i^f R_i= \\sum_i^f \\tau_i\\Delta x/(\\epsilon_i\\sigma_0 A_c) = f \\tau_k/\\epsilon_k$\n", "\n", "The averaging scheme for $\\tau$ is consistent with taking the harmonic mean of effective diffusivities/ conductivities." ] } ], "metadata": { "kernelspec": { "display_name": "voxenv", "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.12.11" } }, "nbformat": 4, "nbformat_minor": 5 }