{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chebyshev Polynomial" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "from optiland import optic" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When defining a Chebyshev polynomial surface, we must also specify the normalization radii in x and y, as the polynomial is only defined over [-1, 1]." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Initialize an optic lens\n", "lens = optic.Optic()\n", "\n", "# add surfaces to the lens\n", "lens.surfaces.add(index=0, thickness=np.inf)\n", "\n", "# define coefficients in 3x3 matrix form (these were obtained via optimization)\n", "coefficients = np.array(\n", " [\n", " [2.41503483e-04, 2.48957828e-02, 1.07636320e-02],\n", " [5.69802689e-04, 3.62030078e-06, -2.09277108e-06],\n", " [1.07249007e-02, -9.26226903e-05, 7.91676881e-05],\n", " ],\n", ")\n", "lens.surfaces.add(\n", " index=1,\n", " thickness=-100,\n", " radius=-150,\n", " material=\"mirror\",\n", " is_stop=True,\n", " surface_type=\"chebyshev\",\n", " norm_x=25,\n", " norm_y=25,\n", " coefficients=coefficients,\n", ") # <-- chebyshev surface type\n", "\n", "lens.surfaces.add(index=2)\n", "\n", "# add aperture\n", "lens.set_aperture(aperture_type=\"EPD\", value=42)\n", "\n", "# add field\n", "lens.fields.set_type(field_type=\"angle\")\n", "lens.fields.add(y=0)\n", "\n", "# add wavelength\n", "lens.wavelengths.add(value=0.587, is_primary=True)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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3muE5p9/+Id/EJWVleKZZ54RBw8eFDfeeKPweDxiYGBACMHXxUJ3+PDhCVOkgsGg8Hq94lOf+pTYv3+/+OUvfykMBoN45JFHCrdQmlXHjx8Xfr9fXHrppeL48ePixIkT8q8svi4Wll/+8pdCq9WKxx57TBw4cEB8/vOfFzabLW/iYDFiwDhD119/vQAw4dcLL7wgX3PkyBFx5ZVXCr1eL1wul7j11ltFPB7P+zovvPCCWLVqldBoNKK+vl48+uijc/sXoVnz6quviiuuuEI4HA5hNpvFhRdeKJ5++um8a6bzGqH5JRaLiVtvvVV4PB5hNpvFZZddJvbv3593DV8XC9dkAUMIId58802xceNGodVqRWVlpfj2t79dmAXSnHj00Ucnvcc4+f1gvi4WlgceeEDU1NQIjUYj1q5dK15++eVCL+m0JCGEKMjWCRERERERzTucIkVERERERDOGAYOIiIiIiGYMAwYREREREc0YBgwiIiIiIpoxDBhERERERDRjGDCIiIiIiGjGMGAQEREREdGMYcAgIiIiIqIZw4BBREREREQzhgGDiIiIiIhmDAMGERERERHNmP8f+l4v7VwuQMwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lens.draw(num_rays=4)" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.1" } }, "nbformat": 4, "nbformat_minor": 2 }