Skip to content

Instantly share code, notes, and snippets.

@rezamarzban
Last active January 8, 2026 14:17
Show Gist options
  • Select an option

  • Save rezamarzban/363e0c7dd4dcffaa6a6f1d0017850afb to your computer and use it in GitHub Desktop.

Select an option

Save rezamarzban/363e0c7dd4dcffaa6a6f1d0017850afb to your computer and use it in GitHub Desktop.
N52.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"authorship_tag": "ABX9TyNlnXmSJz/7M/zMSYJ/Mgh9",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/rezamarzban/363e0c7dd4dcffaa6a6f1d0017850afb/n52.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 168
},
"id": "eIMVcs_9kkfz",
"outputId": "0103732c-6d92-42fd-9f64-935be1676a58"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
],
"image/png": "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22+/mZRt374dXbt2tVNERETWu56Zj2c+M50w7bW+LfF0GROmlUchCDBKCpxza43n7g60eW8GERER0Z3IYb96zMnJweHDh3H48GEARUuCHT58GJcuXQJQNDR85MiRcv3x48fj/PnzmDZtGk6ePImPPvoI33zzDV5++WV7hE9EZLXDlzPw2LI9csLtplHh09F3Yew9jar0jXBRR7eAdKcANG7cmL1TREREddDo0aMRHR1dI8eKiYlBixYt5Guza5shQ4bIq1tVJ4f9RPX333+jQ4cO6NChAwBgypQp6NChA2bPng0AuH79upyAA0CjRo3w66+/Yvv27WjXrh0WLVqETz75hMuFEZFD+inhGgZ/HCfPUB7i44zvJ3RD72YBVd5n8VrdnESWiIjqgtGjR0MQBIwfP77UfRMnToQgCBg9enTNB2YBQRCwadMme4dhtWnTpmHWrFlQKpU1etzY2FiTSyL8/f3xyCOP4J9//jGpN2vWLLz99tvIzMys1ngcduxgr169yp06fu3atWa3OXToUDVGRURUvURRwpIdp/H+72flsi6NfLDiqU5VnjBNJgACJHjpknHunAJ+fn7s7SYiIocWEhKCDRs24H//+588j1NBQQHWr1+Phg0b2jm6um337t04d+4cnnzyyTLr6PV6ODlZ+fmlHKdOnYKHhweuXbuGV199FX379sXZs2flY7Zu3RqNGzfGF198gYkTJ1ZbHPw0RUTkIPL0BkxcH2+ScA/uHIIvxkZan3Cj6HpwJUQ0zTuGHTt22GxZGCIiInvp2LEjQkJC8P3338tl33//PRo2bCiPmC22ZcsW3HPPPfDy8oKvry8effRRnDt3zqTO3r170b59e2i1WnTu3BmbNm2CIAjyJa/FPawxMTHo3LkzXFxc0K1bN5w6dcpkPz/++CM6duwIrVaL8PBwzJ07V37fDQsLAwD0798fgiDIt825fPkyBg0aBC8vL/j4+ODxxx9HYmKifL/RaMSUKVPkxzRt2rRSHZfZ2dkYPnw4XF1dERQUhP/973/o1asXJk+eLNfR6XSYOnUq6tevD1dXV0RGRiI2NracMw9s2LABDzzwgMkM32+88Qbat2+PTz75BI0aNar2VVICAgIQGBiIjh07YvLkybh8+TJOnjxpUqdfv37YsGFDtcbBpJuIyAFcz8zHoI/j5BnKFQIwq28LvPNkm0rN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btO9e3esX78eoijKT9rp06cRFBRkNuEGAI1GY7aXR6FQ1NonHii6LrO2x0j2xTZC5qiUpu2BbYTKw9cRqgjbCFWEbYQqUtvbiKVx1c7oLTBlyhSsWrUKn332GU6cOIHnn38eubm58mzmI0eOxMyZM+X6zz//PNLT0/HSSy/h9OnT+PXXXzFv3jxMnDjRXg+BiKhWEQQBEgSkii4QtZ6cWI2IiIjIBhyypxsABg8ejNTUVMyePRtJSUlo3749tmzZIk+udunSJZNvHkJCQrB161a8/PLLaNu2LerXr4+XXnoJ06dPt9dDICKqVQQARijwi64lBrUIkJdXJCIiIqKqc9ikGwAmTZpU5nDy2NjYUmVdu3bFX3/9Vc1RERE5JkWJnm0Jkh0jISIiIqo7HHZ4ORER2ZZJ0s2cm4iIiMgmHLqnm4iIbEcQACWM6K85BtfzShQWtuOSYURERERWYtJNREQAipJuAYC7Qg8YAInd3URERERW4/ByIiICAAjgbOVEREREtsakm4iIAAC1dAlMIiIiIofGj1hERATAdCI1IiIiIrINJt1ERAQAHFxOREREVA2YdBMREQBAYE83ERERkc0x6SYiIgBFs5dLAG6KWhjUrkzCiYiIiGyASTcREQEouqbbCCU26VojNbg71Gq1vUMiIiIicnhMuomICACgKNGxzRW6iYiIiGyDSTcREQEwXadbkph2ExEREdmCyt4BEBFR7SAIgBJG9NOcgNs1JQoLO0Gj0dg7LCIiIiKHxqSbiIgAAApFUV+3t6IAMLC3m4iIiMgWOLyciIgAcJ1uIiIiourApJuIiAAUzV5ORERERLbFpJuIiAAUXdNNRERERLbFpJuIiAAw6SYiIiKqDky6iYgIAIeXExEREVUHzl5OREQAiiZSkwBki07QqhQQmIQTERERWY1JNxERASjq6TZCiY26tuge7Am1Wm3vkIiIiIgcHoeXExERANPh5SLX6CYiIiKyCSbdRERUpMRocubcRERERLbB4eVERAQAUAiAEiIe1pyEW7oShYVdoNFo7B0WERERkUNj0k1ERAAAQRAgQIK/Ig8wABK7u4mIiIisxuHlREQEoKinm4iIiIhsi0k3EREB4DrdRERERNWBSTcRERERERFRNWHSTUREANjTTURERFQdmHQTEREAXtNNREREVB04ezkREQEomr0cAAokFZTM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v/++TQMkIqKao4SIe9QXcI/6AgoLC+0dDhEREZHDq9I13Xl5eXB3dwcAbNu2DU888QQUCgXuvvtuXLx40aYBEhFRzVEIQBPVDQCA0SjaORoiIiIix1elnu6IiAhs2rQJly9fxtatW/Hggw8CAFJSUuDh4WHTAImIqOaUvIpblDjGnIiIiMhaVUq6Z8+ejalTpyIsLAxdunRB165dART1enfo0MGmARIRUc1RlMi6eV03ERERkfWqNLx8wIABuOeee3D9+nW0b99eLr///vvRv39/W8VGREQ1rGRPtwRm3URERETWqlJPNwCcOXMGixYtQvfu3XH16lUAwKlTp5CWlmaz4IiIqGaVXCWMo8uJiIiIrFelpPu7775DVFQUnJ2dER8fD51OBwDIzMzEvHnzbBogERHVHEWJrJtJNxEREZH1qpR0//e//8WKFSuwatUqqNVqubx79+6Ij4+3WXBERFSzTHu6mXUTERERWatK13SfOnUK9957b6lyT09PZGRkWBsTERHZiaBQYX1+OwDAS6oqvUUQERERUQlV6ukODAzE2bNnS5Xv3r0b4eHhVgdFRET2ISgU0EENHdSm3d5EREREVCVVSrrHjRuHl156Cfv27YMgCLh27Rq+/PJLTJ06Fc8//7ytYyQiohpiMns5R5cTERERWa1KYwdnzJgBURRx//33Iy8vD/feey80Gg2mTp2KF154wdYxEhFRDVHAiLvVFwEAhYWFADT2DYiIiIjIwVUp6RYEAa+99hpeffVVnD17Fjk5OWjZsiXc3NxsHR8REdUgJYAWqlQAgFEU7RsMERERUR1QqeHlb775JvLy8uTbTk5OaNmyJbp06cKEm4ioDih5GbfI8eVEREREVqtU0j137lzk5ORUVyxERGRnAtfpJiIiIrKpSiXdXLOViKhuM51Ija/5RERERNaq9OzlApeQISKqsxQlXuNF5txEREREVqv0RGpNmzatMPFOT0+vckBERGQ/QomvYiUw6yYiIiKyVqWT7rlz58LT07M6YiEiIjsTwJ5uIiIiIluqdNI9ZMgQBAQEVEcsRERkZ4JCiW8L2gAARiurtKokEREREZVQqU9UvJ6biKhuExQK5Eia4lt2jYWIiIioLuDs5UREJFNwnW4iIiIim7K4p/vSpUsQRdHiHV+9ehX169evUlBERGQfCkjorLoMADAYjXaOhoiI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3Uy5iYiIiKznsEk3AEyaNKnM4eSxsbEmtxMTE6s/ICIiB6dQKLFZ1xQA0LGWDuUiIiIiciQOnXQTEZFtKRQKJIlFE0VKYNJNREREZC1+oiIiIlnJa7oliQPMiYiIiKzFnm4iIvqXJKK5MgUAYDSKdg6GiIiIyPEx6SYiIpkAEV2dLgEARKPBztEQEREROT4OLyciIlmJycs5ezkRERGRDTDpJiIimVBynW5e001ERERkNSbdREQkU5Rcp5s5NxEREZHVmHQTEZFMAHu6iYiIiGyJSTcREcnY001ERERkW0y6iYhIZrJOtx3jICIiIqoruGQYERHJBKUS23URAIBwfi9LREREZDUm3UREJFMqlbgiegEAJEEovzIRERERVYjdGEREJOM63URERES2xZ5uIiKSCRARoUwDAIhG0c7REBERETk+Jt1ERPQvSUQPp0QAgCjebd9YiIiIiOoADi8nIiKzRI4vJyIiIrIak24iIpKVXDKMSTcRERGR9Zh0ExGRrOSE5cy5iYiIiKzHpJuIiGQle7oliWk3ERERkbWYdBMRkUxRsqebOTcRERGR1Zh0ExFRCezpJiIiIrIlLhlGREQylVKJnbpwAMCTAr+XJSIiIrIWk24iIpIplUokij5FN5h0ExEREVmNn6iIiEhmMns51wwjIiIishp7uomISCZIEsIU6QAAo2i0czREREREjo9JNxERyUTJiN6a8wAASexo52iIiIiIHB+HlxMRkazkOt0cXU5ERERkPSbdREQkK7lONxfqJiIiIrIek24iIpIJYE83ERERkS0x6SYiIlnJnm6RPd1EREREVmPSTURE/ypxTTdTbiIiIiLrMekmIiJZyUu62dNNREREZD0uGUZERDKVSold+jAAQC9+L0tERERkNX6iIiIimVKpxFmjH84a/QCBbxFERERE1uInKiIiknEiNSIiIiLb4vByIiKSSZKEBoqMW3+L9g2GiIiIqA5g0k1ERDLJaMQDmrNFfxta2TkaIiIiIsfH4eVERCRTlFgyTOTociIiIiKrMekmIiJZiZwbElfqJiIiIrIak24iIpKZ9HTbMQ4iIiKiuoJJNxERyQTOXk5ERERkU0y6iYhIJsBkfDkRERERWYlJNxERyRQl3hXY001ERERkPS4ZRkREMpVSiTh9QwBAW4HfyxIRERFZi0k3ERHJlEolThoDAACt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KkLoBgCgivTo0UMTJkxwvm7WrJleffXVCz7+3XffVWho6EWdc+/evbJYLEpLS5MkrVq1ShaLRadOnbqo96ltjh8/roiICO3du7faz719+3Y1adJEBQUF1X5uAID5CN0AgDpt5MiRslgsslgs8vHxUVxcnB577DEVFRVd9nNt2LBBY8eOvezvW5mrr75amZmZCgkJcbtvbQ7ozz77rAYMGKBmzZpV+7nbtGmjrl276uWXX672cwMAzEfoBgDUeX369FFmZqZ2796tV155RW+++aamTp162c8THh6ugICAy/6+lfH19VVkZKQsFku1ntcMdru93PbCwkK98847Gj16dDVX9ItRo0Zp1qxZKi0tNa0GAIA5CN0AgDrPZrMpMjJSMTExGjhwoHr27Klly5Y5tx8/flxDhgxR48aNFRAQoMTERM2fP9/lPQoKCnTXXXcpKChIUVFReumll847z7mXl7/88stKTExUYGCgYmJi9MADDyg/P/+ial+/fr3at28vPz8/derUSZs2bXLZfu7s9b59+9S/f3/Vr19fgYGBuvLKK7V48WLt3btXN9xwgySpfv36slgsGjlypCRp6dKl6t69u0JDQ9WgQQP169dPGRkZznP8fEn7J598ohtuuEEBAQFKSkrS2rVrXWr573//qx49eiggIED169dX7969dfLkSUmSw+FQSkqK4uLi5O/vr6SkJH300UeVfvZmzZrpmWee0V133aXg4OAKryJYvHixbDabunbtet6/y5dffqn27dvL399fN954o7Kzs7VkyRIlJCQoODhYQ4cOVWFhofO4Hj166MEHH9SECRNUv359NWrUSG+99ZYKCgo0atQo1atXT/Hx8VqyZIlLDTfddJNOnDih1atXV/qZAAC1D6EbAICzbN26VWvWrJGvr6+zraioSB07dtSiRYu0detWjR07VnfeeafWr1/v3OfRRx/V6tWr9dlnn+mrr77SqlWrtHHjxkrPZbVa9frrr2vbtm2aM2eOVqxYoccee+yCa83Pz1e/fv3Upk0bpaamatq0aXrkkUcqPWbcuHEqLi7WN998oy1btmjGjBkKCgpSTEyMPv74Y0nSzp07lZmZqddee03SmT8oTJo0Sd9//72WL18uq9WqQYMGyeFwuLz3E088oUceeURpaWlq2bKlhgwZ4pzZTUtLU3Jystq0aaO1a9fq22+/Vf/+/VVWViZJSklJ0XvvvafZs2dr27ZtmjhxooYPH+42pL744otKSkrSpk2b9NRTT5W7z3/+8x917Nix3G3Tpk3TX/7yF61Zs0YHDhzQ73//e7366quaN2+eFi1apK+++kozZ850OWbOnDlq2LCh1q9frwcffFD333+/brvtNl199dXauHGjevXqpTvvvNMlrPv6+uqqq67Sf/7zn0o/DwCgFjIAAKjDRowYYXh5eRmBgYGGzWYzJBlWq9X46KOPKj3ulltuMR5++GHDMAwjLy/P8PX1NT744APn9uPHjxv+/v7GQw895GyLjY01XnnllQrf88MPPzQaNGjgfP2Pf/zDCAkJqXD/N99802jQoIFx+vRpZ9usWbMMScamTZsMwzCMlStXGpKMkydPGoZhGImJica0adPKfb9z963I0aNHDUnGli1bDMMwjD179hiSjLffftu5z7Zt2wxJRnp6umEYhjFkyBDjmmuuKff9ioqKjICAAGPNmjUu7aNHjzaGDBlSYR2xsbHGwIEDK63VMAxjwIABxt133+3S9vNn/frrr51tKSkphiQjIyPD2XbvvfcavXv3dr6+/vrrje7duztfl5aWGoGBgcadd97pbMvMzDQkGWvXrnU556BBg4yRI0e6rRcAULt4mxX2AQDwFDfccINmzZqlgoICvfLKK/L29tbgwYOd28vKyvTcc8/pgw8+0KFDh2S321VcXOy8PzsjI0N2u11dunRxHhMWFqZWrVpVet6vv/5aKSkp2rFjh3Jzc1VaWqqioiIVFhZe0L3f6enpateunfz8/Jxt3bp1q/SYP/zhD7r//vv11VdfqWfPnho8eLDatWtX6TE//fSTnn76aa1bt07Hjh1zznDv379fbdu2de539vtERUVJkrKzs9W6dWulpaXptttuK/f9d+3apcLCQt10000u7Xa7Xe3bt6+0tk6dOlW6XZJOnz7t8m90trNrbtSokQICAtS8eXOXtrOvaDj3GC8vLzVo0ECJiYkux0hnPvvZ/P39XWa/AQB1A5eXAwDqvMDAQMXHxyspKUl///vftW7dOr3zzjvO7S+88IJee+01/fGPf9TKlSuVlpam3r17V7hw14XYu3ev+vXrp3bt2unjjz9Wamqq3njjDUkVLwh2Odxzzz3avXu37rzzTm3ZskWdOnU67/Lpc/Xv318nTpzQW2+9pXXr1mndunXl1unj4+P8/ueF234O6P7+/hW+/8/3sS9atEhpaWnOr+3bt7u9rzswMLDS7ZLUsGFD573j5zq35rNf/9x27mX05e1T2Wf/2YkTJxQeHu62XgBA7ULoBgDgLFarVY8//riefPJJnT59WtKZBcAGDBig4cOHKykpSc2bN9ePP/7oPKZFixby8fFxhlFJOnnypMs+50pNTZXD4dBLL72krl27qmXLljp8+PBF1ZqQkKDNmze7PN7su+++c3tcTEyM7rvvPn3yySd6+OGH9dZbb0mS8z72n++zls4sIrdz5049+eSTSk5OVkJCQoUBtjLt2rXT8uXLy93Wpk0b2Ww27d+/X/Hx8S5fMTExF32uc7Vv317bt2+/5Pe5VFu3bnU7cw8AqH0I3QAAnOO2226Tl5eXc+b5iiuu0LJly7RmzRqlp6fr3nvv1ZEjR5z7BwUFafTo0Xr00Ue1YsUKbd26VSNHjpTVWvGP2fj4eJWUlGjmzJnavXu3/vnPf2r27NkXVefQoUNlsVg0ZswYbd++XYsXL9aLL75Y6TETJkzQl19+qT179mjjxo1auXKlEhISJEmxsbGyWCxauHChjh49qvz8fNWvX18NGjTQ3/72N+3atUsrVqzQpEmTLqpOSZoyZYo2bNigBx54QJs3b9aOHTs0a9YsHTt2TPXq1dMjjzyiiRMnas6cOcrIyNDGjRs1c+ZMzZkz56LPda7evXtr27Ztv+qPBZfL3r17dejQIfXs2dO0GgAA5iB0AwBwDm9vb40fP17PP/+8CgoK9OSTT6pDhw7q3bu3evToocjISA0cONDlmBdeeEHXXnut+vfvr549e6p79+4VrpgtSUlJSXr55Zc1Y8YMtW3bVnPnzlVKSspF1RkUFKQvvvhCW7ZsUfv27fXEE09oxowZlR5TVlamcePGKSEhQX369FHLli3117/+VZLUuHFjTZ8+XZMnT1ajRo00fvx4Wa1Wvf/++0pNTVXbtm01ceJEvfDCCxdVpyS1bNlSX331lX744Qd17txZ3bp102effSZv7zPLyzzzzDN66qmnlJKS4qxt0aJFiouLu+hznSsxMVEdOnTQBx98cMnv9WvNnz9fvXr1UmxsrGk1AADMYTEMwzC7CAAAgKq0aNEiPfroo9q6dWulVyBUBbvdriuuuELz5s3TNddcU63nBgCYj9XLAQBArXfLLbfop59+0qFDhy7LfeIXY//+/Xr88ccJ3ABQRzHTDQAAAABAFeGebgAAAAAAqgihGwAAAACAKkLoBgAAAACgihC6AQAAAACoIoRuAAAAAACqCKEbAAAAAIAqQugGAAAAAKCKELoBAAAAAKgihG4AAAAAAKoIoRsAAAAAgCry/60j1P7FQVTgAAAAAElFTkSuQmCC\n"
},
"metadata": {}
}
],
"source": [
"\n",
"import numpy as np\n",
"from scipy.integrate import quad\n",
"from scipy.special import ellipk, ellipe\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# Constants\n",
"mu0 = 4 * np.pi * 1e-7 # Permeability of free space\n",
"\n",
"# Sample N52 magnet parameters (common disc size)\n",
"Br = 1.45 # Typical remanence for N52 in Tesla (1.42–1.48 T range)\n",
"M = Br / mu0 # Magnetization\n",
"R = 0.01 # Radius: 10 mm → 0.01 m\n",
"L_half = 0.005 # Half-length: thickness 10 mm → total length 0.01 m\n",
"\n",
"def Bz(r, z=0.0):\n",
" \"\"\"\n",
" Compute B_z at position (r, z) in Tesla.\n",
" Uses exact on-axis formula when r=0, otherwise numerical integration.\n",
" \"\"\"\n",
" if abs(r) < 1e-12: # On-axis\n",
" term1 = (z + L_half) / np.sqrt(R**2 + (z + L_half)**2)\n",
" term2 = (z - L_half) / np.sqrt(R**2 + (z - L_half)**2)\n",
" return (mu0 * M / 2) * (term1 - term2)\n",
" else:\n",
" def integrand(z_prime):\n",
" delta_z = z - z_prime\n",
" delta_z2 = delta_z**2\n",
" a = (R + r)**2 + delta_z2\n",
" b = (R - r)**2 + delta_z2\n",
" k2 = 4 * R * r / a\n",
" # Clip k2 to avoid singularity (k2 == 1)\n",
" if k2 >= 1:\n",
" k2 = 0.999999999999\n",
" K = ellipk(k2)\n",
" E = ellipe(k2)\n",
" common = 1 / np.sqrt(a)\n",
" term = K + (R**2 - r**2 - delta_z2) / b * E # Corrected sign: - delta_z2\n",
" return common * term\n",
"\n",
" integral, _ = quad(integrand, -L_half, L_half, epsabs=1e-10, epsrel=1e-8)\n",
" return (mu0 * M / (2 * np.pi)) * integral\n",
"\n",
"# Compute B_z(r) at z=0 for a range of r\n",
"r_values = np.linspace(0, 0.03, 300) # 0 to 30 mm\n",
"Bz_values = np.vectorize(Bz)(r_values, z=0.0)\n",
"\n",
"# Plot\n",
"plt.figure(figsize=(10, 6))\n",
"plt.plot(r_values * 1000, Bz_values, label=r'$B_z(r, z=0)$', linewidth=2)\n",
"plt.axvline(x=R*1000, color='gray', linestyle='--', label='Magnet edge (r = R)')\n",
"plt.xlabel('Radial distance r (mm)')\n",
"plt.ylabel('$B_z$ (Tesla)')\n",
"plt.title('Corrected Magnetic Field $B_z(r)$ in the Mid-Plane (z=0)\\n'\n",
" 'N52 Disc Magnet: Ø20 mm × 10 mm thick, $B_r = 1.45$ T')\n",
"plt.grid(True, alpha=0.3)\n",
"plt.legend()\n",
"plt.tight_layout()\n",
"plt.show()"
]
}
]
}
# Computing and plotting the magnetic field just above the surface of an N52 cylindrical magnet
# using a surface magnetic-charge model (end-face magnetic charges).
# Geometry: diameter 20 mm, thickness 10 mm, Br = 1.45 T (N52)
# Observation plane: z = +L/2 + epsilon (just above the top face), epsilon = 0.1 mm
# We compute B using B = mu0/(4*pi) * integral(sigma * (r_obs - r')/|r_obs - r'|^3 dA')
# where sigma = +M on top face (z = +L/2) and sigma = -M on bottom face (z = -L/2),
# and M = Br/mu0 (approximate uniform magnetization).
#
# This is a direct numerical surface integral (discretized in polar coordinates).
# We plot B_z (axial component) and |B| vs radius (0 -> 2*R).
import numpy as np
import matplotlib.pyplot as plt
from math import pi
# Parameters (meters)
diameter_mm = 20.0
thickness_mm = 10.0
R = (diameter_mm/2) * 1e-3
L = thickness_mm * 1e-3
Br = 1.45 # Tesla, remanence for N52
mu0 = 4 * np.pi * 1e-7
M = Br / mu0 # approximate magnetization (A/m)
# Integration settings
Nr = 120 # radial subdivisions on each face
Nphi = 180 # angular subdivisions
r_src = np.linspace(0, R, Nr)
phi_src = np.linspace(0, 2*np.pi, Nphi, endpoint=False)
dr = r_src[1] - r_src[0]
dphi = phi_src[1] - phi_src[0]
# Precompute grid of source points (r', phi')
r_grid, phi_grid = np.meshgrid(r_src, phi_src, indexing='xy') # shape (Nphi, Nr)
x_src = (r_grid * np.cos(phi_grid)).ravel()
y_src = (r_grid * np.sin(phi_grid)).ravel()
area_src = (r_grid.ravel() * dr * dphi) # area element r' dr dphi
# Face z positions and sigma
z_top = +L/2
z_bot = -L/2
sigma_top = M
sigma_bot = -M
# Source coordinates for top and bottom faces (stacked)
x_top = x_src.copy()
y_top = y_src.copy()
z_top_arr = np.full_like(x_top, z_top)
area_top = area_src.copy()
x_bot = x_src.copy()
y_bot = y_src.copy()
z_bot_arr = np.full_like(x_bot, z_bot)
area_bot = area_src.copy()
# Observation radii (we'll compute from 0 to 2R)
r_obs = np.linspace(0.0, 2*R, 200)
z_obs = z_top + 1e-4 # 0.1 mm above the top face (in meters)
# Prepare result arrays
Bz_vals = np.zeros_like(r_obs)
Bmag_vals = np.zeros_like(r_obs)
const = mu0 / (4*np.pi)
# Loop over observation radii (vectorized over sources)
for i, ro in enumerate(r_obs):
# place observation at (ro, 0, z_obs) (use symmetry axis phi=0)
x_o = ro
y_o = 0.0
z_o = z_obs
# Top face contributions
dx = x_o - x_top
dy = y_o - y_top
dz = z_o - z_top_arr
rvec_sq = dx*dx + dy*dy + dz*dz
rmag = np.sqrt(rvec_sq)
# avoid singularity by ensuring minimum distance
rmag[rmag < 1e-12] = 1e-12
inv_r3 = 1.0 / (rmag**3)
# dB = const * sigma * dA * rvec * inv_r3
dBx_top = const * sigma_top * area_top * dx * inv_r3
dBy_top = const * sigma_top * area_top * dy * inv_r3
dBz_top = const * sigma_top * area_top * dz * inv_r3
# Bottom face contributions
dx = x_o - x_bot
dy = y_o - y_bot
dz = z_o - z_bot_arr
rvec_sq = dx*dx + dy*dy + dz*dz
rmag = np.sqrt(rvec_sq)
rmag[rmag < 1e-12] = 1e-12
inv_r3 = 1.0 / (rmag**3)
dBx_bot = const * sigma_bot * area_bot * dx * inv_r3
dBy_bot = const * sigma_bot * area_bot * dy * inv_r3
dBz_bot = const * sigma_bot * area_bot * dz * inv_r3
# Sum contributions
Bx = dBx_top.sum() + dBx_bot.sum()
By = dBy_top.sum() + dBy_bot.sum()
Bz = dBz_top.sum() + dBz_bot.sum()
Bz_vals[i] = Bz
Bmag_vals[i] = np.sqrt(Bx*Bx + By*By + Bz*Bz)
# Convert radii back to mm and fields to mT for plotting convenience
r_obs_mm = r_obs * 1e3
Bz_mT = Bz_vals * 1e3
Bmag_mT = Bmag_vals * 1e3
# Plot
plt.figure(figsize=(7,4.5))
plt.plot(r_obs_mm, Bz_mT, label='B_z (mT)')
plt.plot(r_obs_mm, Bmag_mT, label='|B| (mT)')
plt.axvline(x=diameter_mm/2, linestyle='--', linewidth=0.8, label='magnet edge')
plt.xlabel('Radial distance from center (mm)')
plt.ylabel('Magnetic field (mT)')
plt.title('N52 disk (D=20 mm, L=10 mm) — field 0.1 mm above top face')
plt.legend()
plt.grid(alpha=0.3)
plt.tight_layout()
plt.show()
# Print a short summary numeric values at a few radii
for rr, bz, bmag in zip([0.0, R*1e3/2, R*1e3, 1.5*R*1e3, 2*R*1e3],
np.interp([0.0, R*1e3/2, R*1e3, 1.5*R*1e3, 2*R*1e3], r_obs_mm, Bz_mT),
np.interp([0.0, R*1e3/2, R*1e3, 1.5*R*1e3, 2*R*1e3], r_obs_mm, Bmag_mT)):
print(f"r = {rr:.1f} mm: B_z ≈ {bz:.1f} mT, |B| ≈ {bmag:.1f} mT")
@rezamarzban
Copy link
Author

64fb092a-365a-4b30-99a1-2cfdb9ba8527

@rezamarzban
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment