{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Waveguide\n", "\n", "```\n", " _________________________________\n", "\n", " clad_thickness\n", " width\n", " ___________ _ _ _ _ _ _\n", " | |\n", " _____| |____ |\n", " wg_heigth\n", " slab_thickness |\n", " _______________________ _ _ _ _ __\n", "\n", " sub_thickness\n", " _________________________________\n", "\n", "\n", "\n", "```\n", "\n", "\n", "To define a waveguide we need to define:\n", "\n", "- the material functions or refractive indices of box, waveguide and clad\n", "- thickness of each material\n", "- x and y_steps for discretizing the structure\n", "- sidewall angle\n", "- wavelength that can be used in case the refractive index are a function of the wavelength\n", "\n", "Where all units are in um" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import modes as ms" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "wg = ms.waveguide()\n", "wg" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ms.waveguide?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "wg_slab = ms.waveguide(slab_thickness=0.09)\n", "wg_slab" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "wg = ms.waveguide(angle=80)\n", "wg" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.9.7" } }, "nbformat": 4, "nbformat_minor": 4 }