{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Waveguide array\n", "\n", "To define a waveguide array we need to define:\n", "\n", "- wg_gaps\n", "- widths\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\n", "wavelength\n", "\n", "Where all units are in um" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "```\n", " __________________________________________________________\n", "\n", " clad_thickness\n", " widths[0] wg_gaps[0] widths[1]\n", " ___________ ___________ _ _ _ _ _ _\n", " | | | |\n", " _____| |____________| |____ |\n", " wg_heigth\n", " slab_thickness |\n", " ________________________________________________ _ _ _ _ _\n", "\n", " sub_thickness\n", " __________________________________________________________\n", "\n", "```\n" ] }, { "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_array(widths=[0.5]*2, wg_gaps=0.2)\n", "wg" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ms.waveguide_array?" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "wg_slab = ms.waveguide_array(widths=[0.5]*2, wg_gaps=0.2, slab_thickness=0.09)\n", "wg_slab" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "s = ms.mode_solver_full(wg=wg_slab, plot=True, plot_index=True, fields_to_write=('Ex'))" ] }, { "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 }