{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# General Ring Networks" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Imports" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import torch\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import photontorch as pt\n", "from tqdm.notebook import trange\n", "\n", "torch.manual_seed(42)\n", "np.random.seed(33)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Add Drop Filter\n", "\n", "Let's try to recreate the add drop filter in [02_add_drop.ipynb](02_add_drop_filter.ipynb), but this time using the RingNetwork class:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
keyvaluedescription
nameenvname of the environment
t[0.000e+00, 1.000e-14, ..., 1.998e-11][s] full 1D time array.
t00.000e+00[s] starting time of the simulation.
t11.999e-11[s] ending time of the simulation.
num_t1999number of timesteps in the simulation.
dt1.000e-14[s] timestep of the simulation
samplerate1.000e+14[1/s] samplerate of the simulation.
bitrateNone[1/s] bitrate of the signal.
bitlengthNone[s] bitlength of the signal.
wl[1.500e-06, 1.500e-06, ..., 1.600e-06][m] full 1D wavelength array.
wl01.500e-06[m] start of wavelength range.
wl11.600e-06[m] end of wavelength range.
num_wl1000number of independent wavelengths in the simulation
dwl1.001e-10[m] wavelength step sizebetween wl0 and wl1.
f[1.999e+14, 1.998e+14, ..., 1.874e+14][1/s] full 1D frequency array.
f01.999e+14[1/s] start of frequency range.
f11.874e+14[1/s] end of frequency range.
num_f1000number of independent frequencies in the simulation
df-1.334e+10[1/s] frequency step between f0 and f1.
c2.998e+08[m/s] speed of light used during simulations.
freqdomainFalseonly do frequency domain calculations.
gradFalsetrack gradients during the simulation
\n", "
" ], "text/plain": [ "Environment(name='env', t=array([0.000e+00, 1.000e-14, ..., 1.998e-11]), t0=0.000e+00, t1=1.999e-11, num_t=1999, dt=1.000e-14, samplerate=1.000e+14, bitrate=None, bitlength=None, wl=array([1.500e-06, 1.500e-06, ..., 1.600e-06]), wl0=1.500e-06, wl1=1.600e-06, num_wl=1000, dwl=1.001e-10, f=array([1.999e+14, 1.998e+14, ..., 1.874e+14]), f0=1.999e+14, f1=1.874e+14, num_f=1000, df=-1.334e+10, c=2.998e+08, freqdomain=False, grad=False)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env = pt.Environment(\n", " dt = 1e-14,\n", " t_end=2000e-14,\n", " wl=1e-6*np.linspace(1.5, 1.6, 1000),\n", ")\n", "env" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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JRrWPgS4JsF+Izwbe876qEuwdTc0RURyQqKE9W13/3OiN5vZ9zMcT1bVdQlqRnYRkZYvbtPC3X/d2JuTKdOS6RqWiEjuSOkvtZlNz3QgzUEJS0Qkd6T6l/qo6EPToAsRkdyR0lyC7v7zTAcSlLW717LtwLa4+0CDLkREckGjCcvMbo+13d3vyHw4mffoikd5oeKFhGU6FHbIUjQiIpKqZFpY+6OeFwFTgPJgwsm8Lw//MhedcFHc/e3btOfELidmMSIREUlFownL3WdHvzazu4FkbipuEfp36k//Tv2bOwwROYosXry4R0FBwS+AYbTyGYMyKAS8V1NTc83o0aNjXsdJ5RpWe2BQWmGJiOSwgoKCX/Ts2XNI9+7dP8zLy/PmjudoEAqFbPv27WVbtmz5BTA1VplkrmEtB+q+IflAdyAnrl+JiARkmJJVZuXl5Xn37t2rtmzZMixemWRaWFOintcAW929Ju3oRERyV56SVeZFzmncLtZkrmFtyGhEIiIiKUh1pouXMx2IiIgkZ8eOHfmzZs3q3txx1Dd27NgT33rrrfb1t99///3HXXXVVf3SPX6qo1u+km7FIiKSmp07d+b/8pe/7JFs+VAoRG1tbZAhZUWqM11sznQgIiK56Jbn3u27ZsveBq2KdJT27Hjgx5eO3Bhv/0033dRn48aNbU866aSys846a0+PHj2qX3jhha5HjhyxCy64YPc999yzafXq1YWTJ08uOe200/YuXry4w9133/2v66+/vv/YsWP3LVmypMOQIUMOfOlLX9pxxx13FO/cubPgkUceWTdx4sQDsep7880323/zm9/sd+jQobyioqLQI4888v7IkSMP79u3z6ZNmzZwzZo1RSUlJYcOHTr00bR9991333H33HNPr+7du1cPHjz4UGFhYdrX/BptYZlZiZk9Z2YrzWxd3SPdikVEJDWzZ8+u7Nu37+FVq1atPPfcc/dUVFQULVu2rLy8vHzl0qVL27/66qsdANavX1909dVX7ywvL195wgknHNm4cWPRTTfdtG3VqlUr1q5dW/Tkk08et2jRolV33XVX5V133dUrXn0jR448tHDhwlXl5eUrv/e9733wrW99qw/A3Xff3aNdu3ahNWvWrLz99ts3r1y58hiADRs2tJk1a1bvt99+e9X8+fPXrFmzpl0mPncyLaxfAd8D7gEmAldzlEx+KyKSrkQtoWyYN29ep7feeqtTWVlZGcCBAwfyVq1aVTRo0KAjvXr1OjJp0qSPZisqLi4+PHbs2IMApaWlB88555w9eXl5jBo16sCdd97ZO14du3btyr/88ssHrl+/vsjMvLq62gD+8pe/dPj617++DWDcuHEHS0tLDwC89dZbx4wfP35v7969awA++9nP7lqzZk1Rup81mYTVzt3fMDOLjBicaWbzCScxERFpRu7OjTfeuPmWW27ZEb199erVhe3btw9Fb4vulsvLy6OoqMgB8vPzqa2tjdsQmTFjRvFZZ5219/XXX1+7evXqwnPOOeej+eziLYAbxMK4yQy6OGRmecA/zex6M7sYSPpin4iIZFbnzp1r9+/fnwcwefLkPY8//ni3qqqqPID333+/zQcffJDS+IR49uzZk9+nT58jAD//+c+71W0//fTT9z3xxBNdAd55552iNWvWtAc488wz9y9YsKDjli1b8g8fPmwvvPBCl0zEkUzCupHwdExfB0YDXwC+mInKRUSk6Xr27Fk7evTofSUlJUNfe+21Tp/73Od2nXrqqSeVlpaWXXzxxYN3796dn8n6ZsyYsWXmzJl9Ro0adVL0aMObb7552/79+/NLS0vLfvjDH/YcPnz4foD+/ftXz5gxY9P48eOHnH766aUjRoyIOZijqcw9uJu1zew84D7CUzr9wt1nxShzNnAv0AbY4e5nJTrmmDFjfNGiRQFEKyLSkJktdvcx0dvefffd9SNHjtwR7z2SunfffbfbyJEjB8TaF7eFZWYzGztwojJmlg88AEwGyoDPm1lZvTLHAj8Dprr7UOBzjdUpIiKtU6J+zmvMbE+C/QZMA2bG2T8WqHD3dQBm9jRwIbAyqswVwPPu/i8Ad4+9NLCIiATuvvvuO+7BBx88Pnrbqaeeuu/xxx//V3PFFC1RwnoY6NjI+x9OsK8YiB7uWQmMq1emFGhjZn+K1HWfuz9W/0BmNh2YDtCvX9qze4iISAw33HDDzhtuuGFnc8cRT9yE5e7fT/PYscY01r9gVkB4IMckoB3wNzNb4O5r6sXyEPAQhK9hpRmXiIjkoIwOfaynEugb9boPsClGmR3uvh/Yb2ZvASOBNYiIiEQJcmnnd4ASMxtoZoWEr3e9WK/M74AzzKzAzNoT7jIsDzAmERHJUcmsONzV3Xc19cDuXmNm1wOvER7WPtfdV5jZVyP757h7uZnNA5YBIcJD399ral0iInL0S6aF9Xcze9bMzrcmzrXh7q+4e6m7D3b3uyLb5rj7nKgyP3b3Mncf5u73NjF+EZFWp7nXwyouLh6+efPmIC8pxZRMwiolPODhSqDCzH5oZqXBhiUiIvG0xPWwslFHoxnSw1NhvA68bmYTgSeA68zsXeBWd/9boBGKiLRkv/1aX7atzOh6WPQoO8BFD7SY9bC2bNmSf8kllwzatWtXm1NOOWV/3QxJ9ev43e9+VzF79uwef/zjHzubmd9yyy2bv/KVr3z48ssvd5w5c2bvLl261Kxbt65o3Lhxex9//PF/5ec3bQapZNbDOs7MbjCzRcDNwH8B3YCbgKeaVJuIiKQt2+th3Xrrrb0nTJiwr7y8fOXUqVN3b968ubBuX3Qdb7/9dvvly5e3Ky8vX/HGG2+suf322/ts2LChDcDy5cuPue+++zauXr16xfr169s+9thjTZ4QN5k+yL8BjwMXuXtl1PZFZjYnzntERFqHBC2hbMjGelgLFizo+Pzzz1cATJs2reraa6/9qO8vuo758+d3vOyyy3YVFBTQt2/fmnHjxu37y1/+0r5z586h4cOH7y8rKzsCcNlll+2aP39+h6uvvvrDpnzWZBLWd9z919EbzOxz7v6su/+oKZWJiEhmZWM9rLrysUTXkWgy9fpj9lJZLyuZQRe3xth2W5NrEhGRjMj2eljjx4/fO3fu3OMAfv3rX3fas2dPzItPZ5111t7nnnuua01NDZs2bSpYuHBhhzPOOGM/hLsEV61aVVhbW8tzzz3X9Ywzztjb1DjifigzmwycDxSb2f1RuzoBNU2tSEREMiN6Paxzzjmnqm49LAi3eJ588sn3CwoKMjaN3axZszZdcsklg8rKyoZMmDBhX69evY7EKnfllVfufvvttzsMGTJkqJn597///cp+/frVLFu2jJNPPnnfTTfd1GfVqlXtxo0bt/fKK6/c3dQ44q6HZWYjgZOBO4Dbo3btBd509yb1PWaK1sMSkWzSeljpe/nllzvOnj37+DfffLOisbKJ1sNKNPntu8C7Zvaku6tFJSIizSpRl+Cv3f0y4B9mFt0MM8K3Z40IPDoREcmaoNbDmjJlyt4pU6Y0+ZpVfYkuzN1QV1e6lYiISMvX0tfDijtK0N03R57uADa6+wagLeHlP+ovEyIiIhKoZIa1vwUUmVkx8AZwNfBIkEGJiIjUl0zCMnc/AHwW+Im7XwyUBRuWiIjIJyWVsMxsAvDvwO8j27I+rbyIiIQ19/IizSWZhHUD4ZktXogswDgIeDPYsEREJJ6WuLxINjSasNz9LXefWjdvoLuvc/evBx+aiIjEEr28yLXXXtvnu9/97vHDhg0bUlpaWvaNb3yjN4TnEhw0aNDQL3zhC/2GDh1aNm/evA4DBw4cevnll/cvKSkZOnXq1IG//e1vO44aNeqk/v37D3vzzTfjLpHyzW9+s/dFF100cPz48aX9+/cfNnv27G4AVVVVeRMmTCgtKysbUlpaWvbEE08cC7Bnz568s88++4QTTzyxrKSkZOjDDz/cBeC6664rHjx48NDS0tKy6dOn92nq5260ay+yWOPNwIDo8u5+TlMrExE52nz3r9/tW/FhRUbXwzqhywkHfvCpH8SdBX727NmVU6ZMabdq1aqVzz//fKdnn322y7Jly8rdnU9/+tMnvPrqqx0GDRp0ZP369UUPP/zw+ieeeOJfq1evLty4cWPRM888s2706NEbRowYMaRueZGnnnrq2LvuuqvXxIkT18ars7y8vN3ixYvL9+7dm3/KKaeUXXLJJVXFxcXVv//97yu6du0a2rx5c8G4ceNOuuKKK3Y///zznXr27Fn9pz/9qQLCLcKtW7fmv/LKK13WrVv3Xl5eHjt27GjaYlgk1yX4LPAP4DvALVEPERFpZtHLiwwdOrRs7dq1RatWrSqCTy79AR8vL5Kfn99geZHKysq2ieqZPHny7g4dOnivXr1qJkyYsGf+/PnHhEIhu/HGG/uUlpaWTZw4sXTbtm2FlZWVBaNGjTo4f/78Tv/5n/9ZPG/evA7HHXdcbdeuXWvbtm0bmjZtWv9HH3302A4dOoQS1RdLMoMnatz9waYeWESkNUjUEsqGbC0vEmt5kJ///Oddd+7cWbB8+fLytm3benFx8fCDBw/mjRgx4vCSJUtW/uY3v+n87W9/u/h///d/99x9992bly5dWv7iiy92evrpp7s8+OCDPRYsWLCmKZ81mRbWS2Z2nZn1MrOudY+mVCIiIpmT7eVFAF599dVjDxw4YFu2bMlfsGBBx9NPP31/VVVVfrdu3arbtm3rL730UsdNmzYVAqxfv75Nx44dQ9ddd92uG2+8cevSpUvbV1VV5e3atSv/8ssvr5ozZ87G8vLyJnejJvOhvhj5Gt0N6MCgplYmIiLpy/byIgCnnHLK/kmTJpVs2rSp8Oabb948YMCA6muuuWbX5MmTTxg2bNiQoUOHHhg4cOAhgMWLF7e77bbb+uTl5VFQUOA/+9nPNuzevTt/ypQpJxw+fNgA7rzzzia3TOMuL9JSaXkREckmLS8SHiXYoUOH2jvuuGNr0HUlWl6k0S5BM2tvZt8xs4cir0vMTBPiiohIViXTJfgrYDFwWuR1JeGRgy8HFZSIiGRfUMuLZEoyCWuwu19uZp8HcPeDVn+4iIiI5LycXV4kyhEza0d4oAVmNhg4HGhUIiItWygUCukf9wyLnNO492clk7BmAvOAvmb2JOElRmYkU7mZnWdmq82swsxuTVDuVDOrNbNLkzmuiEgze2/79u2dlbQyJxQK2fbt2zsD78Ur02iXoLv/wcwWA+MBA25w90ZHx5hZPvAA8H8IX/d6x8xedPeVMcr9CHitsWOKiLQENTU112zZsuUXW7ZsGUZy//hL40LAezU1NdfEK5DMXIJvuPskPl5aJHpbImOBCndfF3nP08CFwMp65f4L+A1wamOxiIi0BKNHj94GTG3uOFqbuAnLzIqA9kA3M+tCuHUF0AnoncSxi4HoG8MqgXH16igGLgbOIUHCMrPpwHSAfv36JVG1iIgcbRK1sK4FbiScnBbzccLaQ7irrzGx+nbr36V8LzDD3WsTDTx094eAhyB843ASdYuIyFEmbsJy9/uA+8zsv9z9JykcuxLoG/W6D7CpXpkxwNORZNUNON/Matz9tynUJyIiR7FkBl38xMxOo+F6WI818tZ3gBIzGwh8AEwDrqh37IF1z83sEeBlJSsREYklmUEXjwODgaVA3RrLDiRMWO5eY2bXEx79lw/MdfcVZvbVyP456QQuIiKtSzIzXYwByjyFWXLd/RXglXrbYiYqd/+Pph5fRERaj2TuH3gP6Bl0ICIiIokk08LqBqw0s4VETcnk7roHQUREsiaZhDUz6CBEREQak8wowT9nIxAREZFEEs10sZeGN/pC+IZgd/dOgUUlIiJST6IbhztmMxAREZFENMuwiIjkBCUsERHJCUpYIiKSE5SwREQkJyhhiYhITlDCEhGRnKCEJSIiOUEJS0REcoISloiI5AQlLBERyQlKWCIikhOUsEREJCcoYYmISE5QwhIRkZyghCUiIjlBCUtERHKCEpaIiOQEJSwREckJSlgiIpITlLBERCQnKGGJiEhOCDRhmdl5ZrbazCrM7NYY+//dzJZFHm+b2cgg4xERkdwVWMIys3zgAWAyUAZ83szK6hV7HzjL3UcAPwAeCioeERHJbUG2sMYCFe6+zt2PAE8DF0YXcPe33f3DyMsFQJ8A4xERkRwWZMIqBjZGva6MbIvny8CrsXaY2XQzW2Rmi7Zv357BEEVEJFcEmbAsxjaPWdBsIuGENSPWfnd/yN3HuPuY7t27ZzBEERHJFQUBHrsS6Bv1ug+wqX4hMxsB/AKY7O47A4xHRERyWJAtrHeAEjMbaGaFwDTgxegCZtYPeB640t3XBBiLiIjkuMBaWO5eY2bXA68B+cBcd19hZl+N7J8D3A4cB/zMzABq3H1MUDGJiEjuMveYl5VarDFjxviiRYuaOwwRaSXMbLH+kW4ZNNOFiIjkBCUsERHJCUpYIiKSE5SwREQkJyhhiYhITlDCEhGRnBDkTBe5r+INWPAziDf0v7A9XHAPdNB0USIiQVMLK5GVv4V1f4ZDVQ0fezZB+Uuw6R/NHaWISKugFlYitTXQsRd85Y2G+z5YAg9PBK/NflwiIq2QWliJhKohLz/2vrrtHspePCIirZgSViK11ZDfJvY+i5y6kFpYIiLZoISVSKgG8uIlrLoWlhKWiEg2KGElUlsN+XEu86lLUEQkq1r3oIsjB+DBCbB3a+z9NYegT5xJmj/qElTCEhHJhtadsA7ugg/Xw+BJcPzQ2GUGnxN7e13CUpegiEhWtO6EVdedN/RiGHVl096rLkERkaxSwoL4Q9cTCXKU4AdLYOHDQJwZNgqK4JzvwDHdMl+3iEgLpYQFHyefpkh3lODGheHZMmJZ8his+xN0Lm64r7YG9m6CAafD8EtTq1tEJAe18oQVacGkkrDqWmWb34VVv49d5vhh0KV/w+2H98HccxN3J/abAF+a13D77o1w7zCoPtD0mCHccvtwfex9HoKqyvhx5beBT8+ELgOaXu/WleFjRzOrV8hiPiWvDXQdGP8WAyBua/QTRRork4ljJHGclnKMpI+TiWO0kHPS7ljo2DOJuqQlauUJK40WVuEx4T+gi+aGH7H0HQ9ffq3h9uoD4brPvAWGfjb2e4/tG79eCNf5/luxy/Qog5HTGm4/cgBeuRnyC8OPWNp1haJOsWPetQ5WvABtIjF8IuFEJ5t62z0ER/bGrk8km0ZfDf92b3NHISlSwoIY/+knoW1HuGEpHNgZe/8fvgP7tsfeV3M4/PXY/nB8WdPqLeoMgybC7g3wweKG+3etC3994/vxj3HRg6l1Jy6aCzvXNtz+if9sPf72AWeE52asXy7RMQD274B9cW49iJbU97GRMpk4RlLHaSnHSOI4WTsnyVST5jlJpXdAWgwlLEithQXQuU/4EcsxPRp2gdWpPRL+Gq+Vk0hePlz12/j7922DNfPid+sVFMFJFzS9XoAxX0rtfSIiGaCEBaknrEQKiqDmSOrlkGAAAAk0SURBVOx9tdXhr/HmKUxHhx4w6qrMH1dEpJkpYUFACast7PkA7i5tuO+jhJVCC0tEpJVSwoJgEtaoqyLHjzNyqU17GPCpzNcrInKUUsKCYBJW75Oht0YjiYhkSuuerT3IhCUiIhkV6F9qMzvPzFabWYWZ3Rpjv5nZ/ZH9y8xsVJDxNJDOjcMiIpJVgf2lNrN84AFgMlAGfN7M6t90NBkoiTymAw8GFU9MamGJiOSMIK9hjQUq3H0dgJk9DVwIrIwqcyHwmLs7sMDMjjWzXu6+OVNB/O0X36DXptdj7mvrh+kFzHh+OUsKWvflPJHW4IIRvbjx0zFG7kpOCPKvdDGwMep1JTAuiTLFwCcSlplNJ9wCo1+/fk0KIq9TL3btHhh3/3o7hZrup1CS36FJxxWR3NOjY1FzhyBpCDJhxZojpf4Y72TK4O4PAQ8BjBkzpkmzdY677FvAtxKWmdCUA4qISLMI8uJNJRA9g2sfoP56GsmUERERCTRhvQOUmNlAMysEpgEv1ivzInBVZLTgeKAqk9evRETk6BFYl6C715jZ9cBrQD4w191XmNlXI/vnAK8A5wMVwAHg6qDiERGR3Bbo0Dh3f4VwUoreNifquQNfCzIGERE5OugGJBERyQlKWCIikhOUsEREJCcoYYmISE4w9ybdh9vszGw7sKGJb+sG7AggnFyKobXX3xJiaO31t4QYUqm/v7t3DyIYaZqcS1ipMLNF7j6mNcfQ2utvCTG09vpbQgzNXb+kR12CIiKSE5SwREQkJ7SWhPVQcwdA88fQ2uuH5o+htdcPzR9Dc9cvaWgV17BERCT3tZYWloiI5DglLBERyQlHfcIys/PMbLWZVZjZrRk8bl8ze9PMys1shZndENk+08w+MLOlkcf5Ue+5LRLHajM7N2r7aDNbHtl3v5nFWtgyVgzrI+9bamaLItu6mtnrZvbPyNcuQdRvZidGfcalZrbHzG4M+vOb2Vwz22Zm70Vty9hnNrO2ZvZMZPvfzWxAEvX/2MxWmdkyM3vBzI6NbB9gZgejzsWcdOtPEEPGznuK5+CZqLrXm9nSoM6Bxf/dy9rPgTQTdz9qH4SXNVkLDAIKgXeBsgwduxcwKvK8I7AGKANmAjfHKF8Wqb8tMDASV35k30LCCx8b8CowOckY1gPd6m37v8Ctkee3Aj8Kqv5653kL0D/ozw+cCYwC3gviMwPXAXMiz6cBzyRR/2eAgsjzH0XVPyC6XL3jpFR/ghgydt5TOQf19s8Gbg/qHBD/dy9rPwd6NM/jaG9hjQUq3H2dux8BngYuzMSB3X2zuy+JPN8LlAPFCd5yIfC0ux929/cJrwE21sx6AZ3c/W8e/u14DLgojdAuBB6NPH806lhB1j8JWOvuiWYgyUj97v4WsCvGsTP1maOP9RwwKbrFF6t+d/+Du9dEXi4gvHJ2XOnUn+AcxJOVcxD12Qy4DPifREGlWX+8372s/RxI8zjaE1YxsDHqdSWJk0pKIt0FpwB/j2y6PtI9NDeqWyJeLMWR56nE6MAfzGyxmU2PbDveI6s2R772CLD+OtP45B+obH3+Opn8zB+9J5KEqoDjmhDLlwj/p15noJn9w8z+bGZnRNURRP2ZOu/pxHAGsNXd/xm1LbBzUO93ryX9HEgAjvaEFes/ooyO4zezDsBvgBvdfQ/wIDAYOBnYTLh7JFEs6cT4KXcfBUwGvmZmZyYKNYD6MbNCYCrwbGRTNj9/o+GlUGfK8ZjZt4Ea4MnIps1AP3c/Bfgm8JSZdQqo/kye93S+J5/nk/+8BHYOYvzuxZPtcyABOdoTViXQN+p1H2BTpg5uZm0I/8I86e7PA7j7VnevdfcQ8DDhbslEsVTyyS6kpGN0902Rr9uAFyJ1bY10ddR1u2wLqv6IycASd98aiSVrnz9KJj/zR+8xswKgM0l0v5nZF4EpwL9HupeIdEHtjDxfTPjaSWkQ9Wf4vKd6DgqAzwLPRMUVyDmI9btHC/g5kGAd7QnrHaDEzAZGWgLTgBczceBIf/YvgXJ3/39R23tFFbsYqBtJ9SIwLTL6aCBQAiyMdF3sNbPxkWNeBfwuifqPMbOOdc8JX/h/L1LPFyPFvhh1rIzWH+UT/1Fn6/PXk8nPHH2sS4E/1iWgeMzsPGAGMNXdD0Rt725m+ZHngyL1r8t0/ZHjZ/K8pxQD8Glglbt/1M0WxDmI97tHM/8cSBakO2qjpT+A8wmPIloLfDuDxz2dcBfBMmBp5HE+8DiwPLL9RaBX1Hu+HYljNVEj4YAxhP/ArAV+SmQGkkbqH0R45NO7wIq6z0a4n/0N4J+Rr12DqD/yvvbATqBz1LZAPz/h5LgZqCb8X/CXM/mZgSLC3ZsVhEeQDUqi/grC1zvqfg7qRpddEvnevAssAf4t3foTxJCx857KOYhsfwT4ar2yGT8HxP/dy9rPgR7N89DUTCIikhOO9i5BERE5SihhiYhITlDCEhGRnKCEJSIiOUEJS0REcoISloiI5AQlLGlRzOw4+3gpii328ZIZ+8zsZwHU94iZvW9mX4287m7h5ST+ETXvXf33/DgS282ZjkdE4ito7gBEonl4Gp+TIbzGE7DP3e8OuNpb3P25yPNJhGdr+GK8wu5+i5ntDzgmEalHLSzJCWZ2tpm9HHk+08weNbM/WHixwM+a2f+18EJ88yLzzNUtzvdnC89m/1q96Yti1XEy4TWVzo+06o6JtMDeixz7G8F/UhGJRwlLctVg4ALC6xY9Abzp7sOBg8AFkaT1E+BSdx8NzAXuSnRAd18K3E54sb6TgZOAYncfFjn2rwL7NCLSKHUJSq561d2rzWw54RWP50W2Lye8yu2JwDDg9fC8puQTnv+uKdYBg8zsJ8DvgT9kIG4RSZESluSqwwDuHjKzav94UswQ4Z9rA1a4+4RUK3D3D81sJHAu8DXCK+l+Kb2wRSRV6hKUo9VqoLuZTYDw+klmNrQpBzCzbkCeu/8G+C4wKvNhikiy1MKSo5K7HzGzS4H7zawz4Z/1ewkvdZGsYuBXZlb3j91tGQ5TRJpAy4tIq2ZmjwAvRw1rT/Z9M8nOkHsRiVCXoLR2VcAP6m4cToaZ/Rj4AqB7sUSySC0sERHJCWphiYhITlDCEhGRnKCEJSIiOUEJS0REcsL/B1XQSCg0YN/9AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "nw = pt.RingNetwork(\n", " N=2,\n", " capacity = 3,\n", " wg_factory = lambda: pt.Waveguide(length=50e-6/2, neff=2.86),\n", " mzi_factory = lambda: pt.DirectionalCoupler(coupling=0.3),\n", ").terminate([pt.Source(\"term_in\"), pt.Detector(\"term_pass\"), pt.Detector(\"term_drop\"), pt.Detector(\"term_add\")])\n", "with env.copy(wl=env.wavelength.mean()):\n", " detected = nw(source=1)\n", " nw.plot(detected)\n", " plt.show()\n", "\n", "with env.copy(freqdomain=True):\n", " detected = nw(source=1)\n", " nw.plot(detected)\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Of course you can create much bigger and complicated ring networks, but that's for another time." ] } ], "metadata": { "kernelspec": { "display_name": "ptdev", "language": "python", "name": "ptdev" }, "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.7.7" } }, "nbformat": 4, "nbformat_minor": 4 }