{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "6026a74b", "metadata": {}, "outputs": [], "source": [ "%matplotlib widget\n", "\n", "isdark = False\n", "\n", "from rayoptics.environment import *" ] }, { "cell_type": "code", "execution_count": 24, "id": "c7d740ee", "metadata": {}, "outputs": [], "source": [ "opm = OpticalModel()\n", "sm = opm['seq_model']\n", "osp = opm['optical_spec']\n", "pm = opm['parax_model']\n", "\n", "osp['pupil'] = PupilSpec(osp, key=['object', 'pupil'], value=16)\n", "osp['fov'] = FieldSpec(osp, key=['object', 'angle'], value=1.5, flds=[0., 0.707, 1.], is_relative=True)\n", "osp['wvls'] = WvlSpec([('F', 0.5), (587.5618, 1.0), ('C', 0.5)], ref_wl=1)\n", "\n", "opm.radius_mode = True\n", "\n", "sm.gaps[0].thi=1e10\n", "\n", "use_schyrle = True\n", "if use_schyrle:\n", " sm.add_surface([246, 3, 'N-LASF9', 'Schott', 42/2])\n", " sm.add_surface([1e9, 290+36])\n", " sm.add_surface([1e9, 3, 'N-LASF9', 'Schott', 16/2])\n", " sm.add_surface([-30.6, 36+36])\n", " sm.add_surface([30.6, 3, 'N-LASF9', 'Schott', 16/2])\n", " sm.add_surface([1e9, 36+36])\n", " sm.add_surface([1e9, 3, 'N-LASF9', 'Schott', 16/2])\n", " sm.add_surface([-30.6, 36])\n", "else:\n", " sm.add_surface([246, 2, 'N-LASF9', 'Schott', 42/2])\n", " sm.add_surface([1e9, 290+2*36])\n", " sm.add_surface([1e9, 2, 'N-LASF9', 'Schott', 16])\n", " sm.add_surface([-30.6, 36+36+36])\n", " sm.add_surface([30.6, 2, 'N-LASF9', 'Schott', 16])\n", " sm.add_surface([1e9, 96])\n", "# add a focusing mirror\n", "#sm.add_surface([30.6, 2, 'N-LASF9', 'Schott', 16])\n", "#sm.add_surface([1e9, 36])\n", "#sm.add_surface([-24.456, .975, 'N-SF5,Schott'])\n", "#sm.set_stop()\n", "#sm.add_surface([21.896, 4.822])\n", "#sm.add_surface([86.759, 5.127, 'N-LAK9', 'Schott'])\n", "#sm.add_surface([-30.4942, 41.2365])" ] }, { "cell_type": "code", "execution_count": 25, "id": "a26f0ff4", "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "6c905e0317df438b9be9f0e4f16961b1", "version_major": 2, "version_minor": 0 }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAo9UlEQVR4nO3da8xk930f9t+5zMxz2V0uRVIUKYoSKUqKrpQoWVItp2ljIA2KOsmLoH3TwmmdokWCBpBfFGmDFAbapjHaxG0dwEjRBAbyIm3QF73AcJw4sBzLCmxHskTSullXihIlcsnl7nObmXPri3POzDx7IVd7e3b5/3yA3bmdmefMec4z8z2//+VkL++1XQAAkIz8pFcAAIDbSwAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAE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ABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASIwACACQGAEQACAxAiAAQGIEQACAxAiAAACJEQABABIjAAIAJEYABABIjAAIAJAYARAAIDECIABAYgRAAIDECIAAAIkRAAEAEiMAAgAkRgAEAEiMAAgAkBgBEAAgMQIgAEBiBEAAgMQIgAAAiREAAQASIwACACRGAAQASMz/D7w1oh6f4juEAAAAAElFTkSuQmCC", "text/html": [ "\n", "