{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example 6: Liquid crystal\n", "\n", "Liquid crystals are usually made from elongated organic molecules which are birrefringent. Those molecules tend to arrange in the same direction, identified by a vector refered as director vector. Then, they form a birrefringent material. It is possible to fabricate container materials that determine the molecules arrangement direction on their surface. These surfaces are refered as director sheets. Then, if two oposite director sheets present diferent director angles, the molecules in the middle of the liquid crystal tend to arrange their director vector so it varies linearly between one sheet and the other.\n", "\n", "\n", "\n", "Image taken from \"Bistable nematic liquid crystal display device design\", L. J. Cunnings, 2009. https://api.semanticscholar.org/CorpusID:3245275.\n", "\n", "This material can be modelled by an infinite sum of infinitely thin layers with the same director vector. This allows calculating a Jones matrix for the liquid crystal, which will depend on the angles of the director sheets, the ordinary and extraordinary refractive indices of the dielectric crystal, its width and the light wavelength.\n", "\n", "Then, if an electric field is applied to the liquid crystal, the molecules director vector rotates towards the electric field direction, which it reaches when for intense electric fields. This modfies the refractive index of the extraordinary component, varying the Jones matrix of the liquid crystal.\n", "\n", "In this example we will study this model of liquid crystal." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", "from py_pol import degrees, np\n", "from py_pol.jones_vector import Jones_vector\n", "from py_pol.jones_matrix import Jones_matrix, create_Jones_matrices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Layer model\n", "\n", "The layer model is the simplest one. It models the liquid crystal as a birrefringent material with an infinite series of infinitesimal layers. Each layer is composed by molecules oriented in the same direction, i.e., their director vector is constant within the layer. The first and last layers present director vectors oriented according to their director sheets. Then, in the absence of electric field, the director vector of the layers within the first and last ones vary linearly but remaining perpendicular to propagation direction,\n", "\n", "$\\theta(z) = \\theta_0 + (\\theta_N - \\theta_0) z / L,$\n", "\n", "where $L$ is the total liquid crystal thickness. When the electric field is applied, usually as a voltage, all the molecules of the liquid crystal rotate a certain angle towards the propagation direction. This reduces the refractive index of the extraordinary component, thus reducing the layer retardance,\n", "\n", "$n(V)=\\left[\\frac{\\cos\\beta(V)}{n_{e}^{2}}+\\frac{\\sin\\beta(V)}{n_{o}^{2}}\\right]^{-1/2},$\n", "\n", "where $\\beta(V)$ is the rotation angle towards propagation direction induced by the voltage, $V$. In this model, the director vector rotation toards the propagation direction is the same for all layers, so the extraordinary index depends only on the aplied voltage.\n", "\n", "Finally, the Jones matrix of the liquid crystal is the product of the Jones matrices of all layers. The result becomes more accurate as the number of layer increases." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def rotation_linear(voltage=0, Vsat=25, out_number=True):\n", " \"\"\"This function models a director vector rotation linear with the applied voltage up to the saturation voltage, where the rotation is 90º.\n", " \n", " Parameters:\n", " voltage (np.ndarray or float): Array of voltages.\n", " Vsat (float): Saturation voltage.\n", " out_number (bool): If True and voltage has only one element, transform array into float.\n", "\n", " Returns:\n", " rotation (np.ndarray or float): Array of director vector rotation angles.\n", " \"\"\"\n", " rotation = np.minimum(np.abs(voltage), Vsat) * np.pi / (2 * Vsat)\n", " if out_number and isinstance(rotation, np.ndarray) and rotation.size == 1:\n", " rotation = rotation[0]\n", " return rotation\n", "\n", "def liquid_crystal_LM(ne, no=1, az_0=0, az_f=90*degrees, rot_function=rotation_linear, rot_args=[0], thickness=1e-3, wavelength=632.8e-9, Nlayers=100):\n", " \"\"\"This function simulates the liquid crystal using the layer model.\n", " \n", " Parameters:\n", " ne (float or numpy.ndarray): Extraordinary refractive index. Coincides with the refractive index for x component when azimuth is 0.\n", " no (float or numpy.ndarray): Ordinary refractive index. Coincides with the efractive index for y component when azimuth is 0. Default: 1.\n", " az_0 (float or numpy.ndarray): Azimuth of initial director sheet. Default: 0.\n", " az_f (float or numpy.ndarray): Azimuth of final director sheet. Default: 90 degrees.\n", " rot_function (function): Function to calculate the rotation angle of the director vector towards propagation direction. Default: rotation_linear.\n", " rot_params (list): List of arguments of rot_function. Default: [0].\n", " thickness (float or numpy.ndarray): Thickness of the sheet in the same units as wavelength. Default: 1 mm.\n", " wavelength (float or numpy.ndarray): Wavelength of the illumination in the same units as thickness. Default: 632.8 nm.\n", " Nlayers (int): Number of layers. Default: 100.\n", " \n", " Returns:\n", " J: Liquid crystal Jones matrix.\"\"\"\n", " # Calculate director vector azimuth\n", " azimuth = np.linspace(az_0, az_f, Nlayers)\n", " # Calculate rotation angle due to voltage\n", " rotation = rot_function(*rot_args)\n", " if isinstance(rotation, np.ndarray):\n", " rotation, azimuth = np.meshgrid(rotation, azimuth)\n", " # Create the object\n", " J = Jones_matrix()\n", " J.biaxial_material(ne=ne, no=no, azimuth=azimuth, rotation=rotation, thickness=thickness/Nlayers, wavelength=wavelength)\n", " J.prod(axis=0)\n", " return J\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Number of layers\n", "\n", "Now we can check how many layers are necessary for an accurate result. We will measure the intensity of a linearly polarized beam across the liquid crystal and a second polarizer. The intensity must reach a stable value." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Intensity for max. layers: 0.9999414838565023\n" ] }, { "data": { "image/png": "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AHBEo8LNzTffLEmaNm1anfdcLpd8Pt/JVRUBuCs4AADOaFS4OfrUb9SvOjihmHADAICdTnrkPXz4sBV1RJzaU8FpSwEAYKdGhRufz6fp06erQ4cOiouL09atWyVJ9913n5555hlLC2yqaEsBAOCMRo28DzzwgObPn6+HHnpIMTExweW9evXS008/bVlxTRltKQAAnNGokff555/Xk08+qVGjRsnj8QSX9+nTR5s2bbKsuKaMthQAAM5o9EX8unbtWme53+9XVVXVSRcVCar8XOcGAAAnNGrk7dmzp95///06y1999VX17dv3pIuKBFXVNUduaEsBAGCvRp0KPmXKFOXk5KiwsFB+v1+vvfaaNm/erOeff15vvvmm1TU2SVzEDwAAZzTqsMI111yjN954Q++8845atGihKVOmaOPGjXrjjTd0xRVXWF1jk1RNWwoAAEc06siNJF144YVavny5lbVElMpqTgUHAMAJjRp5zzjjDH3//fd1lu/fv19nnHHGSRcVCWhLAQDgjEaFm+3bt9d7/6iKigoVFhaedFGRgLYUAADOOKG21Ouvvx58/tZbbykhISH42ufzKT8/X+np6ZYV15RV0ZYCAMARJxRurr32Wkk1d/7OyckJeS86Olrp6el65JFHLCuuKavy05YCAMAJJxRuAncD79Kliz766CMlJSWFpahIUOWjLQUAgBMadbbUtm3brK4jovj9Rj7m3AAA4IhGnwqen5+v/Px87d69O3hEJ2DevHknXVhTVnXU/oiiLQUAgK0aFW7uv/9+TZs2TQMGDFD79u3lcjGAHy3QkpKkGI7cAABgq0aFm7lz52r+/PkaPXq01fVEhMCZUhJtKQAA7NaokbeyslKDBw+2upaIEWhLuVySx81RLQAA7NSocHPTTTfpxRdftLqWiMGZUgAAOKdRbanDhw/rySef1DvvvKNzzz1X0dHRIe/PmjXLkuKaquojt15gvg0AAPZrVLj59NNPlZGRIUn6/PPPrawnIgTuK8WZUgAA2K9R4WbFihVW1xFRKqtpSwEA4JQTCje/+MUvfnIdl8ulhQsXnlARc+bM0R//+EcVFRWpT58+evzxxzVw4MCf3O7ll1/WyJEjdc0112jx4sUn9J3hVB249QKTiQEAsN0JhZujb5RplQULFig3N1dz587VoEGDNHv2bGVnZ2vz5s1q167dMbfb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8+bNITf8A9D0EW6A00RsbKwefPBB/fDDD06XYpnKyspGb/vNN9/oggsuUOfOndWmTRsLq7LWyfxG4HRFuAFOE1lZWUpJSVFeXt4x1/nDH/5Qp0Uze/ZspaenB1/fcMMNuvbaazVjxgwlJycrMTFR06ZNU3V1te688061bt1aHTt21LPPPlvn8zdt2qTBgwcrNjZWvXr10j/+8Y+Q9z///HNdddVViouLU3JyskaPHq29e/cG37/kkks0fvx4TZw4UUlJScrOzq73d/j9fk2bNk0dO3aU1+tVRkaGli1bFnzf5XKpoKBA06ZNk8vl0h/+8Ifj7Llaf/3rXzVgwAC1bNlSKSkp+vWvf63du3dLkowx6tq1qx5++OGQbdavXy+Xy6UtW7ZIkvbv36+bbrpJbdu2VXx8vC677DJt2LAhuH7gv8HTTz+tLl26KDY2VpL06quvqnfv3mrWrJnatGmjrKwslZeXN6hu4HRDuAFOEx6PRzNmzNDjjz+uf/3rXyf1We+++66+++47vffee5o1a5amTp2qn//852rVqpXWrFmjW265Rf/v//2/Ot9z55136o477tAnn3yizMxMDR8+XN9//72kmkH/sssuU9++fbVu3TotW7ZMxcXF+o//+I+Qz3juuecUExOjf/7zn5o7d2699T322GN65JFH9PDDD+vTTz9Vdna2rr76an399deSpF27dumcc87RHXfcoV27dul3v/tdg353VVWVpk+frg0bNmjx4sXavn27brjhBkk1gWns2LF1Qt2zzz6riy66SF27dpUkXXfdddq9e7f+/ve/q6CgQP369dPll1+uffv2BbfZsmWLFi5cqNdee03r16/Xrl27NHLkSI0dO1YbN27UypUr9Ytf/ELc9xg4hrDcaxzAKSUnJ8dcc801xhhjzj//fDN27FhjjDGLFi0yR/8ZmDp1qunTp0/Ito8++qjp3LlzyGd17tzZ+Hy+4LKzzz7bXHjhhcHX1dXVpkWLFuall14yxhizbds2I8nMnDkzuE5VVZXp2LGjefDBB40xxkyfPt1ceeWVId+9c+dOI8ls3rzZGGPMxRdfbPr27fuTvzc1NdU88MADIcvOO+88c9tttwVf9+nTx0ydOvW4n3PxxRebCRMmHPP9jz76yEgyZWVlxhhjCgsLjcfjMWvWrDHGGFNZWWmSkpLM/PnzjTHGvP/++yY+Pt4cPnw45HPOPPNM8z//8z/GmJr/BtHR0Wb37t3B9wsKCowks3379uP/cADGGGM4cgOcZh588EE999xz2rhxY6M/45xzzpHbXfvnIzk5Wb179w6+9ng8atOmTbBlE5CZmRl8HhUVpQEDBgTr2LBhg1asWKG4uLjgo3v37pJq5scE9O/f/7i1lZaW6rvvvtOQIUNClg8ZMuSkfrMkFRQUaPjw4erUqZNatmypiy++WJK0Y8cOSVJqaqqGDRumefPmSZLeeOMNVVRU6Lrrrgv+xgMHDqhNmzYhv3Pbtm0hv7Fz585q27Zt8HWfPn10+eWXq3fv3rruuuv01FNPRdTcKcBqUU4XAMBeF110kbKzszV58uRgSyXA7XbXaXVUVVXV+Yzo6OiQ1y6Xq95lfr+/wXUdOHBAw4cP14MPPljnvfbt2weft2jRosGfaaXy8nJlZ2crOztbL7zwgtq2basdO3YoOzs7ZNLvTTfdpNGjR+vRRx/Vs88+qxEjRqh58+aSan5j+/bttXLlyjqfn5iYGHz+49/o8Xi0fPlyffDBB3r77bf1+OOP65577tGaNWvUpUuXsPxeoCkj3ACnoZkzZyojI0Nnn312yPK2bduqqKhIxpjgKeJWXpvmww8/1EUXXSRJqq6uVkFBgcaPHy9J6tevnxYuXKj09HRFRTX+T1N8fLxSU1P1z3/+M3hkRZL++c9/auDAgY3+3E2bNun777/XzJkzlZaWJklat25dnfWGDh2qFi1a6C9/+YuWLVum9957L/hev379VFRUpKioqJBJ2g3hcrk0ZMgQDRkyRFOmTFHnzp21aNEi5ebmNvo3AZGKthRwGurdu7dGjRqlP/3pTyHLL7nkEu3Zs0cPPfSQvvnmG82ZM0d///vfLfveOXPmaNGiRdq0aZPGjRunH374QWPHjpUkjRs3Tvv27dPIkSP10Ucf6ZtvvtFbb72lMWPGyOfzndD33HnnnXrwwQe1YMECbd68WZMmTdL69es1YcKERtfeqVMnxcTE6PHHH9fWrVv1+uuva/r06XXW83g8uuGGGzR58mR169YtpBWXlZWlzMxMXXvttXr77be1fft2ffDBB7rnnnvqDUoBa9as0YwZM7Ru3Trt2LFDr732mvbs2aMePXo0+vcAkYxwA5ympk2bVqdt1KNHD/35z3/WnDlz1KdPH61du7bBZxI1xMyZMzVz5kz16dNHq1at0uuvv66kpCRJCh5t8fl8uvLKK9W7d29NnDhRiYmJIfN7GuK3v/2tcnNzdccdd6h3795atmyZXn/9dXXr1q3Rtbdt21bz58/XK6+8op49e2rmzJl1TvsOuPHGG1VZWakxY8aELHe5XFq6dKkuuugijRkzRmeddZZ+9atf6dtvv1VycvIxvzs+Pl7vvfeehg4dqrPOOkv33nuvHnnkEV111VWN/j1AJHOZHzfYAQAn5f3339fll1+unTt3Hje0AAgPwg0AWKSiokJ79uxRTk6OUlJS9MILLzhdEnBaoi0FABZ56aWX1LlzZ+3fv18PPfSQ0+UApy2O3AAAgIjCkRsAABBRCDcAACCiEG4AAEBEIdwAAICIQrgBAAARhXADAAAiCuEGAABEFMINAACIKP8fqfWsw0LUtJQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Experiment elements\n", "E0 = Jones_vector()\n", "E0.linear_light(azimuth=0)\n", "Pol = Jones_matrix()\n", "Pol.diattenuator_perfect(azimuth=90*degrees)\n", "\n", "# Loop in number of layers\n", "N_layers = np.linspace(2, 100, 99, dtype=int)\n", "I = np.zeros_like(N_layers, dtype=float)\n", "for ind, N in enumerate(N_layers):\n", " # Create the liquid crystal\n", " Jlc = liquid_crystal_LM(ne=1.5011, no=1.5, az_0=0, az_f=90*degrees, thickness=5e-4, wavelength=632.8e-9, Nlayers=N)\n", " # Calculate the output\n", " Ef = Pol * (Jlc * E0)\n", " # Calculate the intensity\n", " I[ind] = Ef.parameters.intensity()\n", "\n", "# Plot the intensity\n", "plt.plot(N_layers, I)\n", "plt.xlabel(\"Number of layers\")\n", "plt.ylabel(\"Intensity\")\n", "print(\"Intensity for max. layers: \", I[-1])\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This graph shows that the final intensity stabilizes around 15-20 layers. We set the default number of layers to 100 to be safe." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Analysis of Prod of J as retarder:\n", "\n", "- Retardance of Prod of J is:\n", "179.12341363339507\n", "\n", "- Angles of Prod of J are:\n", " Alpha\n", "45.0\n", " Delay\n", "89.18967289323932\n", " Azimuth\n", "44.99999999999988\n", " Ellipticity\n", "44.59483644661975\n", "\n", "Prod of J is an homogeneous diattenuator:\n", "[False]\n", "\n" ] } ], "source": [ "Jlc.analysis.retarder(verbose=True)\n", "Jlc.checks.is_diattenuator(verbose=True);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this model, the global matrix of the liquid crystal behaves as a pure retarder with circular eigenstates (the ellipticity is not perfectly 45º, but it tends to it as $N\\rightarrow\\infty$)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Voltages\n", "\n", "Now we will introduce several voltages and will calculate the transmission as the molecules rotate. In order to simplify the model, we will consider that molecules rotation angle is proportional to applied voltage." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Intensity')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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R26IqNZat26NHj16GL6iiY+Px+HDhw1fScXGxhrOVflTz549cfXqVeh0umq/Tl5eHl555RW0adMGTk5OsLOzQ2xsrOHITVxcHBQKBTp37mzYJjAwEM7Ozob7Z8+eRV5eHlxdXWFnZ2e4JSYm4tq1a5W+bmFhIQDAysqqwnInJyeMGDHC8L61Wi02bdpkeN9/Z21tjYKCgmq/VyKqO4XUAYjIvE2aNAnTp0/HsmXLsGrVKjRv3hx9+vQx6mu88sor2Lt3Lz755BMEBgbC2toaTz75JEpKSqr9HHl5efD29sbBgwfveczJyanSbVxdXSEIAu7evXvPY5MmTUK/fv0QHx+PAwcOQC6X46mnnrpnvTt37sDd3b3aOYmo7njkhojq5Omnn4ZMJsPatWuxZs0aTJw4EYIgAADatGmDo0ePVlj/6NGjaNmyJeRyeaXPp1Qq7zmqc/ToUTz33HN4/PHH0aFDB3h5eeH69euGx1u1aoWysjKcPn3asCw+Pr5CKencuTPS0tKgUCgQGBhY4ebm5lZpFpVKhbZt2+LSpUv3PNa3b180bdoUq1atwqpVqzBq1CjY2tres96FCxfQqVOnSp+fiOoHyw0R1YmdnR1GjhyJ2bNnIzU1Fc8995zhsZdffhlRUVF47733cOXKFXz33XdYunQpXnnllfs+X0BAAKKiopCWlmYoJy1atMDmzZtx5swZnD17FmPGjIFerzds07p1a4SHh2PKlCk4efIkTp8+jSlTpsDa2tpQtMLDwxEWFobhw4djz549uH79Oo4dO4a33noLv//++33zRERE4MiRI/csFwQBEydOxJdffono6OhKv5IqKChATExMjQcAJKI6kvqkHyIyf8eOHRMBiIMHD77nsY0bN4pt27YVlUql6OfnJy5atKjC4/88oXjr1q1iYGCgqFAoRH9/f1EURTExMVHs27evaG1tLWo0GnHp0qVinz59xBkzZhi2S0lJEQcNGiSq1WrR399fXLt2rejh4SEuX77csI5WqxWnT58u+vj4iEqlUtRoNOIzzzwjJiUl3fe9Xbx4UbS2thazs7PveezmzZuiTCYT27VrV+m2a9euFVu1anXf5yai+iGI4t+u4SQishC3bt2CRqPBvn370K9fvzo911NPPYXOnTtj9uzZNdque/fueOmllzBmzJg6vT4R1Qy/liIii7B//35s3boViYmJOHbsGEaNGoWAgAD07t27zs+9aNEi2NnZ1WibrKwsjBgxAqNHj67z6xNRzfDIDRFZhN27d+Pll19GQkIC7O3t0aNHDyxZsgT+/v5SRyOiBsZyQ0RERBaFX0sRERGRRWG5ISIiIovCckNEREQWheWGiIiILArLDREREVkUlhsiIiKyKCw3REREZFFYboiIiMii/D+ZZz380L7zxAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Experiment elements\n", "E0 = Jones_vector()\n", "E0.linear_light(azimuth=0)\n", "Pol = Jones_matrix()\n", "Pol.diattenuator_perfect(azimuth=90*degrees)\n", "\n", "# Loop in number of layers\n", "voltages = np.linspace(0, 25, 91)\n", "# Calculate the output\n", "Jlc = liquid_crystal_LM(ne=1.5011, no=1.5, az_0=0, az_f=90*degrees, rot_args=[voltages], thickness=5e-4, wavelength=632.8e-9, Nlayers=50)\n", "# print(Jlc.M)\n", "Ef = Pol * (Jlc * E0)\n", "# Calculate the intensity\n", "I_LM = Ef.parameters.intensity()\n", "\n", "# Plot the intensity\n", "plt.plot(voltages, I_LM)\n", "plt.xlabel(\"Voltage (V)\")\n", "plt.ylabel(\"Intensity\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here we see that as rotation increases, the molecules retardance decreases and the intensity reaches a final value of 0 when there is no retardance." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Coy model\n", "\n", "Coy model is a bit more complex than pure layer model. In the layer model the director vector linearly rotates for all layers between the first and last layers. In Coy model, the layers close to the director plates do not rotate:\n", "\n", "$\\theta(z)=\\left\\{ \\begin{array}{c}\n", "\\theta_{0}\\;\\;\\;\\;z\\leq d\\\\\n", "\\theta_{N}\\;\\;\\;z\\geq L-d\\\\\n", "\\theta_{0}+(\\theta_{N}-\\theta_{0})\\frac{z-d}{L-d}\\;\\;\\;d= thickness - d_norot\n", " if np.any(cond_f):\n", " azimuth[cond_f] = az_f\n", " cond_0 = z <= d_norot\n", " cond_var = np.logical_not(np.logical_or(cond_0, cond_f))\n", " if np.any(cond_var):\n", " aux = np.linspace(az_0, az_f, np.sum(cond_var))\n", " azimuth[cond_var] = aux\n", " # Calculate rotation angle due to voltage\n", " rotation = rot_function(*rot_args)\n", " if isinstance(rotation, np.ndarray):\n", " rotation, azimuth = np.meshgrid(rotation, azimuth)\n", " else:\n", " rotation = np.ones(Nlayers) * rotation\n", " # Rotation near to the director plates is 0\n", " cond = azimuth == az_0\n", " if np.any(cond):\n", " rotation[cond] = 0\n", " cond = azimuth == az_f\n", " if np.any(cond):\n", " rotation[cond] = 0\n", " # Create the object\n", " J = Jones_matrix()\n", " J.biaxial_material(ne=ne, no=no, azimuth=azimuth, rotation=rotation, thickness=thickness/Nlayers, wavelength=wavelength)\n", " J.prod(axis=0)\n", " return J\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's see what happens without voltage for different no rotation thicknesses. We will use a for loop as this parameter should be constant for a given material." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Intensity for max. layers: 0.10984174696817403\n" ] }, { "data": { "image/png": "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nLmaj5TcYsz//jTWPdORA4ypTuldbjQaTW3kICIiE2FnaY7Vo4Lx+CfHsO9cBr78KxljQn3kjkUNSI3H3GRnZyM7O9uQWYiIyEQEejlg/qA2AIA3f4rDubR8mRNRQ6JXucnLy8PUqVPh7OwMNzc3uLm5wdnZGdOmTUNeXl4tRSQiImM0qacv+rdxRZlag+lfR6OotELuSNRAVPsifrm5uQgNDcW1a9cwevRotG3bFsDtO4R//fXX8PLywrFjx+64yF99w4v4ERHVndyiMgz56AgyCkrwaHATrBwZJHckMlK1coXil156CQcOHMBvv/0GNzc3ndcyMjIwYMAA9O/fHx988EHNk9cBlhsiorp1IjEXT30WAY0A3n8iEI93aip3JDJCtXKF4l27duH999+/o9gAgLu7O5YvX46dO3fqn5aIiExaV18nzAprBQBYsOssLmcVypyITF21y016ejrat29/19f9/f2RkZFhkFBERGRaXuzXAt39GuNWuRrTvo5GSbla7khkwqpdbpydnZGUlHTX1xMTE+Hk5GSITEREZGKUCgkfjgyCcyMVLmQUYslP5+WORCas2uVm4MCBeO2111BWVnbHa6WlpViwYAEGDRpk0HBERGQ6XO0ssfLJIADA18dT8NNp3rKHake1y82SJUsQHx+Pli1bYvny5fjhhx+we/duLFu2DC1btkRcXBwWL15coxBr166Fj48PLC0tERISghMnTlTrfVu3boUkSXdcNZmIiOqn3q1c8GJfPwDAK9+fQXJOkcyJyBRVu9w0bdoUERERaNeuHcLDw/HII49gxIgReO2119CuXTv8+eef8PLy0jvAtm3bMHv2bCxatAhRUVEIDAzEwIEDkZWVVeX7kpKSMGfOHPTq1UvvdRIRkXxmP9gKnZs54mZpBaZ+HYXSCo6/IcOq9qng/3bjxg1cunQJANCiRYv7GmsTEhKCLl26YM2aNQBu397By8sL06dPxyuvvFLpe9RqNXr37o2JEyfiyJEjyMvLw65duyqdt7S0FKWlpdrnBQUF8PLy4qngREQySsu7hSGrjiCvuBzju/to7yZOdDe1cir4vzk6OqJr167o2rXrfRWbsrIyREZGIiws7P8DKRQICwtDRETEXd+3ZMkSuLq6YtKkSfdcx9KlS2Fvb6991OToEhERGZangxVWPhkIANh0LAn7zvJsWzKc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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Experiment elements\n", "E0 = Jones_vector()\n", "E0.linear_light(azimuth=0)\n", "Pol = Jones_matrix()\n", "Pol.diattenuator_perfect(azimuth=90*degrees)\n", "\n", "# Loop in no rotation thickness\n", "d_norot = np.linspace(0, 2e-4, 50)\n", "I = np.zeros_like(d_norot, dtype=float)\n", "for ind, d in enumerate(d_norot):\n", " # Create the liquid crystal\n", " Jlc = liquid_crystal_Coy(ne=1.5011, no=1.5, az_0=0, az_f=90*degrees, thickness=5e-4, d_norot=d, wavelength=632.8e-9, Nlayers=200)\n", " # Calculate the output\n", " Ef = Pol * (Jlc * E0)\n", " # Calculate the intensity\n", " I[ind] = Ef.parameters.intensity()\n", "\n", "# Plot the intensity\n", "plt.plot(d_norot * 1e6, I)\n", "plt.xlabel(\"No rotation thickness ($\\mu m$)\")\n", "plt.ylabel(\"Output intensity\")\n", "print(\"Intensity for max. layers: \", I[-1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this case it is necessary to increase the number of layers so the intensity distribution do not get distorted.\n", "\n", "For comparing different models with different voltage, we will chose a value for the no rotation thickness so 10% of the molecules do not rotate." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Experiment elements\n", "E0 = Jones_vector()\n", "E0.linear_light(azimuth=0)\n", "Pol = Jones_matrix()\n", "Pol.diattenuator_perfect(azimuth=90*degrees)\n", "\n", "# Loop in number of layers\n", "voltages = np.linspace(0, 25, 91)\n", "# Calculate the output\n", "Jlc = liquid_crystal_Coy(ne=1.5011, no=1.5, az_0=0, az_f=90*degrees, rot_args=[voltages], thickness=5e-4, d_norot=2.5e-5, wavelength=632.8e-9, Nlayers=200)\n", "# print(Jlc.M)\n", "Ef = Pol * (Jlc * E0)\n", "# Calculate the intensity\n", "I_Coy = Ef.parameters.intensity()\n", "\n", "# Plot the intensity\n", "plt.plot(voltages, I_LM, label=\"Layer Model\")\n", "plt.plot(voltages, I_Coy, label=\"Coy, d=25 $\\mu m$\")\n", "plt.xlabel(\"Voltage (V)\")\n", "plt.ylabel(\"Intensity\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Marquez model\n", "\n", "Marquez model is a refinement of Coy model. The only difference is that the no rotation thickness depends on the voltage. So we will define a new function for it." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "def no_rotation_thickness(voltage=0, Vsat=25, d_max=5e-5, out_number=True):\n", " \"\"\"This function models a no rotation thickness linear with the applied voltage up to the saturation voltage, where the no rotation thickness reaches its maximum value.\n", " \n", " Parameters:\n", " voltage (np.ndarray or float): Array of voltages. Default: 0.\n", " Vsat (float): Saturation voltage. Default: 25 V.\n", " d_max (float): Maximum no rotation thickness. Default: 50 um.\n", " out_number (bool): If True and voltage has only one element, transform array into float. Default: True.\n", "\n", " Returns:\n", " d (np.ndarray or float): Array of no rotation thickness.\n", " \"\"\"\n", " d = np.minimum(np.abs(voltage), Vsat) * d_max / Vsat\n", " if out_number and isinstance(d, np.ndarray) and d.size == 1:\n", " d = d[0]\n", " return d\n", " \n", "def liquid_crystal_Marquez(ne, no=1, az_0=0, az_f=90*degrees, rot_function=rotation_linear, rot_args=[], thickness=1e-3, norot_function=no_rotation_thickness, norot_args=[], voltages=np.ndarray([0]), wavelength=632.8e-9, Nlayers=100):\n", " \"\"\"This function simulates the liquid crystal using the layer model.\n", " \n", " Parameters:\n", " ne (float or numpy.ndarray): Extraordinary refractive index. Coincides with the refractive index for x component when azimuth is 0.\n", " no (float or numpy.ndarray): Ordinary refractive index. Coincides with the efractive index for y component when azimuth is 0. Default: 1.\n", " az_0 (float or numpy.ndarray): Azimuth of initial director sheet. Default: 0.\n", " az_f (float or numpy.ndarray): Azimuth of final director sheet. Default: 90 degrees.\n", " rot_function (function): Function to calculate the rotation angle of the director vector towards propagation direction. Default: rotation_linear.\n", " rot_params (list): List of arguments of rot_function. Default: [].\n", " thickness (float or numpy.ndarray): Thickness of the sheet in the same units as wavelength. Default: 1 mm.\n", " norot_function (function): No rotation thickness function. Default: no_rotation_thickness.\n", " norot_params (list): List of arguments of norot_function. Default: [].\n", " voltages (float or numpy.ndarray): Array of voltages. Default: [0].\n", " wavelength (float or numpy.ndarray): Wavelength of the illumination in the same units as thickness. Default: 632.8 nm.\n", " Nlayers (int): Number of layers. Default: 100.\n", " \n", " Returns:\n", " J: Liquid crystal Jones matrix.\"\"\"\n", " # Calculate director vector azimuth\n", " azimuth = np.ones((Nlayers, voltages.size)) * az_0\n", " rotation = np.zeros((Nlayers, voltages.size))\n", " for ind,v in enumerate(voltages):\n", " aux = np.ones(Nlayers) * az_0\n", " args = [v] + norot_args\n", " d_norot = norot_function(*args)\n", " z = np.linspace(0, thickness, Nlayers)\n", " cond_f = z >= thickness - d_norot\n", " if np.any(cond_f):\n", " aux[cond_f] = az_f\n", " cond_0 = z <= d_norot\n", " cond_var = np.logical_not(np.logical_or(cond_0, cond_f))\n", " if np.any(cond_var):\n", " aux2 = np.linspace(az_0, az_f, np.sum(cond_var))\n", " aux[cond_var] = aux2\n", " azimuth[:,ind] = aux\n", " # Calculate rotation angle due to voltage\n", " args = [v] + rot_args\n", " aux = rot_function(*args)\n", " rotation[:,ind] = aux\n", "\n", " # Rotation near to the director plates is 0\n", " cond = azimuth == az_0\n", " if np.any(cond):\n", " rotation[cond] = 0\n", " cond = azimuth == az_f\n", " if np.any(cond):\n", " rotation[cond] = 0\n", " # Create the object\n", " J = Jones_matrix()\n", " J.biaxial_material(ne=ne, no=no, azimuth=azimuth, rotation=rotation, thickness=thickness/Nlayers, wavelength=wavelength)\n", " J.prod(axis=0)\n", " return J\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Experiment elements\n", "E0 = Jones_vector()\n", "E0.linear_light(azimuth=0)\n", "Pol = Jones_matrix()\n", "Pol.diattenuator_perfect(azimuth=90*degrees)\n", "\n", "# Loop in number of layers\n", "voltages = np.linspace(0, 25, 91)\n", "# Calculate the output\n", "Jlc = liquid_crystal_Marquez(ne=1.5011, no=1.5, az_0=0, az_f=90*degrees, voltages=voltages, thickness=5e-4, norot_args=[25, 5e-5], wavelength=632.8e-9, Nlayers=300)\n", "# print(Jlc.M)\n", "Ef = Pol * (Jlc * E0)\n", "# Calculate the intensity\n", "I_Marquez = Ef.parameters.intensity()\n", "\n", "# Plot the intensity\n", "plt.plot(voltages, I_LM, label=\"Layer Model\")\n", "plt.plot(voltages, I_Coy, label=\"Coy, d=25 $\\mu m$\")\n", "plt.plot(voltages, I_Marquez, label=\"Marquez, $d_{max}=50 \\mu m$\")\n", "plt.xlabel(\"Voltage (V)\")\n", "plt.ylabel(\"Intensity\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This model, which is mor ecomples, again needs more layers to give a smooth intensity plot. Its result is similar to the layer model for low voltages (as the no thickness rotation is small) and converges with Coy model for large voltages." ] } ], "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.11.6" } }, "nbformat": 4, "nbformat_minor": 4 }