{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e0bc55d7",
   "metadata": {},
   "source": [
    "# GRIN Rod Lens\n",
    "\n",
    "A gradient-index (GRIN) rod lens has flat faces. It focuses because its index falls off with distance from the axis. For the profile\n",
    "\n",
    "$$n(r) = n_0 \\left(1 - \\tfrac{A}{2} r^2\\right),$$\n",
    "\n",
    "paraxial rays follow sinusoids with period (pitch) $P = 2\\pi/\\sqrt{A}$. A quarter-pitch rod focuses a collimated beam onto its exit face. Here the rod is modeled with `GradientMaterial`, whose Gradient 3 coefficient is $n_{r2} = -n_0 A / 2$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "9f309d92",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-11-06T07:41:17.742522Z",
     "iopub.status.busy": "2026-11-06T07:41:17.742156Z",
     "iopub.status.idle": "2026-11-06T07:41:28.009216Z",
     "shell.execute_reply": "2026-11-06T07:41:28.007845Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "\n",
    "from optiland import optic\n",
    "from optiland.analysis import SpotDiagram\n",
    "from optiland.materials import GradientMaterial"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "0052bd98",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-11-06T07:41:28.014925Z",
     "iopub.status.busy": "2026-11-06T07:41:28.014460Z",
     "iopub.status.idle": "2026-11-06T07:41:28.023102Z",
     "shell.execute_reply": "2026-11-06T07:41:28.021577Z"
    }
   },
   "outputs": [],
   "source": [
    "class GrinRod(optic.Optic):\n",
    "    \"\"\"Quarter-pitch GRIN rod lens, focusing at its exit face.\"\"\"\n",
    "\n",
    "    def __init__(self, n0=1.6, A=0.01, pitch_fraction=0.25):\n",
    "        super().__init__()\n",
    "        length = pitch_fraction * 2 * np.pi / np.sqrt(A)\n",
    "        rod = GradientMaterial(n0=n0, nr2=-n0 * A / 2)\n",
    "\n",
    "        self.surfaces.add(index=0, radius=np.inf, thickness=np.inf)\n",
    "        self.surfaces.add(\n",
    "            index=1, radius=np.inf, thickness=length, material=rod, is_stop=True\n",
    "        )\n",
    "        self.surfaces.add(index=2, radius=np.inf, thickness=0.0, material=\"air\")\n",
    "        self.surfaces.add(index=3, radius=np.inf)\n",
    "\n",
    "        self.set_aperture(aperture_type=\"EPD\", value=2.0)\n",
    "        self.fields.set_type(\"angle\")\n",
    "        self.fields.add(y=0.0)\n",
    "        self.fields.add(y=2.0)\n",
    "        self.wavelengths.add(0.55, is_primary=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b5c13136",
   "metadata": {},
   "source": [
    "Drawings follow the curved paths inside the rod. Rays are re-integrated only for the plot; ordinary traces store just the surface hits."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "bf738de7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-11-06T07:41:28.025731Z",
     "iopub.status.busy": "2026-11-06T07:41:28.025335Z",
     "iopub.status.idle": "2026-11-06T07:41:28.478196Z",
     "shell.execute_reply": "2026-11-06T07:41:28.477021Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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/GCGpxe/+MX48R//cfzVX/0VLrnkEq7neb5DP61IJBKJLkQJMIlEIpHoglSWZXjBC14Az/Pwe7/3e3Ac55yOkyQJnve85+Gaa65h8HrEIx6Bz3/+83jhC1+IK664gq1F5KiB9k/ZeuADH4if/MmfxGWXXYZf/MVfxMbGBu51r3uxlevyyy/H0572NHz729/GmTNndugnFolEItGFKAEmkUgkEl2Qet3rXocvfvGL7ERhYmLinI/TbDbZGmS0sLCAu9zlLrzfyWh+fp6X29m66qqrKnNIV155ZWUOqT5PJBKJRIdL4vRBJBKJRBec/u7v/o6Xvb361a9mC8/5yPf9LdvIekUWrVFjjHVrWFt9nkgkEokOl8TCJBKJRKILSjfddBNe9rKX4Vd/9VfxQz/0Q/v9cUQikUh0xCUWJpFIJBJdMFpeXmaHDBRv6dGPfjROnz5d6af9THNzc/v2+UQikUh09CTAJBKJRKILRp/4xCdw2223cXrUox410H/RRRexq3CRSCQSifZKTi7+UEUikUh0CESxk376p38aT3nKU/b1c7zkJS9hd+jkrEIkEolEB1+yh0kkEolEh0YUZ4nchK+vr+/5uT/3uc/xuf/P//k/e35ukUgkEu2exMIkEolEokMhWsZHMZdIF198MVx3b98JUoDcU6dOcbnVamFxcXFPzy8SiUSi3ZEAk0gkEolEIpFIJBKNkCzJE4lEIpFIJBKJRKIREmASiUQikUgkEolEohESYBKJRCKRSCQSiUSiERJgEolEIpFIJBKJRKIREmASiUQikUgkEolEohESYBKJRCKRSCQSiUSiERJgEolEIpFIJBKJRKIREmASiUQikUgkEolEIgzX/w8SXS6/bnsW5QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "lens = GrinRod()\n",
    "_ = lens.draw(num_rays=7)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "015c21a8",
   "metadata": {},
   "source": [
    "## Check against the analytic pitch\n",
    "\n",
    "A ray entering parallel to the axis at height $y_0$ reaches the exit face at $y_0 \\cos(\\sqrt{A} L)$ with slope $-y_0 \\sqrt{A} \\sin(\\sqrt{A} L)$ inside the rod. Tracing rods of several lengths reproduces this. Small differences come from the paraxial approximation, not the integrator."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "9df922ba",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-11-06T07:41:28.481189Z",
     "iopub.status.busy": "2026-11-06T07:41:28.480868Z",
     "iopub.status.idle": "2026-11-06T07:41:28.705476Z",
     "shell.execute_reply": "2026-11-06T07:41:28.704322Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " pitch     traced y   analytic y\n",
      " 0.125     0.035356     0.035355\n",
      "  0.25    -0.000001     0.000000\n",
      " 0.375    -0.035357    -0.035355\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "   0.5    -0.050000    -0.050000\n"
     ]
    }
   ],
   "source": [
    "A, y0 = 0.01, 0.05\n",
    "print(f\"{'pitch':>6} {'traced y':>12} {'analytic y':>12}\")\n",
    "for fraction in (0.125, 0.25, 0.375, 0.5):\n",
    "    rod = GrinRod(A=A, pitch_fraction=fraction)\n",
    "    rod.trace_generic(0.0, 0.0, 0.0, y0, 0.55)  # Py = y0 / (EPD / 2)\n",
    "    traced = float(rod.surfaces[2].y[0])\n",
    "    analytic = y0 * np.cos(fraction * 2 * np.pi)\n",
    "    print(f\"{fraction:>6} {traced:>12.6f} {analytic:>12.6f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0af16a4e",
   "metadata": {},
   "source": [
    "## Spot at the exit face\n",
    "\n",
    "The quarter-pitch rod images the collimated beam onto its exit face. The remaining blur is the spherical aberration of the truncated parabolic profile."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1234ed4e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-11-06T07:41:28.707313Z",
     "iopub.status.busy": "2026-11-06T07:41:28.707008Z",
     "iopub.status.idle": "2026-11-06T07:41:29.028332Z",
     "shell.execute_reply": "2026-11-06T07:41:29.027589Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAGWCAYAAACaZVCOAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcnRJREFUeJztnQd8VFX2x096JZ2EnlCVJsmCtMW1IaC4FrDgIm0RFMUGq4KLNAsLIhZEUVdBXRBEXRVlUQTUv9KkqHSQFmogpCekzvt/zsU3zkxmkilv3rzy+34+YZg3791363nnnXvuuUGSJEkEAAAAAACAQQkOdAYAAAAAAADwJ1B4AQAAAACAoYHCCwAAAAAADA0UXgAAAAAAYGig8AIAAAAAAEMDhRcAAAAAABgaKLwAAAAAAMDQQOEFAAAAAACGBgovAAAAAAAwNFB4AQAAAACAoYHCC7xi8eLFFBQURFu3bnX6+1VXXUWdOnVSpXY///xz+tOf/kSRkZHUokULmjZtGlVXV7t1rcVioTlz5lDLli3F9Zdddhl98MEHTs/du3cvDRgwgGJjYykpKYmGDRtG586d8ylNdzh69Kio67lz5zr9ffr06eL33Nxc8idGr2cAlALy0Vzycfny5XT33XdT27Ztxb34+ecpb7/9NrVv317UCaczf/58p+edPHmS7rjjDkpISKC4uDi6+eab6fDhwz6laRokALxg0aJFEnefn376yenvV155pdSxY0e/1+2qVaukoKAg6eqrr5befPNN6cEHH5SCg4Ol++67z63rJ02aJMoxZswYcf3AgQPF9w8++MDuvOPHj0spKSlS69atpZdffll69tlnpcTERKlLly5SRUWFV2m6y5EjR8T1zz//vNPfp02bJn4/d+6c5C/MUM8AKAXko7nkIz/vYmNjhXzkcvN3T1i4cKHI4+DBg0WdDBs2THz/17/+ZXdecXGx1LZtWyk1NVWaPXu2NG/ePKl58+ZSs2bNpNzcXK/SNBNQeIGuBXqHDh2EUK2qqrIe++c//ymUs71799Z57YkTJ6SwsDDpgQcesB6zWCzSFVdcIQRIdXW19fi4ceOkqKgo6dixY9Zja9asEXXwxhtveJWmngS6GeoZAKWAfDSXfMzOzpZqamrE//m554nCW1ZWJiUnJwvF35ahQ4dKMTExUl5envUYK7lcli1btliPsfwNCQmRJk+e7FWaZgIuDUAVFi1aJKZ63nnnHbvjzz33nDi+atUq67HTp0/Tvn37qKqqqs409+zZI/7Gjh1LoaGh1uP3338/v8jRRx99VOf1n332mbgHny/DeRk3bhydOHGCNm7caD3+8ccf04033iim8mX69u1L7dq1ow8//NCrNP0FuxqEhYU5nU7kuuKpsPLyctQzABoB8lG/8pFp3rw5BQd7p06tX7+ezp8/b/fMYB544AEqLS2lL7/80nqMn2mXX365+JO59NJL6dprr7V7DnmSppmAwgt8orCwUPhGOf45ColRo0YJhXHChAl0/PhxcWznzp00Y8YMGj16NN1www3WcydPniz8jthXqS527NghPrt162Z3vEmTJtSsWTPr73VdHxMTI+5lS/fu3e3S53ycPXu21n3kc23v426a3lBWVua0rvm4Lew7x7617FdmS2VlpRCYgwcPFj5dqGcA/Avko/Hlo6+4eo517dpVKNHy7+z7/Ouvv7p8Dh06dIiKi4s9StNsQOEFPsFWzoYNG9b627BhQ61z33rrLQoJCREKLguXESNGUKNGjWjevHle3ZvfwJnGjRvX+o2PnTp1qt7r09LShAXW8VpGvr6+++Tl5VFFRYVHaXprmXBW188//7zdeW3atKFevXrRf/7zH7vj/Fafn58vBL4nmK2eAVAKyEfjy0df4Trh52Jqaqrd8fDwcEpOTrbWiVyPruSjoyx1J02z8cc8MABesGDBAjGt78jEiROppqbG7hgrt3z+XXfdRVdccQX9/PPPtGbNGrHS1HGFM//Vx4ULF8RnRERErd/4Db2oqKje611da5t+ffexTcvdNL2Bp9tuv/32Wsffe+89ev/99+2ODR8+XLhR8Ft/69atxbElS5aIqbcrr7xSfEc9A+BfIB+NLx99hcvMiqgzuF48fQ55kqbZgMILfIKnUpxNsSQmJjoNAzNkyBDxZs1v0yyg2PfIW6KiosSnbD2whX2w5N/rut7Vtbbp13cfx3PdOc8bOKwMW4wc+eGHH2odu/POO+mRRx4RQnzq1KliavWLL76gRx99tJZ1pT7MVs8AKAXko/Hlo69wmXnG0xm28tVT+ehOmmYDLg1AVdiRXo7dywvO2C/JW+RpHHkq3BY+xr689V1/5swZscDN8VpGvr6++3CsWPmt2900/Q2/cLDPNAt0hn3TWFByrEhP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",
      "text/plain": [
       "<Figure size 1200x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "spot = SpotDiagram(lens)\n",
    "_ = spot.view()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6d66b562",
   "metadata": {},
   "source": [
    "First-order (paraxial) quantities that cross the GRIN medium, such as the exit pupil, are not yet supported and raise `NotImplementedError`; use real-ray analyses like the ones above."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "optiland (3.13.2)",
   "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.13.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
