From 9624e46147755d221c8e7cf519e9ecd416381857 Mon Sep 17 00:00:00 2001 From: jaseg Date: Thu, 26 Oct 2023 00:48:52 +0200 Subject: Move coil stuff to separate repo --- Simulation Plots.ipynb | 844 -------------------------- coil_gen.py | 318 ---------- coil_mag_materials.yml | 38 -- coil_mag_sim.yml | 14 - coil_mag_solvers.yml | 55 -- coil_parasitics.py | 595 ------------------- coil_parasitics_materials.yml | 38 -- coil_parasitics_sim.yml | 50 -- coil_parasitics_solvers.yml | 203 ------- coil_test_board.py | 483 --------------- self-capacitance-actually-working.sif | 173 ------ self-capacitance-working.sif | 154 ----- sim_runner.py | 282 --------- twisted_coil_gen.py | 295 ---------- twisted_coil_gen_twolayer.py | 1047 --------------------------------- 15 files changed, 4589 deletions(-) delete mode 100644 Simulation Plots.ipynb delete mode 100644 coil_gen.py delete mode 100644 coil_mag_materials.yml delete mode 100644 coil_mag_sim.yml delete mode 100644 coil_mag_solvers.yml delete mode 100644 coil_parasitics.py delete mode 100644 coil_parasitics_materials.yml delete mode 100644 coil_parasitics_sim.yml delete mode 100644 coil_parasitics_solvers.yml delete mode 100644 coil_test_board.py delete mode 100644 self-capacitance-actually-working.sif delete mode 100644 self-capacitance-working.sif delete mode 100644 sim_runner.py delete mode 100644 twisted_coil_gen.py delete mode 100644 twisted_coil_gen_twolayer.py diff --git a/Simulation Plots.ipynb b/Simulation Plots.ipynb deleted file mode 100644 index 0f8874c..0000000 --- a/Simulation Plots.ipynb +++ /dev/null @@ -1,844 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 5, - "id": "df53270d-9a10-4794-9560-4d168db3670b", - "metadata": {}, - "outputs": [], - "source": [ - "from matplotlib import pyplot as plt\n", - "%matplotlib widget" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "4e568696-b208-4ad0-b886-ed25addb7bec", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 0, 'd [mm]')" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "8987a710b2084ad9932aa3d9ab652741", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "x = list(range(1, 26))\n", - "l = [289.4, 253.1, 222.8, 196.8, 174.9, 155.9, 139.4, 125.4, 113.1, 102.4, 92.2, 83.9, 77.4, 71.1, 65.3, 60.4, 56.0, 51.9, 48.4, 45.2, 42.3, 39.8, 37.6, 35.5, 33.7]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, l)\n", - "ax.set_ylabel('L_m [nH]')\n", - "ax.set_xlabel('d [mm]')" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "9ac4c7e3-f850-43b6-a1d9-9180269435da", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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OoTc3FzlVlVVtfyLICIiIt3QTZB05MgR3HvvvXA4HFHvd7lc+MIXvoCbbroJjz322JLPN3fytSzLi07DfvTRRzE2NqbcOjs7l3cBREREpCu6GHB74sQJXLlyBS+88ELU+91uNz73uc8hOzsbL730EqxW64LPVVRUBLPZPC9r1N/fPy+7NJPdbofdbo/vAoiIiEh3dJFJeuaZZ9DQ0ID6+vp597lcLuzZswc2mw2vvvrqgpkmwWazoaGhAcePH5/1/ePHj6OxsTGh6yYiIiL9UjWTND4+jqtXrypft7e349y5cygoKEB1dTWAcBD04osv4kc/+tG8P+92u7Fnzx5MTEzg//yf/zOroLq4uBhmsxkAcOedd+LLX/4yHnroIQDAI488gj/+4z/Gjh07sGvXLvzTP/0TOjo68OCDD8a8dnEokAXcRERE+iHet2M63C+r6M0335QBzLsdPHhQecxPf/pTOSMjQx4dHY35zwOQ29vblcfV1NTIjz322Kw/+4//+I9yTU2NbLPZ5O3bt8tvv/32stbe2dm54M/mjTfeeOONN960fevs7FzyvV4zfZL0JhQKobu7G06nc9GC73i4XC5UVVWhs7MzrXowpet1A7z2dLz2dL1ugNeejteupeuWZRlutxsVFRUwmRavOtJF4bYWmUwmVFZWJvVn5OTkqP4fkxrS9boBXns6Xnu6XjfAa0/Ha9fKdefm5sb0OF0UbhMRERGlGoMkIiIioigYJGmQ3W7HY489lnZ9mdL1ugFeezpee7peN8BrT8dr1+t1s3CbiIiIKApmkoiIiIiiYJBEREREFAWDJCIiIqIoGCQRERERRcEgSWOefvpp1NbWwuFwoKGhASdOnFB7SQn3/e9/H5IkzbqVlZUp98uyjO9///uoqKhARkYGbr/9djQ1Nam44vi88847uOuuu1BRUQFJkvDyyy/Puj+W6/R6vfjWt76FoqIiZGVl4fd///dx48aNFF5FfJa69j/5kz+Z99/AJz/5yVmP0eO1Hzp0CLfccgucTidKSkpw991348qVK7MeY9TXPZZrN+Lr/pOf/AQ333yz0iRx165d+NWvfqXcb9TXG1j62o3wejNI0pAXXngBDz/8ML73ve/h7NmzuO2227B37150dHSovbSE27x5M3p6epTbhQsXlPv+7u/+Dk8++SSeeuopfPDBBygrK8N/+k//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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# distance = 5mm\n", - "x = list(range(0, 360, 45))\n", - "y = [174.9, 172.2, 174.2, 172.4, 174.2, 172.1, 174.9, 172.5]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x + [360], y + y[:1])\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "ca533b44-b5bc-441d-90a9-ab259aabd643", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 14, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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i4uLUVZWhj179oz7XAkJCdDr9cNmjRobG4fNLg1mMplgMpnG/fhERESkDZqYSdq+fTsKCgqQn58/7nMZjUYUFBRg//79Q67fv38/li5dOu7zExERUWhQdCapq6sL586dk/+uqqpCSUkJ4uPjkZGRAcCThb5371784he/8HmO+vp61NfXy+cpLS2FxWJBRkYG4uPjAQArVqzAbbfdhoceeggAsGnTJtx9991YvHgxrr32Wrz44ouorq7GAw88EMynS0RERBqiaJB05MgRLF++XP5706ZNAID169dj586dAIDdu3dDFEWsXbvW5zl+85vf4Cc/+Yn894033ggA2LFjB+69914AQEVFBZqbm+Vj7rjjDrS0tODpp59GXV0d5s6di7feeguZmZmBfHpERESkYaqpk6Q1rJNERESkPaP5/tZE4rYaSbEl6yURERFph/S97c8cEYOkMers7AQA1ksiIiLSoM7OTlit1isew+W2MXK73bh06RIsFssV6yuNhc1mQ3p6OmpqariUpwJ8PdSFr4e68PVQH74mVyaKIjo7O5GWlgad7sqb/DmTNEY6nQ5Tp04N6mPExsbyf3AV4euhLnw91IWvh/rwNRnZ1WaQJJqok0REREQ00RgkEREREfnAIEmFTCYTnnzySbZBUQm+HurC10Nd+HqoD1+TwGHiNhEREZEPnEkiIiIi8oFBEhEREZEPDJKIiIiIfGCQREREROQDgySV2bZtG7KysmA2m1FQUIDi4mKlhxQWNm/ejM985jOwWCxISkrCrbfeirKysiHHiKKIp556CmlpaYiMjMSyZctw8uRJhUYcXjZv3gxBEPDII4/I1/H1mHgXL17EXXfdhcmTJyMqKgoLFizA0aNH5dv5mkyc/v5+/Pu//zuysrIQGRmJ7OxsPP3003C73fIxfD0CQCTV2L17txgRESG+9NJL4qlTp8SHH35YjI6OFi9cuKD00ELeF77wBXHHjh3ip59+KpaUlIi33HKLmJGRIXZ1dcnH/OxnPxMtFov4yiuviKWlpeIdd9whpqamijabTcGRh76PP/5YnDZtmjh//nzx4Ycflq/n6zGxWltbxczMTPHee+8VDx8+LFZVVYn/+Mc/xHPnzsnH8DWZOM8884w4efJk8S9/+YtYVVUl7t27V4yJiRG3bNkiH8PXY/wYJKnIZz/7WfGBBx4Yct3MmTPFxx57TKERha/GxkYRgHjgwAFRFEXR7XaLKSkp4s9+9jP5mN7eXtFqtYq/+c1vlBpmyOvs7BSnT58u7t+/X7zpppvkIImvx8T74Q9/KF5//fUj3s7XZGLdcsst4te//vUh161evVq86667RFHk6xEoXG5TCafTiaNHj2LlypVDrl+5ciUOHTqk0KjCV0dHBwAgPj4eAFBVVYX6+vohr4/JZMJNN93E1yeIvvWtb+GWW27B5z//+SHX8/WYeG+++SYWL16Mr371q0hKSsLChQvx0ksvybfzNZlY119/Pd555x2cPXsWAHD8+HF88MEHuPnmmwHw9QgUNrhViebmZrhcLiQnJw+5Pjk5GfX19QqNKjyJoohNmzbh+uuvx9y5cwFAfg18vT4XLlyY8DGGg927d+OTTz7Bv/71r2G38fWYeJWVlXjhhRewadMm/OhHP8LHH3+M73znOzCZTLjnnnv4mkywH/7wh+jo6MDMmTOh1+vhcrnw7LPPYu3atQD4HgkUBkkqIwjCkL9FURx2HQXXQw89hBMnTuCDDz4Ydhtfn4lRU1ODhx9+GH//+99hNptHPI6vx8Rxu91YvHgx/uM//gMAsHDhQpw8eRIvvPAC7rnnHvk4viYTY8+ePfjDH/6AP/7xj5gzZw5KSkrwyCOPIC0tDevXr5eP4+sxPlxuU4mEhATo9fphs0aNjY3DfglQ8Hz729/Gm2++iffeew9Tp06Vr09JSQEAvj4T5OjRo2hsbERBQQEMBgMMBgMOHDiAX//61zAYDPK/OV+PiZOamorZs2cPuW7WrFmorq4GwPfIRPv+97+Pxx57DHfeeSfmzZuHu+++G9/97nexefNmAHw9AoVBkkoYjUYUFBRg//79Q67fv38/li5dqtCowocoinjooYfw6quv4t1330VWVtaQ27OyspCSkjLk9XE6nThw4ABfnyBYsWIFSktLUVJSIl8WL16MdevWoaSkBNnZ2Xw9Jth11103rCzG2bNnkZmZCYDvkYnW3d0NnW7oV7her5dLAPD1CBAFk8bpMlIJgO3bt4unTp0SH3nkETE6Olo8f/680kMLeQ8++KBotVrF999/X6yrq5Mv3d3d8jE/+9nPRKvVKr766qtiaWmpuHbtWm6nnUCDd7eJIl+Pifbxxx+LBoNBfPbZZ8Xy8nLx5ZdfFqOiosQ//OEP8jF8TSbO+vXrxSlTpsglAF599VUxISFB/MEPfiAfw9dj/Bgkqcx///d/i5mZmaLRaBQXLVokb0Gn4ALg87Jjxw75GLfbLT755JNiSkqKaDKZxBtvvFEsLS1VbtBh5vIgia/HxPvzn/8szp07VzSZTOLMmTPFF198ccjtfE0mjs1mEx9++GExIyNDNJvNYnZ2tvjEE0+IDodDPoavx/gJoiiKSs5kEREREakRc5KIiIiIfGCQREREROQDgyQiIiIiHxgkEREREfnAIImIiIjIBwZJRERERD4wSCIiIiLygUESERERkQ8MkoiILvP+++9DEAQIgoBbb73Vr/vce++98n1ef/31oI6PiCYGgyQiohGUlZVh586d8t9dXV248847kZqaijvvvBN2u12+7Ve/+hXq6uoUGCURBQuDJCKiESQlJSEuLk7+e8uWLYiJicHf//53REVFYcuWLfJtVqsVKSkpEz9IIgoaBklEFNK6urqwYcMGxMbGIikpCc888wxaW1thNpvR1NQ0qnO1t7djxowZmDdvHmbOnImOjo4gjZqI1MCg9ACIiILp3nvvRWlpKd577z00NjZi9erVOHfuHJYsWYLExMRRneuhhx7CihUr8MQTTyA3Nxf/+Mc/gjRqIlIDBklEFLKam5vx6quv4uWXX0ZBQQEA4LbbbsOuXbvwy1/+ctTnmzZtGsrLy9HY2Ijk5GQIghDoIRORinC5jYhC1rlz5yCKIq699lr5us9+9rMAPMHSWOh0OqSkpDBAIgoDDJKIKGSZTCYAgNFolK9LSEhAeno6MjMzlRoWEWkEgyQiCllZWVnQ6XQoLy+Xr9u3bx/q6urgdDoVHBkRaQGDJCIKWXFxcVi9ejWeffZZ9PT0oLS0FH/5y18wefJkvPXWW0oPj4hUjonbRBTS/vu//xsbN27E1KlTIQgC/vM//xNJSUl48MEHUVlZiU2bNik9RCJSKQZJRBTSkpKSfLYJWbNmzcQPhog0hcttREQjmDp1KtauXevXsQ888ABiYmKCPCIimkiCKIqi0oMgIlKTnp4eXLx4EQAQExPjV7uRxsZG2Gw2AEBqaiqio6ODOkYiCj4GSUREREQ+cLmNiIiIyAcGSUREREQ+MEgiIiIi8oFBEhEREZEPDJKIiIiIfGCQREREROQDgyQiIiIiHxgkEREREfnw/wN5YYjL1698NAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# distance = 5mm\n", - "x = list(range(0, 100, 10))\n", - "y = [174.9, 172.2, 174.7, 172.7, 172.2, 172.5, 172.1, 174.7, 171.1, 174.2]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "46fd7074-9980-4dd7-8d48-d2c0c5874e27", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# distance = 1mm\n", - "x = list(range(0, 100, 10))\n", - "y = [289.3, 288.5, 288.8, 290.9, 287.4, 287.8, 287.6, 289.9, 288.5, 288.5]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "b447b71c-a2e5-4fac-a15f-ef8b812e9822", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# distance = 25mm\n", - "x = list(range(0, 100, 10))\n", - "y = [33.3, 29.5, 33.6, 29.3, 29.3, 29.3, 27.8, 32.2, 29.3, 33.4]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "bbe08606-c358-43e5-bc3c-9fe1ad4f0603", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# single-layer coil, 4 windings, 243.2\n", - ",242.3\n", - ",244.4\n", - ",245.6\n", - ",246.0\n", - ",246.1\n", - ",247.1\n", - ",248.6\n", - ",248.2\n", - ",249.2\n", - ",250.1\n", - ",250.5\n", - ",250.3\n", - ",250.6\n", - ",250.6\n", - ",250.5\n", - ",251.5\n", - ",250.9\n", - ",251.3\n", - ",58.5\n", - ",58.8\n", - ",249.4\n", - ",249.3\n", - ",248.1\n", - ",247.7distance = 15mm\n", - "x = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 135, 180, 225, 270, 315, 360]\n", - "y = [\n", - " 61.6,\n", - "61.8,\n", - "62.2,\n", - "61.4,\n", - "61.4,\n", - "62.0,\n", - "62.2,\n", - "61.7,\n", - "62.0,\n", - "61.6,\n", - "62.0,\n", - "61.1,\n", - "61.6,\n", - "61.6,\n", - "61.7,\n", - "]\n", - "y.append(y[0])\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "fb4a6b73-ab8b-4488-863f-ccc4b2f76c33", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGzCAYAAADHdKgcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAACykUlEQVR4nO39eZgc5XX3jX+r99lHmpE0WkYLRhiJTQIJsAbvC06QSbyAsQGZ2D878gaGPAnW4/iNlyCZPD8bBceWgx8H2Vds8JMXiBU/wSBsdrCxBcIYDEhIaLRa66w9vVa9f3Tfd911113VVd3Vy3Sfz3Xpgunp6a6uqq771Pd8zzmaYRgGCIIgCIIgWohQvTeAIAiCIAii1lAARBAEQRBEy0EBEEEQBEEQLQcFQARBEARBtBwUABEEQRAE0XJQAEQQBEEQRMtBARBBEARBEC0HBUAEQRAEQbQcFAARBEEQBNFyUABEEARBEETLEan3Bhw8eBA333wz7r//fkxNTeGMM87AD37wA1xwwQUAgK985Su4++67sX//fsRiMVxwwQW45ZZbcNFFF7m+7j333IMvf/nLeO211/CGN7wBt9xyC97//vd72iZd13Ho0CF0dXVB07SKPyNBEARBENXHMAyMj49j3rx5CIVKaDxGHTl58qSxaNEi47rrrjN+85vfGHv37jUeeughY/fu3fw5P/7xj43t27cbr732mvGHP/zB+MQnPmF0d3cbR48edXzdp556ygiHw8bGjRuNP/7xj8bGjRuNSCRi/PrXv/a0Xfv37zcA0D/6R//oH/2jf/RvGv7bv39/ybVeM4z6DUP94he/iCeffBKPP/64578ZGxtDT08PHnroIbzzne9UPufDH/4wxsbGcP/99/PH3vve92LGjBm46667Sr7H6Ogoent7sX//fnR3d3veNoIgCIIg6sfY2BgGBwcxMjKCnp4e1+fWNQW2bds2XHrppbjiiivw6KOPYv78+fjMZz6DT37yk8rnZzIZ3HHHHejp6cF5553n+LpPP/00brzxRstjl156KTZv3qx8fjqdRjqd5j+Pj48DALq7uykAIgiCIIhphhf7Sl1N0Hv27MGWLVuwdOlSPPDAA1i/fj2uv/56/OhHP7I87+c//zk6OzuRSCRw2223Yfv27ejv73d83SNHjmDOnDmWx+bMmYMjR44on79p0yb09PTw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7qvHHnsM73vf+zBv3jxomob//M//tPzey35Jp9P4/Oc/j/7+fnR0dODyyy/HgQMHavgpaoPbvspms7j55ptxzjnnoKOjA/PmzcO6detw6NAhy2vUdF8ZRE24++67jWg0anz/+983XnrpJeOGG24wOjo6jH379tV70+rKpZdeatx5553GH/7wB2Pnzp3GZZddZixcuNCYmJjgz/nGN75hdHV1Gffcc4/xwgsvGB/+8IeNuXPnGmNjY3Xc8vryzDPPGIsXLzbOPfdc44YbbuCP074yOXnypLFo0SLjuuuuM37zm98Ye/fuNR566CFj9+7d/Dm0vwr84z/+o9HX12f8/Oc/N/bu3Wv8x3/8h9HZ2Wls3ryZP6dV99V///d/G1/60peMe+65xwBg3HfffZbfe9kv69evN+bPn29s377dePbZZ423v/3txnnnnWfkcrkaf5rq4ravRkZGjHe9613GT3/6U+Pll182nn76aeOiiy4yLrjgAstr1HJfUQBUIy688EJj/fr1lsfOPPNM44tf/GKdtqgxOXr0qAHAePTRRw3DMAxd142BgQHjG9/4Bn9OKpUyenp6jO9973v12sy6Mj4+bixdutTYvn278da3vpUHQLSvrNx8883GJZdc4vh72l8ml112mfHxj3/c8tgHPvAB45prrjEMg/YVQ17UveyXkZERIxqNGnfffTd/zsGDB41QKGT84he/qNm21xpVsCjzzDPPGAC4EFDrfUUpsBqQyWSwY8cOvOc977E8/p73vAdPPfVUnbaqMRkdHQUAzJw5EwCwd+9eHDlyxLLv4vE43vrWt7bsvvvsZz+Lyy67DO9617ssj9O+srJt2zasWrUKV1xxBWbPno2VK1fi+9//Pv897S+TSy65BL/85S/x6quvAgCef/55PPHEE/jzP/9zALSvnPCyX3bs2IFsNmt5zrx583D22We39L4DCtd7TdPQ29sLoPb7ioah1oDjx48jn89jzpw5lsfnzJmDI0eO1GmrGg/DMHDTTTfhkksuwdlnnw0AfP+o9t2+fftqvo315u6778azzz6L3/72t7bf0b6ysmfPHmzZsgU33XQT/uf//J945plncP311yMej2PdunW0vwRuvvlmjI6O4swzz0Q4HEY+n8ctt9yCj3zkIwDo3HLCy345cuQIYrEYZsyYYXtOK1//U6kUvvjFL+KjH/0oH4Za631FAVAN0TTN8rNhGLbHWpnPfe5z+P3vf48nnnjC9jvad8D+/ftxww034MEHH0QikXB8Hu2rArquY9WqVdi4cSMAYOXKlXjxxRexZcsWrFu3jj+P9hfw05/+FP/+7/+On/zkJzjrrLOwc+dOfOELX8C8efPwsY99jD+P9pWacvZLK++7bDaLq666Crqu47vf/W7J51drX1EKrAb09/cjHA7bItijR4/a7hxalc9//vPYtm0bHn74YSxYsIA/PjAwAAC071CQh48ePYoLLrgAkUgEkUgEjz76KG6//XZEIhG+P2hfFZg7dy6WL19ueWzZsmUYHh4GQOeWyN/+7d/ii1/8Iq666iqcc845uPbaa3HjjTdi06ZNAGhfOeFlvwwMDCCTyeDUqVOOz2klstksrrzySuzduxfbt2/n6g9Q+31FAVANiMViuOCCC7B9+3bL49u3b8eaNWvqtFWNgWEY+NznPod7770Xv/rVr7BkyRLL75csWYKBgQHLvstkMnj00Udbbt+9853vxAsvvICdO3fyf6tWrcLVV1+NnTt34rTTTqN9JTA0NGRrqfDqq69i0aJFAOjcEkkmkwiFrMtBOBzmZfC0r9R42S8XXHABotGo5TmHDx/GH/7wh5bbdyz42bVrFx566CH09fVZfl/zfRW4rZpQwsrgf/CDHxgvvfSS8YUvfMHo6OgwXn/99XpvWl359Kc/bfT09BiPPPKIcfjwYf4vmUzy53zjG98wenp6jHvvvdd44YUXjI985CMtUX7rBbEKzDBoX4k888wzRiQSMW655RZj165dxo9//GOjvb3d+Pd//3f+HNpfBT72sY8Z8+fP52Xw9957r9Hf32/83d/9HX9Oq+6r8fFx47nnnjOee+45A4DxrW99y3juued45ZKX/bJ+/XpjwYIFxkMPPWQ8++yzxjve8Y6mLIN321fZbNa4/PLLjQULFhg7d+60XO/T6TR/jVruKwqAash3vvMdY9GiRUYsFjPOP/98XurdygBQ/rvzzjv5c3RdN/7hH/7BGBgYMOLxuPGWt7zFeOGFF+q30Q2EHADRvrLyX//1X8bZZ59txONx48wzzzTuuOMOy+9pfxUYGxszbrjhBmPhwoVGIpEwTjvtNONLX/qSZWFq1X318MMPK69RH/vYxwzD8LZfpqamjM997nPGzJkzjba2NmPt2rXG8PBwHT5NdXHbV3v37nW83j/88MP8NWq5rzTDMIzgdSWCIAiCIIjGhTxABEEQBEG0HBQAEQRBEATRclAARBAEQRBEy0EBEEEQBEEQLQcFQARBEARBtBwUABEEQRAE0XJQAEQQBEEQRMtBARBBEARBEC0HBUAEQbQUjzzyCDRNg6Zp+Mu//EtPf3Pdddfxv/nP//zPqm4fQRC1gQIggiBakldeeQVbt27lP09MTOCqq67C3LlzcdVVV2FycpL/7p//+Z9x+PDhOmwlQRDVggIggiBaktmzZ6O3t5f/vHnzZnR2duLBBx9Ee3s7Nm/ezH/X09ODgYGB2m8kQRBVgwIggiCmLRMTE/jEJz6B7u5uzJ49G//4j/+IkydPIpFI4NixY75ea2RkBGeccQbOOeccnHnmmRgdHa3SVhME0QhE6r0BBEEQ5XLdddfhhRdewMMPP4yjR4/iAx/4AHbv3o2LLroIs2bN8vVan/vc5/DOd74TX/rSl3D66afjoYceqtJWEwTRCFAARBDEtOT48eO499578eMf/xgXXHABAOD9738/fvjDH+K2227z/XqLFy/Grl27cPToUcyZMweapgW9yQRBNBCUAiMIYlqye/duGIaBN73pTfyxCy+8EEAhECqHUCiEgYEBCn4IogWgAIggiGlJPB4HAMRiMf5Yf38/BgcHsWjRonptFkEQ0wQKgAiCmJYsWbIEoVAIu3bt4o/93//7f3H48GFkMpk6bhlBENMBCoAIgpiW9Pb24gMf+ABuueUWTE1N4YUXXsDPf/5z9PX14b//+7/rvXkEQTQ4ZIImCGLa8p3vfAef+tSnsGDBAmiahn/6p3/C7Nmz8elPfxp79uzBTTfdVO9NJAiiQaEAiCCIacvs2bOVoyk++MEP1n5jCIKYVlAKjCCIlmTBggX4yEc+4um569evR2dnZ5W3iCCIWqIZhmHUeyMIgiBqxdTUFA4ePAgA6Ozs9DTi4ujRoxgbGwMAzJ07Fx0dHVXdRoIgqg8FQARBEARBtByUAiMIgiAIouWgAIggCIIgiJaDAiCCIAiCIFoOCoAIgiAIgmg5KAAiCIIgCKLloACIIAiCIIiWgwIggiAIgiBaDgqACIIgCIJoOf4/eUbmaZRta0cAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# single-layer coil, 4 windings, distance = 15mm\n", - "x = list(range(121))\n", - "y = [\n", - "62.1\n", - ",61.5\n", - ",62.1\n", - ",61.9\n", - ",61.5\n", - ",61.9\n", - ",61.4\n", - ",61.8\n", - ",62.5\n", - ",61.8\n", - ",61.5\n", - ",62.0\n", - ",62.1\n", - ",62.6\n", - ",62.4\n", - ",62.2\n", - ",61.4\n", - ",61.8\n", - ",62.0\n", - ",62.2\n", - ",62.1\n", - ",61.9\n", - ",61.5\n", - ",62.4\n", - ",62.6\n", - ",62.3\n", - ",61.5\n", - ",62.1\n", - ",61.8\n", - ",61.8\n", - ",61.6\n", - ",62.2\n", - ",61.1\n", - ",62.1\n", - ",62.9\n", - ",61.9\n", - ",62.3\n", - ",62.4\n", - ",61.3\n", - ",61.9\n", - ",60.9\n", - ",62.3\n", - ",62.0\n", - ",61.7\n", - ",61.1\n", - ",62.1\n", - ",61.3\n", - ",62.0\n", - ",62.0\n", - ",61.6\n", - ",62.2\n", - ",61.6\n", - ",62.1\n", - ",61.9\n", - ",61.5\n", - ",62.1\n", - ",62.0\n", - ",62.0 # gap\n", - ",62.0\n", - ",62.6\n", - ",60.8\n", - ",61.9\n", - ",61.5\n", - ",62.4\n", - ",61.2\n", - ",61.1\n", - ",61.6\n", - ",62.3\n", - ",62.2\n", - ",62.0\n", - ",61.2\n", - ",62.0\n", - ",61.5\n", - ",61.5\n", - ",62.3\n", - ",61.5\n", - ",61.9\n", - ",61.3\n", - ",61.7\n", - ",61.5\n", - ",61.6\n", - ",61.8\n", - ",61.8\n", - ",62.2\n", - ",61.6\n", - ",61.8\n", - ",61.9\n", - ",62.3\n", - ",61.8\n", - ",62.1\n", - ",61.0\n", - ",61.8\n", - ",62.0\n", - ",62.1\n", - ",61.5\n", - ",61.8\n", - ",61.0\n", - ",61.7\n", - ",61.7\n", - ",62.0\n", - ",61.3\n", - ",61.7\n", - ",62.0\n", - ",61.3\n", - ",61.9\n", - ",61.3\n", - ",62.2\n", - ",61.6\n", - ",61.8\n", - ",61.4\n", - ",61.8\n", - ",62.1\n", - ",60.9\n", - ",61.0\n", - ",61.8\n", - ",61.9\n", - ",61.8\n", - ",62.0\n", - ",61.5\n", - ",61.4\n", - ",60.5\n", - "]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "7310fa36-f46d-4cf7-9d43-8f46f182ea38", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# single-layer coil, 4 windings, distance = 15mm, X offset = 5mm\n", - "x = list(range(0, 121, 5))\n", - "y = [\n", - " 62.1\n", - ",57.0\n", - ",57.8\n", - ",58.3\n", - ",57.6\n", - ",57.9\n", - ",58.3\n", - ",58.4\n", - ",57.9\n", - ",58.4\n", - ",58.5\n", - ",58.9\n", - ",58.8\n", - ",59.2\n", - ",58.8\n", - ",59.0\n", - ",58.6\n", - ",57.9\n", - ",59.1\n", - ",58.5\n", - ",58.8\n", - ",58.4\n", - ",58.5\n", - ",57.8\n", - ",58.4\n", - "]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "4aec7e8f-0263-424d-90fc-45dd20b365e4", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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u923aNEidvny5QEbK80ABdnRo0cxdepUZGZm8vctWrQIJpMJJ06c8PicEydOwGKx4KabbuLvy8zMxNSpU/HJJ58IPmZ/vP/++2hvb8d3v/vdEY8tLy9HWloaJk6ciO9///tobW0VfoCj9MILLyA5ORkzZszAc889N+zyUG1tLZqbm91eL7Vajeuuu05yr5c3er0eSUlJIx4ntdfQbDbjxIkTbv/fA8BNN93k9f/7o0ePXnb8okWL8Pnnn8NisQg21kDR6/UA4NPrNXPmTGRkZGDBggU4dOiQ0EMbterqamRmZiI/Px/Lly9HTU2N12ND/fUzm81444038L3vfW/E5tuh8vq5Gu37obfXNZDvoRQABVlzczPS09Pd7ktMTIRKpUJzc7PX56hUKiQmJrrdn56e7vU5Ytm2bRsWLVqEnJycYY9bvHgx3nzzTfz73//Gyy+/jM8++ww33HADTCZTkEbqu0cffRRlZWU4dOgQ1q5diy1btuChhx7yejz3mgx9naX4enly/vx5/N///R8eeOCBYY+T4mvY3t4Om83m1//3nv5Npqenw2q1or29XbCxBgLLsnj88ccxd+5cTJ061etxGRkZ+MMf/oB33nkH7777LoqKirBgwQL85z//CeJofTN79mzs2rUL+/btw9atW9Hc3IzS0lJ0dHR4PD6UXz8AeO+999Dd3T3sl8ZQev2GGu37obfXNZDvodQN3gcbN27E008/Pewxn3322Yg5LxxPUT7LsiNG/4F4jq9Gc80NDQ3Yt28f/vrXv454/rvvvpv/76lTp+KKK65AXl4e9u7di6VLl45+4D7y5/oee+wx/r5p06YhMTERd955Jz8r5M3Q10bI18uT0byGly5dws0334xvf/vbuP/++4d9rtiv4XD8/f/e0/Ge7peatWvX4osvvsCRI0eGPa6oqAhFRUX8z3PmzEF9fT1eeuklXHvttUIP0y+LFy/m/7ukpARz5sxBYWEhdu7ciccff9zjc0L19QMcXxoXL17stiowVCi9ft6M5v1Q6PdQCoB8sHbtWixfvnzYY8aNG+fTuXQ63WVJXF1dXbBYLJdFu67PMZvN6OrqcpsFam1tRWlpqU+/11+jueYdO3YgOTkZt956q9+/LyMjA3l5eaiurvb7uaMxlteU2+l07tw5jwEQt2OlubkZGRkZ/P2tra1eX2Mh+HuNly5dwvz58zFnzhz84Q9/8Pv3Bfs19CQlJQVyufyyb4nD/X+v0+k8Hq9QKIYNcMX2yCOP4P3338d//vMfZGdn+/38q6++Gm+88YYAIwusmJgYlJSUeP27CtXXDwAuXryIgwcP4t133/X7uaHy+o32/dDb6xrI91AKgHyQkpKClJSUgJxrzpw5eO6559DU1MT/Mezfvx9qtRqzZs3y+JxZs2ZBqVTiwIEDuOuuuwAATU1N+PLLL7F58+aAjGsof6+ZZVns2LEDq1atglKp9Pv3dXR0oL6+3u0fiJDG8pqePHkSALyONT8/HzqdDgcOHMDMmTMBONb5Dx8+jBdeeGF0Ax4Ff66xsbER8+fPx6xZs7Bjxw7IZP6vjgf7NfREpVJh1qxZOHDgAO644w7+/gMHDuC2227z+Jw5c+bg73//u9t9+/fvxxVXXDGqv2WhsSyLRx55BLt370Z5eTny8/NHdZ6TJ0+K+lr5ymQyobKyEvPmzfP4eKi9fq527NiBtLQ03HLLLX4/N1Rev9G+H86ZMwcHDhxwm4Hfv39/YL/0ByydmrAsy7IXL15kT548yT799NNsbGwse/LkSfbkyZNsT08Py7Isa7Va2alTp7ILFixg//vf/7IHDx5ks7Oz2bVr1/LnaGhoYIuKitjjx4/z9z3wwANsdnY2e/DgQfa///0ve8MNN7DTp09nrVZr0K/Rk4MHD7IA2K+//trj40VFRey7777LsizL9vT0sD/60Y/YTz75hK2trWUPHTrEzpkzh83KymINBkMwhz2iTz75hH3llVfYkydPsjU1Nexbb73FZmZmsrfeeqvbca7Xx7Is+/zzz7NarZZ999132YqKCnbFihVsRkaG5K6PZR07CsePH8/ecMMNbENDA9vU1MTfXIXKa1hWVsYqlUp227Zt7Ndff83+8Ic/ZGNiYtgLFy6wLMuy69evZ++9917++JqaGjY6Opp97LHH2K+//prdtm0bq1Qq2b/97W9iXcKwHnzwQVar1bLl5eVur1V/fz9/zNBrfPXVV9ndu3ezZ8+eZb/88kt2/fr1LAD2nXfeEeMShvWjH/2ILS8vZ2tqathjx46x3/rWt9i4uLiwef04NpuNzc3NZX/6059e9liovX49PT38Zx0A/j3z4sWLLMv69n547733uu3U/Pjjj1m5XM4+//zzbGVlJfv888+zCoWCPXbsWMDGTQFQgK1evZoFcNnt0KFD/DEXL15kb7nlFjYqKopNSkpi165dyxqNRv7x2tray54zMDDArl27lk1KSmKjoqLYb33rW2xdXV0Qr2x4K1asYEtLS70+DoDdsWMHy7Is29/fz950001samoqq1Qq2dzcXHb16tWSuh7OiRMn2NmzZ7NarZbVaDRsUVER+9RTT7F9fX1ux7leH8s6tn4+9dRTrE6nY9VqNXvttdeyFRUVQR69b3bs2OHxb3bo96NQeg1/+9vfsnl5eaxKpWK/8Y1vuG0RX716NXvddde5HV9eXs7OnDmTValU7Lhx49jXX389yCP2nbfXyvXvb+g1vvDCC2xhYSGr0WjYxMREdu7cuezevXuDP3gf3H333WxGRgarVCrZzMxMdunSpexXX33FPx7qrx9n3759LAC2qqrqssdC7fXjtukPva1evZplWd/eD6+77jr+eM7bb7/NFhUVsUqlki0uLg54wMewrDNbjBBCCCEkQtA2eEIIIYREHAqACCGEEBJxKAAihBBCSMShAIgQQgghEYcCIEIIIYREHAqACCGEEBJxKAAihBBCSMShAIgQQgghEYcCIEJIRCkvLwfDMGAYBrfffrtPz/nud7/LP+e9994TdHyEkOCgAIgQEpGqqqrwpz/9if+5t7cXy5cvR0ZGBpYvX46+vj7+sV/96ldoamoSYZSEEKFQAEQIiUhpaWlISEjgf96yZQtiY2Oxf/9+REdHY8uWLfxjWq0WOp0u+IMkhAiGAiBCSMjq7e3Ffffdh/j4eKSlpeHZZ59FZ2cnNBoN2tra/DpXd3c3Jk6ciJKSEhQXF0Ov1ws0akKIFCjEHgAhhIzWd7/7XVRUVODQoUNobW3F0qVLce7cOcyePRupqal+nWvt2rVYsGABfv7zn2P8+PE4ePCgQKMmhEgBBUCEkJDU3t6Od999F2+++SZmzZoFALjjjjuwc+dOvPrqq36fb9y4caiurkZrayvS09PBMEygh0wIkRBaAiOEhKRz586BZVnMmTOHv++qq64C4AiERkMmk0Gn01HwQ0gEoACIEBKS1Go1AEClUvH3paSkICcnB3l5eWINixASIigAIoSEpPz8fMhkMlRXV/P37d27F01NTTCbzSKOjBASCigAIoSEpISEBCxduhTPPfccBgYGUFFRgX/84x9ITk7GBx98IPbwCCESR0nQhJCQ9dvf/hZr1qxBdnY2GIbB5s2bkZaWhgcffBA1NTV4/PHHxR4iIUSiKAAihISstLQ0j60pli1bFvzBEEJCCi2BEUIiUnZ2NlasWOHTsQ888ABiY2MFHhEhJJgYlmVZsQdBCCHBMjAwgMbGRgBAbGysTy0uWltbYTAYAAAZGRmIiYkRdIyEEOFRAEQIIYSQiENLYIQQQgiJOBQAEUIIISTiUABECCGEkIhDARAhhBBCIg4FQIQQQgiJOBQAEUIIISTiUABECCGEkIhDARAhhBBCIs7/D9vv9PgIMVEnAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# single-layer coil, 4 windings, distance = 15mm, X offset = 5mm\n", - "x = list(range(-10, 11))\n", - "y = [\n", - " 57.9\n", - ",57.1\n", - ",56.8\n", - ",57.9\n", - ",57.2\n", - ",57.4\n", - ",57.7\n", - ",57.9\n", - ",57.9\n", - ",58.4\n", - ",57.7\n", - ",58.2\n", - ",57.7\n", - ",57.2\n", - ",58.0\n", - ",57.6\n", - ",57.4\n", - ",57.9\n", - ",57.3\n", - ",57.9\n", - ",57.0\n", - "]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "id": "02bb0999-3b9a-4238-afbb-85cb999071ea", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAGwCAYAAACtlb+kAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABJU0lEQVR4nO3deXxTZb4G8Cdpmq5putEl3UtZW9ayCFREQRABRbzuVFFnBIcWsQyjjt7rjKOD3usC44KO4wAOIrgAIipaVqmslq1lKQXa0oVSaGnSfUne+0dpoEIhpUlPcvJ8P598ZnpycvLLEcjT97y/8yqEEAJEREREMqaUugAiIiIiW2PgISIiItlj4CEiIiLZY+AhIiIi2WPgISIiItlj4CEiIiLZY+AhIiIi2VNJXYA9MJlMKCkpgUajgUKhkLocIiIisoAQAlVVVdDpdFAqrz2Gw8ADoKSkBBEREVKXQURERDegsLAQ4eHh19yHgQeARqMB0HLCfHx8JK6GiIiILGEwGBAREWH+Hr8WBh7AfBnLx8eHgYeIiMjBWDIdhZOWiYiISPYYeIiIiEj2GHiIiIhI9hh4iIiISPYYeIiIiEj2GHiIiIhI9hh4iIiISPYYeIiIiEj2GHiIiIhI9hh4iIiISPYYeIiIiEj2GHiIiIhI9hh4iIgIAGA0CdQ1GqUug8gmGHiIiAhCCDy5bC+GvrYRe/MrpC6HyOoYeIiICD/nnsfWnHOobmjGU5/+ivzzNVKXRGRVDDxERE5OCIG3f8oBAKhVSlyobcITS/eisrZR4sqIrIeBh4jIyW08WoaDRXp4uLrgm9mjEObrgVPna/DUfzLR0Mw5PSQPDDxERE7MZBJ46+LozoxR0egT6oN/zxgKjZsKe/Iq8MLXWRBCSFwlUecx8BARObEfsktxrLQKGjcVZo6OBQD0CtHg/UcGw0WpwOr9xXh38wmJqyTqPAYeIiInZTQJvJ3eMrrz5M0x8PVUm58b3bMb/nZ3AgDg7fTj+OZAsSQ1ElmLSuoCiIhIGt8cKMbJczXQerjiiaSYK55/eHgkCspr8NHPpzD/y0PQ+XpgaLR/l9Z4oqwKf1t/FGcN9VY5npurC/48sTeGxwZY5XjkOBh4iIicUJPRhEWbcgEAM2+JhY+761X3e+6O3igor8WGw6V46tNfseYPoxAd6NUlNX536Az+9NVB1Fj5ZoiLt51k4HFCDDxERE7o68wiFJTXItBbjRkjo9vdT6lU4J0HBuLMP3fiYJEejy/di9VPj4Sfl7rd13RWk9GE1384hk8y8gAAN8X64+kxcVAqOnfcUn095n91CLtPVaCh2Qg3lYsVqiVHwcBDRORkGpqN+MfF0Z2nx8TBU33trwIPtQs+fmwI7nl/B/LO12Dm8kz858lhNgkMZYZ6zF6xD3vzLwBoGX2aP74XVC6dn3IqhMAbG3JwvroB+woqMaI7R3mcCSctExE5mVV7C1Gir0ewjxseGR5p0WuCNO5t2tWft0G7+p68Ckx6NwN78y/A202FD6cn4oWJfawSdgBAoVDg5h6BAIDtueesckxyHAw8REROpK7RaG4zT7mtB9xdLR+l6RWiwQfTW9rV1+wvxj82WaddXQiBf20/hYc+3oVzVQ3oFazBupRRuCMhxCrHv1xSXEvgyThx3urHJvvGwENE5ESW7yrAuaoGhPl64IEhER1+/c09uuHVqS3t6u9sPI61+zvXrl7d0IyUFfvx6ndHYTQJ3D1QhzWzRyK2m3enjtuepIsjPFnFelyo4dIZzoSBh4jISdQ0NGPxtpMAgGfG9oBadWNfAQ8NizTfpPBPXx3CnrwbW139RFkV7n4vA99lnYGriwJ/vSseCx8YeN05RZ0R7OOOXsEaCAH8cpKjPM6EgYeIyEks3ZGPippGRAd4YtrgsE4d67k7emNiQggajSY89Z9fkdfB1dXXHyrBXe/9gpPnahDi446VT43AYyOjoVB0shXLAq2jPBm5DDzOhIGHiMgJ6Oua8NHF0Z1nb+/Z6YnASqUCb98/EAMifFF5cXV1Sy4RNRlNeOXbI0hZsR+1jUaMiA3A+jlJSIzy61Q9HZFknrh8nuuEOREGHiIiJ/BJRh4M9c3oGeyNyf11Vjmmh9oFHz+aiDBfj5Z29eusrl5mqMfDH+/Cv39pub/OrFu64z9PDkOgt5tV6rHU8Bh/qF2UKK6s6/DIFDkuBh4iIpmrqGnEvy/exO/ZcT3h0tk7+F0mSOOOJY9fbFfPb79dffepcnPLucZNhY+SE/H8xN5WaznvCE+1yjyixG4t58HAQ0Qkcx/9fBLVDc2I1/lgQrz1W717BrdtV29dsgJoaTn/+OdTePhfuy+1nKcm2aSOjrj8shY5BwYeIiIZK6uqx7Id+QCAeeN7QmnF0Z3LXd6uvnBjLtbsL0J1QzNmr9iH175vaTmferHlPKaL1uK6ltE9ugEAdp4sR5PRJHE11BW4tAQRkYwt3noS9U0mDIzwxa29gmz6Xg8Ni0R+eQ0+2nYKz32VhUW+ucgvr4WriwL/Pbkvkm+K6pIuLEvE63zg5+mKC7VNOFhYiSFdvAo8dT2O8BARyVRJZR0+23UaAPDH8b26JGw8N+FSu3p+eS1CfNyxauYIPDqia1rOLaVUKjAyjpe1nAkDDxGRTL235QQajSYMj/HHqLiuWSiztV19cv9QTO4fivVzkjA4sutazjvi5jiuq+VMeEmLiEiGCitq8cXeQgDAvC4a3WnloXbBew8P7rL3u1GtE5cPFulhqG+Cj7urxBWRLXGEh4hIhhZtykWzSeDmHoEYFsP5KVcT7ueJ2EAvGE0CO0+WS10O2RgDDxGRzJw8V43V+4oAtIzuUPu4zITzYOAhIpKZRRtzYRLAuD7BGBjhK3U5du3mi+3pnMcjfww8REQycqzUgG8PlQAA0m7vKXE19u+mWH+4KBXIL69FYUWt1OWQDTHwEBHJyDvpxyEEMKlfKPrqfKQux+5p3F0x6OIoGJeZkDcGHiIimcgq0uPHw2ehVADP3t5D6nIcBi9rOQcGHiIimXg7PQcAMHVgGOKCNBJX4zhaJy7/cqIcRtOVC5+SPPA+PEREFjp1rhpnDQ1WOZZSAcQEeiHIx90qx8ssuIAtOefgolRgzliO7nTEgHAtNO4q6OuakF2sxwBO9JYlBh4iouso1ddjwQ9H8c2BEqsfO9DbDQlhPkjQaZEQ5oN4nRbhfh4dvlFg6+jOfYnhiLaDxTkdicpFiZHdA/Dj4bPYnnuOgUemGHiIiNpR32TEJxl5eH/LCdQ2GqFQAN27ecMa9yxuMppwuqIW56sbsDXnHLbmXJo/4uOuQkKYFglhWsTrWkJQTKAXXNpZ6XzHyfP45UQ51C5KpHJ054Yk9eh2MfCcR8ptPIdyxMBDRPQbQgj8dOQsXvvuKE5fbFVOjPLDX6bEo1+41mrvU9doxLFSA7JLDDhcrMfhEgNySqtgqG/GjpPl2HHZ3X891S7oG+qDhDAt+upaRoR6BHtDpVTg7Z+OAwAeHBaBMF8Pq9XnTFrX1dp3+gJqGprh5cavR7nhf1Eisjvbc89h58ly3NkvFAlh1gsYlsg9W4VX1h8xr6Ad7OOGFyb2wd0DdVZfj8pD7YJBkX4YdNnimo3NJuSWVeFwsQHZJS0h6EiJAbWNRvxacAG/Flww76t2USK2mxeOlVbBTaXE7FvjrFqfM4kK8ES4nweKLtRhd145busdLHVJZGUMPERkN4wmgXfSj+O9LScAAB9sPYl4nQ8eHBqBuwaGQethu8Ud9XVNWLjxOD7dWQCjSUDtosTvR8fgD2PiuvS3fbVKiXidFvE6Le5HBICW85J3vhrZxQZkXxwJyi7Ro6q+GcdKqwAAj46IQrCVJkA7I4VCgZt7dMPne05je+55Bh4ZUgghnL4Hz2AwQKvVQq/Xw8eHN+oikkJFTSOeWbnfPLIyJMoPh4r0aDSaAABuKiXu7BeK+4dE4KZYf6uNthhNAl/8Woj/+zEHFTWNAIDb+wbjpUl9EBVgv5N/hRAorKhDdoke5dUNuG9IBNxdXaQuy6F9n3UGf/hsH3oEeSM97RapyyELdOT7myM8RCS5A4WV+MPyTJTo6+Hh6oLX7+2HuweG4UJNI9bsL8aqvYXIOVuFNfuLsWZ/MaIDPHHfkAj8V2J4p0Y1fs2vwMvrDuNwiQEAEBfkjf+Z3Beje3az1kezGYVCgcgAT0QGeEpdimyM7B4AhQLILavGGX0dQrWcDyUnHOEBR3iIpCKEwGe7T+OVb4+g0WhCTKAXPpyeiF4hmiv2O1ikx6q9p7HuQAlqGo0AABelArf26oYHhkbi1l7doHKx7F6qZ/R1eP2HY+Y2c427CnPH9cSjI6LgauExSJ7ufv8XHCysxP/9V3/cNyRC6nLoOjjCQ0R2r67RiJfWZuPrfUUAgAnxwfi/+wbAx/3KeToKhQIDI3wxMMIXL03qi++yzuCLvYX4teACNh4tw8ajZeimccN/JYbj/iERiGnnPjT1TUb8a/spvL/lJOqaWtrMHxwagXnjeyHQ282mn5ccw81xgThYWImME+cZeGSGIzzgCA9RVysor8Gs5ftw9IwBSgXwpzt6Y+bo2A7PyzlRVoUvfi3C15lFKL84/wYAhsf444GhEZiYEAoPtYu5zfzV746gsKIOgG3azMnx7TpVjgf/uQsBXmrsfXEclO3c+4jsQ0e+vxl4wMBD1JU2HjmLZ784gKr6ZgR6q/GPhwZhZPfATh2zsdmETUfPYtWvhfj5+Dm0LoekcVfh7oE65J+vNa+EHezjhj/f2Qd3DbB+mzk5vsZmEwa+8hNqG434bk4S4nUMxPaMl7SIyO78tuV8cKQvPngkESHazrdSq1VKTOwXion9QlFSWYevMouwam8hiivrsHzX6ZZ9JGozJ8eiVilxU2wANh8rQ0bueQYeGeHfeiKyud+2nM8YGY0/39kHapX1JwjrfD0wZ2wPpNwahx0ny7F6fxFclUr84dbudt1mTvYjKS4Qm4+VYXvuecy8pbvU5ZCVMPAQkU2113Jua0qlAkk9ApHUo3OXy8j5jO7Z8mdmT34F6puMvL+RTLD/kohsQgiB5bsKcN+HO1Cir0dsoBfWzh7VJWGHqDO6d/NGiI87GptN2JtfIXU5ZCUMPERkdXWNRsz78iBeWpuNJqPAhPhgfJMy6or76xDZI4VCYR4ZzLh4GZYcHwMPEVlVQXkN7vngF6zeVwylAnhhYm98OD0RmqvcX4fIXt18MfD8zMAjG5zDQ0RWY4uWcyIpjIpr+XN79IwB56oa0E3DG1M6Oo7wEJFVfJVZhN99+iuq6psxONIX61NvZtghhxXo7Ya+oS33ddlxkqM8ciBp4FmwYAGGDh0KjUaDoKAgTJ06FTk5OW32mTFjBhQKRZvHTTfd1GafhoYGpKamIjAwEF5eXrjrrrtQVFTUlR+FyKlV1jbi1e+OAAAeHh6JlU+NsMr9dYikZL6sdZyBRw4kDTzbtm3D7NmzsWvXLqSnp6O5uRnjx49HTU1Nm/3uuOMOnDlzxvz4/vvv2zw/d+5crFmzBitXrkRGRgaqq6sxefJkGI3Grvw4RE5r0aZcVNY2oWewN165K94m99ch6mo39+gGAMg4cQ5clMDxSTqHZ8OGDW1+XrJkCYKCgpCZmYnRo0ebt7u5uSEkJOSqx9Dr9fjkk0/wn//8B+PGjQMALF++HBEREdi4cSMmTJhguw9ARDhRVo3/7CwAAPz35L4Wr1hOZO+GRPvBTaXEWUMDTpRVo0cwuwwdmV39y6TX6wEA/v7+bbZv3boVQUFB6NmzJ37/+9+jrKzM/FxmZiaampowfvx48zadToeEhATs2LHjqu/T0NAAg8HQ5kFEN+a1746g2SQwrk+Q+TdiIjlwd3XBsJiW7yN2azk+uwk8QgikpaUhKSkJCQkJ5u0TJ07EZ599hs2bN+Ott97C3r17cdttt6GhoQEAUFpaCrVaDT8/vzbHCw4ORmlp6VXfa8GCBdBqteZHRESE7T4YkYxtzSnDlpxzUCkV+POdfaQuh8jqbjbfj+ecxJVQZ9lNW3pKSgoOHTqEjIyMNtsfeOAB8/9PSEjAkCFDEBUVhe+++w7Tpk1r93hCiHZXQn7hhReQlpZm/tlgMDD0EHVQs9GEV787CgB4bGQ0Yrt5S1wRkfUlxXUDcAy7TlWgodkINxWXmXBUdjHCk5qainXr1mHLli0IDw+/5r6hoaGIiopCbm4uACAkJASNjY24cOFCm/3KysoQHBx81WO4ubnBx8enzYOIOuaz3adxoqwafp6umDO2h9TlENlE7xANAr3VqGsyYl9BpdTlUCdIGniEEEhJScHq1auxefNmxMTEXPc15eXlKCwsRGhoKAAgMTERrq6uSE9PN+9z5swZZGdnY+TIkTarnciZVdY24p2NxwEAaeN7QevBuyiTPCmVCiRdvAlhxgle1nJkkgae2bNnY/ny5VixYgU0Gg1KS0tRWlqKuro6AEB1dTX++Mc/YufOncjPz8fWrVsxZcoUBAYG4p577gEAaLVaPPnkk5g3bx42bdqE/fv3Y/r06ejXr5+5a4uIrKu1Db1XsAYPDeXlYJK3pNb2dE5cdmiSzuFZvHgxAGDMmDFtti9ZsgQzZsyAi4sLsrKy8Omnn6KyshKhoaG49dZbsWrVKmg0l9oD33nnHahUKtx///2oq6vD2LFjsXTpUri48ForkbVd3ob+0uQ+bEMn2Wsd4TlUrMeFmkb4eaklrohuhELwbkowGAzQarXQ6/Wcz0N0HY8v2YMtOecwrk8Q/vXYUKnLIeoSt7+9Dbll1Xj/4cGY1D9U6nLooo58f/NXMyKyWGsbuquLAi9O6it1OURd5vK7LpNjYuAhIou0aUMfEY2YQC+JKyLqOpevq8ULI46JgYeILNLahu7vpUYq29DJyQyP9YeriwLFlXXIL6+Vuhy6AQw8RHRdbdrQb+/JNnRyOp5qFRKjWu7oz7suOyYGHiK6rsvb0B9kGzo5qdZ5PFxXyzEx8BDRNXE1dKIWre3pu06Wo9lokrga6ij+y0VE13RpNfRgJF2cuEnkjBLCtPD1dEVVQzMOFlVKXQ51EAMPEbWrbRs6V0Mn5+aiVGBU90vdWuRYGHiI6Kqa2IZOdIXWUc6MEww8joaBh4iuagXb0Imu0DqP50BhJQz1TRJXQx3BwENEV2AbOtHVRfh7IibQC0aTwK6T5VKXQx3AwENEV2AbOlH7Wkd5trM93aEw8BBRG5e3of/PFLahE/0W5/E4JpXUBRCRfbm8DX1UHNvQiX5rRPcAuCgVyDtfgw+3nYSHq0unj+ntpkJfnQ/igrzhyl8ybIKBh4jM2IZOdH0+7q4YFOGLXwsu4PUfjln12GqVEr1DNIjXaZEQ5oN4nRa9QzRwt0KocnYMPEQEoG0b+oyRbEMnupaXJvfF0l/y0GSyzsrp56oacLTEgKqGZhwq0uNQkd78nItSgR5B3m1CUF+dD7zd+BXeEQrBde5hMBig1Wqh1+vh4+MjdTlEkli2Ix8vrzsMfy81tvxxDDuziLqYySRQeKEW2cUGZJfokV2sx+ESAypqGq/YV6EAYgK8EB+mRbzOBwm6lv/181JLULl0OvL9zXhIRG3a0OeNZxs6kRSUSgWiArwQFeCFSf1DAQBCCJQa6ltC0MUAdLhEjzP6epw6X4NT52vw7cES8zHCfD1w35BwzB3XU6qPYbcYeIgICze2tKH3DtHggSFsQyeyFwqFAqFaD4RqPXB732Dz9vPVDebwc/jiiFBBeS2KK+uwcGMuJvcPRVyQRsLK7Q8DD5GTO1FWhf/s4mroRI4k0NsNt/Tshlt6djNvM9Q34ZnP92NLzjks21GAv01NkLBC+8N/2Yic3GvfHYXRJHB7X7ahEzkyH3dX/P7mWADA1/uKuPTFbzDwEDmx7bnnzG3of76TbehEjm5E9wD0DPZGbaMRX/5aJHU5doWBh8hJCSHw5o85AIDkm9iGTiQHCoUCM0bGAGjpvDRaqW1eDhh4iJzUxqNlOFikh6faBX+4tbvU5RCRlUwdpIPWwxWnK2qxNadM6nLsBgMPkRMymQTe+qlldOfxUdEI9HaTuCIishZPtQoPXFz0d+mOfGmLsSMMPERO6IfsUhwrrYLGTWWe5EhE8pF8UxSUipYV3U+UVUldjl1g4CFyMkaTwNvpLaM7v7s5Fr6eznVnViJnEOHviXF9Wu7bs2xHgcTV2AcGHiIn882BYpw8VwNfT1c8kRQtdTlEZCMzRkUDaGlR19exRZ2Bh8iJNBlNWLQpFwAwc3R3aNy5hASRXI2IDUCvYM3FFvVCqcuRHAMPkRP5OrMIBeW1CPRW47GRUVKXQ0Q2pFAo8NjIaADApzsLnL5FnYGHyEk0NBvxj4ujO38YEwdPNVeWIZI7tqhfwsBD5CRW7ilEib4eIT7ueHh4pNTlEFEX8FSr8CBb1AEw8BA5hbpGI97bcgIAkHJbHNxdXSSuiIi6ynS2qANg4CFyCst3FeBcVQPC/Txw/5AIqcshoi7EFvUWDDxEMlfd0IzF204CAOaM7QG1in/tiZwNW9QZeIhkb9mOfFTUNCIm0AvTBoVJXQ4RSYAt6gw8RLKmr2vCRxdHd+aO6wGVC//KEzkjtqgz8BDJ2ifbT8FQ34yewd6Y0l8ndTlEJCFnb1Fn4CGSqYqaRnySkQcASLu9J5RKhcQVEZGUnL1FnYGHSKY++vkkahqNiNf5YEJ8iNTlEJEduLxFPfesc7WoM/AQyVBZVT2WXfwNbt74nlAoOLpDRL9pUd+ZL20xXYyBh0iGPthyEvVNJgyK9MWtvYKkLoeI7Ehri/rqfcVO1aLOwEPURWoamnG+usHm71NSWYcVu08DAP44vhdHd4ioDWdtUWfgIeoCJpPA1Pd/wcgFm/HZ7gIIYbuW0Pe2nECj0YSbYv0xsnuAzd6HiByTs7aoM/AQdYF9py8gt6wajUYTXlyTjT9+eQj1TUarv8/p8lp8sbflN7Z5HN0honZc3qK+5ZhztKgz8BB1gW8PlgAAYgK9oFS03N592gc7cLq81qrvs2hTLppNAqN7dsPQaH+rHpuI5OPyFnVnmbzMwENkY0aTwHdZpQCA/57cB8ufHI4ALzWOnDFg8rvbsenoWau8z8lz1VizvwgAMO/2nlY5JhHJl7O1qDPwENnY7lPlOF/dAK2HK5LiumFkXCDWz0nCoEhfGOqb8eSyX/HWTzmdvo6+cGMuTAIY1ycYAyJ8rVM8EcmWs7WoM/AQ2di3h1ouZ01MCDGvVB6q9cCqp0bgsRFRAIB3N5/AjCV7UFHTeEPvcazUYL5slsbRHSKykHkV9Uz5t6gz8BDZUJPRhB+yWy5nTRnQdi0rtUqJv96dgIUPDISHqwu2557HlHczcLCwssPv8076cQDApP6h6Kvz6XTdROQcWlvU65rk36LOwENkQxknzqOytgmB3m64KfbqLeJTB4VhzeyRiAn0QnFlHe77cGeHWtezivT48fBZKBXAs+N6WLN8IpI5hUJhHuWRe4s6Aw+RDbVeZrqzXwhcrrF4Z+8QH3yTMgoT4oM73Lr+VnoOAGDqwDDEBWmsUzgROY2pA8OcokWdgYfIRuqbjPjpcEsH1m8vZ12Nj7srPpyeiOcn9ja3rt/zwQ4UlNe0+5rMggpszTkHF6UCz3B0h4hugIfaxSlWUWfgIbKRrTnnUN3QjFCtOxIj/Sx6jUKhwKxbumP574Yj0FuNo2cMmPxuRrut62/91DJ3577EcEQFeFmtdiJyLq0t6hkn5NuizsBDZCOt3VmT+4dCeY3LWVczsnsg1qfejMGRvqi62Lr+5o9tW9d3nDiPHSfLoXZRInUsR3eI6MZF+Hvi9r7yblFn4CGygdrGZmw+2nIt3JLLWVcTonXHyqdGYMbFNW/e23KpdV0IgbcudmY9NCwCYb4eVqmbiJxX6/pacm1RZ+AhsoGNR8tQ12REpL8n+oVpb/g4apUSf7krHosevNS6Pvkf27F420lkFlyAm0qJ2bfGWbFyInJWcm9RZ+AhsoHW7qwpA0KtsoDn3QPDsHb2KMQGeqFEX4//3dDSmfXoiCgE+bh3+vhERHJvUWfgIbIyfV0TtuWcA3Djl7OupleIxty6DgBeahfMuqW71Y5PRCTnFnUGHiIr++lwKRqNJvQI8kavYOveF0dzsXX940eHYNXMEQjwdrPq8YnIucm5RZ2Bh8jK1h86A6BldMcal7N+S6FQ4Pa+wUjoxNwgIqL2yLVFnYGHyIoqahqRceI8gJZ2dCIiR3N5i/obG45ZdMd3RyBp4FmwYAGGDh0KjUaDoKAgTJ06FTk5Oe3uP3PmTCgUCixcuLDN9tLSUiQnJyMkJAReXl4YPHgwvvrqKxtXT3SlH7LPwGgSiNf5ILabt9TlEBHdkKdGd4dS0dJxeu/iHSisqJW6pE6TNPBs27YNs2fPxq5du5Ceno7m5maMHz8eNTVX3kp/7dq12L17N3S6KyeBJicnIycnB+vWrUNWVhamTZuGBx54APv37++Kj0Fkdqk7y3qTlYmIulpilB8+fWI4/L3UOFzScsd3R5/ELGng2bBhA2bMmIH4+HgMGDAAS5YswenTp5GZmdlmv+LiYqSkpOCzzz6Dq6vrFcfZuXMnUlNTMWzYMMTGxuKll16Cr68v9u3b11UfhQhnDfXYnVcBAJjUj5eziMixJfUIxPrUJAyI8IW+rglPLNuLt9OPO2y7ul3N4dHr9QAAf39/8zaTyYTk5GTMnz8f8fHxV31dUlISVq1ahYqKCphMJqxcuRINDQ0YM2bMVfdvaGiAwWBo8yDqrO+zzkAIYHCkLyL8PaUuh4io03S+Hvhi5k2YflMkhAD+sSkXTyzdiws1jVKX1mF2E3iEEEhLS0NSUhISEhLM29944w2oVCrMmTOn3deuWrUKzc3NCAgIgJubG2bOnIk1a9age/er36NkwYIF0Gq15kdERITVPw85H17OIiI5clO54NWp/fD2/QPg7qrEtuPnMPndDGQV6aUurUPsJvCkpKTg0KFD+Pzzz83bMjMzsWjRIixduvSa7b0vvfQSLly4gI0bN+LXX39FWloa7rvvPmRlZV11/xdeeAF6vd78KCyU3y20qWsVVtRi3+lKKBTAnbycRUQyNG1wOFY/PQpRAZ4orqzDvYt3YOWe01KXZTGFEELyi3GpqalYu3Ytfv75Z8TExJi3L1y4EGlpaVAqL+Uyo9EIpVKJiIgI5Ofn4+TJk4iLi0N2dnabS17jxo1DXFwcPvzww+u+v8FggFarhV6vh4+Pj3U/HDmFD7edxOs/HMNNsf5Y+dQIqcshIrIZfV0T5n1xABsvLpB8/5BwvHJ3AtxdXbq8lo58f0s6wiOEQEpKClavXo3Nmze3CTtAS/fVoUOHcODAAfNDp9Nh/vz5+PHHHwEAtbUtrXKXhyIAcHFxgclk6poPQk5v/SFeziIi56D1cMU/k4dg/oReUCqAL34tcojWdZWUbz579mysWLEC33zzDTQaDUpLSwEAWq0WHh4eCAgIQEBAQJvXuLq6IiQkBL169QIA9O7dG3FxcZg5cybefPNNBAQEYO3atUhPT8f69eu7/DOR8zl1rhrZxQa4KBWYmMDLWUQkf0qlArNvjcOAcF/MWbnf3Lq+8IGBuLV3kNTlXZWkIzyLFy+GXq/HmDFjEBoaan6sWrXK4mO4urri+++/R7du3TBlyhT0798fn376KZYtW4Y777zThtUTtWhdSiIpLhD+XmqJqyEi6jqO1LpuF3N4pMY5PHSjhBC4/Z2fcaKsGv/3X/1x3xB2/BGR82loNuJv649g+a6WScy39OyGhQ8MhJ+Nfwl0mDk8RI4u52wVTpRVQ+2ixPj4EKnLISKSRHut64eKKqUuzYyBh6gT1h9suZx1S69u0HpceRdwIiJn8tvW9f9avNNuWtcZeIhukBAC37I7i4iojb46H6xLScK4PsFoNJrw/Oos/Omrg5Kvus7AQ3SDsor1KCivhYerC8b1sc+uBCIiKbS0rie2aV1PWSHt+pYWtaWnpaV1+MAvvfRSmzWxiOSmdSmJ2/oEwVMt6R0eiIjszuWt6/O+PICnx8RJWo9FXVpKpRIjRoyAWm3ZbOuMjAzk5OQgNja20wV2BXZpUUeZTAKj3tiMM/p6fDg9EXckcMIyEVF76puMNrkTc0e+vy3+tXTNmjUICrJs2F6j0Vh6WCKHtO/0BZzR18PbTYUxvbpJXQ4RkV2TYtmJ37JoDs+SJUug1WotPuhHH32E4ODgGy6KyN61Xs4aHx9sF3+RiYjo2iwa4Xnsscc6dNCHH374hoohcgTNRhO+y2ppR2d3FhGRY2CXFlEH7c6rwPnqRvh6uiIpLlDqcoiIyAIWz+Hx8/ODQqG47n4VFRWdKojI3rWujD4xIQSuLvydgYjIEVgceBYuXGj+/0IIPP3003jllVcsnshMJAeNzSb8kF0KAJjSn5eziIgchcWB57fzeFJTU3Hvvfc6TOs5kTX8cuI8KmubEOjthuGxAVKXQ0REFuJ4PFEHtHZnTe4fChfl9S/xEhGRfWDgIbJQfZMRPx05C6Al8BARkeNg4CGy0Nacc6huaIZO647BkX5Sl0NERB1g8Rye366n1djYiNdee+2KGxK+/fbb1qmMyM60row+eYAOSl7OIiJyKBYHnv3797f5eeTIkTh16lSbbZa0rRM5opqGZmw62nI5i91ZRESOx+LAs2XLFlvWQWTXNh49i/omE6IDPJEQxgVmiYgcDefwEFng24MtS0lM7q/jSCYRkQOyeISnldFoxNKlS7Fp0yaUlZXBZDK1eX7z5s1WK47IHujrmvDz8XMAuHYWEZGj6nDgeeaZZ7B06VJMmjQJCQkJ/G2XZO+nw6VoNJrQM9gbvUI0UpdDREQ3oMOBZ+XKlfjiiy9w55132qIeIrvz7aGLK6NzsjIRkcPq8BwetVqNuLg4W9RCZHfKqxvwy4nzAFra0YmIyDF1OPDMmzcPixYtghDCFvUQ2ZUfskthNAkkhPkgJtBL6nKIiOgGdfiSVkZGBrZs2YIffvgB8fHxcHV1bfP86tWrrVYckZSEEFi59zSAlu4sIiJyXB0OPL6+vrjnnntsUQuRXfnpyFlkFxvgqXbBfYnhUpdDRESd0OHAs2TJElvUQWRXTCaBt386DgB4YlQMArzdJK6IiIg6gzceJLqK77LOIOdsFTTuKvz+5lipyyEiok6yKPAMHjwYFy5csPigSUlJKC4uvuGiiKTUbDThnY0tozu/vzkWWk/X67yCiIjsnUWXtA4cOICDBw/C39/fooMeOHAADQ0NnSqMSCprD5Tg1Lka+Hm64vFR0VKXQ0REVmDxHJ6xY8da3IrOuy+To2oymrBoU8vozsxbukPjztEdIiI5sCjw5OXldfjA4eHsaiHH8+WvRSisqEOgtxseHREldTlERGQlFgWeqCj+w0/yV99kxLubcwEAs2/tDk91h5sYiYjITrFLi+iilXtO44y+HqFadzw0LFLqcoiIyIoYeIgA1DUa8d6WkwCAlNvi4O7qInFFRERkTQw8RAA+3ZmP89UNiPD3wH2JEVKXQ0REVsbAQ06vuqEZH25rGd15ZmxPqFX8a0FEJDedmpVZXV0Nk8nUZpuPj0+nCiLqaksy8nChtgmxgV6YOpCLhBIRyVGHf5XNy8vDpEmT4OXlBa1WCz8/P/j5+cHX1xd+fn62qJHIZvS1Tfjn9lMAgLm394TKhaM7RERy1OERnkceeQQA8O9//xvBwcG8ySA5tI+3n0JVfTN6BWswuV+o1OUQEZGNdDjwHDp0CJmZmejVq5ct6iHqMuXVDVjyS8tNNZ+9vSeUSoZ3IiK56vD4/dChQ1FYWGiLWoi61Ec/n0JNoxEJYT6YEB8sdTlERGRDHR7h+de//oVZs2ahuLgYCQkJcHVtu9ZQ//79rVYcka2UGeqxbEc+AGDe+F68NEtEJHMdDjznzp3DyZMn8fjjj5u3KRQKCCGgUChgNBqtWiCRLXyw9SQamk0YHOmLMT27SV0OERHZWIcDzxNPPIFBgwbh888/56RlckjFlXVYsfs0AOCPHN0hInIKHQ48BQUFWLduHeLi4mxRD5HNvbc5F41GE0bEBmBkXKDU5RARURfo8KTl2267DQcPHrRFLUQ2V1Begy9/LQIAzBvfU+JqiIioq3R4hGfKlCl49tlnkZWVhX79+l0xafmuu+6yWnFE1rZoUy6aTQK39OyGIdH+UpdDRERdRCGEEB15gVLZ/qCQo05aNhgM0Gq10Ov1XBpDxk6UVWH8Oz/DJIB1KaPQP9xX6pKIiKgTOvL93eERnt+unUXkKN7ZmAuTAMb3DWbYISJyMjZbOKhfv368QSHZjaNnDPju0BkALXdVJiIi52KzwJOfn4+mpiZbHZ6oQ95OPw4AmNw/FH1CedmSiMjZcGlokr2DhZVIP3IWSgUwdxxHd4iInBEDD8le6+jO1EFhiAvylrgaIiKSAgMPydre/ApsO34OKqUCz4ztIXU5REQkEQYekrW3fsoBANw3JAJRAV4SV0NERFJh4CHZ2nHiPHadqoDaRYnU27gUChGRM7Na4CksLMQTTzxh/vmjjz5CcHCwtQ5P1CFCCLx5cXTn4eGR0Pl6SFwRERFJyWqBp6KiAsuWLTP//PDDD8PLi5cQSBpbc85h3+lKuLsq8Ycx3aUuh4iIJMZLWiQ7Qgi8ld4yuvPYiGgE+bhLXBEREUmtw0tLENkbk0ngdEUtskv0OFxiwP7TF5BdbICX2gUzb+HoDhERSTzCs2DBAgwdOhQajQZBQUGYOnUqcnJy2t1/5syZUCgUWLhw4RXP7dy5E7fddhu8vLzg6+uLMWPGoK6uzobVkxSajSYcP1uF1fuK8Mq3R/DARzsx4K8/YcybW5GyYj8Wbz2JXacqAABzxvaAv5da4oqJiMgeWDzCM23atGs+X1lZ2eE337ZtG2bPno2hQ4eiubkZL774IsaPH48jR45cMf9n7dq12L17N3Q63RXH2blzJ+644w688MILePfdd6FWq3Hw4MFrruxO9q+h2Yjcs9XILtYju0SP7GIDjpUaUN905QK2apUSfUI0iA/TIl7ngwHhvkgI00pQNRER2SOLA49We+0vD61Wi0cffbRDb75hw4Y2Py9ZsgRBQUHIzMzE6NGjzduLi4uRkpKCH3/8EZMmTbriOM8++yzmzJmD559/3rytRw/eZM7RHC7RI7PgQkvAKTYgt6wKTUZxxX5eahf01fkgXqdFQpgWCWE+6N7NG64uDLhERHR1FgeeJUuW2LIOAIBerwcA+Pv7m7eZTCYkJydj/vz5iI+Pv+I1ZWVl2L17Nx555BGMHDkSJ0+eRO/evfHaa68hKSnpqu/T0NCAhoYG888Gg8HKn4Q6orHZhL9/fxRLd+Rf8ZyvpysSdC2jNvFhWiTofBAd4AWlUtH1hRIRkcOym0nLQgikpaUhKSkJCQkJ5u1vvPEGVCoV5syZc9XXnTp1CgDwl7/8BW+++SYGDhyITz/9FGPHjkV2dvZVR3oWLFiAv/71r7b5INQhpfp6zF6xD5kFFwAAt/TshgHhWvOlqTBfDygUDDdERNQ5dhN4UlJScOjQIWRkZJi3ZWZmYtGiRdi3b1+7X3omU8t8jpkzZ+Lxxx8HAAwaNAibNm3Cv//9byxYsOCK17zwwgtIS0sz/2wwGBAREWHNj0MW2HHyPOZ8vh/nqxuhcVfhnfsHYlxf3qySiIiszy4CT2pqKtatW4eff/4Z4eHh5u3bt29HWVkZIiMjzduMRiPmzZuHhQsXIj8/H6GhoQCAvn37tjlmnz59cPr06au+n5ubG9zc3GzwScgSQgh89PMp/O+GYzAJoHeIBh9OT0R0IG9USUREtiFp4BFCIDU1FWvWrMHWrVsRExPT5vnk5GSMGzeuzbYJEyYgOTnZPJoTHR0NnU53RTv78ePHMXHiRNt+AOqwqvomzP/yEDYcLgUATBschtem9oOH2kXiyoiISM4kDTyzZ8/GihUr8M0330Cj0aC0tOVLUKvVwsPDAwEBAQgICGjzGldXV4SEhKBXr14AAIVCgfnz5+Pll1/GgAEDMHDgQCxbtgzHjh3DV1991eWfidp3/GwVZv0nE6fO18DVRYGXp8TjkeGRnKNDREQ2J2ngWbx4MQBgzJgxbbYvWbIEM2bMsPg4c+fORX19PZ599llUVFRgwIABSE9PR/fuvMuuvfjmQDGe/zoLdU1G6LTu+GB6IgZG+EpdFhEROQmFEOLKG504GYPBAK1WC71eDx8fH6nLkZXftpwnxQXiHw8N4h2QiYio0zry/W0Xk5ZJnkr19fjDZ5nYd7oSAJByaxyevb0nXHgPHSIi6mIMPGQTbDknIiJ7wsBDVsWWcyIiskcMPGQ1hvomzP/yIH48fBYAW86JiMh+MPCQVeSUVmHW8kzkna+B2kWJ/5nSly3nRERkNxh4qNPYck5ERPaOgYdumBACf//+KD7engeALedERGS/GHjohu07fcEcdthyTkRE9oyBh27Ykl/yAQD3JYbjjxN6SVsMERHRNSilLoAcU6m+HhuyW9Y+mzEqWtpiiIiIroOBh27IZ7sL0GwSGBbtj3idVupyiIiIromBhzqsvsmIFbtPA+DoDhEROQYGHuqw9YfOoLymEaFad4znchFEROQAGHioQ4QQWHZx5fPkEVFQufCPEBER2T9+W1GH7Dt9AVnFeqhVSjw4NFLqcoiIiCzCwEMd0tqKPnWgjjcYJCIih8HAQxYr1dfjh4ut6I+NjJa2GCIiog5g4CGLfba7AEaTwLAYtqITEZFjYeAhi7RpRefoDhERORgGHrIIW9GJiMiRMfDQdbEVnYiIHB2/uei6WlvR3diKTkREDoqBh66rtRX9braiExGRg2LgoWtiKzoREckBAw9dE1vRiYhIDhh4qF2Xt6I/ztEdIiJyYAw81K7WVnSd1h23sxWdiIgcGAMPXZUQAkt35AEAprMVnYiIHBy/xeiq9p2+gOxiA1vRiYhIFhh46KourYoexlZ0IiJyeAw8dIUz+jq2ohMRkaww8NAVPtt12tyK3lfnI3U5REREncbAQ23UNxnx+R62ohMRkbww8FAbbEUnIiI5YuAhMyEElvzCVnQiIpIffqORWWbBBRwuYSs6ERHJDwMPmS3dkQ+ArehERCQ/DDwEgK3oREQkbww8BICt6EREJG8MPNSyKjpb0YmISMYYeAjrD51BBVvRiYhIxhh4nBxb0YmIyBnw283JsRWdiIicAQOPk1vCVnQiInICDDxO7Iy+DhvYik5ERE6AgceJsRWdiIicBQOPk2IrOhERORMGHif17cEStqITEZHTYOBxQkII87pZySOi2YpORESyx286J9S2FT1C6nKIiIhsjoHHCV3eiu7HVnQiInICDDxOprHZhE1HzwIApt8UJXE1REREXYOBx8lkFetR32SCn6cr4tmKTkREToKBx8nszisHAAyL8YdSqZC4GiIioq7BwONkdp+qAAAMjwmQuBIiIqKuw8DjRJqNJmQWXADQMsJDRETkLBh4nMiRMwZUNzRD465Cn1DO3yEiIufBwONEWi9nDYv2hwvn7xARkRNh4HEiu/MuBh5eziIiIifDwOMkTCaBvfkXJyzHcsIyERE5FwYeJ3GstAr6uiZ4qV2QwPvvEBGRk2HgcRKt999JjPbnYqFEROR0JP3mW7BgAYYOHQqNRoOgoCBMnToVOTk57e4/c+ZMKBQKLFy48KrPCyEwceJEKBQKrF271jZFO6g9ea333+H8HSIicj6SBp5t27Zh9uzZ2LVrF9LT09Hc3Izx48ejpqbmin3Xrl2L3bt3Q6fTtXu8hQsXQqFg99FvCSEYeIiIyKmppHzzDRs2tPl5yZIlCAoKQmZmJkaPHm3eXlxcjJSUFPz444+YNGnSVY918OBBvP3229i7dy9CQ0NtWrejOVFWjfKaRri7KtE/3FfqcoiIiLqcpIHnt/R6PQDA3//SKITJZEJycjLmz5+P+Pj4q76utrYWDz30EN577z2EhIRc930aGhrQ0NBg/tlgMHSycvvW2o4+ONIPahXn7xARkfOxm28/IQTS0tKQlJSEhIQE8/Y33ngDKpUKc+bMafe1zz77LEaOHIm7777bovdasGABtFqt+REREdHp+u0Z779DRETOzm5GeFJSUnDo0CFkZGSYt2VmZmLRokXYt29fu3Nz1q1bh82bN2P//v0Wv9cLL7yAtLQ0888Gg0G2oUcIgd2nWjq0uGAoERE5K7sY4UlNTcW6deuwZcsWhIeHm7dv374dZWVliIyMhEqlgkqlQkFBAebNm4fo6GgAwObNm3Hy5En4+vqa9wGAe++9F2PGjLnq+7m5ucHHx6fNQ67yy2tRVtUAtYsSgyJ9pS6HiIhIEpKO8AghkJqaijVr1mDr1q2IiYlp83xycjLGjRvXZtuECROQnJyMxx9/HADw/PPP43e/+12bffr164d33nkHU6ZMse0HcAB7Lt5/Z0CEFu6uLhJXQ0REJA1JA8/s2bOxYsUKfPPNN9BoNCgtLQUAaLVaeHh4ICAgAAEBbS/DuLq6IiQkBL169QIAhISEXHWicmRk5BUByhm1LhjKy1lEROTMJL2ktXjxYuj1eowZMwahoaHmx6pVq6QsS1ZaJywPj+WEZSIicl6SX9LqqPz8fJscV46KLtSiuLIOKqUCiVF+UpdDREQkGbuYtEy20Xo5KyFMC0+13TTkERERdTkGHhlrXTCUl7OIiMjZMfDIWOv8nZs4YZmIiJwcA49MlerrUVBeC6UCSIzm/B0iInJuDDwy1Xo5q6/OBz7urhJXQ0REJC0GHpkyt6PzchYREREDj1ztMQceTlgmIiJi4JGh89UNOFFWDQAYGs3AQ0RExMAjQ62jO71DNPDzUktcDRERkfQYeGRo96mL99/h5SwiIiIADDyy1DpheRgnLBMREQFg4JGdytpG5JytAgAM4wgPERERAAYe2dmTVwEhgO7dvNBN4yZ1OURERHaBgUdmzO3osbycRURE1IqBR2Z28/47REREV2DgkRFDfRMOl+gB8A7LREREl2PgkZHM/AswCSAqwBMhWnepyyEiIrIbDDwyYm5H592ViYiI2mDgkZHWFdI5YZmIiKgtBh6ZqG1sRlZR6/wdjvAQERFdjoHHxgoralHfZLT5++wrqESzSSDM1wMR/p42fz8iIiJHwsBjQx//fApj39qGTzLybP5erZezeHdlIiKiKzHw2FA3jRsajSZ8sOUEygz1Nn2v3ad4/x0iIqL2MPDY0F0DdBgY4YuaRiPe/CnHZu9T32TEgcJKAJywTEREdDUMPDakVCrwP1P6AgC+zCxCdrHeJu9zoLASjUYTumncEB3A+TtERES/xcBjY4Mj/TB1oA5CAK98ewRCCKu/x+WXsxQKhdWPT0RE5OgYeLrAn+7oDXdXJfbkV+CH7FKrH5/33yEiIro2Bp4uoPP1wMzR3QEAf//+qFXb1BubTdh3+gIA4CZOWCYiIroqBp4uMuuW7gjVuqPoQp1V29SziitR32SCv5cacUHeVjsuERGRnDDwdBEPtQueu6M3AFi1TX3XqUvrZ3H+DhER0dUx8HQhW7Spty4YOjyWl7OIiIjaw8DThazdpt5sNCEz/+IID+fvEBERtYuBp4tZs039cIkBNY1G+Lir0DvEx4pVEhERyQsDjwSs1aZ++fpZLkrO3yEiImoPA48EdL4emHVL59vUL91wkPffISIiuhYGHonMHN25NnWjSWAP5+8QERFZhIFHIp1tUz9WakBVfTO83VSI13H+DhER0bUw8Ejo7oE6DIpsaVP/vx871qbeejkrMcoPKhf+ZyQiIroWflNKSKFQ4L8nt7Spf7WvCFlFlrep7+H9d4iIiCzGwCOxy9vU/7besjZ1IS7N3xnO+TtERETXxcBjB56b2LE29dyyalTUNMLdVYl+Yb62L5CIiMjBMfDYgVBtx9rUd59quf9OYpQf1Cr+JyQiIroeflvaiY60qbeunzUsmvffISIisgQDj53wULvg+YnXb1MXQnDBUCIiog5i4LEjdw24fpt63vkanKtqgFqlxMAI364tkIiIyEEx8NgRhUKB/7lOm3prO/rACF+4u7p0aX1ERESOioHHzgyK9MM9g8LabVM3X85iOzoREZHFGHjs0J/u6GVuU/8+61KbuhDC3KHFBUOJiIgsx8Bjh9prUy+6UIcSfT1USgUGR/lKWCEREZFjYeCxU61t6sWVl9rUWy9n9QvXwlOtkrI8IiIih8LAY6cub1N//2KbOi9nERER3RgGHjvW2qZee7FNnfffISIiujEMPHbs8jb1LzOLcLqiFkoFMCTKT+LKiIiIHAsDj51rbVNvFa/TQuPuKmFFREREjoeBxwG0tqkDvP8OERHRjWDgcQChWg+8PCUeEf4euG9IhNTlEBERORz2NjuIh4ZF4qFhkVKXQURE5JA4wkNERESyx8BDREREssfAQ0RERLLHwENERESyx8BDREREsidp4FmwYAGGDh0KjUaDoKAgTJ06FTk5Oe3uP3PmTCgUCixcuNC8raKiAqmpqejVqxc8PT0RGRmJOXPmQK/Xd8EnICIiIkcgaeDZtm0bZs+ejV27diE9PR3Nzc0YP348ampqrth37dq12L17N3Q6XZvtJSUlKCkpwZtvvomsrCwsXboUGzZswJNPPtlVH4OIiIjsnEIIIaQuotW5c+cQFBSEbdu2YfTo0ebtxcXFGD58OH788UdMmjQJc+fOxdy5c9s9zpdffonp06ejpqYGKtX1bzVkMBig1Wqh1+vh4+NjjY9CRERENtaR72+7uvFg62Uof/9LyyeYTCYkJydj/vz5iI+Pt/g4Pj4+7YadhoYGNDQ0mH82GAydqJqIiIjsnd1MWhZCIC0tDUlJSUhISDBvf+ONN6BSqTBnzhyLjlNeXo6//e1vmDlzZrv7LFiwAFqt1vyIiOByDURERHJmN4EnJSUFhw4dwueff27elpmZiUWLFmHp0qVQKBTXPYbBYMCkSZPQt29fvPzyy+3u98ILL0Cv15sfhYWFVvkMREREZJ/sIvCkpqZi3bp12LJlC8LDw83bt2/fjrKyMkRGRkKlUkGlUqGgoADz5s1DdHR0m2NUVVXhjjvugLe3N9asWQNXV9d238/NzQ0+Pj5tHkRERCRfks7hEUIgNTUVa9aswdatWxETE9Pm+eTkZIwbN67NtgkTJiA5ORmPP/64eZvBYMCECRPg5uaGdevWwd3dvUvqJyIiIscgaeCZPXs2VqxYgW+++QYajQalpaUAAK1WCw8PDwQEBCAgIKDNa1xdXRESEoJevXoBaBnZGT9+PGpra7F8+XIYDAbzJORu3brBxcWlaz8UERER2R1JA8/ixYsBAGPGjGmzfcmSJZgxY4ZFx8jMzMTu3bsBAHFxcW2ey8vLu+LS19W0duazW4uIiMhxtH5vW3KHHbu6D49UioqK2KlFRETkoAoLC9vMAb4aBh603OunpKQEGo3Gom6wjjAYDIiIiEBhYSEnR18Hz5XleK4sx3NlOZ4ry/FcWc6W50oIgaqqKuh0OiiV1+7DsqsbD0pFqVReNxl2FrvBLMdzZTmeK8vxXFmO58pyPFeWs9W50mq1Fu1nF23pRERERLbEwENERESyx8BjY25ubnj55Zfh5uYmdSl2j+fKcjxXluO5shzPleV4rixnL+eKk5aJiIhI9jjCQ0RERLLHwENERESyx8BDREREssfAQ0RERLLHwGNDH3zwAWJiYuDu7o7ExERs375d6pIkt2DBAgwdOhQajQZBQUGYOnUqcnJy2uwjhMBf/vIX6HQ6eHh4YMyYMTh8+LBEFduPBQsWQKFQYO7cueZtPFeXFBcXY/r06QgICICnpycGDhyIzMxM8/M8Vy2am5vx0ksvISYmBh4eHoiNjcUrr7wCk8lk3seZz9XPP/+MKVOmQKfTQaFQYO3atW2et+TcNDQ0IDU1FYGBgfDy8sJdd92FoqKiLvwUXeNa56qpqQnPPfcc+vXrBy8vL+h0Ojz66KMoKSlpc4wuPVeCbGLlypXC1dVVfPzxx+LIkSPimWeeEV5eXqKgoEDq0iQ1YcIEsWTJEpGdnS0OHDggJk2aJCIjI0V1dbV5n9dff11oNBrx9ddfi6ysLPHAAw+I0NBQYTAYJKxcWnv27BHR0dGif//+4plnnjFv57lqUVFRIaKiosSMGTPE7t27RV5enti4caM4ceKEeR+eqxavvvqqCAgIEOvXrxd5eXniyy+/FN7e3mLhwoXmfZz5XH3//ffixRdfFF9//bUAINasWdPmeUvOzaxZs0RYWJhIT08X+/btE7feeqsYMGCAaG5u7uJPY1vXOleVlZVi3LhxYtWqVeLYsWNi586dYvjw4SIxMbHNMbryXDHw2MiwYcPErFmz2mzr3bu3eP755yWqyD6VlZUJAGLbtm1CCCFMJpMICQkRr7/+unmf+vp6odVqxYcffihVmZKqqqoSPXr0EOnp6eKWW24xBx6eq0uee+45kZSU1O7zPFeXTJo0STzxxBNttk2bNk1Mnz5dCMFzdbnffolbcm4qKyuFq6urWLlypXmf4uJioVQqxYYNG7qs9q52tXD4W3v27BEAzL/4d/W54iUtG2hsbERmZibGjx/fZvv48eOxY8cOiaqyT3q9HgDg7+8PAMjLy0NpaWmbc+fm5oZbbrnFac/d7NmzMWnSJIwbN67Ndp6rS9atW4chQ4bgvvvuQ1BQEAYNGoSPP/7Y/DzP1SVJSUnYtGkTjh8/DgA4ePAgMjIycOeddwLguboWS85NZmYmmpqa2uyj0+mQkJDg9OdPr9dDoVDA19cXQNefKy4eagPnz5+H0WhEcHBwm+3BwcEoLS2VqCr7I4RAWloakpKSkJCQAADm83O1c1dQUNDlNUpt5cqV2LdvH/bu3XvFczxXl5w6dQqLFy9GWloa/vznP2PPnj2YM2cO3Nzc8Oijj/JcXea5556DXq9H79694eLiAqPRiNdeew0PPfQQAP65uhZLzk1paSnUajX8/Pyu2MeZ//2vr6/H888/j4cffti8gGhXnysGHhtSKBRtfhZCXLHNmaWkpODQoUPIyMi44jmeO6CwsBDPPPMMfvrpJ7i7u7e7H88VYDKZMGTIEPz9738HAAwaNAiHDx/G4sWL8eijj5r347kCVq1aheXLl2PFihWIj4/HgQMHMHfuXOh0Ojz22GPm/Xiu2ncj58aZz19TUxMefPBBmEwmfPDBB9fd31bnipe0bCAwMBAuLi5XJNSysrIrfjNwVqmpqVi3bh22bNmC8PBw8/aQkBAA4LlDy3BvWVkZEhMToVKpoFKpsG3bNvzjH/+ASqUynw+eKyA0NBR9+/Zts61Pnz44ffo0AP65utz8+fPx/PPP48EHH0S/fv2QnJyMZ599FgsWLADAc3UtlpybkJAQNDY24sKFC+3u40yamppw//33Iy8vD+np6ebRHaDrzxUDjw2o1WokJiYiPT29zfb09HSMHDlSoqrsgxACKSkpWL16NTZv3oyYmJg2z8fExCAkJKTNuWtsbMS2bduc7tyNHTsWWVlZOHDggPkxZMgQPPLIIzhw4ABiY2N5ri4aNWrUFbc3OH78OKKiogDwz9XlamtroVS2/affxcXF3JbOc9U+S85NYmIiXF1d2+xz5swZZGdnO935aw07ubm52LhxIwICAto83+XnyurToEkIcakt/ZNPPhFHjhwRc+fOFV5eXiI/P1/q0iT19NNPC61WK7Zu3SrOnDljftTW1pr3ef3114VWqxWrV68WWVlZ4qGHHnKaltjrubxLSwieq1Z79uwRKpVKvPbaayI3N1d89tlnwtPTUyxfvty8D89Vi8cee0yEhYWZ29JXr14tAgMDxZ/+9CfzPs58rqqqqsT+/fvF/v37BQDx9ttvi/3795s7iyw5N7NmzRLh4eFi48aNYt++feK2226TZVv6tc5VU1OTuOuuu0R4eLg4cOBAm3/vGxoazMfoynPFwGND77//voiKihJqtVoMHjzY3HrtzABc9bFkyRLzPiaTSbz88ssiJCREuLm5idGjR4usrCzpirYjvw08PFeXfPvttyIhIUG4ubmJ3r17i3/+859tnue5amEwGMQzzzwjIiMjhbu7u4iNjRUvvvhimy8hZz5XW7Zsueq/UY899pgQwrJzU1dXJ1JSUoS/v7/w8PAQkydPFqdPn5bg09jWtc5VXl5eu//eb9myxXyMrjxXCiGEsP64EREREZH94BweIiIikj0GHiIiIpI9Bh4iIiKSPQYeIiIikj0GHiIiIpI9Bh4iIiKSPQYeIiIikj0GHiIiIpI9Bh4ikq2tW7dCoVBAoVBg6tSpFr1mxowZ5tesXbvWpvURUddh4CEi2cvJycHSpUvNP1dXV+PBBx9EaGgoHnzwQdTU1JifW7RoEc6cOSNBlURkSww8RCR7QUFB8PX1Nf+8cOFCeHt746effoKnpycWLlxofk6r1SIkJKTriyQim2LgISKHUF1djSeffBI+Pj4ICgrCq6++ioqKCri7u+PcuXMdOlZlZSV69uyJfv36oXfv3tDr9TaqmojshUrqAoiILDFjxgxkZWVhy5YtKCsrw7Rp03DixAkMHz4c3bp169CxUlJSMHbsWLz44ouIi4vDxo0bbVQ1EdkLBh4isnvnz5/H6tWr8dlnnyExMREAcM8992DZsmV45513Ony86Oho5ObmoqysDMHBwVAoFNYumYjsDC9pEZHdO3HiBIQQGDFihHnbsGHDALQEnxuhVCoREhLCsEPkJBh4iMjuubm5AQDUarV5W2BgICIiIhAVFSVVWUTkQBh4iMjuxcTEQKlUIjc317ztu+++w5kzZ9DY2ChhZUTkKBh4iMju+fr6Ytq0aXjttddQV1eHrKwsrF+/HgEBAfj++++lLo+IHAAnLRORQ3j//ffx1FNPITw8HAqFAv/7v/+LoKAgPP300zh16hTS0tKkLpGI7BgDDxE5hKCgoKsu9XDvvfd2fTFE5HB4SYuIZC88PBwPPfSQRfvOmjUL3t7eNq6IiLqaQgghpC6CiMgW6urqUFxcDADw9va2aMmIsrIyGAwGAEBoaCi8vLxsWiMRdQ0GHiIiIpI9XtIiIiIi2WPgISIiItlj4CEiIiLZY+AhIiIi2WPgISIiItlj4CEiIiLZY+AhIiIi2WPgISIiItn7fx6oC5SsgAYdAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# single-layer coil, 4 windings, distance = 1.5mm, X offset = 5mm\n", - "x = list(range(0, 121, 5))\n", - "y = [\n", - " 243.2\n", - ",242.3\n", - ",244.4\n", - ",245.6\n", - ",246.0\n", - ",246.1\n", - ",247.1\n", - ",248.6\n", - ",248.2\n", - ",249.2\n", - ",250.1\n", - ",250.5\n", - ",250.3\n", - ",250.6\n", - ",250.6\n", - ",250.5\n", - ",251.5\n", - ",250.9\n", - ",251.3\n", - ",251.3 # gap\n", - ",249.4 # gap\n", - ",249.4\n", - ",249.3\n", - ",248.1\n", - ",247.7\n", - "]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "id": "17ddba97-46d1-4d74-8421-aa1a1c420626", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# single-layer coil, 3 windings, distance = 1mm, X offset = 8mm\n", - "x = list(range(0, 360, 5))\n", - "y = [\n", - "260.0\n", - ",260.9\n", - ",262.2\n", - ",263.1\n", - ",264.2\n", - ",264.8\n", - ",265.4\n", - ",248.6\n", - ",266.7\n", - ",249.2\n", - ",250.1\n", - ",267.4\n", - ",267.7\n", - ",269.3\n", - ",250.6\n", - ",250.5\n", - ",269.2\n", - ",269.7\n", - ",268.0\n", - ",268.3\n", - ",267.9\n", - ",268.2\n", - ",249.3\n", - ",267.5\n", - ",247.7\n", - ",265.4\n", - ",264.7\n", - ",264.9\n", - ",264.0\n", - ",263.4\n", - ",262.7\n", - ",262.7\n", - ",260.6\n", - ",261.6\n", - ",260.1\n", - ",259.0\n", - ",257.9\n", - ",257.7\n", - ",256.7\n", - ",257.0\n", - ",256.3\n", - ",255.7\n", - ",255.7 # gap\n", - ",254.6\n", - ",253.1\n", - ",253.1 # gap\n", - ",253.1 # gap\n", - ",252.1\n", - ",250.5\n", - ",250.5\n", - ",250.4\n", - ",250.1\n", - ",250.1 # gap\n", - ",250.2\n", - ",248.9\n", - ",250.1\n", - ",249.5\n", - ",248.6\n", - ",249.1\n", - ",248.8\n", - ",250.0\n", - ",249.7\n", - ",250.7\n", - ",253.1\n", - ",252.8\n", - ",254.7\n", - ",254.2\n", - ",256.2\n", - ",257.1\n", - ",257.7\n", - ",259.2\n", - ",259.4\n", - "]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "a5f874bc-bfbe-4964-bdf2-5716e78113b9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'L_m [nH]')" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "4488c9ff558b4074b5180cc0fe17efa0", - "version_major": 2, - "version_minor": 0 - }, - "image/png": "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", - "text/html": [ - "\n", - "
\n", - "
\n", - " Figure\n", - "
\n", - " \n", - "
\n", - " " - ], - "text/plain": [ - "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# two-layer coil, 3 windings, 5 twists (fat traces!), distance = 1mm, X offset = 8mm\n", - "x = list(range(0, 360, 15))\n", - "y = [\n", - "210.1 # gap\n", - ",210.1\n", - ",211.3\n", - ",133.2\n", - ",133.2 # gap\n", - ",213.4\n", - ",213.4 # gap\n", - ",212.5\n", - ",214.1\n", - ",210.4\n", - ",211.6\n", - ",211.2\n", - ",211.9\n", - ",211.9 # gap\n", - ",210.7\n", - ",212.0\n", - ",210.4\n", - ",131.5\n", - ",209.2\n", - ",207.3\n", - ",207.3 # gap\n", - ",206.7 # gap\n", - ",206.7\n", - ",208.4\n", - "]\n", - "fig, ax = plt.subplots()\n", - "ax.plot(x, y)\n", - "ax.set_xlabel('α [°]')\n", - "ax.set_ylabel('L_m [nH]')" - ] - } - ], - "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.11.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/coil_gen.py b/coil_gen.py deleted file mode 100644 index 896ec1b..0000000 --- a/coil_gen.py +++ /dev/null @@ -1,318 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import sys -import os -from math import * -from pathlib import Path -from itertools import cycle - -from gerbonara.cad.kicad import pcb as kicad_pcb -from gerbonara.cad.kicad import footprints as kicad_fp -from gerbonara.cad.kicad import graphical_primitives as kicad_gr -import click - - -__version__ = '1.0.0' - - -def point_line_distance(p, l1, l2): - x0, y0 = p - x1, y1 = l1 - x2, y2 = l2 - # https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line - return abs((x2-x1)*(y1-y0) - (x1-x0)*(y2-y1)) / sqrt((x2-x1)**2 + (y2-y1)**2) - -def line_line_intersection(l1, l2): - p1, p2 = l1 - p3, p4 = l2 - x1, y1 = p1 - x2, y2 = p2 - x3, y3 = p3 - x4, y4 = p4 - - # https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection - px = ((x1*y2-y1*x2)*(x3-x4)-(x1-x2)*(x3*y4-y3*x4))/((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) - py = ((x1*y2-y1*x2)*(y3-y4)-(y1-y2)*(x3*y4-y3*x4))/((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) - return px, py - -def angle_between_vectors(va, vb): - angle = atan2(vb[1], vb[0]) - atan2(va[1], va[0]) - if angle < 0: - angle += 2*pi - return angle - - -@click.command() -@click.argument('infile', required=False, type=click.Path(exists=True, dir_okay=False, path_type=Path)) -@click.argument('outfile', required=False, type=click.Path(writable=True, dir_okay=False, path_type=Path)) -@click.option('--footprint-name', help="Name for the generated footprint. Default: Output file name sans extension.") -@click.option('--target-layer', default='F.Cu', help="Target KiCad layer for the generated footprint. Default: F.Cu.") -@click.option('--polygon', type=int, default=0, help="Use n'th polygon instead of first one. 0-based index.") -@click.option('--start-angle', type=float, default=0, help='Angle for the start at the outermost layer of the spiral in degree') -@click.option('--windings', type=int, default=5, help='Number of windings to generate') -@click.option('--trace-width', type=float, default=0.15) -@click.option('--clearance', type=float, default=0.15) -@click.option('--clipboard/--no-clipboard', help='Use clipboard integration (requires wl-clipboard)') -@click.option('--counter-clockwise/--clockwise', help='Direction of generated spiral. Default: clockwise when wound from the inside.') -def generate(infile, outfile, polygon, start_angle, windings, trace_width, clearance, footprint_name, target_layer, clipboard, counter_clockwise): - if 'WAYLAND_DISPLAY' in os.environ: - copy, paste, cliputil = ['wl-copy'], ['wl-paste'], 'xclip' - else: - copy, paste, cliputil = ['xclip', '-i', '-sel', 'clipboard'], ['xclip', '-o', '-sel' 'clipboard'], 'wl-clipboard' - - if clipboard: - try: - proc = subprocess.run(paste, capture_output=True, text=True, check=True) - except FileNotFoundError: - print(f'Error: --clipboard requires the {copy[0]} and {paste[0]} utilities from {cliputil} to be installed.', file=sys.stderr) - board = kicad_pcb.Board.load(proc.stdout) - elif not infile: - board = kicad_pcb.Board.load(sys.stdin.read()) - else: - board = kicad_pcb.Board.open(infile) - - objs = [obj for obj in board.objects() if isinstance(obj, kicad_gr.Polygon)] - print(f'Found {len(objs)} polygon(s).', file=sys.stderr) - poly = objs[polygon] - xy = [(pt.x, pt.y) for pt in poly.pts.xy] - - if counter_clockwise: - xy = [(-x, y) for x, y in xy] - - segments = list(zip(xy, xy[1:] + xy[:1])) - - # normalize orientation, make xy counter-clockwise - if sum((x2 - x1) * (y2 + y1) for (x1, y1), (x2, y2) in segments) < 0: - print(f'Reversing polygon direction.', file=sys.stderr) - xy = xy[::-1] - segments = list(zip(xy, xy[1:] + xy[:1])) - - vbx, vby = min(x for x, y in xy), min(y for x, y, in xy) - vbw, vbh = max(x for x, y in xy), max(y for x, y, in xy) - vbw, vbh = vbw-vbx, vbh-vby - - vbx -= 5 - vby -= 5 - vbw += 10 - vbh += 10 - - cx, cy = 0, 0 - ls = 0 - for (x1, y1), (x2, y2) in segments: - l = dist((x1, y1), (x2, y2)) - cx += x1*l/2 + x2*l/2 - cy += y1*l/2 + y2*l/2 - ls += l - cx /= ls - cy /= ls - - segment_angles = [(atan2(y1-cy, x1-cx) - atan2(y2-cy, x2-cx) + 2*pi) % (2*pi) for (x1, y1), (x2, y2) in segments] - angle_strs = [f'{degrees(a):.2f}' for a in segment_angles] - - segment_heights = [point_line_distance((cx, cy), (x1, y1), (x2, y2)) for (x1, y1), (x2, y2) in segments] - segment_foo = list(zip(segment_heights, segments)) - - midpoints = [] - for h, ((x1, y1), (x2, y2)) in segment_foo: - xb = (x1 + x2) / 2 - yb = (y1 + y2) / 2 - midpoints.append((xb, yb)) - - normals = [] - for h, ((x1, y1), (x2, y2)) in segment_foo: - d12 = dist((x1, y1), (x2, y2)) - dx = x2 - x1 - dy = y2 - y1 - normals.append((-dy/d12, dx/d12)) - - smallest_radius = min(segment_heights) - #trace_radius = smallest_radius - stop_radius - trace_radius = smallest_radius - - segment_foo = list(zip(segment_heights, segments, segment_angles, midpoints, normals)) - - dbg_lines1, dbg_lines2 = [], [] - spiral_points = [] - dr_tot = trace_width/2 - for n in range(windings): - for (ha, (pa1, pa2), aa, ma, na), (hb, (pb1, pb2), ab, mb, nb) in zip(segment_foo[-1:] + segment_foo[:-1], segment_foo): - pitch = clearance + trace_width - dr_tot_a = dr_tot - dr_tot_b = n * pitch + trace_width/2 - - xma, yma = ma - xna, yna = na - xmb, ymb = mb - xnb, ynb = nb - - xa1, ya1 = pa1 - xa2, ya2 = pa2 - xb1, yb1 = pb1 - xb2, yb2 = pb2 - - dma = dist(pa2, ma) - dmb = dist(pb1, mb) - - x_cons_a, y_cons_a = p_cons_a = line_line_intersection((pa2, (cx, cy)), (ma, (xma-xna, yma-yna))) - d_cons_a = dist(p_cons_a, ma) - qa = dma * dr_tot_a / d_cons_a - dra = hypot(qa, dr_tot_a) - - nrax = (xa2 - cx) / dist((cx, cy), pa2) - nray = (ya2 - cy) / dist((cx, cy), pa2) - - xea = xa2 - nrax*dra - yea = ya2 - nray*dra - - x_cons_b, y_cons_b = p_cons_b = line_line_intersection((pb1, (cx, cy)), (mb, (xmb-xnb, ymb-ynb))) - d_cons_b = dist(p_cons_b, mb) - qb = dmb * dr_tot_b / d_cons_b - drb = hypot(qb, dr_tot_b) - - nrbx = (xb1 - cx) / dist((cx, cy), pb1) - nrby = (yb1 - cy) / dist((cx, cy), pb1) - - xeb = xb1 - nrbx*drb - yeb = yb1 - nrby*drb - - xsa = xma - xna*dr_tot_a - ysa = yma - yna*dr_tot_a - - xsb = xmb - xnb*dr_tot_b - ysb = ymb - ynb*dr_tot_b - - l1 = (xsa, ysa), (xea, yea) - l2 = (xsb, ysb), (xeb, yeb) - - dbg_lines1.append(l1) - dbg_lines2.append(l2) - - pic = line_line_intersection(l1, l2) - spiral_points.append(pic) - - dr_tot = dr_tot_b - - #spiral_points = [] - #r_now = 0 - #for winding in range(num_windings): - # for angle, ((x1, y1), (x2, y2)) in zip(segment_angles, segments): - # angle_frac = angle/(2*pi) - # d_r = angle_frac * (clearance + trace_width) - # r_pt = dist((cx, cy), (x1, y1)) * (num_windings - winding) / num_windings -# -# x1, y1 = x1-cx, y1-cy -# x2, y2 = x2-cx, y2-cy -# l1, l2 = hypot(x1, y1), hypot(x2, y2) -# x1, y1 = x1/l1, y1/l1 -# x2, y2 = x2/l2, y2/l2 -# -# r_now += d_r -# spiral_points.append((cx + x1*r_pt, cy + y1*r_pt)) - - out = [spiral_points[0]] - ndrop = 0 - for i, (pa, pb, pc) in enumerate(zip(spiral_points, spiral_points[1:], spiral_points[2:])): - xa, ya = pa - xb, yb = pb - xc, yc = pc - if ndrop: - ndrop -= 1 - continue - - angle = angle_between_vectors((xa-xb, ya-yb), (xc-xb, yc-yb)) - if angle > pi: - ndrop += 1 - for pd, pe in zip(spiral_points[i+2:], spiral_points[i+3:]): - xd, yd = pd - xe, ye = pe - angle = angle_between_vectors((xa-xb, ya-yb), (xe-xd, ye-yd)) - if angle > pi: - ndrop += 1 - else: - out.append(line_line_intersection((pa, pb), (pd, pe))) - break - - else: - out.append(pb) - spiral_points = out - - path_d = ' '.join([f'M {xy[0][0]} {xy[0][1]}', *[f'L {x} {y}' for x, y in xy[1:]], 'Z']) - path_d2 = ' '.join(f'M {cx} {cy} L {x} {y}' for x, y in xy) - path_d3 = ' '.join([f'M {spiral_points[0][0]} {spiral_points[0][1]}', *[f'L {x} {y}' for x, y in spiral_points[1:]]]) - - with open('/tmp/test.svg', 'w') as f: - f.write('\n') - f.write('\n') - f.write(f'>\n') - f.write(f'\n') - f.write(f'\n') - f.write(f'\n') - - for (x1, y1), (x2, y2) in dbg_lines1: - f.write(f'') - - for (x1, y1), (x2, y2) in dbg_lines2: - f.write(f'') - - for x, y in midpoints: - f.write(f'') - f.write(f'\n') - - f.write(f'\n') - f.write('\n') - - if counter_clockwise: - spiral_points = [(-x, y) for x, y in spiral_points] - - fp_lines = [ - kicad_fp.Line( - start=kicad_fp.XYCoord(x=x1, y=y1), - end=kicad_fp.XYCoord(x=x2, y=y2), - layer=target_layer, - stroke=kicad_fp.Stroke(width=trace_width)) - for (x1, y1), (x2, y2) in zip(spiral_points, spiral_points[1:])] - - make_pad = lambda num, x, y: kicad_fp.Pad( - number=str(num), - type=kicad_fp.Atom.smd, - shape=kicad_fp.Atom.circle, - at=kicad_fp.AtPos(x=x, y=y), - size=kicad_fp.XYCoord(x=trace_width, y=trace_width), - layers=[target_layer], - clearance=clearance, - zone_connect=0, - ) - - if footprint_name: - name = footprint_name - elif outfile: - name = outfile.stem, - else: - name = 'generated_coil' - - fp = kicad_fp.Footprint( - name=name, - generator=kicad_fp.Atom('GerbonaraCoilGenV1'), - layer='F.Cu', - descr=f"{windings} winding coil footprint generated by gerbonara'c Coil generator, version {__version__}", - clearance=clearance, - zone_connect=0, - lines=fp_lines, - pads=[make_pad(1, *spiral_points[0]), make_pad(2, *spiral_points[-1])], - ) - - if clipboard: - try: - print(f'Running {copy[0]}.') - proc = subprocess.Popen(copy, stdin=subprocess.PIPE, text=True) - proc.communicate(fp.serialize()) - except FileNotFoundError: - print(f'Error: --clipboard requires the {copy[0]} and {paste[0]} utilities from {cliputil} to be installed.', file=sys.stderr) - elif not outfile: - print(fp.serialize()) - else: - fp.write(outfile) - -if __name__ == '__main__': - generate() diff --git a/coil_mag_materials.yml b/coil_mag_materials.yml deleted file mode 100644 index d1875d7..0000000 --- a/coil_mag_materials.yml +++ /dev/null @@ -1,38 +0,0 @@ -air: - Density: 1.1885 # 20°C - Electric Conductivity: 0.0 - Heat Capacity: 1006.4 # 20°C - Heat Conductivity: 0.025873 # 20°C - Relative Permeability: 1 - Relative Permittivity: 1 -ro4003c: - Density: 1790 # 23°C - Relative Permeability: 1 - Relative Permittivity: 3.55 -fr4: - Density: 1850 # 23°C - Relative Permeability: 1 - Relative Permittivity: 4.4 - Heat Conductivity: 0.81 # in-plane -ideal: - Relative Permittivity: 1 -copper: - Density: 8960.0 # 0°C - Electric Conductivity: 59600000 # 20°C - Emissivity: 0.012 # 327°C - Heat Capacity: 415.0 # 200°C - Heat Conductivity: 401.0 # 0°C - Relative Permeability: 1 - Relative Permittivity: 1 -steel_1.4541: - Density: 7900.0 # 20°C - Electric Conductivity: 1370 - Emissivity: 0.111 # 200°C - Heat Capacity: 470.0 # 20°C - Heat Conductivity: 15.0 # 20°C - Relative Permeability: 1 - Relative Permittivity: 1 -water: - Density: 1000.0 - Heat Capacity: 4182.0 - Heat Conductivity: 0.6 diff --git a/coil_mag_sim.yml b/coil_mag_sim.yml deleted file mode 100644 index f2200e6..0000000 --- a/coil_mag_sim.yml +++ /dev/null @@ -1,14 +0,0 @@ -3D_steady: - Mesh Levels: 1 - Max Output Level: 7 - Coordinate System: Cartesian - Coordinate Mapping(3): 1 2 3 - Simulation Type: Steady state - Steady State Max Iterations: 1 - Output Intervals: 1 - Timestepping Method: BDF - Simulation Timing: True - BDF Order: 1 - Solver Input File: case.sif - Post File: case.vtu - Output File: case.result diff --git a/coil_mag_solvers.yml b/coil_mag_solvers.yml deleted file mode 100644 index 704a8dd..0000000 --- a/coil_mag_solvers.yml +++ /dev/null @@ -1,55 +0,0 @@ -Static_Current_Conduction: - Equation: Static Current Conduction - Variable: Potential - Variable DOFs: 1 - Procedure: '"StatCurrentSolve" "StatCurrentSolver"' - Calculate Volume Current: True - Calculate Joule Heating: False - Optimize Bandwidth: True - Nonlinear System Max Iterations: 1 - Linear System Solver: Iterative - Linear System Iterative Method: CG - Linear System Max Iterations: 10000 - Linear System Convergence Tolerance: 1.0e-10 - Linear System Preconditioning: ILU3 - Linear System ILUT Tolerance: 1.0e-3 - Linear System Abort Not Converged: False - Linear System Residual Output: 20 - Linear System Precondition Recompute: 1 - -Magneto_Dynamics: - Equation: MGDynamics - Procedure: '"MagnetoDynamics" "WhitneyAVSolver"' - Newton-Raphson Iteration: True - Nonlinear System Max Iterations: 1 - Fix Input Current Density: True - Linear System Solver: Iterative - Linear System Preconditioning: none - Linear System Convergence Tolerance: 1e-8 - Linear System Abort Not Converged: False - Linear System Residual Output: 20 - Linear System Max Iterations: 5000 - Linear System Iterative Method: TFQMR - BiCGStabL Polynomial Degree: 4 - "Jfix: Linear System Max Iterations": 5000 - Idrs Parameter: 6 - Solver Timing: True - -Magneto_Dynamics_Calculations: - Equation: MGDynamicsCalc - Procedure: '"MagnetoDynamics" "MagnetoDynamicsCalcFields"' - Linear System Symmetric: True - Calculate Magnetic Field Strength: True - Calculate JxB: False - Calculate Current Density: True - Calculate Electric Field: True - Calculate Nodal Fields: False - Calculate Elemental Fields: True - Linear System Solver: Iterative - Linear System Preconditioning: ILU0 - Linear System Abort Not Converged: False - Linear System Residual Output: 0 - Linear System Max Iterations: 5000 - Linear System Iterative Method: CG - Linear System Convergence Tolerance: 1.0e-8 - diff --git a/coil_parasitics.py b/coil_parasitics.py deleted file mode 100644 index d759bd0..0000000 --- a/coil_parasitics.py +++ /dev/null @@ -1,595 +0,0 @@ -#!/usr/bin/env python3 - -import math -from pathlib import Path -import multiprocessing -import re -import tempfile -import fnmatch -import shutil -import numpy as np - -from pyelmer import elmer -import subprocess_tee -import click -from scipy import constants - -def enumerate_mesh_bodies(msh_file): - with open(msh_file, 'r') as f: - for line in f: - if line.startswith('$PhysicalNames'): - break - else: - raise ValueError('No physcial bodies found in mesh file.') - - _num_names = next(f) - - for line in f: - if line.startswith('$EndPhysicalNames'): - break - - dim, _, line = line.strip().partition(' ') - tag, _, name = line.partition(' ') - yield name.strip().strip('"'), (int(dim), int(tag)) - -# https://en.wikipedia.org/wiki/Metric_prefix -SI_PREFIX = 'QRYZEPTGMk mµnpfazyrq' - -def format_si(value, unit='', fractional_digits=1): - mag = int(math.log10(abs(value))//3) - value /= 1000**mag - prefix = SI_PREFIX[SI_PREFIX.find(' ') - mag].strip() - value = f'{{:.{fractional_digits}f}}'.format(value) - return f'{value} {prefix}{unit}' - - -INPUT_EXT_MAP = { - '.grd': 1, - '.mesh*': 2, - '.ep': 3, - '.ansys': 4, - '.inp': 5, - '.fil': 6, - '.FDNEUT': 7, - '.unv': 8, - '.mphtxt': 9, - '.dat': 10, - '.node': 11, - '.ele': 11, - '.mesh': 12, - '.msh': 14, - '.ep.i': 15, - '.2dm': 16} - -OUTPUT_EXT_MAP = { - '.grd': 1, - '.mesh*': 2, - '.ep': 3, - '.msh': 4, - '.vtu': 5} - -def elmer_grid(infile, outfile=None, intype=None, outtype=None, cwd=None, stdout_log=None, stderr_log=None, **kwargs): - infile = Path(infile) - if outfile is not None: - outfile = Path(outfile) - - if intype is None: - intype = str(INPUT_EXT_MAP[infile.suffix]) - - if outtype is None: - if outfile is not None and outfile.suffix: - outtype = str(OUTPUT_EXT_MAP[outfile.suffix]) - else: - outtype = '2' - - if outfile is not None: - kwargs['out'] = str(outfile) - - args = ['ElmerGrid', intype, outtype, str(infile)] - for key, value in kwargs.items(): - args.append(f'-{key}') - if isinstance(value, (tuple, list)): - args.extend(str(v) for v in value) - else: - args.append(str(value)) - - result = subprocess_tee.run(args, cwd=cwd, check=True) - if stdout_log: - Path(stdout_log).write_text(result.stdout or '') - if stderr_log: - Path(stderr_log).write_text(result.stderr or '') - -def elmer_solver(cwd, stdout_log=None, stderr_log=None): - result = subprocess_tee.run(['ElmerSolver'], cwd=cwd, check=True) - if stdout_log: - Path(stdout_log).write_text(result.stdout or '') - if stderr_log: - Path(stderr_log).write_text(result.stderr or '') - return result - - -@click.group() -def cli(): - pass - - -@cli.command() -@click.option('-d', '--sim-dir', type=click.Path(dir_okay=True, file_okay=False, path_type=Path)) -@click.option('-o', '--output', type=click.Path(dir_okay=False, writable=True, path_type=Path), help='Capacitance matrix output file') -@click.argument('mesh_file', type=click.Path(dir_okay=False, path_type=Path)) -def capacitance_matrix(mesh_file, sim_dir, output): - physical = dict(enumerate_mesh_bodies(mesh_file)) - if sim_dir is not None: - sim_dir = Path(sim_dir) - sim_dir.mkdir(exist_ok=True) - - sim = elmer.load_simulation('3D_steady', 'coil_parasitics_sim.yml') - mesh_dir = '.' - mesh_fn = 'mesh' - sim.header['Mesh DB'] = f'"{mesh_dir}" "{mesh_fn}"' - sim.constants.update({ - 'Permittivity of Vacuum': str(constants.epsilon_0), - 'Gravity(4)': f'0 -1 0 {constants.g}', - 'Boltzmann Constant': str(constants.Boltzmann), - 'Unit Charge': str(constants.elementary_charge)}) - - air = elmer.load_material('air', sim, 'coil_parasitics_materials.yml') - fr4 = elmer.load_material('fr4', sim, 'coil_parasitics_materials.yml') - - solver_electrostatic = elmer.load_solver('Electrostatics_Capacitance', sim, 'coil_parasitics_solvers.yml') - solver_electrostatic.data['Potential Difference'] = '1.0' - eqn = elmer.Equation(sim, 'main', [solver_electrostatic]) - - bdy_sub = elmer.Body(sim, 'substrate', [physical['substrate'][1]]) - bdy_sub.material = fr4 - bdy_sub.equation = eqn - - bdy_ab = elmer.Body(sim, 'airbox', [physical['airbox'][1]]) - bdy_ab.material = air - bdy_ab.equation = eqn - - max_num = -1 - - # boundaries - for name, identity in physical.items(): - if (m := re.fullmatch(r'trace([0-9]+)', name)): - num = int(m.group(1)) - max_num = max(num, max_num) - - bndry_m2 = elmer.Boundary(sim, name, [identity[1]]) - bndry_m2.data['Capacitance Body'] = str(num) - - if (tr := physical.get('trace')): - bndry_m2 = elmer.Boundary(sim, 'trace', [tr[1]]) - bndry_m2.data['Capacitance Body'] = f'{max_num+1}' - - boundary_airbox = elmer.Boundary(sim, 'FarField', [physical['airbox_surface'][1]]) - boundary_airbox.data['Electric Infinity BC'] = 'True' - - with tempfile.TemporaryDirectory() as tmpdir: - tmpdir = sim_dir if sim_dir else Path(tmpdir) - - sim.write_startinfo(tmpdir) - sim.write_sif(tmpdir) - # Convert mesh from gmsh to elemer formats. Also scale it from 1 unit = 1 mm to 1 unit = 1 m (SI units) - elmer_grid(mesh_file.absolute(), 'mesh', cwd=tmpdir, scale=[1e-3, 1e-3, 1e-3], - stdout_log=(tmpdir / 'ElmerGrid_stdout.log'), - stderr_log=(tmpdir / 'ElmerGrid_stderr.log')) - elmer_solver(tmpdir, - stdout_log=(tmpdir / 'ElmerSolver_stdout.log'), - stderr_log=(tmpdir / 'ElmerSolver_stderr.log')) - - capacitance_matrix = np.loadtxt(tmpdir / 'capacitance.txt') - np.savetxt(output, capacitance_matrix) - - -@cli.command() -@click.option('-d', '--sim-dir', type=click.Path(dir_okay=True, file_okay=False, path_type=Path)) -@click.option('--solver-method') -@click.argument('mesh_file', type=click.Path(dir_okay=False, path_type=Path)) -def inductance(mesh_file, sim_dir, solver_method): - physical = dict(enumerate_mesh_bodies(mesh_file)) - - if sim_dir is not None: - sim_dir = Path(sim_dir) - sim_dir.mkdir(exist_ok=True) - - sim = elmer.load_simulation('3D_steady', 'coil_mag_sim.yml') - mesh_dir = '.' - mesh_fn = 'mesh' - sim.header['Mesh DB'] = f'"{mesh_dir}" "{mesh_fn}"' - sim.constants.update({ - 'Permittivity of Vacuum': str(constants.epsilon_0), - 'Gravity(4)': f'0 -1 0 {constants.g}', - 'Boltzmann Constant': str(constants.Boltzmann), - 'Unit Charge': str(constants.elementary_charge)}) - - air = elmer.load_material('air', sim, 'coil_mag_materials.yml') - fr4 = elmer.load_material('fr4', sim, 'coil_mag_materials.yml') - copper = elmer.load_material('copper', sim, 'coil_mag_materials.yml') - - solver_current = elmer.load_solver('Static_Current_Conduction', sim, 'coil_mag_solvers.yml') - solver_magdyn = elmer.load_solver('Magneto_Dynamics', sim, 'coil_mag_solvers.yml') - if solver_method: - solver_magdyn.data['Linear System Iterative Method'] = solver_method - solver_magdyn_calc = elmer.load_solver('Magneto_Dynamics_Calculations', sim, 'coil_mag_solvers.yml') - - copper_eqn = elmer.Equation(sim, 'copperEqn', [solver_current, solver_magdyn, solver_magdyn_calc]) - air_eqn = elmer.Equation(sim, 'airEqn', [solver_magdyn, solver_magdyn_calc]) - - bdy_trace = elmer.Body(sim, 'trace', [physical['trace'][1]]) - bdy_trace.material = copper - bdy_trace.equation = copper_eqn - - bdy_sub = elmer.Body(sim, 'substrate', [physical['substrate'][1]]) - bdy_sub.material = fr4 - bdy_sub.equation = air_eqn - - bdy_ab = elmer.Body(sim, 'airbox', [physical['airbox'][1]]) - bdy_ab.material = air - bdy_ab.equation = air_eqn - - bdy_if_top = elmer.Body(sim, 'interface_top', [physical['interface_top'][1]]) - bdy_if_top.material = copper - bdy_if_top.equation = copper_eqn - - bdy_if_bottom = elmer.Body(sim, 'interface_bottom', [physical['interface_bottom'][1]]) - bdy_if_bottom.material = copper - bdy_if_bottom.equation = copper_eqn - - potential_force = elmer.BodyForce(sim, 'electric_potential', {'Electric Potential': 'Equals "Potential"'}) - bdy_trace.body_force = potential_force - - # boundaries - boundary_airbox = elmer.Boundary(sim, 'FarField', [physical['airbox_surface'][1]]) - boundary_airbox.data['Electric Infinity BC'] = 'True' - - boundary_vplus = elmer.Boundary(sim, 'Vplus', [physical['interface_top'][1]]) - boundary_vplus.data['Potential'] = 1.0 - boundary_vplus.data['Save Scalars'] = True - - boundary_vminus = elmer.Boundary(sim, 'Vminus', [physical['interface_bottom'][1]]) - boundary_vminus.data['Potential'] = 0.0 - - with tempfile.TemporaryDirectory() as tmpdir: - tmpdir = sim_dir if sim_dir else Path(tmpdir) - - sim.write_startinfo(tmpdir) - sim.write_sif(tmpdir) - # Convert mesh from gmsh to elemer formats. Also scale it from 1 unit = 1 mm to 1 unit = 1 m (SI units) - elmer_grid(mesh_file.absolute(), 'mesh', cwd=tmpdir, scale=[1e-3, 1e-3, 1e-3], - stdout_log=(tmpdir / 'ElmerGrid_stdout.log'), - stderr_log=(tmpdir / 'ElmerGrid_stderr.log')) - solver_stdout, solver_stderr = (tmpdir / 'ElmerSolver_stdout.log'), (tmpdir / 'ElmerSolver_stderr.log') - res = elmer_solver(tmpdir, - stdout_log=solver_stdout, - stderr_log=solver_stderr) - - P, R, U_mag = None, None, None - solver_error = False - for l in res.stdout.splitlines(): - if (m := re.fullmatch(r'StatCurrentSolve:\s*Total Heating Power\s*:\s*([0-9.+-Ee]+)\s*', l)): - P = float(m.group(1)) - elif (m := re.fullmatch(r'StatCurrentSolve:\s*Effective Resistance\s*:\s*([0-9.+-Ee]+)\s*', l)): - R = float(m.group(1)) - elif (m := re.fullmatch(r'MagnetoDynamicsCalcFields:\s*ElectroMagnetic Field Energy\s*:\s*([0-9.+-Ee]+)\s*', l)): - U_mag = float(m.group(1)) - elif re.fullmatch(r'IterSolve: Linear iteration did not converge to tolerance', l): - solver_error = True - - if solver_error: - raise click.ClickException(f'Error: One of the solvers did not converge. See log files for details:\n{solver_stdout.absolute()}\n{solver_stderr.absolute()}') - elif P is None or R is None or U_mag is None: - raise click.ClickException(f'Error during solver execution. Electrical parameters could not be calculated. See log files for details:\n{solver_stdout.absolute()}\n{solver_stderr.absolute()}') - - V = math.sqrt(P*R) - I = math.sqrt(P/R) - L = 2*U_mag / (I**2) - - assert math.isclose(V, 1.0, abs_tol=1e-3) - - print(f'Total magnetic field energy: {format_si(U_mag, "J")}') - print(f'Reference coil current: {format_si(I, "Ω")}') - print(f'Coil resistance calculated by solver: {format_si(R, "Ω")}') - print(f'Inductance calucated from field: {format_si(L, "H")}') - - -@cli.command() -@click.option('-r', '--reference-field', type=float, required=True) -@click.option('-d', '--sim-dir', type=click.Path(dir_okay=True, file_okay=False, path_type=Path)) -@click.argument('mesh_file', type=click.Path(dir_okay=False, path_type=Path)) -def mutual_inductance(mesh_file, sim_dir, reference_field): - physical = dict(enumerate_mesh_bodies(mesh_file)) - - if sim_dir is not None: - sim_dir = Path(sim_dir) - sim_dir.mkdir(exist_ok=True) - - sim = elmer.load_simulation('3D_steady', 'coil_mag_sim.yml') - mesh_dir = '.' - mesh_fn = 'mesh' - sim.header['Mesh DB'] = f'"{mesh_dir}" "{mesh_fn}"' - sim.constants.update({ - 'Permittivity of Vacuum': str(constants.epsilon_0), - 'Gravity(4)': f'0 -1 0 {constants.g}', - 'Boltzmann Constant': str(constants.Boltzmann), - 'Unit Charge': str(constants.elementary_charge)}) - - air = elmer.load_material('air', sim, 'coil_mag_materials.yml') - fr4 = elmer.load_material('fr4', sim, 'coil_mag_materials.yml') - copper = elmer.load_material('copper', sim, 'coil_mag_materials.yml') - - solver_current = elmer.load_solver('Static_Current_Conduction', sim, 'coil_mag_solvers.yml') - solver_magdyn = elmer.load_solver('Magneto_Dynamics', sim, 'coil_mag_solvers.yml') - solver_magdyn_calc = elmer.load_solver('Magneto_Dynamics_Calculations', sim, 'coil_mag_solvers.yml') - - copper_eqn = elmer.Equation(sim, 'copperEqn', [solver_current, solver_magdyn, solver_magdyn_calc]) - air_eqn = elmer.Equation(sim, 'airEqn', [solver_magdyn, solver_magdyn_calc]) - - bdy_trace1 = elmer.Body(sim, 'trace1', [physical['trace1'][1]]) - bdy_trace1.material = copper - bdy_trace1.equation = copper_eqn - - bdy_trace2 = elmer.Body(sim, 'trace2', [physical['trace2'][1]]) - bdy_trace2.material = copper - bdy_trace2.equation = copper_eqn - - bdy_sub1 = elmer.Body(sim, 'substrate1', [physical['substrate1'][1]]) - bdy_sub1.material = fr4 - bdy_sub1.equation = air_eqn - - bdy_sub2 = elmer.Body(sim, 'substrate2', [physical['substrate2'][1]]) - bdy_sub2.material = fr4 - bdy_sub2.equation = air_eqn - - - bdy_ab = elmer.Body(sim, 'airbox', [physical['airbox'][1]]) - bdy_ab.material = air - bdy_ab.equation = air_eqn - - bdy_if_top1 = elmer.Body(sim, 'interface_top1', [physical['interface_top1'][1]]) - bdy_if_top1.material = copper - bdy_if_top1.equation = copper_eqn - - bdy_if_bottom1 = elmer.Body(sim, 'interface_bottom1', [physical['interface_bottom1'][1]]) - bdy_if_bottom1.material = copper - bdy_if_bottom1.equation = copper_eqn - - bdy_if_top2 = elmer.Body(sim, 'interface_top2', [physical['interface_top2'][1]]) - bdy_if_top2.material = copper - bdy_if_top2.equation = copper_eqn - - bdy_if_bottom2 = elmer.Body(sim, 'interface_bottom2', [physical['interface_bottom2'][1]]) - bdy_if_bottom2.material = copper - bdy_if_bottom2.equation = copper_eqn - - potential_force = elmer.BodyForce(sim, 'electric_potential', {'Electric Potential': 'Equals "Potential"'}) - bdy_trace1.body_force = potential_force - bdy_trace2.body_force = potential_force - - # boundaries - boundary_airbox = elmer.Boundary(sim, 'FarField', [physical['airbox_surface'][1]]) - boundary_airbox.data['Electric Infinity BC'] = 'True' - - boundary_vplus1 = elmer.Boundary(sim, 'Vplus1', [physical['interface_top1'][1]]) - boundary_vplus1.data['Potential'] = 1.0 - boundary_vplus1.data['Save Scalars'] = True - - boundary_vminus1 = elmer.Boundary(sim, 'Vminus1', [physical['interface_bottom1'][1]]) - boundary_vminus1.data['Potential'] = 0.0 - - boundary_vplus2 = elmer.Boundary(sim, 'Vplus2', [physical['interface_top2'][1]]) - boundary_vplus2.data['Potential'] = 1.0 - boundary_vplus2.data['Save Scalars'] = True - - boundary_vminus2 = elmer.Boundary(sim, 'Vminus2', [physical['interface_bottom2'][1]]) - boundary_vminus2.data['Potential'] = 0.0 - - with tempfile.TemporaryDirectory() as tmpdir: - tmpdir = sim_dir if sim_dir else Path(tmpdir) - - sim.write_startinfo(tmpdir) - sim.write_sif(tmpdir) - # Convert mesh from gmsh to elemer formats. Also scale it from 1 unit = 1 mm to 1 unit = 1 m (SI units) - elmer_grid(mesh_file.absolute(), 'mesh', cwd=tmpdir, scale=[1e-3, 1e-3, 1e-3], - stdout_log=(tmpdir / 'ElmerGrid_stdout.log'), - stderr_log=(tmpdir / 'ElmerGrid_stderr.log')) - solver_stdout, solver_stderr = (tmpdir / 'ElmerSolver_stdout.log'), (tmpdir / 'ElmerSolver_stderr.log') - res = elmer_solver(tmpdir, - stdout_log=solver_stdout, - stderr_log=solver_stderr) - - P, R, U_mag = None, None, None - solver_error = False - for l in res.stdout.splitlines(): - if (m := re.fullmatch(r'StatCurrentSolve:\s*Total Heating Power\s*:\s*([0-9.+-Ee]+)\s*', l)): - P = float(m.group(1)) - elif (m := re.fullmatch(r'StatCurrentSolve:\s*Effective Resistance\s*:\s*([0-9.+-Ee]+)\s*', l)): - R = float(m.group(1)) - elif (m := re.fullmatch(r'MagnetoDynamicsCalcFields:\s*ElectroMagnetic Field Energy\s*:\s*([0-9.+-Ee]+)\s*', l)): - U_mag = float(m.group(1)) - elif re.fullmatch(r'IterSolve: Linear iteration did not converge to tolerance', l): - solver_error = True - - if solver_error: - raise click.ClickException(f'Error: One of the solvers did not converge. See log files for details:\n{solver_stdout.absolute()}\n{solver_stderr.absolute()}') - elif P is None or R is None or U_mag is None: - raise click.ClickException(f'Error during solver execution. Electrical parameters could not be calculated. See log files for details:\n{solver_stdout.absolute()}\n{solver_stderr.absolute()}') - - V = math.sqrt(P*R) - I = math.sqrt(P/R) - Lm = (U_mag - 2*reference_field) / ((I/2)**2) - - assert math.isclose(V, 1.0, abs_tol=1e-3) - - print(f'Mutual inductance calucated from field: {format_si(Lm, "H")}') - - -@cli.command() -@click.option('-d', '--sim-dir', type=click.Path(dir_okay=True, file_okay=False, path_type=Path)) -@click.argument('mesh_file', type=click.Path(dir_okay=False, path_type=Path)) -def self_capacitance(mesh_file, sim_dir): - physical = dict(enumerate_mesh_bodies(mesh_file)) - - if sim_dir is not None: - sim_dir = Path(sim_dir) - sim_dir.mkdir(exist_ok=True) - - sim = elmer.load_simulation('3D_steady', 'self_capacitance_sim.yml') - mesh_dir = '.' - mesh_fn = 'mesh' - sim.header['Mesh DB'] = f'"{mesh_dir}" "{mesh_fn}"' - sim.constants.update({ - 'Permittivity of Vacuum': str(constants.epsilon_0), - 'Gravity(4)': f'0 -1 0 {constants.g}', - 'Boltzmann Constant': str(constants.Boltzmann), - 'Unit Charge': str(constants.elementary_charge)}) - - air = elmer.load_material('air', sim, 'coil_mag_materials.yml') - fr4 = elmer.load_material('fr4', sim, 'coil_mag_materials.yml') - copper = elmer.load_material('copper', sim, 'coil_mag_materials.yml') - - solver_current = elmer.load_solver('StaticCurrent', sim, 'self_capacitance_solvers.yml') - solver_estat = elmer.load_solver('Electrostatics', sim, 'self_capacitance_solvers.yml') - - copper_eqn = elmer.Equation(sim, 'copperEqn', [solver_current, solver_estat]) - air_eqn = elmer.Equation(sim, 'airEqn', [solver_estat]) - - bdy_trace = elmer.Body(sim, 'trace', [physical['trace'][1]]) - bdy_trace.material = copper - bdy_trace.equation = copper_eqn - - bdy_sub = elmer.Body(sim, 'substrate', [physical['substrate'][1]]) - bdy_sub.material = fr4 - bdy_sub.equation = air_eqn - - bdy_ab = elmer.Body(sim, 'airbox', [physical['airbox'][1]]) - bdy_ab.material = air - bdy_ab.equation = air_eqn - - bdy_if_top = elmer.Body(sim, 'interface_top', [physical['interface_top'][1]]) - bdy_if_top.material = copper - bdy_if_top.equation = copper_eqn - - bdy_if_bottom = elmer.Body(sim, 'interface_bottom', [physical['interface_bottom'][1]]) - bdy_if_bottom.material = copper - bdy_if_bottom.equation = copper_eqn - - potential_force = elmer.BodyForce(sim, 'electric_potential', {'Potential': 'Equals "PotentialStat"'}) - bdy_trace.body_force = potential_force - - # boundaries - boundary_airbox = elmer.Boundary(sim, 'FarField', [physical['airbox_surface'][1]]) - boundary_airbox.data['Electric Infinity BC'] = 'True' - - boundary_vplus = elmer.Boundary(sim, 'Vplus', [physical['interface_top'][1]]) - boundary_vplus.data['PotentialStat'] = 'Real 1.0' - boundary_vplus.data['Save Scalars'] = True - - boundary_vminus = elmer.Boundary(sim, 'Vminus', [physical['interface_bottom'][1]]) - boundary_vminus.data['PotentialStat'] = 'Real 0.0' - - with tempfile.TemporaryDirectory() as tmpdir: - tmpdir = sim_dir if sim_dir else Path(tmpdir) - - sim.write_startinfo(tmpdir) - sim.write_sif(tmpdir) - # Convert mesh from gmsh to elemer formats. Also scale it from 1 unit = 1 mm to 1 unit = 1 m (SI units) - elmer_grid(mesh_file.absolute(), 'mesh', cwd=tmpdir, scale=[1e-3, 1e-3, 1e-3], - stdout_log=(tmpdir / 'ElmerGrid_stdout.log'), - stderr_log=(tmpdir / 'ElmerGrid_stderr.log')) - solver_stdout, solver_stderr = (tmpdir / 'ElmerSolver_stdout.log'), (tmpdir / 'ElmerSolver_stderr.log') - res = elmer_solver(tmpdir, - stdout_log=solver_stdout, - stderr_log=solver_stderr) - - C, U_elec = None, None - solver_error = False - for l in res.stdout.splitlines(): - if (m := re.fullmatch(r'StatElecSolve:\s*Tot. Electric Energy\s*:\s*([0-9.+-Ee]+)\s*', l)): - U_elec = float(m.group(1)) - elif (m := re.fullmatch(r'StatElecSolve:\s*Capacitance\s*:\s*([0-9.+-Ee]+)\s*', l)): - C = float(m.group(1)) - elif re.fullmatch(r'IterSolve: Linear iteration did not converge to tolerance', l): - solver_error = True - - if solver_error: - raise click.ClickException(f'Error: One of the solvers did not converge. See log files for details:\n{solver_stdout.absolute()}\n{solver_stderr.absolute()}') - elif C is None or U_elec is None: - raise click.ClickException(f'Error during solver execution. Electrical parameters could not be calculated. See log files for details:\n{solver_stdout.absolute()}\n{solver_stderr.absolute()}') - - print(f'Total electric field energy: {format_si(U_elec, "J")}') - print(f'Total parasitic capacitance: {format_si(C, "F")}') - -@cli.command() -@click.option('-d', '--sim-dir', type=click.Path(dir_okay=True, file_okay=False, path_type=Path)) -@click.option('--capacitance-matrix-file', type=click.Path(dir_okay=False, exists=True)) -@click.option('--total-inductance', type=float, required=True, help='Total inductance in Henry') -@click.option('--total-resistance', type=float, required=True, help='Total resistance in Ohm') -@click.option('--plot-out', type=click.Path(dir_okay=False, writable=True), help='Optional SVG plot output file') -def resonance(sim_dir, capacitance_matrix_file, total_inductance, total_resistance, plot_out): - import PySpice.Unit - from PySpice.Spice.Library import SpiceLibrary - from PySpice.Spice.Netlist import Circuit - from PySpice.Plot.BodeDiagram import bode_diagram - import scipy.signal - from matplotlib import pyplot as plt - - capacitance_matrix = np.loadtxt(capacitance_matrix_file) - num_elements = capacitance_matrix.shape[0] - - circ = Circuit('LC ladder parasitic sim') - inputs = 'Vplus', circ.gnd - coil_in = 'coil_in' - - Rtest = circ.R('Rtest', inputs[0], coil_in, 50@PySpice.Unit.u_Ohm) - - intermediate_nodes = [f'intermediate{i}' for i in range(num_elements-1)] - inductor_nodes = [(a, b) for a, b in zip([coil_in, *intermediate_nodes], [*intermediate_nodes, inputs[1]])] - inductor_midpoints = [f'midpoint{i}' for i in range(num_elements)] - - circ.SinusoidalVoltageSource('input', inputs[0], inputs[1], amplitude=1@PySpice.Unit.u_V) - - for i, ((a, b), m) in enumerate(zip(inductor_nodes, inductor_midpoints)): - L = total_inductance / num_elements / 2 - R = total_resistance / num_elements / 2 - circ.L(f'L{i}A', a, f'R{i}A1', L@PySpice.Unit.u_H) - circ.R(f'R{i}A', f'R{i}A1', m, R@PySpice.Unit.u_Ohm) - circ.R(f'R{i}B', m, f'R{i}B1', R@PySpice.Unit.u_Ohm) - circ.L(f'L{i}B', f'R{i}B1', b, L@PySpice.Unit.u_H) - - for i in range(num_elements): - for j in range(i): - circ.C(f'C{i}_{j}', inductor_midpoints[i], inductor_midpoints[j], capacitance_matrix[i, j]@PySpice.Unit.u_F) - - sim = circ.simulator(temperature=25, nominal_temperature=25) - ana = sim.ac(start_frequency=10@PySpice.Unit.u_kHz, stop_frequency=1000@PySpice.Unit.u_MHz, number_of_points=1000, variation='dec') - figure, axs = plt.subplots(2, figsize=(20, 10), sharex=True) - - freq = ana.frequency - gain = 20*np.log10(np.absolute(ana.coil_in)) - - peaks, peak_props = scipy.signal.find_peaks(-gain, height=20) - for peak in peaks[:3]: - print(f'Resonance at {float(freq[peak])/1e6:.3f} MHz') - - if plot_out: - plt.title("Bode Diagram of a Low-Pass RC Filter") - bode_diagram(axes=axs, - frequency=freq, - gain=gain, - phase=np.angle(ana.coil_in, deg=False), - linestyle='-', - ) - - for peak in peaks[:3]: - for ax in axs: - ax.axvline(float(freq[peak]), color='red', alpha=0.5) - - plt.tight_layout() - plt.savefig(plot_out) - - -if __name__ == '__main__': - cli() - diff --git a/coil_parasitics_materials.yml b/coil_parasitics_materials.yml deleted file mode 100644 index d1875d7..0000000 --- a/coil_parasitics_materials.yml +++ /dev/null @@ -1,38 +0,0 @@ -air: - Density: 1.1885 # 20°C - Electric Conductivity: 0.0 - Heat Capacity: 1006.4 # 20°C - Heat Conductivity: 0.025873 # 20°C - Relative Permeability: 1 - Relative Permittivity: 1 -ro4003c: - Density: 1790 # 23°C - Relative Permeability: 1 - Relative Permittivity: 3.55 -fr4: - Density: 1850 # 23°C - Relative Permeability: 1 - Relative Permittivity: 4.4 - Heat Conductivity: 0.81 # in-plane -ideal: - Relative Permittivity: 1 -copper: - Density: 8960.0 # 0°C - Electric Conductivity: 59600000 # 20°C - Emissivity: 0.012 # 327°C - Heat Capacity: 415.0 # 200°C - Heat Conductivity: 401.0 # 0°C - Relative Permeability: 1 - Relative Permittivity: 1 -steel_1.4541: - Density: 7900.0 # 20°C - Electric Conductivity: 1370 - Emissivity: 0.111 # 200°C - Heat Capacity: 470.0 # 20°C - Heat Conductivity: 15.0 # 20°C - Relative Permeability: 1 - Relative Permittivity: 1 -water: - Density: 1000.0 - Heat Capacity: 4182.0 - Heat Conductivity: 0.6 diff --git a/coil_parasitics_sim.yml b/coil_parasitics_sim.yml deleted file mode 100644 index f65dd35..0000000 --- a/coil_parasitics_sim.yml +++ /dev/null @@ -1,50 +0,0 @@ -2D_steady: - Max Output Level: 4 - Coordinate System: Cartesian 2D - Simulation Type: Steady state - Steady State Max Iterations: 10 - -3D_steady: - Max Output Level: 5 - Coordinate System: Cartesian - Coordinate Mapping(3): 1 2 3 - Simulation Type: Steady state - Steady State Max Iterations: 1 - Output Intervals: 1 - Timestepping Method: BDF - BDF Order: 1 - Solver Input File: case.sif - Post File: case.vtu - Output File: case.result - -2D_transient: - Max Output Level: 4 - Coordinate System: Cartesian 2D - Simulation Type: Transient - Steady State Max Iterations: 10 - Output File: case.result - Output Intervals: 10 - Timestep Sizes: 0.1 - Timestep Intervals: 100 - Timestepping Method: BDF - BDF Order: 1 - - -axi-symmetric_steady: - Max Output Level: 4 - Coordinate System: Axi Symmetric - Simulation Type: Steady state - Steady State Max Iterations: 10 - Output File: case.result - -axi-symmetric_transient: - Max Output Level: 4 - Coordinate System: Axi Symmetric - Simulation Type: Transient - Steady State Max Iterations: 10 - Output File: case.result - Output Intervals: 10 - Timestep Sizes: 0.1 - Timestep Intervals: 100 - Timestepping Method: BDF - BDF Order: 1 diff --git a/coil_parasitics_solvers.yml b/coil_parasitics_solvers.yml deleted file mode 100644 index 93a935c..0000000 --- a/coil_parasitics_solvers.yml +++ /dev/null @@ -1,203 +0,0 @@ -Electrostatics_Capacitance: - Equation: Electrostatics - Calculate Electric Field: True - Calculate Capacitance Matrix: True - Capacitance Matrix Filename: capacitance.txt - Procedure: '"StatElecSolve" "StatElecSolver"' - Variable: Potential - Calculate Electric Energy: True - Exec Solver: Always - Stabilize: True - Bubbles: False - Lumped Mass Matrix: False - Optimize Bandwidth: True - Steady State Convergence Tolerance: 1.0e-5 - Nonlinear System Convergence Tolerance: 1.0e-7 - Nonlinear System Max Iterations: 20 - Nonlinear System Newton After Iterations: 3 - Nonlinear System Newton After Tolerance: 1.0e-3 - Nonlinear System Relaxation Factor: 1 - Linear System Solver: Iterative - Linear System Iterative Method: BiCGStab - Linear System Max Iterations: 500 - Linear System Convergence Tolerance: 1.0e-10 - BiCGstabl polynomial degree: 2 - Linear System Preconditioning: ILU0 - Linear System ILUT Tolerance: 1.0e-3 - Linear System Abort Not Converged: False - Linear System Residual Output: 10 - Linear System Precondition Recompute: 1 -Electrostatics: - Equation: Electrostatics - Calculate Electric Field: True - Procedure: '"StatElecSolve" "StatElecSolver"' - Variable: Potential - Calculate Electric Energy: True - Exec Solver: Always - Stabilize: True - Bubbles: False - Lumped Mass Matrix: False - Optimize Bandwidth: True - Steady State Convergence Tolerance: 1.0e-5 - Nonlinear System Convergence Tolerance: 1.0e-7 - Nonlinear System Max Iterations: 20 - Nonlinear System Newton After Iterations: 3 - Nonlinear System Newton After Tolerance: 1.0e-3 - Nonlinear System Relaxation Factor: 1 - Linear System Solver: Iterative - Linear System Iterative Method: BiCGStab - Linear System Max Iterations: 500 - Linear System Convergence Tolerance: 1.0e-10 - BiCGstabl polynomial degree: 2 - Linear System Preconditioning: ILU0 - Linear System ILUT Tolerance: 1.0e-3 - Linear System Abort Not Converged: False - Linear System Residual Output: 10 - Linear System Precondition Recompute: 1 -ThermoElectricSolver: - Equation: ThermoElectric - Procedure: '"ThermoElectricSolver" "ThermoElectricSolver"' - Variable: POT[Temperature:1 Potential:1] - Element: '"p:1"' - Calculate Loads: True - Exec Solver: Always - Nonlinear System Convergence Tolerance: 1.0e-6 - Nonlinear System Max Iterations: 100 - Nonlinear System Newton After Iterations : 1 - Nonlinear System Newton After Tolerance: 1e-9 - Linear System Solver: '"Iterative"' - Linear System Iterative Method: BicgstabL - Bicgstabl Polynomial Degree: 2 - Linear System Max Iterations: 200 - Linear System Residual Output: 40 - Linear System Preconditioning: Ilu - Linear System Convergence Tolerance: 1e-8 - Steady State Convergence Tolerance: 1e-6 -HeatSolver: - Equation: HeatSolver - Procedure: '"HeatSolve" "HeatSolver"' - Variable: '"Temperature"' - Variable Dofs: 1 - Calculate Loads: True - Exec Solver: Always - Nonlinear System Convergence Tolerance: 1.0e-6 - Nonlinear System Max Iterations: 1000 - Nonlinear System Relaxation Factor: 0.7 - Steady State Convergence Tolerance: 1.0e-6 - Stabilize: True # Necessary in convection-dominated systems - Optimize Bandwidth: True - Linear System Solver: Iterative - Linear System Iterative Method: BiCGStab - Linear System Max Iterations: 1000 - Linear System Preconditioning: ILU - Linear System Precondition Recompute: 1 - Linear System Convergence Tolerance: 1.0e-8 - Linear System Abort Not Converged: True - Linear System Residual Output: 1 - Smart Heater Control After Tolerance: 1.0e-4 -MagnetoDynamics2DHarmonic: - Equation: MagnetoDynamics2DHarmonic - Procedure: '"MagnetoDynamics2D" "MagnetoDynamics2DHarmonic"' - Variable: 'Potential[Potential Re:1 Potential Im:1]' - Variable Dofs: 2 - Exec Solver: Always - Nonlinear System Convergence Tolerance: 1.0e-6 - Nonlinear System Max Iterations: 1000 - Nonlinear System Relaxation Factor: 0.7 - Steady State Convergence Tolerance: 1.0e-6 - Optimize Bandwidth: True - Linear System Solver: Iterative - Linear System Iterative Method: BiCGStab - Linear System Max Iterations: 1000 - Linear System Preconditioning: ILU - Linear System Precondition Recompute: 1 - Linear System Convergence Tolerance: 1.0e-8 - Linear System Abort Not Converged: True - Linear System Residual Output: 1 -MagnetoDynamicsCalcFields: - Equation: MagnetoDynamicsCalcFields - Procedure: '"MagnetoDynamics" "MagnetoDynamicsCalcFields"' - Potential Variable: Potential - Angular Frequency: 8.48e4 - Calculate Joule Heating: True - Calculate Magnetic Field Strength: True - Calculate Electric Field: True - Exec Solver: Always - Calculate Nodal Fields: Logical False - Calculate Elemental Fields: Logical True -StatMagSolver: - Equation: StatMagSolver - Procedure: '"StatMagSolve" "StatMagSolver"' - Variable: Potential - Variable DOFs: 2 - Calculate Joule Heating: 'Logical True' - Calculate Magnetic Flux: 'Logical True' - Exec Solver: Always - Nonlinear System Convergence Tolerance: 1.0e-6 - Nonlinear System Max Iterations: 1000 - Nonlinear System Relaxation Factor: 0.7 - Steady State Convergence Tolerance: 1.0e-6 - Optimize Bandwidth: True - Linear System Solver: Iterative - Linear System Iterative Method: BiCGStab - Linear System Max Iterations: 1000 - Linear System Preconditioning: ILU - Linear System Precondition Recompute: 1 - Linear System Convergence Tolerance: 1.0e-8 - Linear System Abort Not Converged: True - Linear System Residual Output: 1 -SaveMaterials: - Exec Solver: 'After timestep' - Procedure: 'File "SaveData" "SaveMaterials"' - Parameter 1: 'String "Heat Conductivity"' -ResultOutputSolver: - Exec Solver: 'After timestep' - Equation: ResultOutputSolver - Procedure: '"ResultOutputSolve" "ResultOutputSolver"' - VTU Format: True - Save Geometry Ids: 'Logical True' -FluxSolver: - Exec Solver: 'After timestep' - Equation: 'Flux Solver' - Procedure: '"FluxSolver" "FluxSolver"' - Calculate Grad: 'Logical True' - Calculate Flux: 'Logical True' - Target Variable: 'String "Temperature"' - Flux Coefficient: 'String "Heat Conductivity"' - Exec Solver: Always - Nonlinear System Convergence Tolerance: 1.0e-6 - Nonlinear System Max Iterations: 1000 - Nonlinear System Relaxation Factor: 0.7 - Steady State Convergence Tolerance: 1.0e-6 - Optimize Bandwidth: True - Linear System Solver: Iterative - Linear System Iterative Method: BiCGStab - Linear System Max Iterations: 1000 - Linear System Preconditioning: ILU - Linear System Precondition Recompute: 1 - Linear System Convergence Tolerance: 1.0e-8 - Linear System Abort Not Converged: True - Linear System Residual Output: 1 -SaveScalars: - Exec Solver: 'After timestep' - Equation: SaveScalars - Procedure: '"SaveData" "SaveScalars"' - Filename: '"boundary_scalars.dat"' - Output Directory: './results' - Operator 1: 'boundary sum' - Variable 1: 'Temperature Loads' - Operator 2: 'diffusive flux' - Variable 2: Temperature - Coefficient 2: 'Heat Conductivity' -SaveLine: - Exec Solver: 'After timestep' - Equation: '"SaveLine"' - Procedure: '"SaveData" "SaveLine"' - Filename: '"boundary_lines.dat"' - Output Directory: './results' - Variable 1: Temperature Loads -SteadyPhaseChange: - Equation: SteadyPhaseChange - Variable: '"Phase Surface"' - Procedure: '"SteadyPhaseChange" "SteadyPhaseChange"' - Internal Mesh Movement: 'Logical True' diff --git a/coil_test_board.py b/coil_test_board.py deleted file mode 100644 index af47ddf..0000000 --- a/coil_test_board.py +++ /dev/null @@ -1,483 +0,0 @@ -#!/usr/bin/env python3 - -import math -import hashlib -import re -import itertools -import datetime -import tempfile -import subprocess -import sqlite3 -import json -from pathlib import Path - -import tqdm - -import gerbonara.cad.kicad.pcb as pcb -import gerbonara.cad.kicad.footprints as fp -import gerbonara.cad.primitives as cad_pr -import gerbonara.cad.kicad.graphical_primitives as kc_gr - - -cols = 5 -rows = 5 - -coil_specs = [ - {'n': 1, 's': True, 't': 1, 'c': 0.20, 'w': 5.00, 'd': 3.00, 'v': 5.00}, - {'n': 2, 's': True, 't': 1, 'c': 0.20, 'w': 3.00, 'd': 1.50, 'v': 3.00}, - {'n': 3, 's': True, 't': 1, 'c': 0.20, 'w': 1.50, 'd': 1.20, 'v': 2.00}, - {'n': 5, 's': True, 't': 1, 'c': 0.20, 'w': 0.80, 'd': 0.40, 'v': 0.80}, - {'n': 10, 's': True, 't': 1, 'c': 0.20, 'w': 0.50, 'd': 0.30, 'v': 0.60}, - {'n': 25, 's': True, 't': 1, 'c': 0.15, 'w': 0.25, 'd': 0.30, 'v': 0.60}, - - {'n': 1, 's': False, 't': 3, 'c': 0.20, 'w': 5.00, 'd': 3.00, 'v': 5.00}, - {'n': 2, 's': False, 't': 1, 'c': 0.20, 'w': 3.00, 'd': 1.50, 'v': 3.00}, - {'n': 3, 's': False, 't': 1, 'c': 0.20, 'w': 2.50, 'd': 1.20, 'v': 2.00}, - {'n': 5, 's': False, 't': 1, 'c': 0.20, 'w': 2.50, 'd': 1.20, 'v': 0.80}, - {'n': 10, 's': False, 't': 1, 'c': 0.20, 'w': 1.50, 'd': 0.80, 'v': 0.60}, - {'n': 25, 's': False, 't': 1, 'c': 0.15, 'w': 0.50, 'd': 0.30, 'v': 0.60}, - - {'n': 1, 's': False, 't': 4, 'c': 0.20, 'w': 5.00, 'd': 3.00, 'v': 5.00}, - {'n': 2, 's': False, 't': 3, 'c': 0.20, 'w': 3.00, 'd': 1.50, 'v': 3.00}, - {'n': 3, 's': False, 't': 4, 'c': 0.20, 'w': 2.50, 'd': 1.20, 'v': 2.00}, - {'n': 5, 's': False, 't': 3, 'c': 0.20, 'w': 2.50, 'd': 1.20, 'v': 0.80}, - {'n': 10, 's': False, 't': 3, 'c': 0.20, 'w': 1.50, 'd': 0.80, 'v': 0.60}, - {'n': 25, 's': False, 't': 3, 'c': 0.15, 'w': 0.50, 'd': 0.30, 'v': 0.60}, - - {'n': 1, 's': False, 't': 5, 'c': 0.20, 'w': 5.00, 'd': 3.00, 'v': 5.00}, - {'n': 2, 's': False, 't': 5, 'c': 0.20, 'w': 3.00, 'd': 1.50, 'v': 3.00}, - {'n': 3, 's': False, 't': 4, 'c': 0.20, 'w': 2.50, 'd': 1.20, 'v': 2.00}, - {'n': 5, 's': False, 't': 7, 'c': 0.20, 'w': 2.50, 'd': 1.20, 'v': 0.80}, - {'n': 10, 's': False, 't': 7, 'c': 0.20, 'w': 1.50, 'd': 0.80, 'v': 0.60}, - {'n': 25, 's': False, 't': 13, 'c': 0.15, 'w': 0.50, 'd': 0.30, 'v': 0.60}, - - {'n': 25, 's': False, 't': 37, 'c': 0.15, 'w': 0.50, 'd': 0.30, 'v': 0.60}, -] - -cachedir = Path('/tmp/coil_test_cache') -version_string = 'v1.0' -coil_border = 7 # mm -cut_gap = 8 # mm -tooling_border = 10 # mm -vscore_extra = 10 # mm -mouse_bite_width = 8 # mm -mouse_bite_yoff = 0.175 -mouse_bite_hole_dia = 0.7 -mouse_bite_hole_spacing = 0.7 -hole_offset = 5 -hole_dia = 3.2 -coil_dia = 35 # mm -coil_inner_dia = 15 # mm -board_thickness = 0.80 # mm -pad_offset = 2 # mm -pad_dia = 2.0 # mm -pad_length = 3.5 # mm -pad_drill = 1.1 # mm -pad_pitch = 2.54 # mm -join_trace_w = 0.150 # mm -do_v_cuts = False -do_mouse_bites = False -do_cut_gaps = False - -db = sqlite3.connect('coil_parameters.sqlite3') -db.execute('CREATE TABLE IF NOT EXISTS runs (run_id INTEGER PRIMARY KEY, timestamp TEXT, version TEXT)') -db.execute('CREATE TABLE IF NOT EXISTS coils (coil_id INTEGER PRIMARY KEY, run_id INTEGER, FOREIGN KEY (run_id) REFERENCES runs(run_id))') -db.execute('CREATE TABLE IF NOT EXISTS results (result_id INTEGER PRIMARY KEY, coil_id INTEGER, key TEXT, value TEXT, FOREIGN KEY (coil_id) REFERENCES coils(coil_id))') -cur = db.cursor() -cur.execute('INSERT INTO runs(timestamp, version) VALUES (datetime("now"), ?)', (version_string,)) -run_id = cur.lastrowid -db.commit() - -tile_width = tile_height = coil_dia + 2*coil_border -coil_pitch_v = tile_width + cut_gap -coil_pitch_h = tile_height + cut_gap - -total_width = coil_pitch_h*cols + 2*tooling_border + cut_gap -total_height = coil_pitch_v*rows + 2*tooling_border + cut_gap - -drawing_text_size = 2.0 - -print(f'Calculated board size: {total_width:.2f} * {total_height:.2f} mm') -print(f'Tile size: {tile_height:.2f} * {tile_height:.2f} mm') - -x0, y0 = 100, 100 - -xy = pcb.XYCoord -b = pcb.Board.empty_board(page=pcb.PageSettings(page_format='A2')) - -b.add(kc_gr.Rectangle(xy(x0, y0), xy(x0+total_width, y0+total_height), layer='Edge.Cuts', stroke=pcb.Stroke(width=0.15))) - -def do_line(x0, y0, x1, y1, off_x=0, off_y=0): - b.add(kc_gr.Line(xy(x0+off_x, y0+off_y), - xy(x1+off_x, y1+off_y), - layer='Edge.Cuts', stroke=pcb.Stroke(width=0.15))) - -if do_v_cuts: - for y in range(rows): - for off_y in [0, tile_height]: - y_pos = y0 + tooling_border + cut_gap + off_y + y*coil_pitch_v - do_line(x0 - vscore_extra, y_pos, x0 + total_width + vscore_extra, y_pos) - b.add(kc_gr.Text(text='V-score', - at=pcb.AtPos(x0 + total_width + vscore_extra + drawing_text_size/2, y_pos, 0), - layer=kc_gr.TextLayer('Edge.Cuts'), - effects=pcb.TextEffect( - font=pcb.FontSpec(size=xy(drawing_text_size, drawing_text_size), - thickness=drawing_text_size/10), - justify=pcb.Justify(h=pcb.Atom.left)))) - - - for x in range(cols): - for off_x in [0, tile_width]: - x_pos = x0 + tooling_border + cut_gap + off_x + x*coil_pitch_h - do_line(x_pos, y0 - vscore_extra, x_pos, y0 + total_height + vscore_extra) - b.add(kc_gr.Text(text='V-score', - at=pcb.AtPos(x_pos, y0 + total_height + vscore_extra + drawing_text_size/2, 90), - layer=kc_gr.TextLayer('Edge.Cuts'), - effects=pcb.TextEffect( - font=pcb.FontSpec(size=xy(drawing_text_size, drawing_text_size), - thickness=drawing_text_size/10), - justify=pcb.Justify(h=pcb.Atom.right)))) - -def draw_corner(x0, y0, spokes): - right, top, left, bottom = [True if c.lower() in 'y1' else False for c in spokes] - - l = (tile_width - mouse_bite_width)/2 - cut_gap/2 - - if right: - do_line(cut_gap/2, -cut_gap/2, cut_gap/2 + l, -cut_gap/2, x0, y0) - do_line(cut_gap/2, cut_gap/2, cut_gap/2 + l, cut_gap/2, x0, y0) - b.add(kc_gr.Arc(start=xy(x0+cut_gap/2+l, y0-cut_gap/2), - end=xy(x0+cut_gap/2+l, y0+cut_gap/2), - center=xy(x0+cut_gap/2+l, y0), - layer='Edge.Cuts', - stroke=pcb.Stroke(width=0.15))) - - else: - do_line(cut_gap/2, -cut_gap/2, cut_gap/2, cut_gap/2, x0, y0) - - if left: - do_line(-cut_gap/2, -cut_gap/2, -cut_gap/2 - l, -cut_gap/2, x0, y0) - do_line(-cut_gap/2, cut_gap/2, -cut_gap/2 - l, cut_gap/2, x0, y0) - b.add(kc_gr.Arc(end=xy(x0-cut_gap/2-l, y0-cut_gap/2), - start=xy(x0-cut_gap/2-l, y0+cut_gap/2), - center=xy(x0-cut_gap/2-l, y0), - layer='Edge.Cuts', - stroke=pcb.Stroke(width=0.15))) - - else: - do_line(-cut_gap/2, -cut_gap/2, -cut_gap/2, cut_gap/2, x0, y0) - - if bottom: - do_line(-cut_gap/2, cut_gap/2, -cut_gap/2, cut_gap/2 + l, x0, y0) - do_line(cut_gap/2, cut_gap/2, cut_gap/2, cut_gap/2 + l, x0, y0) - b.add(kc_gr.Arc(end=xy(x0-cut_gap/2, y0+cut_gap/2+l), - start=xy(x0+cut_gap/2, y0+cut_gap/2+l), - center=xy(x0, y0+cut_gap/2+l), - layer='Edge.Cuts', - stroke=pcb.Stroke(width=0.15))) - - else: - do_line(-cut_gap/2, cut_gap/2, cut_gap/2, cut_gap/2, x0, y0) - - if top: - do_line(-cut_gap/2, -cut_gap/2, -cut_gap/2, -cut_gap/2 - l, x0, y0) - do_line(cut_gap/2, -cut_gap/2, cut_gap/2, -cut_gap/2 - l, x0, y0) - b.add(kc_gr.Arc(start=xy(x0-cut_gap/2, y0-cut_gap/2-l), - end=xy(x0+cut_gap/2, y0-cut_gap/2-l), - center=xy(x0, y0-cut_gap/2-l), - layer='Edge.Cuts', - stroke=pcb.Stroke(width=0.15))) - else: - - do_line(-cut_gap/2, -cut_gap/2, cut_gap/2, -cut_gap/2, x0, y0) - - -def make_mouse_bite(x, y, rot=0, width=mouse_bite_width, hole_dia=mouse_bite_hole_dia, hole_spacing=mouse_bite_hole_spacing, **kwargs): - - pitch = hole_dia + hole_spacing - num_holes = int(math.floor((width - hole_dia) / pitch)) + 1 - - actual_spacing = (width - num_holes*hole_dia) / (num_holes - 1) - pitch = hole_dia + actual_spacing - - f = fp.Footprint(name='mouse_bite', _version=None, generator=None, at=fp.AtPos(x, y, rot), **kwargs) - for i in range(num_holes): - f.pads.append(fp.Pad( - number='1', - type=fp.Atom.np_thru_hole, - shape=fp.Atom.circle, - at=fp.AtPos(-width/2 + i*pitch + hole_dia/2, 0, 0), - size=xy(hole_dia, hole_dia), - drill=fp.Drill(diameter=hole_dia), - footprint=f)) - return f - - -def make_hole(x, y, dia, **kwargs): - f = fp.Footprint(name='hole', _version=None, generator=None, at=fp.AtPos(x, y, 0), **kwargs) - f.pads.append(fp.Pad( - number='1', - type=fp.Atom.np_thru_hole, - shape=fp.Atom.circle, - at=fp.AtPos(0, 0, 0), - size=xy(dia, dia), - drill=fp.Drill(diameter=dia), - footprint=f)) - return f - - -def make_pads(x, y, rot, n, pad_dia, pad_length, drill, pitch, **kwargs): - f = fp.Footprint(name=f'conn_gen_01x{n}', _version=None, generator=None, at=fp.AtPos(x, y, rot), **kwargs) - - for i in range(n): - f.pads.append(fp.Pad( - number=str(i+1), - type=fp.Atom.thru_hole, - shape=fp.Atom.oval, - at=fp.AtPos(-pitch*(n-1)/2 + i*pitch, 0, rot), - size=xy(pad_dia, pad_length), - drill=fp.Drill(diameter=drill), - footprint=f)) - - return f - - -corner_x0 = x0 + tooling_border + cut_gap/2 -corner_y0 = y0 + tooling_border + cut_gap/2 -corner_x1 = x0 + total_width - tooling_border - cut_gap/2 -corner_y1 = y0 + total_height - tooling_border - cut_gap/2 - -if do_cut_gaps: - # Corners - draw_corner(corner_x0, corner_y0, 'YNNY') - draw_corner(corner_x0, corner_y1, 'YYNN') - draw_corner(corner_x1, corner_y0, 'NNYY') - draw_corner(corner_x1, corner_y1, 'NYYN') - - # Top / bottom T junctions - for x in range(1, cols): - draw_corner(corner_x0 + x*coil_pitch_h, corner_y0, 'YYNY') - draw_corner(corner_x0 + x*coil_pitch_h, corner_y1, 'NYYY') - - # Left / right T junctions - for y in range(1, rows): - draw_corner(corner_x0, corner_y0 + y*coil_pitch_v, 'YYNY') - draw_corner(corner_x1, corner_y0 + y*coil_pitch_v, 'NYYY') - - # Middle X junctions - for y in range(1, rows): - for x in range(1, cols): - draw_corner(corner_x0 + x*coil_pitch_h, corner_y0 + y*coil_pitch_v, 'YYYY') - -else: - for layer in ('F.SilkS', 'B.SilkS'): - for x in range(0, cols+1): - cx = x0 + tooling_border + cut_gap/2 + x*coil_pitch_h - b.add(kc_gr.Line(xy(cx, corner_y0), - xy(cx, corner_y1), - layer=layer, stroke=pcb.Stroke(width=0.15))) - - for y in range(0, rows+1): - cy = y0 + tooling_border + cut_gap/2 + y*coil_pitch_v - b.add(kc_gr.Line(xy(corner_x0, cy), - xy(corner_x1, cy), - layer=layer, stroke=pcb.Stroke(width=0.15))) - - -# Mouse bites -if do_mouse_bites: - for x in range(0, cols): - for y in range(0, rows): - tile_x0 = x0 + tooling_border + cut_gap + x*coil_pitch_h - tile_y0 = y0 + tooling_border + cut_gap + y*coil_pitch_v - - b.add(make_mouse_bite(tile_x0 + tile_width/2, tile_y0 - mouse_bite_hole_dia/2, 0)) - b.add(make_mouse_bite(tile_x0 + tile_width/2, tile_y0 + tile_height + mouse_bite_hole_dia/2, 0)) - b.add(make_mouse_bite(tile_x0 - mouse_bite_hole_dia/2, tile_y0 + tile_height/2, 90)) - b.add(make_mouse_bite(tile_x0 + tile_width + mouse_bite_hole_dia/2, tile_y0 + tile_height/2, 90)) - -# Mounting holes -for x in range(0, cols): - for y in range(0, rows): - tile_x0 = x0 + tooling_border + cut_gap + x*coil_pitch_h + tile_width/2 - tile_y0 = y0 + tooling_border + cut_gap + y*coil_pitch_v + tile_height/2 - - dx = tile_width/2 - hole_offset - dy = tile_height/2 - hole_offset - b.add(make_hole(tile_x0 - dx, tile_y0 - dy, hole_dia)) - b.add(make_hole(tile_x0 - dx, tile_y0 + dy, hole_dia)) - b.add(make_hole(tile_x0 + dx, tile_y0 - dy, hole_dia)) - b.add(make_hole(tile_x0 + dx, tile_y0 + dy, hole_dia)) - -# border graphics -c = 3 -for layer in ['F.SilkS', 'B.SilkS']: - b.add(kc_gr.Rectangle(start=xy(x0, y0), end=xy(x0+c, y0+total_height), layer=layer, stroke=pcb.Stroke(width=0), - fill=kc_gr.FillMode(pcb.Atom.solid))) - b.add(kc_gr.Rectangle(start=xy(x0, y0), end=xy(x0+total_width, y0+c), layer=layer, stroke=pcb.Stroke(width=0), - fill=kc_gr.FillMode(pcb.Atom.solid))) - b.add(kc_gr.Rectangle(start=xy(x0+total_width-c, y0), end=xy(x0+total_width, y0+total_height), layer=layer, stroke=pcb.Stroke(width=0), - fill=kc_gr.FillMode(pcb.Atom.solid))) - b.add(kc_gr.Rectangle(start=xy(x0, y0+total_height-c), end=xy(x0+total_width, y0+total_height), layer=layer, stroke=pcb.Stroke(width=0), - fill=kc_gr.FillMode(pcb.Atom.solid))) - -a = 3 -timestamp = datetime.datetime.now().strftime('%Y-%m-%d') -b.add(kc_gr.Text(text=f'Planar inductor test panel', - at=pcb.AtPos(x0 + tooling_border + cut_gap/2, y0 + c + 2*a/3), - layer=kc_gr.TextLayer('F.SilkS'), - effects=pcb.TextEffect( - font=pcb.FontSpec(face="Inter Semi Bold", - size=xy(6*a/3, 6*a/3), - thickness=a/5), - justify=pcb.Justify(h=pcb.Atom.left, v=pcb.Atom.top)))) - -b.add(kc_gr.Text(text=f'{version_string} {timestamp} © 2023 Jan Götte, FG KOM, TU Darmstadt', - at=pcb.AtPos(x0 + total_width - tooling_border - cut_gap/2, y0 + c + 4*a/3), - layer=kc_gr.TextLayer('F.SilkS'), - effects=pcb.TextEffect( - font=pcb.FontSpec(face="Inter Light", - size=xy(a, a), - thickness=a/5), - justify=pcb.Justify(h=pcb.Atom.right, v=pcb.Atom.top)))) - -for index, ((y, x), spec) in tqdm.tqdm(enumerate(zip(itertools.product(range(rows), range(cols)), coil_specs), start=1)): - pass - with tempfile.NamedTemporaryFile(suffix='.kicad_mod') as f: - tile_x0 = x0 + tooling_border + cut_gap + x*coil_pitch_h + tile_width/2 - tile_y0 = y0 + tooling_border + cut_gap + y*coil_pitch_v + tile_height/2 - - for key, alias in { - 'gen.inner_diameter': 'id', - 'gen.outer_diameter': 'od', - 'gen.trace_width': 'w', - 'gen.turns': 'n', - 'gen.twists': 't', - 'gen.clearance': 'c', - 'gen.single_layer': 's', - 'gen.via_drill': 'd', - 'gen.via_diameter': 'v'}.items(): - if alias in spec: - spec[key] = spec.pop(alias) - - if 'gen.via_diameter' not in spec: - spec['gen.via_diameter'] = spec['gen.trace_width'] - - if 'gen.inner_diameter' not in spec: - spec['gen.inner_diameter'] = coil_inner_dia - - if 'gen.outer_diameter' not in spec: - spec['gen.outer_diameter'] = coil_dia - - args = ['python', '-m', 'twisted_coil_gen_twolayer', '--no-keepout-zone'] - for k, v in spec.items(): - prefix, _, k = k.partition('.') - if (not isinstance(v, bool) or v) and prefix == 'gen': - args.append('--' + k.replace('_', '-')) - if v is not True: - args.append(str(v)) - - arg_digest = hashlib.sha3_256(' / '.join(map(str, args)).encode()).hexdigest() - cachedir.mkdir(exist_ok=True) - cache_file = cachedir / f'C-{arg_digest}.kicad_mod' - log_file = cachedir / f'Q-{arg_digest}.kicad_mod' - if not cache_file.is_file(): - args.append(cache_file) - try: - res = subprocess.run(args, check=True, capture_output=True, text=True) - log_file.write_text(res.stdout + res.stderr) - except subprocess.CalledProcessError as e: - print(f'Error generating coil with command line {args}, rc={e.returncode}') - print(e.stdout) - print(e.stderr) - - coil = fp.Footprint.open_mod(cache_file) - coil.at = fp.AtPos(tile_x0, tile_y0, 0) - b.add(coil) - - t = [f'n={spec["gen.turns"]}', - f'{spec["gen.twists"]} twists', - f'w={spec["gen.trace_width"]:.2f}mm'] - if spec.get('gen.single_layer'): - t.append('single layer') - - spec['gen.board_thickness'] = board_thickness - cur.execute('INSERT INTO coils(run_id) VALUES (?)', (run_id,)) - coil_id = cur.lastrowid - - for key, value in spec.items(): - if isinstance(value, bool): - value = str(value) - db.execute('INSERT INTO results(coil_id, key, value) VALUES (?, ?, ?)', (coil_id, key, value)) - - for l in log_file.read_text().splitlines(): - if (m := re.fullmatch(r'Approximate inductance:\s*([-+.0-9eE]+)\s*µH', l.strip())): - val = float(m.group(1)) * 1e-6 - db.execute('INSERT INTO results(coil_id, key, value) VALUES (?, "calculated_approximate_inductance", ?)', (coil_id, val)) - if (m := re.fullmatch(r'Approximate track length:\s*([-+.0-9eE]+)\s*mm', l.strip())): - val = float(m.group(1)) * 1e-3 - db.execute('INSERT INTO results(coil_id, key, value) VALUES (?, "calculated_trace_length", ?)', (coil_id, val)) - if (m := re.fullmatch(r'Approximate resistance:\s*([-+.0-9eE]+)\s*Ω', l.strip())): - val = float(m.group(1)) - db.execute('INSERT INTO results(coil_id, key, value) VALUES (?, "calculated_approximate_resistance", ?)', (coil_id, val)) - if (m := re.fullmatch(r'Fill factor:\s*([-+.0-9eE]+)', l.strip())): - val = float(m.group(1)) - db.execute('INSERT INTO results(coil_id, key, value) VALUES (?, "calculated_fill_factor", ?)', (coil_id, val)) - db.commit() - - sz = 2 - b.add(kc_gr.Text(text='\\n'.join(t), - at=pcb.AtPos(tile_x0, tile_y0), - layer=kc_gr.TextLayer('B.SilkS'), - effects=pcb.TextEffect( - font=pcb.FontSpec(face='Inter Medium', - size=xy(sz, sz), - thickness=sz/5), - justify=pcb.Justify(h=None, v=None, mirror=True)))) - - b.add(kc_gr.Text(text=f'Tile {index}', - at=pcb.AtPos(tile_x0, tile_y0 - tile_height/2 + sz), - layer=kc_gr.TextLayer('B.SilkS'), - effects=pcb.TextEffect( - font=pcb.FontSpec(face='Inter Semi Bold', - size=xy(sz, sz), - thickness=sz/5), - justify=pcb.Justify(h=None, v=pcb.Atom.top, mirror=True)))) - - b.add(kc_gr.Text(text=f'{version_string} {timestamp}', - at=pcb.AtPos(tile_x0, tile_y0 - tile_height/2 + sz*2.4), - layer=kc_gr.TextLayer('B.SilkS'), - effects=pcb.TextEffect( - font=pcb.FontSpec(face='Inter Light', - size=xy(sz, sz), - thickness=sz/5), - justify=pcb.Justify(h=None, v=pcb.Atom.top, mirror=True)))) - - b.add(kc_gr.Text(text=f'{index}', - at=pcb.AtPos(tile_x0, tile_y0 - tile_height/2 + sz), - layer=kc_gr.TextLayer('F.SilkS'), - effects=pcb.TextEffect( - font=pcb.FontSpec(face='Inter Medium', - size=xy(sz, sz), - thickness=sz/5), - justify=pcb.Justify(h=None, v=pcb.Atom.top, mirror=False)))) - - pads_x0 = tile_x0 + tile_width/2 - pad_offset - pads = make_pads(pads_x0, tile_y0, 270, 2, pad_dia, pad_length, pad_drill, pad_pitch) - b.add(pads) - - w = min(spec.get('gen.trace_width', pad_dia), pad_dia) - wx, wy, _r, _f = pads.pad(2).abs_pos - w2 = (wx - pad_length/2, wy) - wx, wy, _r, _f = pads.pad(1).abs_pos - w1 = (wx - pad_length/2, wy) - b.add(cad_pr.Trace(w, coil.pad(1), pads.pad(1), waypoints=[w1], orientation=['ccw'], side='top')) - b.add(cad_pr.Trace(w, coil.pad(2), pads.pad(2), waypoints=[w2], orientation=['cw'], side='bottom')) - - k = 3 - for layer in ['F.SilkS', 'B.SilkS']: - b.add(kc_gr.Rectangle(start=xy(wx-k/2, wy-pad_pitch-k/2), end=xy(wx+k/2, wy-pad_pitch), layer=layer, stroke=pcb.Stroke(width=0), - fill=kc_gr.FillMode(pcb.Atom.solid))) - -b.write('coil_test_board.kicad_pcb') - diff --git a/self-capacitance-actually-working.sif b/self-capacitance-actually-working.sif deleted file mode 100644 index 5f7423f..0000000 --- a/self-capacitance-actually-working.sif +++ /dev/null @@ -1,173 +0,0 @@ -Header - CHECK KEYWORDS "Warn" - Mesh DB "." "mesh" -End - -Simulation - Mesh Levels = 1 - Max Output Level = 7 - Coordinate System = Cartesian - Coordinate Mapping(3) = 1 2 3 - Simulation Type = Steady state - Steady State Max Iterations = 1 - Output Intervals = 1 - Timestepping Method = BDF - Simulation Timing = True - BDF Order = 1 - Solver Input File = case.sif - Post File = case.vtu - Output File = case.result -End - -Constants - Stefan Boltzmann = 5.6704e-08 - Permittivity of Vacuum = 8.8541878128e-12 - Gravity(4) = 0 -1 0 9.80665 - Boltzmann Constant = 1.380649e-23 - Unit Charge = 1.602176634e-19 -End - -! airEqn -Equation 1 - Active Solvers(1) = 2 -End - -! copperEqn -Equation 2 - Active Solvers(1) = 1 2 -End - -Solver 1 - Equation = Static Current Conduction - Variable = Potential - Variable DOFs = 1 - Procedure = "StatCurrentSolve" "StatCurrentSolver" - Calculate Volume Current = True - Calculate Joule Heating = False - Optimize Bandwidth = True - Nonlinear System Max Iterations = 1 - Linear System Solver = Iterative - Linear System Iterative Method = CG - Linear System Max Iterations = 10000 - Linear System Convergence Tolerance = 1e-10 - Linear System Preconditioning = ILU3 - Linear System ILUT Tolerance = 0.001 - Linear System Abort Not Converged = False - Linear System Residual Output = 20 - Linear System Precondition Recompute = 1 -End - -Solver 2 - Equation = Electrostatics - Procedure = "StatElecSolve" "StatElecSolver" - Variable = PotentialStat - Calculate Electric Field = True - Calculate Electric Energy = True - Steady State Convergence Tolerance = 1e-05 - Nonlinear System Convergence Tolerance = 1e-07 - Nonlinear System Max Iterations = 20 - Nonlinear System Newton After Iterations = 3 - Nonlinear System Newton After Tolerance = 0.001 - Nonlinear System Relaxation Factor = 1 - Linear System Solver = Iterative - Linear System Iterative Method = BiCGStab - Linear System Max Iterations = 500 - Linear System Convergence Tolerance = 1e-10 - BiCGstabl polynomial degree = 2 - Linear System Preconditioning = none - Linear System ILUT Tolerance = 0.001 - Linear System Abort Not Converged = False - Linear System Residual Output = 10 -End - - - -! air -Material 1 - Density = 1.1885 - Electric Conductivity = 0.0 - Heat Capacity = 1006.4 - Heat Conductivity = 0.025873 - Relative Permeability = 1 - Relative Permittivity = 1 -End - -! ro4003c -Material 2 - Density = 1790 - Electric Conductivity = 0.0 - Relative Permeability = 1 - Relative Permittivity = 3.55 -End - -! copper -Material 3 - Density = 8960.0 - Electric Conductivity = 59600000 - Emissivity = 0.012 - Heat Capacity = 415.0 - Heat Conductivity = 401.0 - Relative Permeability = 1 -End - -! trace -Body 1 - Target Bodies(1) = 3 - Equation = 2 ! copperEqn - Material = 3 ! copper - Body Force = 1 ! electric_potential -End - -! substrate -Body 2 - Target Bodies(1) = 1 - Equation = 1 ! airEqn - Material = 2 ! ro4003c -End - -! airbox -Body 3 - Target Bodies(1) = 2 - Equation = 1 ! airEqn - Material = 1 ! air - Body Force = 1 -End - -! interface_top -Body 4 - Target Bodies(1) = 4 - Material = 3 ! copper -End - -! interface_bottom -Body 5 - Target Bodies(1) = 5 - Material = 3 ! copper -End - - -! FarField -Boundary Condition 1 - Target Boundaries(1) = 6 - Electric Infinity BC = True -End - -! Vplus -Boundary Condition 2 - Target Boundaries(1) = 4 - Potential = 1.0 - Save Scalars = True -End - -! Vminus -Boundary Condition 3 - Target Boundaries(1) = 5 - Potential = 0.0 -End - - -! electric_potential -Body Force 1 - PotentialStat = Equals "Potential" -End - diff --git a/self-capacitance-working.sif b/self-capacitance-working.sif deleted file mode 100644 index e7691df..0000000 --- a/self-capacitance-working.sif +++ /dev/null @@ -1,154 +0,0 @@ -Header - CHECK KEYWORDS "Warn" - Mesh DB "." "mesh" -End - -Simulation - Mesh Levels = 1 - Max Output Level = 7 - Coordinate System = Cartesian - Coordinate Mapping(3) = 1 2 3 - Simulation Type = Steady state - Steady State Max Iterations = 1 - Output Intervals = 1 - Timestepping Method = BDF - Simulation Timing = True - BDF Order = 1 - Solver Input File = case.sif - Post File = case.vtu - Output File = case.result -End - -Constants - Stefan Boltzmann = 5.6704e-08 - Permittivity of Vacuum = 8.8541878128e-12 - Gravity(4) = 0 -1 0 9.80665 - Boltzmann Constant = 1.380649e-23 - Unit Charge = 1.602176634e-19 -End - -! airEqn -Equation 1 - Active Solvers(1) = 1 ! Static_Current_Conduction, Magneto_Dynamics, Magneto_Dynamics_Calculations, -End - -! Static_Current_Conduction -Solver 1 - Equation = Electrostatics - Procedure = "StatElecSolve" "StatElecSolver" - Variable = Potential - Calculate Electric Field = True - Calculate Electric Energy = True - Exec Solver = Always - Stabilize = True - Bubbles = False - Lumped Mass Matrix = False - Optimize Bandwidth = True - Steady State Convergence Tolerance = 1e-05 - Nonlinear System Convergence Tolerance = 1e-07 - Nonlinear System Max Iterations = 20 - Nonlinear System Newton After Iterations = 3 - Nonlinear System Newton After Tolerance = 0.001 - Nonlinear System Relaxation Factor = 1 - Linear System Solver = Iterative - Linear System Iterative Method = BiCGStab - Linear System Max Iterations = 500 - Linear System Convergence Tolerance = 1e-10 - BiCGstabl polynomial degree = 2 - Linear System Preconditioning = ILU0 - Linear System ILUT Tolerance = 0.001 - Linear System Abort Not Converged = False - Linear System Residual Output = 10 - Linear System Precondition Recompute = 1 -End - - -! air -Material 1 - Density = 1.1885 - Electric Conductivity = 0.0 - Heat Capacity = 1006.4 - Heat Conductivity = 0.025873 - Relative Permeability = 1 - Relative Permittivity = 1 -End - -! ro4003c -Material 2 - Density = 1790 - Electric Conductivity = 0.0 - Relative Permeability = 1 - Relative Permittivity = 3.55 -End - -! copper -Material 3 - Density = 8960.0 - Electric Conductivity = 59600000 - Emissivity = 0.012 - Heat Capacity = 415.0 - Heat Conductivity = 401.0 - Relative Permeability = 1 -End - -! trace -Body 1 - Target Bodies(1) = 3 - Material = 3 ! copper - Body Force = 1 ! electric_potential -End - -! substrate -Body 2 - Target Bodies(1) = 1 - Equation = 1 ! airEqn - Material = 2 ! ro4003c -End - -! airbox -Body 3 - Target Bodies(1) = 2 - Equation = 1 ! airEqn - Material = 1 ! air -End - -! interface_top -Body 4 - Target Bodies(1) = 4 - Material = 3 ! copper -End - -! interface_bottom -Body 5 - Target Bodies(1) = 5 - Material = 3 ! copper -End - - -! FarField -Boundary Condition 1 - Target Boundaries(1) = 6 - Electric Infinity BC = True -End - -! Vplus -Boundary Condition 2 - Target Boundaries(1) = 4 - Potential = 1.0 - Save Scalars = True -End - -! Vminus -Boundary Condition 3 - Target Boundaries(1) = 5 - Potential = 0.0 -End - - -! electric_potential -Body Force 1 - Electric Potential = Equals "Potential" -End - - - diff --git a/sim_runner.py b/sim_runner.py deleted file mode 100644 index d615caa..0000000 --- a/sim_runner.py +++ /dev/null @@ -1,282 +0,0 @@ -#!/usr/bin/env python3 - -import threading -import queue -import itertools -import pathlib -import tempfile -import sys -import sqlite3 -import time -import math -import json -import subprocess - -import tqdm -import click -from tabulate import tabulate - - -def mesh_args(db, coil_id, mesh_type, mesh_file, outfile): - mesh_type = {'split': '--mesh-split-out', 'normal': '--mesh-out', 'mutual': '--mesh-mutual-out'}[mesh_type] - rows = db.execute('SELECT key, value FROM results WHERE coil_id=?', (coil_id,)).fetchall() - args = ['python', '-m', 'twisted_coil_gen_twolayer', mesh_type, mesh_file, '--pcb'] - for k, v in rows: - prefix, _, k = k.partition('.') - if v != 'False' and prefix == 'gen': - args.append('--' + k.replace('_', '-')) - if v != 'True': - args.append(str(v)) - args.append(outfile) - return args - - -def get_mesh_file(db, mesh_dir, run_id, coil_id, mesh_type): - db.execute('CREATE TABLE IF NOT EXISTS meshes(coil_id INTEGER, mesh_type TEXT, error INTEGER, filename TEXT, timestamp TEXT DEFAULT current_timestamp, FOREIGN KEY (coil_id) REFERENCES coils(coil_id))') - - row = db.execute('SELECT * FROM meshes WHERE coil_id=? AND mesh_type=? ORDER BY timestamp DESC LIMIT 1', (coil_id, mesh_type)).fetchone() - if row is not None: - mesh_file = mesh_dir / row['filename'] - if mesh_file.is_file(): - return mesh_file - - timestamp = time.strftime('%Y-%m-%d_%H-%M-%S') - return mesh_dir / f'mesh-{run_id}-{coil_id}-{mesh_type}-{timestamp}.msh' - - -def ensure_mesh(db, mesh_dir, log_dir, run_id, coil_id, mesh_type): - mesh_file = get_mesh_file(db, mesh_dir, run_id, coil_id, mesh_type) - - if mesh_file.is_file(): - return mesh_file - - db.execute('INSERT INTO meshes(coil_id, mesh_type, error, filename) VALUES (?, ?, 0, ?)', (coil_id, mesh_type, mesh_file.name)) - db.commit() - - mesh_file.parent.mkdir(exist_ok=True) - with tempfile.NamedTemporaryFile(suffix='.kicad_pcb') as f: - args = mesh_args(db, coil_id, mesh_type, mesh_file, f.name) - tqdm.tqdm.write(' '.join(map(str, args))) - logfile = log_dir / mesh_file.with_suffix('.log').name - logfile.parent.mkdir(exist_ok=True) - try: - res = subprocess.run(args, check=True, capture_output=True, text=True) - logfile.write_text(res.stdout + res.stderr) - - except subprocess.CalledProcessError as e: - print('Mesh generation failed with exit code {e.returncode}', file=sys.stderr) - logfile.write_text(e.stdout + e.stderr) - print(e.stdout + e.stderr) - raise - - return mesh_file - - -@click.group() -@click.option('-d', '--database', default='coil_parameters.sqlite3') -@click.pass_context -def cli(ctx, database): - ctx.ensure_object(dict) - def connect(): - db = sqlite3.connect(database) - db.row_factory = sqlite3.Row - return db - ctx.obj['db_connect'] = connect - - -@cli.command() -@click.pass_context -def list_runs(ctx): - for row in ctx.obj['db_connect']().execute('SELECT * FROM runs ORDER BY timestamp').fetchall(): - print(row['run_id'], row['timestamp'], row['version']) - - -@cli.command() -@click.pass_context -def list_runs(ctx): - for row in ctx.obj['db_connect']().execute('SELECT * FROM runs ORDER BY timestamp').fetchall(): - print(row['run_id'], row['timestamp'], row['version']) - - -@cli.command() -@click.option('-r', '--run-id') -@click.option('-m', '--mesh-dir', default='meshes') -@click.pass_context -def list_coils(ctx, run_id, mesh_dir): - db = ctx.obj['db_connect']() - if run_id is None: - run_id, = db.execute('SELECT run_id FROM runs ORDER BY timestamp DESC LIMIT 1').fetchone() - timestamp, = db.execute('SELECT timestamp FROM runs WHERE run_id=?', (run_id,)).fetchone() - mesh_dir = pathlib.Path(mesh_dir) - - print(f'Listing meshes for run {run_id} at {timestamp}') - print() - - keys = {'gen.turns': 'N', - 'gen.twists': 'T', - 'gen.single_layer': '1L', - 'gen.inner_diameter': 'ID[mm]', - 'gen.outer_diameter': 'OD[mm]', - 'calculated_fill_factor': 'Fill factor', - 'calculated_approximate_inductance': 'L [µH]', - 'calculated_trace_length': 'track len [mm]', - 'calculated_approximate_resistance': 'R [mΩ]'} - out = [] - for row in db.execute('SELECT *, MAX(meshes.timestamp) FROM coils LEFT JOIN meshes ON coils.coil_id=meshes.coil_id WHERE run_id=? GROUP BY coils.coil_id, mesh_type ORDER BY meshes.timestamp', (run_id,)).fetchall(): - if row['timestamp']: - if row['error']: - state = 'ERROR' - elif not (mesh_dir / row['filename']).is_file(): - state = 'NOT FOUND' - else: - state = 'SUCCESS' - else: - state = 'NOT RUN' - - params = dict(db.execute('SELECT key, value FROM results WHERE coil_id=?', (row['coil_id'],)).fetchall()) - - if 'calculated_approximate_inductance' in params: - params['calculated_approximate_inductance'] = f'{float(params["calculated_approximate_inductance"])*1e6:.02f}' - - if 'calculated_trace_length' in params: - params['calculated_trace_length'] = f'{float(params["calculated_trace_length"])*1e3:.03f}' - - if 'calculated_approximate_resistance' in params: - params['calculated_approximate_resistance'] = f'{float(params["calculated_approximate_resistance"])*1e3:.03f}' - - if 'calculated_fill_factor' in params: - params['calculated_fill_factor'] = f'{float(params["calculated_fill_factor"]):.03f}' - - out.append([row['coil_id'], row['mesh_type'], state, row['timestamp']] + [params.get(key, '-') for key in keys]) - - print(tabulate(out, headers=['coil', 'mesh', 'state', 'time'] + list(keys.values()), disable_numparse=True, stralign='right')) - -@cli.command() -@click.argument('coil_id', type=int) -@click.argument('mesh_type', type=click.Choice(['normal', 'split', 'mutual'])) -@click.option('--mesh-file', default='/tmp/test.msh') -@click.option('--pcb-file', default='/tmp/test.kicad_pcb') -@click.pass_context -def cmdline(ctx, coil_id, mesh_type, mesh_file, pcb_file): - print(' '.join(mesh_args(ctx.obj['db_connect'](), coil_id, mesh_type, mesh_file, pcb_file))) - -@cli.group() -@click.option('-r', '--run-id') -@click.option('-l', '--log-dir', default='logs') -@click.option('-m', '--mesh-dir', default='meshes') -@click.pass_context -def run(ctx, run_id, log_dir, mesh_dir): - if run_id is None: - run_id, = ctx.obj['db_connect']().execute('SELECT run_id FROM runs ORDER BY timestamp DESC LIMIT 1').fetchone() - ctx.obj['run_id'] = run_id - ctx.obj['log_dir'] = pathlib.Path(log_dir) - ctx.obj['mesh_dir'] = pathlib.Path(mesh_dir) - - -@run.command() -@click.option('-j', '--num-jobs', type=int, default=1, help='Number of jobs to run in parallel') -@click.pass_context -def generate_meshes(ctx, num_jobs): - db = ctx.obj['db_connect']() - rows = [row['coil_id'] for row in db.execute('SELECT coil_id FROM coils WHERE run_id=?', (ctx.obj['run_id'],)).fetchall()] - mesh_types = ['split', 'normal', 'mutual'] - - params = list(itertools.product(rows, mesh_types)) - all_files = {get_mesh_file(db, ctx.obj['mesh_dir'], ctx.obj['run_id'], coil_id, mesh_type): (coil_id, mesh_type) for coil_id, mesh_type in params} - todo = [(coil_id, mesh_type) for f, (coil_id, mesh_type) in all_files.items() if not f.is_file()] - - q = queue.Queue() - for elem in todo: - q.put(elem) - - tq = tqdm.tqdm(total=len(todo)) - def queue_worker(): - try: - while True: - coil_id, mesh_type = q.get_nowait() - try: - ensure_mesh(ctx.obj['db_connect'](), ctx.obj['mesh_dir'], ctx.obj['log_dir'], ctx.obj['run_id'], coil_id, mesh_type) - except subprocess.CalledProcessError: - tqdm.tqdm.write(f'Error generating {mesh_type} mesh for {coil_id=}') - tq.update(1) - q.task_done() - except queue.Empty: - pass - - tqdm.tqdm.write(f'Found {len(params)-len(todo)} meshes out of a total of {len(params)}.') - tqdm.tqdm.write(f'Processing the remaining {len(todo)} meshes on {num_jobs} workers in parallel.') - threads = [] - for i in range(num_jobs): - t = threading.Thread(target=queue_worker, daemon=True) - t.start() - threads.append(t) - q.join() - -@run.command() -@click.option('-j', '--num-jobs', type=int, default=1, help='Number of jobs to run in parallel') -@click.pass_context -def self_inductance(ctx, num_jobs): - db = ctx.obj['db_connect']() - - q = queue.Queue() - - def queue_worker(): - try: - while True: - mesh_file, logfile = q.get_nowait() - with tempfile.TemporaryDirectory() as tmpdir: - try: - tqdm.tqdm.write(f'Processing {mesh_file}') - res = subprocess.run(['python', '-m', 'coil_parasitics', 'inductance', '--sim-dir', tmpdir, mesh_file], check=True, capture_output=True) - logfile.write_text(res.stdout+res.stderr) - except subprocess.CalledProcessError as e: - print(f'Error running simulation, rc={e.returncode}') - logfile.write_text(e.stdout+e.stderr) - tq.update(1) - q.task_done() - except queue.Empty: - pass - - num_meshes, num_params, num_completed = 0, 0, 0 - for coil_id, in db.execute('SELECT coil_id FROM coils WHERE run_id=?', (ctx.obj['run_id'],)).fetchall(): - num_params += 1 - mesh_file = get_mesh_file(ctx.obj['db_connect'](), ctx.obj['mesh_dir'], ctx.obj['run_id'], coil_id, 'normal') - if mesh_file.is_file(): - num_meshes += 1 - logfile = ctx.obj['log_dir'] / (mesh_file.stem + '_elmer_self_inductance.log') - if logfile.is_file(): - num_completed += 1 - else: - q.put((mesh_file, logfile)) - - tqdm.tqdm.write(f'Found {num_meshes} meshes out of a total of {num_params} with {num_completed} completed simulations.') - tqdm.tqdm.write(f'Processing the remaining {num_meshes-num_completed} simulations on {num_jobs} workers in parallel.') - - tq = tqdm.tqdm(total=num_meshes-num_completed) - threads = [] - for i in range(num_jobs): - t = threading.Thread(target=queue_worker, daemon=True) - t.start() - threads.append(t) - q.join() - -@run.command() -@click.pass_context -def self_capacitance(ctx): - db = ctx.obj['db_connect']() - for coil_id, in tqdm.tqdm(db.execute('SELECT coil_id FROM coils WHERE run_id=?', (ctx.obj['run_id'],)).fetchall()): - mesh_file = get_mesh_file(ctx.obj['db_connect'](), ctx.obj['mesh_dir'], ctx.obj['run_id'], coil_id, 'normal') - if mesh_file.is_file(): - logfile = ctx.obj['log_dir'] / (mesh_file.stem + '_elmer_self_capacitance.log') - with tempfile.TemporaryDirectory() as tmpdir: - try: - res = subprocess.run(['python', '-m', 'coil_parasitics', 'self-capacitance', '--sim-dir', tmpdir, mesh_file], check=True, capture_output=True) - logfile.write_text(res.stdout+res.stderr) - except subprocess.CalledProcessError as e: - print(f'Error running simulation, rc={e.returncode}') - logfile.write_text(e.stdout+e.stderr) - - -if __name__ == '__main__': - cli() - diff --git a/twisted_coil_gen.py b/twisted_coil_gen.py deleted file mode 100644 index 402587c..0000000 --- a/twisted_coil_gen.py +++ /dev/null @@ -1,295 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import sys -import os -from math import * -from pathlib import Path -from itertools import cycle -from scipy.constants import mu_0 - -from gerbonara.cad.kicad import pcb as kicad_pcb -from gerbonara.cad.kicad import footprints as kicad_fp -from gerbonara.cad.kicad import graphical_primitives as kicad_gr -from gerbonara.cad.kicad import primitives as kicad_pr -import click - - -__version__ = '1.0.0' - - -def point_line_distance(p, l1, l2): - x0, y0 = p - x1, y1 = l1 - x2, y2 = l2 - # https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line - return abs((x2-x1)*(y1-y0) - (x1-x0)*(y2-y1)) / sqrt((x2-x1)**2 + (y2-y1)**2) - -def line_line_intersection(l1, l2): - p1, p2 = l1 - p3, p4 = l2 - x1, y1 = p1 - x2, y2 = p2 - x3, y3 = p3 - x4, y4 = p4 - - # https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection - px = ((x1*y2-y1*x2)*(x3-x4)-(x1-x2)*(x3*y4-y3*x4))/((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) - py = ((x1*y2-y1*x2)*(y3-y4)-(y1-y2)*(x3*y4-y3*x4))/((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) - return px, py - -def angle_between_vectors(va, vb): - angle = atan2(vb[1], vb[0]) - atan2(va[1], va[0]) - if angle < 0: - angle += 2*pi - return angle - -class SVGPath: - def __init__(self, **attrs): - self.d = '' - self.attrs = attrs - - def line(self, x, y): - self.d += f'L {x} {y} ' - - def move(self, x, y): - self.d += f'M {x} {y} ' - - def arc(self, x, y, r, large, sweep): - self.d += f'A {r} {r} 0 {int(large)} {int(sweep)} {x} {y} ' - - def close(self): - self.d += 'Z ' - - def __str__(self): - attrs = ' '.join(f'{key.replace("_", "-")}="{value}"' for key, value in self.attrs.items()) - return f'' - -class SVGCircle: - def __init__(self, r, cx, cy, **attrs): - self.r = r - self.cx, self.cy = cx, cy - self.attrs = attrs - - def __str__(self): - attrs = ' '.join(f'{key.replace("_", "-")}="{value}"' for key, value in self.attrs.items()) - return f'' - -def svg_file(fn, stuff, vbw, vbh, vbx=0, vby=0): - with open(fn, 'w') as f: - f.write('\n') - f.write('\n') - f.write(f'>\n') - - for foo in stuff: - f.write(str(foo)) - - f.write('\n') - -@click.command() -@click.argument('outfile', required=False, type=click.Path(writable=True, dir_okay=False, path_type=Path)) -@click.option('--footprint-name', help="Name for the generated footprint. Default: Output file name sans extension.") -@click.option('--target-layer', default='F.Cu', help="Target KiCad layer for the generated footprint. Default: F.Cu.") -@click.option('--jumper-layer', default='B.Cu', help="KiCad layer for jumper connections. Default: B.Cu.") -@click.option('--turns', type=int, default=5, help='Number of turns') -@click.option('--diameter', type=float, default=50, help='Outer diameter [mm]') -@click.option('--trace-width', type=float, default=0.15) -@click.option('--via-diameter', type=float, default=0.6) -@click.option('--via-drill', type=float, default=0.3) -@click.option('--keepout-zone/--no-keepout-zone', default=True, help='Add a keepout are to the footprint (default: yes)') -@click.option('--keepout-margin', type=float, default=5, help='Margin between outside of coil and keepout area (mm, default: 5)') -@click.option('--twist-width', type=float, default=20, help='Width of twist versus straight coil in percent (0-100, default: 20)') -@click.option('--num-twists', type=int, default=1, help='Number of twists per revolution (default: 1)') -@click.option('--clearance', type=float, default=0.15) -@click.option('--clipboard/--no-clipboard', help='Use clipboard integration (requires wl-clipboard)') -@click.option('--counter-clockwise/--clockwise', help='Direction of generated spiral. Default: clockwise when wound from the inside.') -def generate(outfile, turns, diameter, via_diameter, via_drill, trace_width, clearance, footprint_name, target_layer, - jumper_layer, twist_width, num_twists, clipboard, counter_clockwise, keepout_zone, keepout_margin): - if 'WAYLAND_DISPLAY' in os.environ: - copy, paste, cliputil = ['wl-copy'], ['wl-paste'], 'xclip' - else: - copy, paste, cliputil = ['xclip', '-i', '-sel', 'clipboard'], ['xclip', '-o', '-sel' 'clipboard'], 'wl-clipboard' - - - out_path = SVGPath(fill='none', stroke='black', stroke_width=trace_width, stroke_linejoin='round', stroke_linecap='round') - jumper_path = SVGPath(fill='none', stroke='gray', stroke_width=trace_width, stroke_linejoin='round', stroke_linecap='round') - svg_stuff = [jumper_path, out_path] - - pitch = clearance + trace_width - twist_angle = 2*pi / (turns * num_twists - 1) - twist_width = twist_angle * twist_width/100 - - via_diameter = max(trace_width, via_diameter) - - # See https://coil32.net/pcb-coil.html for details - - d_inside = diameter - 2*(pitch*turns - clearance) - d_avg = (diameter + d_inside)/2 - phi = (diameter - d_inside) / (diameter + d_inside) - c1, c2, c3, c4 = 1.00, 2.46, 0.00, 0.20 - L = mu_0 * turns**2 * d_avg*1e3 * c1 / 2 * (log(c2/phi) + c3*phi + c4*phi**2) - print(f'Outer diameter: {diameter:g} mm') - print(f'Average diameter: {d_avg:g} mm') - print(f'Inner diameter: {d_inside:g} mm') - print(f'Fill factor: {phi:g}') - print(f'Approximate inductance: {L:g} µH') - - - make_pad = lambda num, x, y: kicad_fp.Pad( - number=str(num), - type=kicad_fp.Atom.smd, - shape=kicad_fp.Atom.circle, - at=kicad_fp.AtPos(x=x, y=y), - size=kicad_fp.XYCoord(x=trace_width, y=trace_width), - layers=[target_layer], - clearance=clearance, - zone_connect=0) - - make_line = lambda x1, y1, x2, y2, layer=target_layer: kicad_fp.Line( - start=kicad_fp.XYCoord(x=x1, y=y1), - end=kicad_fp.XYCoord(x=x2, y=y2), - layer=layer, - stroke=kicad_fp.Stroke(width=trace_width)) - - make_arc = lambda x1, y1, x2, y2, xc, yc, layer=target_layer: kicad_fp.Arc( - start=kicad_fp.XYCoord(x=x1, y=y1), - mid=kicad_fp.XYCoord(x=xc, y=yc), - end=kicad_fp.XYCoord(x=x2, y=y2), - layer=layer, - stroke=kicad_fp.Stroke(width=trace_width)) - - - make_via = lambda x, y: kicad_fp.Pad(number="NC", - type=kicad_fp.Atom.thru_hole, - shape=kicad_fp.Atom.circle, - at=kicad_fp.AtPos(x=x, y=y), - size=kicad_fp.XYCoord(x=via_diameter, y=via_diameter), - drill=kicad_fp.Drill(diameter=via_drill), - layers=[target_layer, jumper_layer], - clearance=clearance, - zone_connect=0) - - pads = [] - lines = [] - arcs = [] - - for n in range(turns * num_twists - 1): - for k in range(turns): - r = diameter/2 - trace_width/2 - k*pitch - a1 = n*twist_angle + twist_width/2 - a2 = a1 + twist_angle - twist_width - x1, y1 = r*cos(a1), r*sin(a1) - out_path.move(x1, y1) - x2, y2 = r*cos(a2), r*sin(a2) - out_path.line(x2, y2) - a3 = (a1 + a2) / 2 - xm, ym = r*cos(a3), r*sin(a3) - arcs.append(make_arc(x2, y2, x1, y1, xm, ym)) - - for k in range(turns-1): - r1 = diameter/2 - trace_width/2 - (k+1)*pitch - r2 = diameter/2 - trace_width/2 - k*pitch - a1 = n*twist_angle - twist_width/2 - a2 = a1 + twist_width - x1, y1 = r1*cos(a1), r1*sin(a1) - out_path.move(x1, y1) - x2, y2 = r2*cos(a2), r2*sin(a2) - out_path.line(x2, y2) - a3 = (a1 + a2) / 2 - r3 = (r1 + r2) / 2 - xm, ym = r3*cos(a3), r3*sin(a3) - arcs.append(make_arc(x2, y2, x1, y1, xm, ym)) - - rs = diameter/2 - trace_width/2 - rv = rs - trace_width/2 + via_diameter/2 - a = n*twist_angle - twist_width/2 - - x1, y1 = rs*cos(a), rs*sin(a) - out_path.move(x1, y1) - xv1, yv1 = rv*cos(a), rv*sin(a) - out_path.line(xv1, yv1) - svg_stuff.append(SVGCircle(via_diameter/2, xv1, yv1, fill='red')) - pads.append(make_via(xv1, yv1)) - jumper_path.move(xv1, yv1) - lines.append(make_line(x1, y1, xv1, yv1)) - - a += twist_width - rs = diameter/2 - trace_width/2 - (turns-1)*pitch - rv = rs + trace_width/2 - via_diameter/2 - - x1, y1 = rs*cos(a), rs*sin(a) - out_path.move(x1, y1) - xv2, yv2 = rv*cos(a), rv*sin(a) - out_path.line(xv2, yv2) - svg_stuff.append(SVGCircle(via_diameter/2, xv2, yv2, fill='red')) - pads.append(make_via(xv2, yv2)) - lines.append(make_line(x1, y1, xv2, yv2)) - - if n > 0: - jumper_path.line(xv2, yv2) - lines.append(make_line(xv1, yv1, xv2, yv2, jumper_layer)) - else: - pads.append(make_pad(1, xv1, yv1)) - pads.append(make_pad(2, xv2, yv2)) - - svg_file('/tmp/test.svg', svg_stuff, 100, 100, -50, -50) - - if counter_clockwise: - for p in pads: - p.at.y = -p.at.y - - for l in lines: - l.start.y = -l.start.y - l.end.y = -l.end.y - - for a in arcs: - a.start.y = -a.start.y - a.end.y = -a.end.y - - if footprint_name: - name = footprint_name - elif outfile: - name = outfile.stem, - else: - name = 'generated_coil' - - if keepout_zone: - r = diameter/2 + keepout_margin - tol = 0.05 # mm - n = ceil(pi / acos(1 - tol/r)) - pts = [(r*cos(a*2*pi/n), r*sin(a*2*pi/n)) for a in range(n)] - zones = [kicad_pr.Zone(layers=['*.Cu'], - hatch=kicad_pr.Hatch(), - filled_areas_thickness=False, - keepout=kicad_pr.ZoneKeepout(copperpour_allowed=False), - polygon=kicad_pr.ZonePolygon(pts=kicad_pr.PointList(xy=[kicad_pr.XYCoord(x=x, y=y) for x, y in pts])))] - else: - zones = [] - - fp = kicad_fp.Footprint( - name=name, - generator=kicad_fp.Atom('GerbonaraTwistedCoilGenV1'), - layer='F.Cu', - descr=f"{turns} turn {diameter:.2f} mm diameter twisted coil footprint, inductance approximately {L:.6f} µH. Generated by gerbonara'c Twisted Coil generator, version {__version__}.", - clearance=clearance, - zone_connect=0, - lines=lines, - arcs=arcs, - pads=pads, - zones=zones, - ) - - if clipboard: - try: - print(f'Running {copy[0]}.') - proc = subprocess.Popen(copy, stdin=subprocess.PIPE, text=True) - proc.communicate(fp.serialize()) - except FileNotFoundError: - print(f'Error: --clipboard requires the {copy[0]} and {paste[0]} utilities from {cliputil} to be installed.', file=sys.stderr) - elif not outfile: - print(fp.serialize()) - else: - fp.write(outfile) - -if __name__ == '__main__': - generate() diff --git a/twisted_coil_gen_twolayer.py b/twisted_coil_gen_twolayer.py deleted file mode 100644 index 204e7aa..0000000 --- a/twisted_coil_gen_twolayer.py +++ /dev/null @@ -1,1047 +0,0 @@ -#!/usr/bin/env python3 - -import subprocess -import sys -import math -import multiprocessing -import os -from math import * -from pathlib import Path -from itertools import cycle -from contextlib import contextmanager - -from scipy.constants import mu_0 -import numpy as np -import click -import matplotlib as mpl - -from gerbonara.cad.kicad import pcb as kicad_pcb -from gerbonara.cad.kicad import footprints as kicad_fp -from gerbonara.cad.kicad import graphical_primitives as kicad_gr -from gerbonara.cad.kicad import primitives as kicad_pr -from gerbonara.utils import Tag -from gerbonara import graphic_primitives as gp -from gerbonara import graphic_objects as go - - -__version__ = '1.0.0' - - -def point_line_distance(p, l1, l2): - x0, y0 = p - x1, y1 = l1 - x2, y2 = l2 - # https://en.wikipedia.org/wiki/Distance_from_a_point_to_a_line - return abs((x2-x1)*(y1-y0) - (x1-x0)*(y2-y1)) / sqrt((x2-x1)**2 + (y2-y1)**2) - -def line_line_intersection(l1, l2): - p1, p2 = l1 - p3, p4 = l2 - x1, y1 = p1 - x2, y2 = p2 - x3, y3 = p3 - x4, y4 = p4 - - # https://en.wikipedia.org/wiki/Line%E2%80%93line_intersection - px = ((x1*y2-y1*x2)*(x3-x4)-(x1-x2)*(x3*y4-y3*x4))/((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) - py = ((x1*y2-y1*x2)*(y3-y4)-(y1-y2)*(x3*y4-y3*x4))/((x1-x2)*(y3-y4)-(y1-y2)*(x3-x4)) - return px, py - -def angle_between_vectors(va, vb): - angle = atan2(vb[1], vb[0]) - atan2(va[1], va[0]) - if angle < 0: - angle += 2*pi - return angle - - -def traces_to_gmsh(traces, mesh_out, bbox, model_name='gerbonara_board', log=True, copper_thickness=0.035, board_thickness=0.8, air_box_margin=5.0): - import gmsh - occ = gmsh.model.occ - eps = 1e-6 - - gmsh.initialize() - gmsh.model.add('gerbonara_board') - if log: - gmsh.logger.start() - - trace_tags = {} - trace_ends = set() - render_cache = {} - for i, tr in enumerate(traces, start=1): - layer = tr[1].layer - z0 = 0 if layer == 'F.Cu' else -(board_thickness+copper_thickness) - - prims = [prim - for elem in tr - for obj in elem.render(cache=render_cache) - for prim in obj.to_primitives()] - - tags = [] - for prim in prims: - if isinstance(prim, gp.Line): - length = dist((prim.x1, prim.y1), (prim.x2, prim.y2)) - box_tag = occ.addBox(0, -prim.width/2, 0, length, prim.width, copper_thickness) - angle = atan2(prim.y2 - prim.y1, prim.x2 - prim.x1) - occ.rotate([(3, box_tag)], 0, 0, 0, 0, 0, 1, angle) - occ.translate([(3, box_tag)], prim.x1, prim.y1, z0) - tags.append(box_tag) - - for x, y in ((prim.x1, prim.y1), (prim.x2, prim.y2)): - disc_id = (round(x, 3), round(y, 3), round(z0, 3), round(prim.width, 3)) - if disc_id in trace_ends: - continue - - trace_ends.add(disc_id) - cylinder_tag = occ.addCylinder(x, y, z0, 0, 0, copper_thickness, prim.width/2) - tags.append(cylinder_tag) - print('fusing', tags) - tags, tag_map = occ.fuse([(3, tags[0])], [(3, tag) for tag in tags[1:]]) - print(tags) - assert len(tags) == 1 - (_dim, tag), = tags - trace_tags[i] = tag - - (x1, y1), (x2, y2) = bbox - substrate = occ.addBox(x1, y1, -board_thickness, x2-x1, y2-y1, board_thickness) - - x1, y1 = x1-air_box_margin, y1-air_box_margin - x2, y2 = x2+air_box_margin, y2+air_box_margin - w, d = x2-x1, y2-y1 - z0 = -board_thickness-air_box_margin - ab_h = board_thickness + 2*air_box_margin - airbox = occ.addBox(x1, y1, z0, w, d, ab_h) - - print('Cutting airbox') - occ.cut([(3, airbox)], [(3, tag) for tag in trace_tags.values()], removeObject=True, removeTool=False) - print('Fragmenting') - fragment_tags, fragment_hierarchy = occ.fragment([(3, airbox)], [(3, substrate)] + [(3, tag) for tag in trace_tags.values()]) - - print('Synchronizing') - occ.synchronize() - substrate_physical = gmsh.model.add_physical_group(3, [substrate], name='substrate') - airbox_physical = gmsh.model.add_physical_group(3, [airbox], name='airbox') - trace_physical_surfaces = [ - gmsh.model.add_physical_group(2, list(gmsh.model.getAdjacencies(3, tag)[1]), name=f'trace{i}') - for i, tag in trace_tags.items()] - - airbox_adjacent = set(gmsh.model.getAdjacencies(3, airbox)[1]) - in_bbox = {tag for _dim, tag in gmsh.model.getEntitiesInBoundingBox(x1+eps, y1+eps, z0+eps, x1+w-eps, y1+d-eps, z0+ab_h-eps, dim=3)} - airbox_physical_surface = gmsh.model.add_physical_group(2, list(airbox_adjacent - in_bbox), name='airbox_surface') - - #points_airbox_adjacent = set(gmsh.model.getAdjacencies(0, airbox)[1]) - #points_inside = {tag for _dim, tag in gmsh.model.getEntitiesInBoundingBox(x1+eps, y1+eps, z0+eps, x1+w-eps, y1+d-eps, z0+ab_h-eps, dim=0)} - - #gmsh.model.mesh.setSize([(0, tag) for tag in points_airbox_adjacent - points_inside], 10e-3) - - gmsh.model.mesh.setSize(getPoints((3, airbox)), 10.0) - - trace_field = gmsh.model.mesh.field.add('BoundaryLayer') - gmsh.model.mesh.field.setNumbers(trace_field, 'CurvesList', getCurves(*trace_tags.values())) - gmsh.model.mesh.field.setNumber(trace_field, 'Size', 0.5) - gmsh.model.mesh.field.setNumber(trace_field, 'SizeFar', 5.0) - #gmsh.model.mesh.field.setAsBackgroundMesh(trace_field) - - substrate_field = gmsh.model.mesh.field.add('Box') - gmsh.model.mesh.field.setNumber(substrate_field, 'VIn', board_thickness) - gmsh.model.mesh.field.setNumber(substrate_field, 'VOut', 10.0) - gmsh.model.mesh.field.setNumber(substrate_field, 'XMin', x1) - gmsh.model.mesh.field.setNumber(substrate_field, 'YMin', y1) - gmsh.model.mesh.field.setNumber(substrate_field, 'ZMin', -board_thickness) - gmsh.model.mesh.field.setNumber(substrate_field, 'XMax', x2) - gmsh.model.mesh.field.setNumber(substrate_field, 'YMax', y2) - gmsh.model.mesh.field.setNumber(substrate_field, 'ZMax', 0) - gmsh.model.mesh.field.setNumber(substrate_field, 'Thickness', 2*board_thickness) - - background_field = gmsh.model.mesh.field.add('MinAniso') - gmsh.model.mesh.field.setNumbers(background_field, 'FieldsList', [trace_field, substrate_field]) - gmsh.model.mesh.field.setAsBackgroundMesh(background_field) - - gmsh.option.setNumber('Mesh.MeshSizeFromCurvature', 12) - gmsh.option.setNumber('Mesh.Smoothing', 10) - gmsh.option.setNumber('Mesh.Algorithm3D', 10) - gmsh.option.setNumber('Mesh.MeshSizeMax', 1) - gmsh.option.setNumber('General.NumThreads', multiprocessing.cpu_count()) - - print('Meshing') - gmsh.model.mesh.generate(dim=3) - print('Writing') - gmsh.write(str(mesh_out)) - -@contextmanager -def model_delta(): - import gmsh - gmsh.model.occ.synchronize() - entities = {i: set() for i in range(4)} - for dim, tag in gmsh.model.getEntities(): - entities[dim].add(tag) - - yield - - gmsh.model.occ.synchronize() - new_entities = {i: set() for i in range(4)} - for dim, tag in gmsh.model.getEntities(): - new_entities[dim].add(tag) - - for i, dimtype in enumerate(['points', 'lines', 'surfaces', 'volumes']): - delta = entities[i] - new_entities[i] - print(f'Removed {dimtype} [{len(delta)}]: {", ".join(map(str, delta))[:180]}') - - delta = new_entities[i] - entities[i] - print(f'New {dimtype} [{len(delta)}]: {", ".join(map(str, delta))[:180]}') - - -def _gmsh_coil_inductance_geometry(traces, mesh_out, bbox, copper_thickness, board_thickness, air_box_margin_h): - import gmsh - occ = gmsh.model.occ - trace_tags = [] - trace_ends = set() - render_cache = {} - first_disk, last_disk = None, None - for i, tr in enumerate(traces, start=1): - layer = tr[1].layer - z0 = 0 if layer == 'F.Cu' else -(board_thickness+copper_thickness) - - objs = [obj - for elem in tr - for obj in elem.render(cache=render_cache)] - - tags = [] - for ob in objs: - if isinstance(ob, go.Line): - length = dist((ob.x1, ob.y1), (ob.x2, ob.y2)) - w = ob.aperture.equivalent_width('mm') - box_tag = occ.addBox(0, -w/2, 0, length, w, copper_thickness) - angle = atan2(ob.y2 - ob.y1, ob.x2 - ob.x1) - occ.rotate([(3, box_tag)], 0, 0, 0, 0, 0, 1, angle) - occ.translate([(3, box_tag)], ob.x1, ob.y1, z0) - tags.append(box_tag) - - for x, y in ((ob.x1, ob.y1), (ob.x2, ob.y2)): - disc_id = (round(x, 3), round(y, 3), round(z0, 3), round(w, 3)) - if disc_id in trace_ends: - continue - - trace_ends.add(disc_id) - cylinder_tag = occ.addCylinder(x, y, z0, 0, 0, copper_thickness, w/2) - tags.append(cylinder_tag) - - if first_disk is None: - occ.synchronize() - adjacent = gmsh.model.getAdjacencies(3, cylinder_tag) - first_disk = adjacent - elif i == len(traces) and last_disk is None: - occ.synchronize() - adjacent = gmsh.model.getAdjacencies(3, cylinder_tag) - last_disk = adjacent - - for elem in tr: - if isinstance(elem, kicad_pcb.Via): - cylinder_tag = occ.addCylinder(elem.at.x, elem.at.y, 0, 0, 0, -board_thickness, elem.drill/2) - tags.append(cylinder_tag) - occ.synchronize() - - if len(tags) > 1: - print('fusing', tags) - tags, tag_map = occ.fuse([(3, tags[0])], [(3, tag) for tag in tags[1:]]) - print(tags) - - assert len(tags) == 1 - (_dim, tag), = tags - trace_tags.append(tag) - - print('fusing top-level', trace_tags) - tags, tag_map = occ.fuse([(3, trace_tags[0])], [(3, tag) for tag in trace_tags[1:]]) - print(tags) - assert len(tags) == 1 - (_dim, toplevel_tag), = tags - - (x1, y1), (x2, y2) = bbox - - first_geom = traces[0][0] - - with model_delta(): - print('Fragmenting disks') - interface_tag_top = occ.addDisk(first_geom.start.x, first_geom.start.y, 0, first_geom.width/2, first_geom.width/2) - interface_tag_bottom = occ.addDisk(first_geom.start.x, first_geom.start.y, -board_thickness, first_geom.width/2, first_geom.width/2) - occ.fragment([(3, toplevel_tag)], [(2, interface_tag_top), (2, interface_tag_bottom)], removeObject=True, removeTool=True) - - substrate = occ.addBox(x1, y1, -board_thickness, x2-x1, y2-y1, board_thickness) - - print('cut') - with model_delta(): - print(occ.cut([(3, substrate)], [(3, toplevel_tag)], removeObject=True, removeTool=False)) - - return toplevel_tag, interface_tag_top, interface_tag_bottom, substrate - - -def getCurves(*volume_tags): - import gmsh - dim_tags = gmsh.model.getBoundary([(3, tag) for tag in volume_tags], oriented=False) - return [curve_tag for dim, curve_tag in gmsh.model.getBoundary(dim_tags, oriented=False, combined=False) if dim == 1] - -def getPoints(*dim_tags): - import gmsh - return [(0, tag) for dim, tag in gmsh.model.getBoundary(dim_tags, oriented=False, recursive=True) if dim == 0] - - -def traces_to_gmsh_mag(traces, mesh_out, bbox, model_name='gerbonara_board', log=True, copper_thickness=0.035, board_thickness=0.8, air_box_margin_h=30.0, air_box_margin_v=80.0): - import gmsh - occ = gmsh.model.occ - eps = 1e-6 - - gmsh.initialize() - gmsh.model.add('gerbonara_board') - if log: - gmsh.logger.start() - - toplevel_tag, interface_tag_top, interface_tag_bottom, substrate = _gmsh_coil_inductance_geometry(traces, mesh_out, bbox, copper_thickness, board_thickness, air_box_margin_h) - - (x1, y1), (x2, y2) = bbox - x1, y1 = x1-air_box_margin_h, y1-air_box_margin_h - x2, y2 = x2+air_box_margin_h, y2+air_box_margin_h - w, d = x2-x1, y2-y1 - z0 = -2*copper_thickness-board_thickness-air_box_margin_v - ab_h = 2*copper_thickness + board_thickness + 2*air_box_margin_v - airbox = occ.addBox(x1, y1, z0, w, d, ab_h) - - print('cut') - with model_delta(): - print(occ.cut([(3, airbox)], [(3, toplevel_tag), (3, substrate)], removeObject=True, removeTool=False)) - - print(f'Fragmenting airbox ({airbox}) with {toplevel_tag=} {substrate=}') - with model_delta(): - print(occ.fragment([(3, airbox)], [(3, toplevel_tag), (3, substrate)], removeObject=True, removeTool=False)) - - print('Synchronizing') - occ.synchronize() - - first_geom = traces[0][0] - pcx, pcy = first_geom.start.x, first_geom.start.y - pcr = first_geom.width/2 - (_dim, plane_top), = gmsh.model.getEntitiesInBoundingBox(pcx-pcr-eps, pcy-pcr-eps, -eps, pcx+pcr+eps, pcy+pcr+eps, eps, 2) - (_dim, plane_bottom), = gmsh.model.getEntitiesInBoundingBox(pcx-pcr-eps, pcy-pcr-eps, -board_thickness-eps, pcx+pcr+eps, pcy+pcr+eps, -board_thickness+eps, 2) - - substrate_physical = gmsh.model.add_physical_group(3, [substrate], name='substrate') - airbox_physical = gmsh.model.add_physical_group(3, [airbox], name='airbox') - trace_physical = gmsh.model.add_physical_group(3, [toplevel_tag], name='trace') - - gmsh.model.mesh.setSize(getPoints((3, airbox)), 10.0) - #gmsh.model.mesh.setSize(getPoints((3, substrate)), 1.0) - #gmsh.model.mesh.setSize(getPoints((3, toplevel_tag)), 0.1) - - #trace_field = gmsh.model.mesh.field.add('AttractorAnisoCurve') - #gmsh.model.mesh.field.setNumbers(trace_field, 'CurvesList', getCurves(toplevel_tag)) - #gmsh.model.mesh.field.setNumber(trace_field, 'DistMax', 1.0) - #gmsh.model.mesh.field.setNumber(trace_field, 'DistMin', 0.3) - #gmsh.model.mesh.field.setNumber(trace_field, 'SizeMinNormal', 0.1) - #gmsh.model.mesh.field.setNumber(trace_field, 'SizeMaxNormal', 1.0) - #gmsh.model.mesh.field.setNumber(trace_field, 'SizeMinTangent', 0.5) - #gmsh.model.mesh.field.setNumber(trace_field, 'SizeMaxTangent', 2.0) - #gmsh.model.mesh.field.setAsBackgroundMesh(trace_field) - - trace_field = gmsh.model.mesh.field.add('BoundaryLayer') - gmsh.model.mesh.field.setNumbers(trace_field, 'CurvesList', getCurves(toplevel_tag)) - gmsh.model.mesh.field.setNumber(trace_field, 'Size', 0.5) - gmsh.model.mesh.field.setNumber(trace_field, 'SizeFar', 5.0) - #gmsh.model.mesh.field.setAsBackgroundMesh(trace_field) - - substrate_field = gmsh.model.mesh.field.add('Box') - gmsh.model.mesh.field.setNumber(substrate_field, 'VIn', board_thickness) - gmsh.model.mesh.field.setNumber(substrate_field, 'VOut', 10.0) - gmsh.model.mesh.field.setNumber(substrate_field, 'XMin', x1) - gmsh.model.mesh.field.setNumber(substrate_field, 'YMin', y1) - gmsh.model.mesh.field.setNumber(substrate_field, 'ZMin', -board_thickness) - gmsh.model.mesh.field.setNumber(substrate_field, 'XMax', x2) - gmsh.model.mesh.field.setNumber(substrate_field, 'YMax', y2) - gmsh.model.mesh.field.setNumber(substrate_field, 'ZMax', 0) - gmsh.model.mesh.field.setNumber(substrate_field, 'Thickness', 2*board_thickness) - - background_field = gmsh.model.mesh.field.add('MinAniso') - gmsh.model.mesh.field.setNumbers(background_field, 'FieldsList', [trace_field, substrate_field]) - gmsh.model.mesh.field.setAsBackgroundMesh(background_field) - - interface_top_physical = gmsh.model.add_physical_group(2, [plane_top], name='interface_top') - interface_bottom_physical = gmsh.model.add_physical_group(2, [plane_bottom], name='interface_bottom') - - airbox_adjacent = set(gmsh.model.getAdjacencies(3, airbox)[1]) - in_bbox = {tag for _dim, tag in gmsh.model.getEntitiesInBoundingBox(x1+eps, y1+eps, z0+eps, x2-eps, y2-eps, z0+ab_h-eps, dim=2)} - airbox_physical_surface = gmsh.model.add_physical_group(2, list(airbox_adjacent - in_bbox), name='airbox_surface') - - points_airbox_adjacent = {tag for _dim, tag in gmsh.model.getBoundary([(3, airbox)], recursive=True, oriented=False)} - points_inside = {tag for _dim, tag in gmsh.model.getEntitiesInBoundingBox(x1+eps, y1+eps, z0+eps, x1+w-eps, y1+d-eps, z0+ab_h-eps, dim=0)} - #gmsh.model.mesh.setSize([(0, tag) for tag in points_airbox_adjacent - points_inside], 300e-3) - - gmsh.option.setNumber('Mesh.MeshSizeFromCurvature', 12) - gmsh.option.setNumber('Mesh.Smoothing', 10) - gmsh.option.setNumber('Mesh.Algorithm3D', 10) # HXT - gmsh.option.setNumber('Mesh.MeshSizeMax', 10) - gmsh.option.setNumber('Mesh.MeshSizeMin', 0.08) - gmsh.option.setNumber('General.NumThreads', multiprocessing.cpu_count()) - - print('Writing geo file') - gmsh.write('/tmp/test.geo_unrolled') - print('Meshing') - gmsh.model.mesh.generate(dim=3) - print('Writing to', str(mesh_out)) - gmsh.write(str(mesh_out)) - - -def traces_to_gmsh_mag_mutual(traces, mesh_out, bbox, model_name='gerbonara_board', log=True, copper_thickness=0.035, board_thickness=0.8, air_box_margin_h=30.0, air_box_margin_v=80.0, mutual_offset=(0, 0, 5), mutual_rotation=(0, 0, 0)): - import gmsh - occ = gmsh.model.occ - eps = 1e-6 - - gmsh.initialize() - gmsh.model.add('gerbonara_board') - if log: - gmsh.logger.start() - - m_dx, m_dy, m_dz = mutual_offset - m_ax, m_ay, m_az = mutual_rotation - m_dz += 2*copper_thickness + board_thickness - - toplevel_tag1, interface_tag_top1, interface_tag_bottom1, substrate1 = _gmsh_coil_inductance_geometry(traces, mesh_out, bbox, copper_thickness, board_thickness, air_box_margin_h) - - upper_coil = [(3, toplevel_tag1), (3, substrate1)] - occ.translate(upper_coil, m_dx, m_dy, m_dz) - - print('rotate') - with model_delta(): - occ.rotate(upper_coil, 0, 0, 0, 0, 0, 1, m_az) - - toplevel_tag2, interface_tag_top2, interface_tag_bottom2, substrate2 = _gmsh_coil_inductance_geometry(traces, mesh_out, bbox, copper_thickness, board_thickness, air_box_margin_h) - - (x1, y1), (x2, y2) = bbox - x1, y1 = x1-air_box_margin_h, y1-air_box_margin_h - x2, y2 = x2+air_box_margin_h, y2+air_box_margin_h - w, d = x2-x1, y2-y1 - z0 = -2*copper_thickness-board_thickness-air_box_margin_v - ab_h = 4*copper_thickness + 2*board_thickness + 2*air_box_margin_v + m_dz - airbox = occ.addBox(x1, y1, z0, w, d, ab_h) - - print('cut') - with model_delta(): - print(occ.cut([(3, airbox)], [(3, toplevel_tag1), (3, toplevel_tag2), (3, substrate1), (3, substrate2)], removeObject=True, removeTool=False)) - - print(f'Fragmenting airbox ({airbox}) with {toplevel_tag1=} {substrate1=} {toplevel_tag2=} {substrate2=}') - with model_delta(): - print(occ.fragment([(3, airbox)], [(3, toplevel_tag1), (3, toplevel_tag2), (3, substrate1), (3, substrate2)], removeObject=True, removeTool=False)) - - print('Synchronizing') - occ.synchronize() - - first_geom = traces[0][0] - pcx, pcy = first_geom.start.x + m_dx, first_geom.start.y + m_dy - pcx, pcy = math.cos(m_az) * pcx - math.sin(m_az) * pcy, math.sin(m_az) * pcx + math.cos(m_az) * pcy - pcr = first_geom.width/2 - - (_dim, plane_top1), = gmsh.model.getEntitiesInBoundingBox(pcx-pcr-eps, pcy-pcr-eps, m_dz-eps, pcx+pcr+eps, pcy+pcr+eps, m_dz+eps, 2) - (_dim, plane_bottom1), = gmsh.model.getEntitiesInBoundingBox(pcx-pcr-eps, pcy-pcr-eps, m_dz-board_thickness-eps, pcx+pcr+eps, pcy+pcr+eps, m_dz-board_thickness+eps, 2) - - pcx, pcy = first_geom.start.x, first_geom.start.y - (_dim, plane_top2), = gmsh.model.getEntitiesInBoundingBox(pcx-pcr-eps, pcy-pcr-eps, -eps, pcx+pcr+eps, pcy+pcr+eps, eps, 2) - (_dim, plane_bottom2), = gmsh.model.getEntitiesInBoundingBox(pcx-pcr-eps, pcy-pcr-eps, -board_thickness-eps, pcx+pcr+eps, pcy+pcr+eps, -board_thickness+eps, 2) - - substrate1_physical = gmsh.model.add_physical_group(3, [substrate1], name='substrate1') - trace1_physical = gmsh.model.add_physical_group(3, [toplevel_tag1], name='trace1') - substrate2_physical = gmsh.model.add_physical_group(3, [substrate2], name='substrate2') - trace2_physical = gmsh.model.add_physical_group(3, [toplevel_tag2], name='trace2') - airbox_physical = gmsh.model.add_physical_group(3, [airbox], name='airbox') - - interface_top1_physical = gmsh.model.add_physical_group(2, [plane_top1], name='interface_top1') - interface_bottom1_physical = gmsh.model.add_physical_group(2, [plane_bottom1], name='interface_bottom1') - interface_top2_physical = gmsh.model.add_physical_group(2, [plane_top2], name='interface_top2') - interface_bottom2_physical = gmsh.model.add_physical_group(2, [plane_bottom2], name='interface_bottom2') - - airbox_adjacent = set(gmsh.model.getAdjacencies(3, airbox)[1]) - in_bbox = {tag for _dim, tag in gmsh.model.getEntitiesInBoundingBox(x1+eps, y1+eps, z0+eps, x2-eps, y2-eps, z0+ab_h-eps, dim=2)} - airbox_physical_surface = gmsh.model.add_physical_group(2, list(airbox_adjacent - in_bbox), name='airbox_surface') - - gmsh.model.mesh.setSize(getPoints((3, airbox)), 10.0) - - trace_field = gmsh.model.mesh.field.add('BoundaryLayer') - gmsh.model.mesh.field.setNumbers(trace_field, 'CurvesList', getCurves(toplevel_tag1, toplevel_tag2)) - gmsh.model.mesh.field.setNumber(trace_field, 'Size', 0.5) - gmsh.model.mesh.field.setNumber(trace_field, 'SizeFar', 10.0) - - substrate_field = gmsh.model.mesh.field.add('AttractorAnisoCurve') - gmsh.model.mesh.field.setNumbers(substrate_field, 'CurvesList', getCurves(substrate1, substrate2)) - gmsh.model.mesh.field.setNumber(substrate_field, 'DistMax', 10) - gmsh.model.mesh.field.setNumber(substrate_field, 'DistMin', 0) - gmsh.model.mesh.field.setNumber(substrate_field, 'SizeMinNormal', board_thickness/3) - gmsh.model.mesh.field.setNumber(substrate_field, 'SizeMaxNormal', 10.0) - gmsh.model.mesh.field.setNumber(substrate_field, 'SizeMinTangent', 0.5) - gmsh.model.mesh.field.setNumber(substrate_field, 'SizeMaxTangent', 10.0) - - background_field = gmsh.model.mesh.field.add('MinAniso') - gmsh.model.mesh.field.setNumbers(background_field, 'FieldsList', [trace_field, substrate_field]) - gmsh.model.mesh.field.setAsBackgroundMesh(background_field) - - gmsh.option.setNumber('Mesh.MeshSizeFromCurvature', 12) - gmsh.option.setNumber('Mesh.Smoothing', 10) - gmsh.option.setNumber('Mesh.Algorithm3D', 10) - gmsh.option.setNumber('Mesh.MeshSizeMax', 10) - gmsh.option.setNumber('Mesh.MeshSizeMin', 0.08) - gmsh.option.setNumber('General.NumThreads', multiprocessing.cpu_count()) - - print('Meshing') - gmsh.model.mesh.generate(dim=3) - print('Writing to', str(mesh_out)) - gmsh.write(str(mesh_out)) - - -def traces_to_magneticalc(traces, out, pcb_thickness=0.8): - coords = [] - last_x, last_y, last_z = None, None, None - def coord(x, y, z): - nonlocal coords, last_x, last_y, last_z - if (x, y, z) != (last_x, last_y, last_z): - coords.append((x, y, z)) - - render_cache = {} - for tr in traces: - z = pcb_thickness if tr[1].layer == 'F.Cu' else 0 - objs = [obj - for elem in tr - for obj in elem.render(cache=render_cache) - if isinstance(elem, (kicad_pcb.TrackSegment, kicad_pcb.TrackArc))] - - # start / switch layer - coord(objs[0].x1, objs[0].y1, z) - - for ob in objs: - coord(ob.x2, ob.y2, z) - - np.savetxt(out, np.array(coords) / 10) # magneticalc expects centimeters, not millimeters. - - -class SVGPath: - def __init__(self, **attrs): - self.d = '' - self.attrs = attrs - - def line(self, x, y): - self.d += f'L {x} {y} ' - - def move(self, x, y): - self.d += f'M {x} {y} ' - - def arc(self, x, y, r, large, sweep): - self.d += f'A {r} {r} 0 {int(large)} {int(sweep)} {x} {y} ' - - def close(self): - self.d += 'Z ' - - def __str__(self): - attrs = ' '.join(f'{key.replace("_", "-")}="{value}"' for key, value in self.attrs.items()) - return f'' - -class SVGCircle: - def __init__(self, r, cx, cy, **attrs): - self.r = r - self.cx, self.cy = cx, cy - self.attrs = attrs - - def __str__(self): - attrs = ' '.join(f'{key.replace("_", "-")}="{value}"' for key, value in self.attrs.items()) - return f'' - -def svg_file(fn, stuff, vbw, vbh, vbx=0, vby=0): - with open(fn, 'w') as f: - f.write('\n') - f.write('\n') - f.write(f'>\n') - - for foo in stuff: - f.write(str(foo)) - - f.write('\n') - - -# https://en.wikipedia.org/wiki/Farey_sequence#Next_term -def farey_sequence(n: int, descending: bool = False) -> None: - """Print the n'th Farey sequence. Allow for either ascending or descending.""" - a, b, c, d = 0, 1, 1, n - if descending: - a, c = 1, n - 1 - #print(f"{a}/{b}") - yield a, b - - while c <= n and not descending or a > 0 and descending: - k = (n + b) // d - a, b, c, d = c, d, k * c - a, k * d - b - #print(f"{a}/{b}") - yield a, b - - -def divisors(n, max_b=10): - for a, b in farey_sequence(n): - if a == n and b < max_b: - yield b - if b == n and a < max_b: - yield a - - -def print_valid_twists(ctx, param, value): - if not value or ctx.resilient_parsing: - return - - print(f'Valid twist counts for {value} turns:', file=sys.stderr) - for d in divisors(value, value): - print(f' {d}', file=sys.stderr) - - click.echo() - ctx.exit() - - -@click.command() -@click.argument('outfile', required=False, type=click.Path(writable=True, dir_okay=False, path_type=Path)) -@click.option('--footprint-name', help="Name for the generated footprint. Default: Output file name sans extension.") -@click.option('--layer-pair', default='F.Cu,B.Cu', help="Target KiCad layer pair for the generated footprint, comma-separated. Default: F.Cu/B.Cu.") -@click.option('--turns', type=int, default=5, help='Number of turns') -@click.option('--pcb/--footprint', default=False, help='Generate a KiCad PCB instead of a footprint') -@click.option('--outer-diameter', type=float, default=50, help='Outer diameter [mm]') -@click.option('--inner-diameter', type=float, default=25, help='Inner diameter [mm]') -@click.option('--trace-width', type=float, default=None) -@click.option('--via-diameter', type=float, default=0.6) -@click.option('--two-layer/--single-layer', default=True) -@click.option('--via-drill', type=float, default=0.3) -@click.option('--via-offset', type=float, default=None, help='Radially offset vias from trace endpoints [mm]') -@click.option('--keepout-zone/--no-keepout-zone', default=True, help='Add a keepout are to the footprint (default: yes)') -@click.option('--keepout-margin', type=float, default=5, help='Margin between outside of coil and keepout area (mm, default: 5)') -@click.option('--copper-thickness', type=float, default=0.035, help='Copper thickness for resistance calculation and mesh generation in mm. Default: 0.035mm ^= 1 Oz') -@click.option('--board-thickness', type=float, default=1.53, help='Board substrate thickness for mesh generation in mm. Default: 1.53mm') -@click.option('--twists', type=int, default=1, help='Number of twists per revolution. Note that this number must be co-prime to the number of turns. Run with --show-twists to list valid values. (default: 1)') -@click.option('--circle-segments', type=int, default=64, help='When not using arcs, the number of points to use for arc interpolation per 360 degrees.') -@click.option('--show-twists', callback=print_valid_twists, expose_value=False, type=int, is_eager=True, help='Calculate and show valid --twists counts for the given number of turns. Takes the number of turns as a value.') -@click.option('--clearance', type=float, default=None) -@click.option('--arc-tolerance', type=float, default=0.02) -@click.option('--mesh-split-out', type=click.Path(writable=True, dir_okay=False, path_type=Path)) -@click.option('--mesh-out', type=click.Path(writable=True, dir_okay=False, path_type=Path)) -@click.option('--mesh-mutual-out', type=click.Path(writable=True, dir_okay=False, path_type=Path)) -@click.option('--mutual-offset-x', type=float, default=0) -@click.option('--mutual-offset-y', type=float, default=0) -@click.option('--mutual-offset-z', type=float, default=5) -@click.option('--mutual-rotation-z', type=float, default=0) -@click.option('--magneticalc-out', type=click.Path(writable=True, dir_okay=False, path_type=Path)) -@click.option('--clipboard/--no-clipboard', help='Use clipboard integration (requires wl-clipboard)') -@click.option('--counter-clockwise/--clockwise', help='Direction of generated spiral. Default: clockwise when wound from the inside.') -@click.version_option() -def generate(outfile, turns, outer_diameter, inner_diameter, via_diameter, via_drill, via_offset, trace_width, clearance, - footprint_name, layer_pair, twists, clipboard, counter_clockwise, keepout_zone, keepout_margin, - arc_tolerance, pcb, mesh_out, magneticalc_out, circle_segments, mesh_split_out, copper_thickness, - board_thickness, mesh_mutual_out, mutual_offset_x, mutual_offset_y, mutual_offset_z, mutual_rotation_z, - two_layer): - - if 'WAYLAND_DISPLAY' in os.environ: - copy, paste, cliputil = ['wl-copy'], ['wl-paste'], 'xclip' - else: - copy, paste, cliputil = ['xclip', '-i', '-sel', 'clipboard'], ['xclip', '-o', '-sel' 'clipboard'], 'wl-clipboard' - - if gcd(twists, turns) != 1: - raise click.ClickException('For the geometry to work out, the --twists parameter must be co-prime to --turns, i.e. the two must have 1 as their greatest common divisor. You can print valid values for --twists by running this command with --show-twists [turns number].') - - if (mesh_out or mesh_split_out or mesh_mutual_out) and not pcb: - raise click.ClickException('--pcb is required when --mesh-out, --mesh-mutual-out or --mesh-split-out are used.') - - if magneticalc_out and not pcb: - raise click.ClickException('--pcb is required when --magneticalc-out is used.') - - outer_radius = outer_diameter/2 - inner_radius = inner_diameter/2 - turns_per_layer = turns/2 if two_layer else turns - - sweeping_angle = 2*pi * turns_per_layer / twists - spiral_pitch = (outer_radius-inner_radius) / turns_per_layer - c1 = inner_radius - c2 = inner_radius + spiral_pitch - alpha1 = atan((outer_radius - inner_radius) / sweeping_angle / c1) - alpha2 = atan((outer_radius - inner_radius) / sweeping_angle / c2) - alpha = (alpha1+alpha2)/2 - projected_spiral_pitch = spiral_pitch*cos(alpha) - - if trace_width is None and clearance is None: - trace_width = 0.15 - print(f'Warning: Defaulting to {trace_width:.2f} mm trace width.', file=sys.stderr) - - if trace_width is None: - if round(clearance, 3) > round(projected_spiral_pitch, 3): - raise click.ClickException(f'Error: Given clearance of {clearance:.2f} mm is larger than the projected spiral pitch of {projected_spiral_pitch:.2f} mm. Reduce clearance or increase the size of the coil.') - trace_width = projected_spiral_pitch - clearance - print(f'Calculated trace width for {clearance:.2f} mm clearance is {trace_width:.2f} mm.', file=sys.stderr) - - elif clearance is None: - if round(trace_width, 2) > round(projected_spiral_pitch, 2): - raise click.ClickException(f'Error: Given trace width of {trace_width:.2f} mm is larger than the projected spiral pitch of {projected_spiral_pitch:.2f} mm. Reduce clearance or increase the size of the coil.') - clearance = projected_spiral_pitch - trace_width - print(f'Calculated clearance for {trace_width:.2f} mm trace width is {clearance:.2f} mm.', file=sys.stderr) - - else: - if round(trace_width, 2) > round(projected_spiral_pitch, 2): - raise click.ClickException(f'Error: Given trace width of {trace_width:.2f} mm is larger than the projected spiral pitch of {projected_spiral_pitch:.2f} mm. Reduce clearance or increase the size of the coil.') - clearance_actual = projected_spiral_pitch - trace_width - if round(clearance_actual, 3) < round(clearance, 3): - raise click.ClickException(f'Error: Actual clearance for {trace_width:.2f} mm trace is {clearance_actual:.2f} mm, which is lower than the given clearance of {clearance:.2f} mm.') - - if round(via_diameter, 2) < round(trace_width, 2): - print(f'Clipping via diameter from {via_diameter:.2f} mm to trace width of {trace_width:.2f} mm.', file=sys.stderr) - via_diameter = trace_width - - if via_offset is None: - via_offset = max(0, (via_diameter-trace_width)/2) - print(f'Autocalculated via offset {via_offset:.2f} mm', file=sys.stderr) - - inner_via_ring_radius = inner_radius - via_offset - #print(f'{inner_radius=} {via_offset=} {via_diameter=}', file=sys.stderr) - inner_via_angle = 2*asin((via_diameter + clearance)/2 / inner_via_ring_radius) - - outer_via_ring_radius = outer_radius + via_offset - outer_via_angle = 2*asin((via_diameter + clearance)/2 / outer_via_ring_radius) - - print(f'Inner via ring @r={inner_via_ring_radius:.2f} mm (from {inner_radius:.2f} mm)', file=sys.stderr) - print(f' {degrees(inner_via_angle):.1f} deg / via', file=sys.stderr) - print(f'Outer via ring @r={outer_via_ring_radius:.2f} mm (from {outer_radius:.2f} mm)', file=sys.stderr) - print(f' {degrees(outer_via_angle):.1f} deg / via', file=sys.stderr) - - # Check if the vias of the inner ring are so large that they would overlap - if inner_via_angle*twists > 2*pi: - min_dia = 2*((via_diameter + clearance) / (2*sin(pi / twists)) + via_offset) - raise click.ClickException(f'Error: Overlapping vias in inner via ring. Calculated minimum inner diameter is {min_dia:.2f} mm.') - - pitch = clearance + trace_width - t, _, b = layer_pair.partition(',') - layer_pair = (t.strip(), b.strip()) - rainbow = '#817 #a35 #c66 #e94 #ed0 #9d5 #4d8 #2cb #0bc #09c #36b #639'.split() - rainbow = rainbow[2::3] + rainbow[1::3] + rainbow[0::3] - n = 5 - rainbow = rainbow[n:] + rainbow[:n] - out_paths = [] - svg_stuff = [*out_paths] - - # For fill factor & inductance formulas, See https://coil32.net/pcb-coil.html for details - d_avg = (outer_diameter + inner_diameter)/2 - phi = (outer_diameter - inner_diameter) / (outer_diameter + inner_diameter) - c1, c2, c3, c4 = 1.00, 2.46, 0.00, 0.20 - L = mu_0 * turns**2 * d_avg*1e3 * c1 / 2 * (log(c2/phi) + c3*phi + c4*phi**2) - print(f'Outer diameter: {outer_diameter:g} mm', file=sys.stderr) - print(f'Average diameter: {d_avg:g} mm', file=sys.stderr) - print(f'Inner diameter: {inner_diameter:g} mm', file=sys.stderr) - print(f'Fill factor: {phi:g}', file=sys.stderr) - print(f'Approximate inductance: {L:g} µH', file=sys.stderr) - - make_pad = lambda num, layer, x, y: kicad_fp.Pad( - number=str(num), - type=kicad_fp.Atom.smd, - shape=kicad_fp.Atom.circle, - at=kicad_fp.AtPos(x=x, y=y), - size=kicad_fp.XYCoord(x=trace_width, y=trace_width), - layers=layer, - clearance=clearance, - zone_connect=0) - - make_line = lambda x1, y1, x2, y2, layer: kicad_fp.Line( - start=kicad_fp.XYCoord(x=x1, y=y1), - end=kicad_fp.XYCoord(x=x2, y=y2), - layer=layer, - stroke=kicad_fp.Stroke(width=trace_width)) - - make_arc = lambda x1, y1, x2, y2, xm, ym, layer: kicad_fp.Arc( - start=kicad_fp.XYCoord(x=x1, y=y1), - mid=kicad_fp.XYCoord(x=xm, y=ym), - end=kicad_fp.XYCoord(x=x2, y=y2), - layer=layer, - stroke=kicad_fp.Stroke(width=trace_width)) - - - make_via = lambda x, y, layers: kicad_fp.Pad(number="NC", - type=kicad_fp.Atom.thru_hole, - shape=kicad_fp.Atom.circle, - at=kicad_fp.AtPos(x=x, y=y), - size=kicad_fp.XYCoord(x=via_diameter, y=via_diameter), - drill=kicad_fp.Drill(diameter=via_drill), - layers=layers, - clearance=clearance, - zone_connect=0) - - pads = [] - lines = [] - arcs = [] - - def arc_approximate(points, layer, tolerance=0.02, level=0): - indent = ' ' * level - #print(f'{indent}arc_approximate {len(points)=}', file=sys.stderr) - if len(points) < 3: - raise ValueError() - - i_mid = len(points)//2 - - x0, y0 = points[0] - x1, y1 = points[i_mid] - x2, y2 = points[-1] - - if len(points) < 5: - #print(f'{indent} -> interp last points', file=sys.stderr) - yield make_arc(x0, y0, x2, y2, x1, y1, layer) - - # https://stackoverflow.com/questions/56224824/how-do-i-find-the-circumcenter-of-the-triangle-using-python-without-external-lib - d = 2 * (x0 * (y2 - y1) + x2 * (y1 - y0) + x1 * (y0 - y2)) - cx = ((x0 * x0 + y0 * y0) * (y2 - y1) + (x2 * x2 + y2 * y2) * (y1 - y0) + (x1 * x1 + y1 * y1) * (y0 - y2)) / d - cy = ((x0 * x0 + y0 * y0) * (x1 - x2) + (x2 * x2 + y2 * y2) * (x0 - x1) + (x1 * x1 + y1 * y1) * (x2 - x0)) / d - r = dist((cx, cy), (x1, y1)) - if any(abs(dist((px, py), (cx, cy)) - r) > tolerance for px, py in points): - #print(f'{indent} -> split', file=sys.stderr) - yield from arc_approximate(points[:i_mid+1], layer, tolerance, level+1) - yield from arc_approximate(points[i_mid:], layer, tolerance, level+1) - - else: - yield make_arc(x0, y0, x2, y2, x1, y1, layer) - #print(f'{indent} -> good fit', file=sys.stderr) - - def do_spiral(layer, r1, r2, a1, a2, start_frac, end_frac, fn=64): - use_arcs = not pcb - - fn = ceil(fn * (a2-a1)/(2*pi)) - x0, y0 = cos(a1)*r1, sin(a1)*r1 - direction = '↓' if r2 < r1 else '↑' - dr = 3 if r2 < r1 else -3 - label = f'{direction} {degrees(a1):.0f}' - svg_stuff.append(Tag('text', - [label], - x=str(x0 + cos(a1)*dr), - y=str(y0 + sin(a1)*dr), - text_anchor='middle', - style=f'font: 1px bold sans-serif; fill: {rainbow[layer%len(rainbow)]}')) - - xn, yn = x0, y0 - points = [(x0, y0)] - dists = [] - for i in range(fn): - r, g, b, _a = mpl.cm.plasma(start_frac + (end_frac - start_frac)/fn * (i + 0.5)) - path = SVGPath(fill='none', stroke=f'#{round(r*255):02x}{round(g*255):02x}{round(b*255):02x}', stroke_width=trace_width, stroke_linejoin='round', stroke_linecap='round') - svg_stuff.append(path) - xp, yp = xn, yn - r = r1 + (i+1)*(r2-r1)/fn - a = a1 + (i+1)*(a2-a1)/fn - xn, yn = cos(a)*r, sin(a)*r - path.move(xp, yp) - path.line(xn, yn) - points.append((xn, yn)) - dists.append(dist((xp, yp), (xn, yn))) - if not use_arcs: - lines.append(make_line(xp, yp, xn, yn, layer_pair[layer])) - - if use_arcs: - arcs.extend(arc_approximate(points, layer_pair[layer], arc_tolerance)) - - svg_stuff.append(Tag('text', - [label], - x=str(xn + cos(a2)*-dr), - y=str(yn + sin(a2)*-dr + 1.2), - text_anchor='middle', - style=f'font: 1px bold sans-serif; fill: {rainbow[layer%len(rainbow)]}')) - - return (x0, y0), (xn, yn), sum(dists) - - sector_angle = 2*pi / twists - total_angle = twists*2*sweeping_angle if two_layer else twists*sweeping_angle - - inverse = {} - for i in range(twists): - inverse[i*turns%twists] = i - - svg_vias = [] - for i in range(twists): - start_angle = i*sector_angle - fold_angle = start_angle + sweeping_angle - end_angle = fold_angle + sweeping_angle - - x = inverse[i]*floor(2*sweeping_angle / (2*pi)) * 2*pi - (x0, y0), (xn, yn), clen = do_spiral(0, outer_radius, inner_radius, start_angle, fold_angle, (x + start_angle)/total_angle, (x + fold_angle)/total_angle, circle_segments) - if two_layer: - do_spiral(1, inner_radius, outer_radius, fold_angle, end_angle, (x + fold_angle)/total_angle, (x + end_angle)/total_angle) - else: - dr = outer_radius - inner_radius - xq = xn + cos(fold_angle) * dr - yq = yn - sin(fold_angle) * dr - lines.append(make_line(xn, yn, xq, yq, layer_pair[1])) - - r, g, b, _a = mpl.cm.plasma((x + fold_angle)/total_angle) - path = SVGPath(fill='none', stroke=f'#{round(r*255):02x}{round(g*255):02x}{round(b*255):02x}', stroke_width=trace_width, stroke_linejoin='round', stroke_linecap='round') - svg_stuff.append(path) - path.move(xn, yn) - path.line(xq, yq) - - xv, yv = inner_via_ring_radius*cos(fold_angle), inner_via_ring_radius*sin(fold_angle) - pads.append(make_via(xv, yv, layer_pair)) - if not isclose(via_offset, 0, abs_tol=1e-6): - lines.append(make_line(xn, yn, xv, yv, layer_pair[0])) - lines.append(make_line(xn, yn, xv, yv, layer_pair[1])) - svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_diameter/2, stroke='none', fill='white')) - svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_drill/2, stroke='none', fill='black')) - - if i > 0: - xv, yv = outer_via_ring_radius*cos(start_angle), outer_via_ring_radius*sin(start_angle) - pads.append(make_via(xv, yv, layer_pair)) - if not isclose(via_offset, 0, abs_tol=1e-6): - lines.append(make_line(x0, y0, xv, yv, layer_pair[0])) - lines.append(make_line(x0, y0, xv, yv, layer_pair[1])) - svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_diameter/2, stroke='none', fill='white')) - svg_vias.append(Tag('circle', cx=xv, cy=yv, r=via_drill/2, stroke='none', fill='black')) - - l_total = clen*twists*2 - print(f'Approximate track length: {l_total:.2f} mm', file=sys.stderr) - A = copper_thickness/1e3 * trace_width/1e3 - rho = 1.68e-8 - R = l_total/1e3 * rho / A - print(f'Approximate resistance: {R:g} Ω', file=sys.stderr) - - top_pad = make_pad(1, [layer_pair[0]], outer_radius, 0) - pads.append(top_pad) - bottom_pad = make_pad(2, [layer_pair[1]], outer_radius, 0) - pads.append(bottom_pad) - - svg_stuff += svg_vias - - svg_stuff.append(Tag('path', d=f'M {inner_radius} 0 L {outer_radius} 0', stroke=rainbow[n+1], fill='none', - stroke_width='0.05mm', stroke_linecap='round')) - ntraces = int(turns_per_layer)+1 - alpha = [0] * ntraces - for i in range(ntraces): - c = inner_radius + (outer_radius-inner_radius) / turns_per_layer * i - #dalpha = dy / c - #dx / dalpha = (outer_radius - inner_radius) / sweeping_angle - #c * (dx / dy) = (outer_radius - inner_radius) / sweeping_angle - #dx / dy = (outer_radius - inner_radius) / sweeping_angle / c - dx = (outer_radius - inner_radius) / sweeping_angle / c - alpha[i] = atan(dx) - dy = 0.3 - dx *= dy - r = trace_width/2 / cos(alpha[i]) - svg_stuff.append(Tag('path', d=f'M {c-r+dx} {-dy} L {c-r-dx} {dy}', stroke=rainbow[n+1], fill='none', - stroke_width='0.05mm', stroke_linecap='round')) - svg_stuff.append(Tag('path', d=f'M {c+r+dx} {-dy} L {c+r-dx} {dy}', stroke=rainbow[n+1], fill='none', - stroke_width='0.05mm', stroke_linecap='round')) - - #print(f'spiral angle {degrees(alpha[i]):.2f}', file=sys.stderr) - - for i, (a1, a2) in enumerate(zip(alpha[::-1], alpha[1::])): - amean = (a2+a1)/2 - pitch = (outer_radius - inner_radius) / turns_per_layer - clearance = pitch - trace_width - clearance *= cos(amean) - - x, y = inner_radius + (i + 1/2)*pitch, -0.5 - svg_stuff.append(Tag('text', - [f'{clearance:.5f}mm'], - x=x, - y=y, - text_anchor='start', - transform=f'rotate(-45 {x} {y})', - style=f'font: 1px bold sans-serif; fill: {rainbow[n+1]}')) - - svg_file('/tmp/test.svg', svg_stuff, 100, 100, -50, -50) - - if footprint_name: - name = footprint_name - elif outfile: - name = outfile.stem, - else: - name = 'generated_coil' - - if keepout_zone: - r = outer_diameter/2 + keepout_margin - tol = 0.05 # mm - n = ceil(pi / acos(1 - tol/r)) - pts = [(r*cos(a*2*pi/n), r*sin(a*2*pi/n)) for a in range(n)] - zones = [kicad_pr.Zone(layers=['*.Cu'], - hatch=kicad_pr.Hatch(), - filled_areas_thickness=False, - keepout=kicad_pr.ZoneKeepout(copperpour_allowed=False), - polygon=kicad_pr.ZonePolygon(pts=kicad_pr.PointList(xy=[kicad_pr.XYCoord(x=x, y=y) for x, y in pts])))] - else: - zones = [] - - if pcb: - obj = kicad_pcb.Board.empty_board( - zones=zones, - track_segments=[kicad_pcb.TrackSegment.from_footprint_line(line) for line in lines], - vias=[kicad_pcb.Via.from_pad(pad) for pad in pads if pad.type == kicad_pcb.Atom.thru_hole]) - obj.rebuild_trace_index() - seg = obj.track_segments[-1] - traces = [] - end = top_pad - layer = 'F.Cu' - while True: - tr = list(obj.find_connected_traces(end, layers=[layer])) - traces.append(tr) - if not isinstance(tr[-1], kicad_pcb.Via): - break - layer = 'B.Cu' if layer == 'F.Cu' else 'F.Cu' - end = tr[-1] - # remove start pad - traces[0] = traces[0][1:] - - r = outer_diameter/2 + 20 - if mesh_split_out: - traces_to_gmsh(traces, mesh_split_out, ((-r, -r), (r, r)), copper_thickness=copper_thickness, board_thickness=board_thickness) - - if mesh_out: - traces_to_gmsh_mag(traces, mesh_out, ((-r, -r), (r, r)), copper_thickness=copper_thickness, board_thickness=board_thickness) - - if mesh_mutual_out: - m_dx, m_dy, m_dz = mutual_offset_x, mutual_offset_y, mutual_offset_z - mutual_rotation_z = math.radians(mutual_rotation_z) - traces_to_gmsh_mag_mutual(traces, mesh_mutual_out, ((-r, -r), (r, r)), - copper_thickness=copper_thickness, board_thickness=board_thickness, - mutual_offset=(m_dx, m_dy, m_dz), mutual_rotation=(0, 0, mutual_rotation_z)) - - if magneticalc_out: - traces_to_magneticalc(traces, magneticalc_out) - -# for trace in traces: -# print(f'Trace {i}', file=sys.stderr) -# print(f' Length: {len(trace)}', file=sys.stderr) -# print(f' Start: {trace[0]}', file=sys.stderr) -# print(f' End: {trace[-1]}', file=sys.stderr) -# print(f' Layer: {trace[1].layer}', file=sys.stderr) - - #for e in obj.find_connected_traces(seg, layers=seg.layer_mask): - # print(getattr(e, 'layer', ''), str(e)[:80], file=sys.stderr) - #nodes, edges = obj.track_skeleton(pads[-1]) - #for node, node_edges in edges.items(): - # print(f'Node {node} with {len(node_edges)} edges', file=sys.stderr) - # for i, e in enumerate(node_edges): - # print(f' Edge {i}', file=sys.stderr) - # for elem in e: - # print(' ', elem, file=sys.stderr) - - else: - obj = kicad_fp.Footprint( - name=name, - generator=kicad_fp.Atom('GerbonaraTwistedCoilGenV1'), - layer='F.Cu', - descr=f"{turns} turn {outer_diameter:.2f} mm diameter twisted coil footprint, inductance approximately {L:.6f} µH. Generated by gerbonara'c Twisted Coil generator, version {__version__}.", - clearance=clearance, - zone_connect=0, - lines=lines, - arcs=arcs, - pads=pads, - zones=zones, - ) - - if clipboard: - try: - data = obj.serialize() - print(f'Running {copy[0]}.', file=sys.stderr) - proc = subprocess.Popen(copy, stdin=subprocess.PIPE, text=True) - proc.communicate(data) - print('passed to wl-clip:', data) - except FileNotFoundError: - print(f'Error: --clipboard requires the {copy[0]} and {paste[0]} utilities from {cliputil} to be installed.', file=sys.stderr) - elif not outfile: - print(obj.serialize()) - else: - obj.write(outfile) - -if __name__ == '__main__': - generate() -- cgit