{ "cells": [ { "cell_type": "markdown", "id": "02a0525a-70e9-4849-929d-33e575c68764", "metadata": {}, "source": [ "# Minima" ] }, { "cell_type": "code", "execution_count": 1, "id": "e3c360d8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(array([0.2894, 0.3905, 0.5436, 0.6963]), array([5.82265204e-04, 8.61527644e-02, 4.98477492e-02, 5.74210324e-05]), array([2794, 3805, 5336, 6863], dtype=int64))\n", "(0.2893999999999983, 0.0005822652044197551, 2794)\n" ] }, { "data": { "image/png": "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YPny5b7vud1uAIBer8fRo0cxevRoaQftp2D8PBoMBkybNg2FhYVSDLHfArnG1NRUGAwG6HQ63/cmTpyIyspK2O12GI1GSccciP78XVosFqxduxaPPfaYlEPst0Cu8ZFHHsGNN96IX/ziFwCAKVOmwGKx4I477sDDDz8MrTb4HSoDrufFaDRi+vTp2Lx5s+97brcbmzdv7vBJp73Zs2d3uD0AfP755z3eXmmBXGOoCfQan3nmGTz++OPYuHEjZsyYIcdQAxasv0e32w2bzSbFEPvN32ucMGECDhw4gPz8fN/X5ZdfjoULFyI/Px/p6elyDr9PgvH36HK5cODAAaSmpko1zH4J5Brnzp2LwsJCX/gEgGPHjiE1NVWVwQXo39/lu+++C5vNhp///OdSD7NfArnG1tbWLgFFDKWCVMcnStYKrGJr164VTCaT8MYbbwgFBQXCHXfcIcTHx/uWIt54443Cgw8+6Lv9d999J+j1euHZZ58VDh8+LKxevToklkr7c402m03Yu3evsHfvXiE1NVW4//77hb179wrHjx9X6hJ65e81Pv3004LRaBTee++9DksXm5ublbqEXvl7jU8++aSwadMmoaioSCgoKBCeffZZQa/XC6+88opSl9Arf6+xs1BYbeTvNf7+978XPvvsM6GoqEjYvXu3cN111wlms1k4dOiQUpfQK3+v8dSpU0JMTIywcuVK4ejRo8LHH38sJCUlCX/4wx+UuoQ+CfTf67x584Rrr71W7uEGxN9rXL16tRATEyO89dZbQnFxsbBp0yZh9OjRwjXXXCPZGAdkeBEEQXjhhReE4cOHC0ajUZg5c6awfft23+9deOGFwooVKzrc/p133hHGjRsnGI1GYdKkScKGDRtkHrH//LnGkpISAUCXrwsvvFD+gfvBn2scMWJEt9e4evVq+QfuB3+u8eGHHxbGjBkjmM1mYdCgQcLs2bOFtWvXKjBq//j789heKIQXQfDvGu+77z7fbZOTk4Vly5YJe/bsUWDU/vH37/H7778XZs2aJZhMJmHUqFHCE088ITidTplH7T9/r/PIkSMCAGHTpk0yjzRw/lyjw+EQfve73wmjR48WzGazkJ6eLtx9993CmTNnJBufRhCkqukQERERBd+A63khIiKi0MbwQkRERCGF4YWIiIhCCsMLERERhRSGFyIiIgopDC9EREQUUhheiIiIKKQwvBAREVFIYXghIiKikMLwQkRERCGF4YWIiIhCCsMLERERhZT/D7R/gn/02FZWAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import nexus as nx\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "lay_Pt_top = nx.Layer(id = \"Pt top\",\n", " material = nx.Material.Template(nx.lib.material.Pt),\n", " thickness = 2,\n", " roughness = 0.2)\n", "\n", "\n", "lay_C = nx.Layer(id = \"C\",\n", " material = nx.Material.Template(nx.lib.material.C),\n", " thickness = 10,\n", " roughness = 0.3)\n", "\n", "lay_Fe = nx.Layer(id = \"Fe\",\n", " material = nx.Material.Template(nx.lib.material.Fe_enriched),\n", " thickness = 1.5,\n", " roughness = 0.35)\n", "\n", "lay_Pt = nx.Layer(id = \"Pt\",\n", " material = nx.Material.Template(nx.lib.material.Pt),\n", " thickness = 15,\n", " roughness = 0.77)\n", "\n", "lay_substrate = nx.Layer(id = \"Si sub\",\n", " material = nx.Material.Template(nx.lib.material.Si),\n", " thickness = nx.inf,\n", " roughness = 0.4\n", " )\n", "\n", "sample1 = nx.Sample(id = \"cavity\",\n", " layers = [lay_Pt_top,\n", " lay_C,\n", " lay_Fe,\n", " lay_C,\n", " lay_Pt,\n", " lay_substrate],\n", " geometry = \"r\",\n", " length = 10,\n", " roughness = \"a\")\n", "\n", "beam = nx.Beam(profile = \"g\", fwhm = 0.2)\n", "beam.Unpolarized()\n", "\n", "exp = nx.Experiment(beam = beam,\n", " objects = [sample1],\n", " id = \"my exp\")\n", "\n", "angles = np.arange(0.01, 0.8, 0.0001)\n", "\n", "reflectivity = nx.Reflectivity(experiment = exp,\n", " sample = sample1,\n", " energy = nx.lib.energy.CuKalpha,\n", " angles = angles)\n", "\n", "refl = reflectivity()\n", "\n", "print(nx.data.FindMinima(angles, refl))\n", "\n", "print(nx.data.FindMinima(angles, refl, n=1))\n", "\n", "plt.semilogy(angles, reflectivity())\n", "plt.show()" ] } ], "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.12.0" } }, "nbformat": 4, "nbformat_minor": 5 }