diff --git a/example/Example1.ipynb b/example/Example1.ipynb index 51b198a..dcba1de 100644 --- a/example/Example1.ipynb +++ b/example/Example1.ipynb @@ -1,389 +1,510 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Example 1: Basic Optical Properties\n", - "This notebook will take you through basic usage of the wptherml package to compute optical properties of multi-layer stacks.\n", - "\n", - "### Optical properties of 200 nm glass in air\n", - "The following lines will import the multilayer class and create an instance of the multilayer class called $glass$_$slab$,\n", - "which \n", - "Several basic properties of $glass$_$slab$ will be defined by a dictionary called $structure$; additional keywords are defined in this dictionary, and are explained in comments. To begin with, we will define a structure that consistes of a 200 nm thick piece of glass with air above and below." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from wptherml.wpml import multilayer\n", - "from matplotlib import pyplot as plt\n", - "import numpy as np\n", - "\n", - "\n", - "structure = {\n", - " 'Temperature': 300,\n", - " ### actual materials the structure is made from\n", - " ### values are stored in the attribute self.n\n", - " 'Material_List': ['Air', 'SiO2', 'Air'],\n", - " ### thickness of each layer... terminal layers must be set to zero\n", - " ### values are stored in attribute self.d\n", - " 'Thickness_List': [0, 200e-9, 0],\n", - " ### range of wavelengths optical properties will be calculated for\n", - " ### values are stored in the array self.lam\n", - " 'Lambda_List': [400e-9, 800e-9, 1000]\n", - " }\n", - "\n", - "### create the instance called glass_slab\n", - "glass_slab = multilayer(structure)\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Upon instantiation, the basic optical properties (reflectivity, transmissivity, absorptivity/emissivity) are computed using the method $self.Fresnel()$ and stored as attributes $self.Reflectivity$, $self.Transmissivity$, $self.Emissivity$. We will plot them as a function \n", - "of wavelength in nanometers using pyplot in the following lines. Note that we store all quantities in SI units, so we will multiply all values of $self.lam$ by $10^9 nm/m$ to convert the wavelengths to nanometers." - ] + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.6.4" + }, + "colab": { + "name": "Example1.ipynb", + "provenance": [], + "include_colab_link": true + } }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ + "cells": [ { - "data": { - "image/png": "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V61axaRJk6rd5vHHH+euu+4CYNasWbz//vt7HGNNpTz2kbs/DzyfxlhERBLq1KkTC6Pxlm699VZat27NddddV2Gb2IBuTZqkc/Dnir73ve/VeJ8ePXowffr0arc544wzyuZnzZpFkyZN6NevX40/a08kexznv6LpZjPbFFc2m9mm6vYVEUm35cuXk5OTw2WXXcaQIUNYvXo1l156Kfn5+QwYMIDbbrutbNvs7GxuvfVWBg8eTG5uLh988AEA8+bNY9CgQeTl5TFkyBC+/vpr5s6dywknnMCECRPo27cvN910E3/84x/LhudeuXIlEO6Ajg2JMWXKFPr378+gQYM4//zzq3zv5cuXk5eXB4TnLixbtqwsxmOPPZZFixYxbdo0rr76al555RVmz57NNddcQ15eHsuWLePII48s2/69996rsFwbkj157dho2sbd28aVNu7etlYjERHZA0uXLuWiiy7i7bffpnv37txxxx0UFBSwaNEinn/++QqjoR5wwAG8/fbbXHzxxfzqV78CwrMY7r//fhYuXMjLL79MVlYWAIsWLWLq1KksXryYadOmsXLlSt58802+/e1v87vf/W63OO68804WLlzIokWLyl6v6r1jJk2axIwZMwAoLCxk3bp1DBpUPlDEiBEjOO2005gyZQoLFy7ksMMOIysriyVLlgDw4IMP8p3vfKcWj2bqo6T+yd3/X7J1ItL4ZWjk7CodcsghDB06tGz5b3/7G7///e8pLi6mqKiIpUuX0r9/fwDOPPNMAI444oiyO4qHDx/O1VdfzbnnnstZZ51V9gCdo446igMOOACAgw8+mFGjRgEwcOBA5s+fv1scAwYM4Pzzz2f8+PGcfvrp1b53zNlnn83YsWO5+eabmT59OmeffXbS73vRRRfx4IMP8vOf/5xHH32Ut99+u0bHK5lUK98GxC+Y2X6EMZBERDKqVavyHvIffvghv/nNb5g3bx7vvPMOp5xyCtu3by97ff/99wfC856Li4uBUAV03333sWXLFoYOHcqHH35YYVuAJk2alC03adKkbN94c+bM4bLLLuPf//43+fn5lJSUVPneMb169aJ169YsXbqU6dOnJ22ABpg4cSJPP/00Tz75JMOGDaN9+92eYLxXqr1SMLMbgR8BLeLaEAzYCdxfq5GISIOQ4ZGzq7Vp0ybatGlD27ZtWb16NXPmzOGU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\n", - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": { + "id": "view-in-github", + "colab_type": "text" + }, + "source": [ + "\"Open" ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "### Plot reflectivity with a red line\n", - "plt.plot(glass_slab.lambda_array*1e9, glass_slab.reflectivity_array, 'red', label='Reflectivity')\n", - "### Plot transmissivity with a blue line\n", - "plt.plot(glass_slab.lambda_array*1e9, glass_slab.transmissivity_array, 'blue', label='Transmissivity')\n", - "### Plot absorptivity/emissivity with a black line\n", - "plt.plot(glass_slab.lambda_array*1e9, glass_slab.emissivity_array, 'black', label='Emissivity')\n", - "plt.xlabel(\"Wavelength (nm)\")\n", - "plt.ylabel(\"Fresnel Quantities (arb. units)\")\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also call a method called $AmbientColor$ to render the color of this structure." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": { + "id": "DibmckFkMBW6", + "colab_type": "text" + }, + "source": [ + "## Example 1: Basic Optical Properties\n", + "This notebook will take you through basic usage of the wptherml package to compute optical properties of multi-layer stacks.\n", + "\n", + "### Optical properties of 200 nm glass in air\n", + "The following lines will import the multilayer class and create an instance of the multilayer class called $glass$_$slab$,\n", + "which \n", + "Several basic properties of $glass$_$slab$ will be defined by a dictionary called $structure$; additional keywords are defined in this dictionary, and are explained in comments. To begin with, we will define a structure that consistes of a 200 nm thick piece of glass with air above and below." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "text/plain": [ - "1" + "cell_type": "code", + "metadata": { + "id": "J79docEdMBW8", + "colab_type": "code", + "colab": {} + }, + "source": [ + "from wptherml.wpml import multilayer\n", + "from matplotlib import pyplot as plt\n", + "import numpy as np\n", + "\n", + "\n", + "structure = {\n", + " 'Temperature': 300,\n", + " ### actual materials the structure is made from\n", + " ### values are stored in the attribute self.n\n", + " 'Material_List': ['Air', 'SiO2', 'Air'],\n", + " ### thickness of each layer... terminal layers must be set to zero\n", + " ### values are stored in attribute self.d\n", + " 'Thickness_List': [0, 200e-9, 0],\n", + " ### range of wavelengths optical properties will be calculated for\n", + " ### values are stored in the array self.lam\n", + " 'Lambda_List': [400e-9, 800e-9, 1000]\n", + " }\n", + "\n", + "### create the instance called glass_slab\n", + "glass_slab = multilayer(structure)\n", + "\n", + "\n" + ], + "execution_count": 0, + "outputs": [] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zXV6B812MBXP", + "colab_type": "text" + }, + "source": [ + "Upon instantiation, the basic optical properties (reflectivity, transmissivity, absorptivity/emissivity) are computed using the method $self.Fresnel()$ and stored as attributes $self.Reflectivity$, $self.Transmissivity$, $self.Emissivity$. We will plot them as a function \n", + "of wavelength in nanometers using pyplot in the following lines. Note that we store all quantities in SI units, so we will multiply all values of $self.lam$ by $10^9 nm/m$ to convert the wavelengths to nanometers." ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "glass_slab.ambient_color()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Optical properties of 50 nm glass in air\n", - "We can change the thickness of the glass slab by re-assigning the corresponding value of the $self.d$ attribute" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "glass_slab.d[1] = 50e-9" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To update the reflectivity, transmissivity, and emissivity, we need to call the $self.Fresnel()$ method." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ + }, { - "data": { - "image/png": "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PhIRAeD666Gion73WVoKP/1p2lViv9aXL1/O8ccfzxlnnAEESeHZZ5/luOOOA4Jf+0uWLOGUU06pdV/PP/88770X74aNjRs3smnTJp5//nlmzJgRL2/bNv0HJs866yyuvfZatm/fzjPPPMMpp5xCUVFR2m2uvPJK7rnnHs477zwefvhhfvWrTK985VakpGBmFwHPuPsmM7sZ6A/8l76nICK5Evu1vmHDBs4991ymTJnCtddei7szceJEvvOd70Te1549e3jttddqVODuXqendwoLCzn11FOZO3cuM2fO5JJLLsm4zaBBg1i+fDl/+9vf2L17N337pnyqP2+ithRucfc/hO8tDAXuAx4ATsxaZCLSMGX4RZ9trVu35v7772fEiBH867/+K0OHDuWWW25h7NixtGzZkpUrV9K0aVMOOaT2TpeHDBnCz3/+c37wgx8AUFFRQWlpabz8p+HfuG7dOtq2bUvTpk3ZuXNnyss8o0ePZtq0aZSXlzN9+vQay4uLi9m4cWO1snHjxnHJJZdwyy237MOZyI6o9xR2h+NzgAfc/UmgWXZCEhFJ77jjjqNfv37MmDGDIUOGMGbMGAYOHMixxx7LyJEj2bRpU9rt77//fsrLyykpKaFPnz5MnToVgJtvvpl169bRt29f+vXrx4svvgjA+PHjKSkpid9oTjRkyBBeeuklvvnNb9KsWc1qcdiwYfzxj3+M32gGGDt2LOvWrYvUssg1C94fy7BS0LXFSuCbwPEEHeS94e79shteTWVlZV5eXp7rw4oc0N5//32+9rWv5TuMRuPxxx/nySef5De/+U1W9p/qv5eZzXf3skzbRr18dDFwJnCfu683s8OAH9Q5UhGRA9w111zD008/Xe1R1oYkaod4W81sNXAysATYFY5FRKQOfvazn+U7hLSifnntNuBGgk9nAjQFfputoEREJD+i3mg+HxgObAFw91VAcbaCEhGR/IiaFHaEPZo6gJm1yF5IIiKSL1GTwmNm9kugjZl9G3iezF9eExGR/UykpODu9wGPA7OAo4Bb3b1h3y0RkUZj7dq1lJaWUlpayqGHHkqXLl3i8zt27MhbXFOmTKlzD6wrVqxg1KhRadf54x//yL333gvAE088wQcffLDXMdZV5L6P3P054LksxiIiklL79u2pCPtbuv3222nZsiU33HBDtXXcHXenSZPc9fP53e9+t87bdOvWLd6JXm3OP//8+PQTTzxBkyZNOProo+t8rL2R6XOc/xeON5nZxoRhk5ltTLetiEi2LV26lL59+3LVVVfRv39/Pv30U8aPH09ZWRnHHHMMd9xxR3zdrl27cvvtt3PcccdRUlLCP/7xDwDmzZtHv379KC0tpX///mzZsoXnn3+e0047jZEjR9K7d29uvvlmfv3rX8e7516+fDkQvAEd6xJj8uTJ9OnTh379+nHppZfWuu+lS5dSWloKBN9dWLx4cTzGk08+mQULFjBt2jSuv/56Xn75ZebMmcOECRMoLS1l8eLFnHDCCfH133///Wrz9SHTl9dODsfF7t4qYSh291b1GomIyF547733uOKKK3j77bfp0qULkyZNory8nAULFvDcc89V6w21U6dOvP3221x55ZX893//NxB8i+HBBx+koqKCl156icLCQgAWLFjAlClTWLRoEdOmTWP58uW8+eabfOtb3+LnP/95jTjuueceKioqWLBgQXx5bfuOGTVqFI899hgAlZWVrF27ln79qjqKGDx4MGeffTaTJ0+moqKCo446isLCQt555x0AHn74YS6//PJ6PJvRe0n9jbv/v0xlItL45ann7FodccQRDBgwID7/+9//nv/93/9l165drFq1ivfee48+ffoAcMEFFwBw/PHHx98oHjRoENdffz1jxozhwgsvjH9A58QTT6RTp04A9OrVi6FDhwJw7LHH8tprr9WI45hjjuHSSy9lxIgRnHfeeWn3HXPxxRczbNgwbrnlFmbOnMnFF1+c8e+94oorePjhh7n77rv5wx/+wNtvv12n85VJ1ItvxyTOmNlBBH0giYjkVYsWVU/IL1myhP/5n/9h3rx5LFy4kDPPPJNt27bFlzdv3hwIvve8a9cuILgE9Mtf/pLNmzczYMAAlixZUm1dgCZNmsTnmzRpEt820dy5c7nqqqt44403KCsrY/fu3bXuO+bwww+nZcuWvPfee8ycOTPjDWiAiy66iKeeeorZs2czcOBA2rRpE/VURZK2pWBmE4EfAkUJ9xAM2AE8WK+RiMh+Ic89Z6e1ceNGiouLadWqFZ9++ilz587lzDPPTLvNhx9+SElJCSUlJbzyyissXry4xmWeTHbv3k1lZSWnn346J598Mo8++ihbt25l9erVNfadfMN41KhR/PjHP2b79u3xFk2i4uLiar2+HnzwwZx++ulcffXVPPLII3WKM4pM9xR+7O7FwL1J9xPau/vEdNuKiORa//796dOnD3379uXb3/42gwYNyrjNfffdR9++fSkpKaFNmzYMGTKkzsfdtWsXY8aMoaSkhP79+3PjjTdSXFwcad8XXXQRv/vd72q9dHTJJZfwox/9KP7VOQi63m7atCnf+MY36hxrJmm7zjazo939AzPrn2p5Pr68pq6zRXJPXWc3LJMmTWL79u3cdtttKZdns+vs7wHjgZ+kWObA6ZkOICIi9WfYsGGsWLGCefPmZWX/aZOCu48PJ89y922Jy8ysbhfdRERkn/35z3/O6v6jPn30asQyERHZj2V6+uhQoAvB00fHETx5BNAKODjLsYmISI5luqcwFLgM6Ar8d0L5JoJHVUVEpBHJdE/hEeARM7vQ3WflKCYREcmTqPcUnjKzMWb2QzO7NTZkNTIRkQQFBQXx7rJLS0uZNGlS5G1XrVrFyJEj63zMK6+8slrfSamcdNJJACxfvpzf/e53dT5GQxO16+wngQ3AfGB79sIREUmtqKgo3n12XXXu3JnHH3+8zttNmzYt4zqvvho8cxNLCmPGjKnzcRqSqC2Fru4+yt3vcfefxIasRiYiEkGPHj344Q9/yMCBAykrK+Ott95i6NChHHHEEUydOhUIKuy+ffsC8O6773LCCSdQWlpKSUkJS5YsYcuWLZxzzjn069ePvn37xr93cOqpp1JeXs4DDzzAv//7v8ePOX36dK655hqAeCd3N910Ey+//DKlpaVMnjyZwYMHV0tigwYNYuHChTk5J/si8iOpZnZsXXduZmea2WIzW2pmN6VZb6SZuZllfNtORA5MX331VbXLR4kfqunWrRuvvfYagwcP5rLLLuPxxx/n9ddf59Zba17lnjp1Ktdddx0VFRWUl5fTtWtXnnnmGTp37syCBQt45513avSXNHLkSJ544on4fKrO6yZNmhRPBBMmTODKK69k+vTpAPzjH/9g+/btlJSU1OMZyY6ol49OBi4zs48ILh8Z4O5e619oZgXAFOAMoBJ408xmu/t7SesVA9cCf9+L+EUkx66//vq9voxTm9LS0vjHamqT7vLR8OHDgaBb682bN1NcXExxcTGFhYWsX7++2roDBw7krrvuorKykgsuuIDevXtz7LHHcsMNN3DjjTdy7rnnMnjw4GrbdOzY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\n", - "text/plain": [ - "" + "cell_type": "code", + "metadata": { + "id": "e1s2lt8MMBXX", + "colab_type": "code", + "colab": {}, + "outputId": "36d6e2fa-7e8d-41da-9e1e-0d28929ee502" + }, + "source": [ + "### Plot reflectivity with a red line\n", + "plt.plot(glass_slab.lambda_array*1e9, glass_slab.reflectivity_array, 'red', label='Reflectivity')\n", + "### Plot transmissivity with a blue line\n", + "plt.plot(glass_slab.lambda_array*1e9, glass_slab.transmissivity_array, 'blue', label='Transmissivity')\n", + "### Plot absorptivity/emissivity with a black line\n", + "plt.plot(glass_slab.lambda_array*1e9, glass_slab.emissivity_array, 'black', label='Emissivity')\n", + "plt.xlabel(\"Wavelength (nm)\")\n", + "plt.ylabel(\"Fresnel Quantities (arb. units)\")\n", + "plt.legend()\n", + "plt.show()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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V61axaRJk6rd5vHHH+euu+4CYNasWbz//vt7HGNNpTz2kbs/DzyfxlhERBLq1KkTC6Pxlm699VZat27NddddV2Gb2IBuTZqkc/Dnir73ve/VeJ8ePXowffr0arc544wzyuZnzZpFkyZN6NevX40/a08kexznv6LpZjPbFFc2m9mm6vYVEUm35cuXk5OTw2WXXcaQIUNYvXo1l156Kfn5+QwYMIDbbrutbNvs7GxuvfVWBg8eTG5uLh988AEA8+bNY9CgQeTl5TFkyBC+/vpr5s6dywknnMCECRPo27cvN910E3/84x/LhudeuXIlEO6Ajg2JMWXKFPr378+gQYM4//zzq3zv5cuXk5eXB4TnLixbtqwsxmOPPZZFixYxbdo0rr76al555RVmz57NNddcQ15eHsuWLePII48s2/69996rsFwbkj157dho2sbd28aVNu7etlYjERHZA0uXLuWiiy7i7bffpnv37txxxx0UFBSwaNEinn/++QqjoR5wwAG8/fbbXHzxxfzqV78CwrMY7r//fhYuXMjLL79MVlYWAIsWLWLq1KksXryYadOmsXLlSt58802+/e1v87vf/W63OO68804WLlzIokWLyl6v6r1jJk2axIwZMwAoLCxk3bp1DBpUPlDEiBEjOO2005gyZQoLFy7ksMMOIysriyVLlgDw4IMP8p3vfKcWj2bqo6T+yd3/X7J1ItL4ZWjk7CodcsghDB06tGz5b3/7G7///e8pLi6mqKiIpUuX0r9/fwDOPPNMAI444oiyO4qHDx/O1VdfzbnnnstZZ51V9gCdo446igMOOACAgw8+mFGjRgEwcOBA5s+fv1scAwYM4Pzzz2f8+PGcfvrp1b53zNlnn83YsWO5+eabmT59OmeffXbS73vRRRfx4IMP8vOf/5xHH32Ut99+u0bHK5lUK98GxC+Y2X6EMZBERDKqVavyHvIffvghv/nNb5g3bx7vvPMOp5xyCtu3by97ff/99wfC856Li4uBUAV03333sWXLFoYOHcqHH35YYVuAJk2alC03adKkbN94c+bM4bLLLuPf//43+fn5lJSUVPneMb169aJ169YsXbqU6dOnJ22ABpg4cSJPP/00Tz75JMOGDaN9+92eYLxXqr1SMLMbgR8BLeLaEAzYCdxfq5GISIOQ4ZGzq7Vp0ybatGlD27ZtWb16NXPmzOGU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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "glass_slab.fresnel()\n", - "\n", - "### Plot reflectivity with a red line\n", - "plt.plot(glass_slab.lambda_array*1e9, glass_slab.reflectivity_array, 'red', label = 'Reflectivity')\n", - "### Plot transmissivity with a blue line\n", - "plt.plot(glass_slab.lambda_array*1e9, glass_slab.transmissivity_array, 'blue', label = 'Transmissivity')\n", - "### Plot absorptivity/emissivity with a black line\n", - "plt.plot(glass_slab.lambda_array*1e9, glass_slab.emissivity_array, 'black', label = 'Emissivity')\n", - "plt.xlabel('Wavelength (nm)')\n", - "plt.ylabel(\"Fresnel Quantities (arb. units)\")\n", - "plt.legend()\n", - "plt.show()\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The color of the 50 nm glass slab can be re-computed and plotted as well:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ + }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": { + "id": "5KoKZO7qMBXd", + "colab_type": "text" + }, + "source": [ + "We can also call a method called $AmbientColor$ to render the color of this structure." ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "text/plain": [ - "1" + "cell_type": "code", + "metadata": { + "id": "70gUBidzMBXe", + "colab_type": "code", + "colab": {}, + "outputId": "6cb4b733-1512-45c9-8814-80b28218e8ed" + }, + "source": [ + "glass_slab.ambient_color()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 3 + } ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "glass_slab.ambient_color()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also look at the optical properties as a function of angle at a fixed wavelength using the method $self.angular_fresnel(lambda0)$, where $lambda0$ is the wavelength of interest in meters. " - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ + }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": { + "id": "YPo95M6QMBXj", + "colab_type": "text" + }, + "source": [ + "### Optical properties of 50 nm glass in air\n", + "We can change the thickness of the glass slab by re-assigning the corresponding value of the $self.d$ attribute" ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "### method to compute reflectivity, transmissivity, and absorptivity vs angle at a specified\n", - "### wavelength... results are stored in the attributes\n", - "### self.r_vs_theta, self.t_vs_theta, and self.eps_vs_theta... array of angles is self.theta_array\n", - "###import numpy as np\n", - "glass_slab.angular_fresnel(500e-9)\n", - "plt.plot(180/np.pi*glass_slab.theta_array, glass_slab.r_vs_theta, 'red')\n", - "plt.xlabel(\"Angle (degrees)\")\n", - "plt.ylabel(\"Reflectivity (arb. units)\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Optical properties of a gold film on a glass substrate\n", - "Let's create a new instance of the 50 nm layer of gold deposite on glass with air above.\n", - "Unlike the glass film, this structure will exhibit absorption.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "code", + "metadata": { + "id": "ig30naglMBXk", + "colab_type": "code", + "colab": {} + }, + "source": [ + "glass_slab.d[1] = 50e-9" + ], + "execution_count": 0, + "outputs": [] + }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": { + "id": "jjY2YBbJMBXo", + "colab_type": "text" + }, + "source": [ + "To update the reflectivity, transmissivity, and emissivity, we need to call the $self.Fresnel()$ method." ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "structure[\"Material_List\"] = ['SiO2', 'Au', 'Air']\n", - "structure[\"Thickness_List\"] = [0, 50e-9, 0]\n", - "\n", - "gold_glass = multilayer(structure)\n", - "\n", - "\n", - "### Plot reflectivity with a red line\n", - "plt.plot(gold_glass.lambda_array*1e9, gold_glass.reflectivity_array, 'red', label = 'Reflectivity')\n", - "### Plot transmissivity with a blue line\n", - "plt.plot(gold_glass.lambda_array*1e9, gold_glass.transmissivity_array, 'blue',label ='Transmissivity')\n", - "### Plot absorptivity/emissivity with a black line\n", - "plt.plot(gold_glass.lambda_array*1e9, gold_glass.emissivity_array, 'black',label ='Emissivity')\n", - "plt.xlabel(\"Wavelength (nm)\")\n", - "plt.ylabel('Fresnel Quantities (arb. units)')\n", - "plt.legend()\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we again look at the angular dependence of the reflection, we can see the\n", - "characteristic reflection dip associated with Kretschmann-Raether excitation of surface waves." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ + }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "" + "cell_type": "code", + "metadata": { + "id": "IhOi1ahyMBXo", + "colab_type": "code", + "colab": {}, + "outputId": "297ff5bc-2d6c-4981-c96f-34e897ff878a" + }, + "source": [ + "glass_slab.fresnel()\n", + "\n", + "### Plot reflectivity with a red line\n", + "plt.plot(glass_slab.lambda_array*1e9, glass_slab.reflectivity_array, 'red', label = 'Reflectivity')\n", + "### Plot transmissivity with a blue line\n", + "plt.plot(glass_slab.lambda_array*1e9, glass_slab.transmissivity_array, 'blue', label = 'Transmissivity')\n", + "### Plot absorptivity/emissivity with a black line\n", + "plt.plot(glass_slab.lambda_array*1e9, glass_slab.emissivity_array, 'black', label = 'Emissivity')\n", + "plt.xlabel('Wavelength (nm)')\n", + "plt.ylabel(\"Fresnel Quantities (arb. units)\")\n", + "plt.legend()\n", + "plt.show()\n" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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PhIRAeD666Gion73WVoKP/1p2lViv9aXL1/O8ccfzxlnnAEESeHZZ5/luOOOA4Jf+0uWLOGUU06pdV/PP/88770X74aNjRs3smnTJp5//nlmzJgRL2/bNv0HJs866yyuvfZatm/fzjPPPMMpp5xCUVFR2m2uvPJK7rnnHs477zwefvhhfvWrTK985VakpGBmFwHPuPsmM7sZ6A/8l76nICK5Evu1vmHDBs4991ymTJnCtddei7szceJEvvOd70Te1549e3jttddqVODuXqendwoLCzn11FOZO3cuM2fO5JJLLsm4zaBBg1i+fDl/+9vf2L17N337pnyqP2+ithRucfc/hO8tDAXuAx4ATsxaZCLSMGX4RZ9trVu35v7772fEiBH867/+K0OHDuWWW25h7NixtGzZkpUrV9K0aVMOOaT2TpeHDBnCz3/+c37wgx8AUFFRQWlpabz8p+HfuG7dOtq2bUvTpk3ZuXNnyss8o0ePZtq0aZSXlzN9+vQay4uLi9m4cWO1snHjxnHJJZdwyy237MOZyI6o9xR2h+NzgAfc/UmgWXZCEhFJ77jjjqNfv37MmDGDIUOGMGbMGAYOHMixxx7LyJEj2bRpU9rt77//fsrLyykpKaFPnz5MnToVgJtvvpl169bRt29f+vXrx4svvgjA+PHjKSkpid9oTjRkyBBeeuklvvnNb9KsWc1qcdiwYfzxj3+M32gGGDt2LOvWrYvUssg1C94fy7BS0LXFSuCbwPEEHeS94e79shteTWVlZV5eXp7rw4oc0N5//32+9rWv5TuMRuPxxx/nySef5De/+U1W9p/qv5eZzXf3skzbRr18dDFwJnCfu683s8OAH9Q5UhGRA9w111zD008/Xe1R1oYkaod4W81sNXAysATYFY5FRKQOfvazn+U7hLSifnntNuBGgk9nAjQFfputoEREJD+i3mg+HxgObAFw91VAcbaCEhGR/IiaFHaEPZo6gJm1yF5IIiKSL1GTwmNm9kugjZl9G3iezF9eExGR/UykpODu9wGPA7OAo4Bb3b1h3y0RkUZj7dq1lJaWUlpayqGHHkqXLl3i8zt27MhbXFOmTKlzD6wrVqxg1KhRadf54x//yL333gvAE088wQcffLDXMdZV5L6P3P054LksxiIiklL79u2pCPtbuv3222nZsiU33HBDtXXcHXenSZPc9fP53e9+t87bdOvWLd6JXm3OP//8+PQTTzxBkyZNOProo+t8rL2R6XOc/xeON5nZxoRhk5ltTLetiEi2LV26lL59+3LVVVfRv39/Pv30U8aPH09ZWRnHHHMMd9xxR3zdrl27cvvtt3PcccdRUlLCP/7xDwDmzZtHv379KC0tpX///mzZsoXnn3+e0047jZEjR9K7d29uvvlmfv3rX8e7516+fDkQvAEd6xJj8uTJ9OnTh379+nHppZfWuu+lS5dSWloKBN9dWLx4cTzGk08+mQULFjBt2jSuv/56Xn75ZebMmcOECRMoLS1l8eLFnHDCCfH133///Wrz9SHTl9dODsfF7t4qYSh291b1GomIyF547733uOKKK3j77bfp0qULkyZNory8nAULFvDcc89V6w21U6dOvP3221x55ZX893//NxB8i+HBBx+koqKCl156icLCQgAWLFjAlClTWLRoEdOmTWP58uW8+eabfOtb3+LnP/95jTjuueceKioqWLBgQXx5bfuOGTVqFI899hgAlZWVrF27ln79qjqKGDx4MGeffTaTJ0+moqKCo446isLCQt555x0AHn74YS6//PJ6PJvRe0n9jbv/v0xlItL45ann7FodccQRDBgwID7/+9//nv/93/9l165drFq1ivfee48+ffoAcMEFFwBw/PHHx98oHjRoENdffz1jxozhwgsvjH9A58QTT6RTp04A9OrVi6FDhwJw7LHH8tprr9WI45hjjuHSSy9lxIgRnHfeeWn3HXPxxRczbNgwbrnlFmbOnMnFF1+c8e+94oorePjhh7n77rv5wx/+wNtvv12n85VJ1ItvxyTOmNlBBH0giYjkVYsWVU/IL1myhP/5n/9h3rx5LFy4kDPPPJNt27bFlzdv3hwIvve8a9cuILgE9Mtf/pLNmzczYMAAlixZUm1dgCZNmsTnmzRpEt820dy5c7nqqqt44403KCsrY/fu3bXuO+bwww+nZcuWvPfee8ycOTPjDWiAiy66iKeeeorZs2czcOBA2rRpE/VURZK2pWBmE4EfAkUJ9xAM2AE8WK+RiMh+Ic89Z6e1ceNGiouLadWqFZ9++ilz587lzDPPTLvNhx9+SElJCSUlJbzyyissXry4xmWeTHbv3k1lZSWnn346J598Mo8++ihbt25l9erVNfadfMN41KhR/PjHP2b79u3xFk2i4uLiar2+HnzwwZx++ulcffXVPPLII3WKM4pM9xR+7O7FwL1J9xPau/vEdNuKiORa//796dOnD3379uXb3/42gwYNyrjNfffdR9++fSkpKaFNmzYMGTKkzsfdtWsXY8aMoaSkhP79+3PjjTdSXFwcad8XXXQRv/vd72q9dHTJJZfwox/9KP7VOQi63m7atCnf+MY36hxrJmm7zjazo939AzPrn2p5Pr68pq6zRXJPXWc3LJMmTWL79u3cdtttKZdns+vs7wHjgZ+kWObA6ZkOICIi9WfYsGGsWLGCefPmZWX/aZOCu48PJ89y922Jy8ysbhfdRERkn/35z3/O6v6jPn30asQyERHZj2V6+uhQoAvB00fHETx5BNAKODjLsYmISI5luqcwFLgM6Ar8d0L5JoJHVUVEpBHJdE/hEeARM7vQ3WflKCYREcmTqPcUnjKzMWb2QzO7NTZkNTIRkQQFBQXx7rJLS0uZNGlS5G1XrVrFyJEj63zMK6+8slrfSamcdNJJACxfvpzf/e53dT5GQxO16+wngQ3AfGB79sIREUmtqKgo3n12XXXu3JnHH3+8zttNmzYt4zqvvho8cxNLCmPGjKnzcRqSqC2Fru4+yt3vcfefxIasRiYiEkGPHj344Q9/yMCBAykrK+Ott95i6NChHHHEEUydOhUIKuy+ffsC8O6773LCCSdQWlpKSUkJS5YsYcuWLZxzzjn069ePvn37xr93cOqpp1JeXs4DDzzAv//7v8ePOX36dK655hqAeCd3N910Ey+//DKlpaVMnjyZwYMHV0tigwYNYuHChTk5J/si8iOpZnZsXXduZmea2WIzW2pmN6VZb6SZuZllfNtORA5MX331VbXLR4kfqunWrRuvvfYagwcP5rLLLuPxxx/n9ddf59Zba17lnjp1Ktdddx0VFRWUl5fTtWtXnnnmGTp37syCBQt45513avSXNHLkSJ544on4fKrO6yZNmhRPBBMmTODKK69k+vTpAPzjH/9g+/btlJSU1OMZyY6ol49OBi4zs48ILh8Z4O5e619oZgXAFOAMoBJ408xmu/t7SesVA9cCf9+L+EUkx66//vq9voxTm9LS0vjHamqT7vLR8OHDgaBb682bN1NcXExxcTGFhYWsX7++2roDBw7krrvuorKykgsuuIDevXtz7LHHcsMNN3DjjTdy7rnnMnjw4GrbdOzY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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "gold_glass.angular_fresnel(600e-9)\n", - "plt.plot(180/np.pi*gold_glass.theta_array, gold_glass.r_vs_theta, 'red')\n", - "plt.xlabel('Angle (degrees)')\n", - "plt.ylabel(\"Reflectivity (arb. units)\")\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can also look render the color of the gold structure as before." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VWI7Ui1JMBXt", + "colab_type": "text" + }, + "source": [ + "The color of the 50 nm glass slab can be re-computed and plotted as well:" + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "-6KbGV0uMBXv", + "colab_type": "code", + "colab": {}, + "outputId": "645d6afb-c509-40fc-c75f-d16ca21d5976" + }, + "source": [ + "glass_slab.ambient_color()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 6 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "D7mE4CxSMBXy", + "colab_type": "text" + }, + "source": [ + "We can also look at the optical properties as a function of angle at a fixed wavelength using the method $self.angular_fresnel(lambda0)$, where $lambda0$ is the wavelength of interest in meters. " + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "87FLKOVuMBXz", + "colab_type": "code", + "colab": {}, + "outputId": "f035b954-55d6-45b3-e18d-d1f1d81b2494" + }, + "source": [ + "### method to compute reflectivity, transmissivity, and absorptivity vs angle at a specified\n", + "### wavelength... results are stored in the attributes\n", + "### self.r_vs_theta, self.t_vs_theta, and self.eps_vs_theta... array of angles is self.theta_array\n", + "###import numpy as np\n", + "glass_slab.angular_fresnel(500e-9)\n", + "plt.plot(180/np.pi*glass_slab.theta_array, glass_slab.r_vs_theta, 'red')\n", + "plt.xlabel(\"Angle (degrees)\")\n", + "plt.ylabel(\"Reflectivity (arb. units)\")\n", + "plt.show()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, { - "data": { - "image/png": "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\n", - "text/plain": [ - "" + "cell_type": "markdown", + "metadata": { + "id": "F1171YcZMBX3", + "colab_type": "text" + }, + "source": [ + "### Optical properties of a gold film on a glass substrate\n", + "Let's create a new instance of the 50 nm layer of gold deposite on glass with air above.\n", + "Unlike the glass film, this structure will exhibit absorption.\n" ] - }, - "metadata": {}, - "output_type": "display_data" }, { - "data": { - "text/plain": [ - "1" + "cell_type": "code", + "metadata": { + "id": "7ThNpF7iMBX4", + "colab_type": "code", + "colab": {}, + "outputId": "64eb0ca9-5485-4995-ee0b-853df44b7245" + }, + "source": [ + "structure[\"Material_List\"] = ['SiO2', 'Au', 'Air']\n", + "structure[\"Thickness_List\"] = [0, 50e-9, 0]\n", + "\n", + "gold_glass = multilayer(structure)\n", + "\n", + "\n", + "### Plot reflectivity with a red line\n", + "plt.plot(gold_glass.lambda_array*1e9, gold_glass.reflectivity_array, 'red', label = 'Reflectivity')\n", + "### Plot transmissivity with a blue line\n", + "plt.plot(gold_glass.lambda_array*1e9, gold_glass.transmissivity_array, 'blue',label ='Transmissivity')\n", + "### Plot absorptivity/emissivity with a black line\n", + "plt.plot(gold_glass.lambda_array*1e9, gold_glass.emissivity_array, 'black',label ='Emissivity')\n", + "plt.xlabel(\"Wavelength (nm)\")\n", + "plt.ylabel('Fresnel Quantities (arb. units)')\n", + "plt.legend()\n", + "plt.show()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" + }, + { + "cell_type": "markdown", + "metadata": { + "id": "ehGy2EtsMBX8", + "colab_type": "text" + }, + "source": [ + "If we again look at the angular dependence of the reflection, we can see the\n", + "characteristic reflection dip associated with Kretschmann-Raether excitation of surface waves." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "09NZkPRxMBX9", + "colab_type": "code", + "colab": {}, + "outputId": "123c0fe2-5d22-4c2b-e03f-d6f9cb5ef5eb" + }, + "source": [ + "gold_glass.angular_fresnel(600e-9)\n", + "plt.plot(180/np.pi*gold_glass.theta_array, gold_glass.r_vs_theta, 'red')\n", + "plt.xlabel('Angle (degrees)')\n", + "plt.ylabel(\"Reflectivity (arb. units)\")\n", + "plt.show()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "0wc9s-M6MBYB", + "colab_type": "text" + }, + "source": [ + "We can also look render the color of the gold structure as before." + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "JGbYZTuuMBYC", + "colab_type": "code", + "colab": {}, + "outputId": "f799b003-ae59-4655-e135-52a37946e11a" + }, + "source": [ + "gold_glass.ambient_color()" + ], + "execution_count": 0, + "outputs": [ + { + "output_type": "display_data", + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": { + "tags": [] + } + }, + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "1" + ] + }, + "metadata": { + "tags": [] + }, + "execution_count": 10 + } + ] + }, + { + "cell_type": "code", + "metadata": { + "id": "vujApMmOMBYG", + "colab_type": "code", + "colab": {} + }, + "source": [ + "" + ], + "execution_count": 0, + "outputs": [] } - ], - "source": [ - "gold_glass.ambient_color()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "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.6.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} + ] +} \ No newline at end of file