{ "cells": [ { "cell_type": "markdown", "id": "1ec37f01", "metadata": {}, "source": [ "# VLLE\n", "\n", "Following the approach described in Bell et al.: https://doi.org/10.1021/acs.iecr.1c04703\n", "\n", "for the mixture of nitrogen + ethane, with the default thermodynamic model in teqp, which is the GERG-2008 mixing parameters (no departure function).\n", "\n", "Two traces are made, and the intersection is obtained, this gives you the VLLE solution." ] }, { "cell_type": "code", "execution_count": 1, "id": "5a137a0c", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:30.007713Z", "iopub.status.busy": "2024-12-12T18:10:30.007557Z", "iopub.status.idle": "2024-12-12T18:10:30.474808Z", "shell.execute_reply": "2024-12-12T18:10:30.474206Z" } }, "outputs": [], "source": [ "import teqp, numpy as np, matplotlib.pyplot as plt, pandas\n", "\n", "def get_traces(*, T, ipures):\n", " names = ['Nitrogen', 'Ethane']\n", " model = teqp.build_multifluid_model(names, teqp.get_datapath())\n", " pures = [teqp.build_multifluid_model([name], teqp.get_datapath()) for name in names]\n", " traces = []\n", " for ipure in ipures:\n", " # Init at the pure fluid endpoint\n", " anc = pures[ipure].build_ancillaries()\n", " rhoLpure, rhoVpure = pures[ipure].pure_VLE_T(T, anc.rhoL(T), anc.rhoV(T), 10)\n", "\n", " rhovecL = np.array([0.0, 0.0])\n", " rhovecV = np.array([0.0, 0.0])\n", " rhovecL[ipure] = rhoLpure\n", " rhovecV[ipure] = rhoVpure\n", " opt = teqp.TVLEOptions()\n", " opt.p_termination = 1e8 \n", " opt.crit_termination=1e-4\n", " opt.calc_criticality=True\n", " j = model.trace_VLE_isotherm_binary(T, rhovecL, rhovecV, opt)\n", " traces.append(j)\n", " return model, traces" ] }, { "cell_type": "code", "execution_count": 2, "id": "29a2031a", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:30.476931Z", "iopub.status.busy": "2024-12-12T18:10:30.476701Z", "iopub.status.idle": "2024-12-12T18:10:30.962936Z", "shell.execute_reply": "2024-12-12T18:10:30.962395Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rhovec / mol/m^3 | p / Pa\n", "[3.66984834e+03 3.25893958e+00] 2321103.0873191245\n", "[19890.16767481 1698.86505766] 2321103.0873192116\n", "[ 5641.24690517 16140.85769908] 2321103.087318882\n" ] }, { "data": { "image/png": "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FHZdERnRc889p/e8R48euHnzJnJycqp9zqCgIERGRupt27lzJzp37ozu3bvrtjk6OuKZZ57BlStXcObMGQDArl274Ofnh2HDhun2s7W1xdNPP613voSEBFy4cAFPPvkkbt68iaysLGRlZSEvLw99+/bFgQMHoNFoDPqst27dghACbm5u1f7sWtpzZGVlPXBfbXbtIz8/HxqNpsz2+7tv7rdp0ya4uLigf//+eseFhobC0dGx3FaxijzzzDNQKBS65z169IBarUZycrJum52dne7nu3fvIisrCz169EB+fj7OnTundz5HR0c89dRTuuc2Njbo3LkzkpKS9PK3aNECzZs318vfp08fANDlN+R7OnDgAN58802MHj1ad557GfI9ERkLu67+ceDAAbz77rs4duwY0tPTsXnzZowYMcKgcwghsGzZMqxevRrJycnw8PDACy+8oGu+prqnYcOGes+1f/Hfvn0bzs7O1TpnUFBQmW3JyckICwsrs13b5ZWcnIzWrVsjOTkZjRs31vslCwDBwcF6zy9cuAAAGD9+fIU5srOz9X4ZVvWzCiEqPGdVac9x/+coT/369au0fe3atZWuZ3ThwgVkZ2fD09Oz3NevX7/+wCxalV0rrdOnT2PevHnYt29fmcI4Oztb73mDBg3KXAs3NzecPHlSL//Zs2crvB7353/Q93Tu3DmMHDkSrVu3xmeffVbuPoZ8T0TGwkLnH3l5eWjXrh0mTZqERx99tFrnmDlzJvbs2YP33nsPbdq0wa1btzgIr467d2ruvR7ml/29/9I3Fm1rzbvvvouQkJBy93F0dNR7/qDP6u7uDoVCoffLvLq05yhvXMj99u7dq/f8q6++wp49e/DNN9/obW/VqlWl59FoNJUuoFdRAVGeB12rO3fuICIiAs7Ozli4cCEaN24MW1tbHD9+HC+//HKZ1rSq/DnTaDRo06YN3n///XL39ff3B1C17yk1NRUDBgyAi4sLdu7cCScnp3L3M+R7IjIWFjr/GDRokG7QXnmKiorw2muv4dtvv8WdO3fQunVrLFmyRDeb4uzZs/jkk0/w999/o1mzZgDK/5c30YNU51+/AQEBSExMLLNd28UREBCg+++ZM2cghNB7n4sXL+odp51t4+zsjH79+hmcpzxWVlZo3LgxLl++/NDn0p7j3kHaFbk//8GDB2Fra2vw52rcuDF+/fVXdOvW7YHF5sO2YMTGxuLmzZv46aef0LNnT932h7l2jRs3xl9//YW+fftWmu9B39PNmzcxYMAAFBUVISYmBj4+PhWey5DvichYOEaniqZNm4b4+Hhs3LgRJ0+exKhRozBw4EBdE//PP/+MRo0aYfv27QgKCkJgYCCmTJnCFh0ymIODA4DSf9VX1eDBg3H48GHEx8frtuXl5WH16tUIDAxEy5YtAQCRkZFIS0vDtm3bdPsVFhbqLVgIlM6Wady4Md577z3k5uaWeb/7p0JXVXh4eI3c/uDYsWNQKBQIDw9/6HNV1ejRo6FWq7Fo0aIyr5WUlOh9Xw4ODgZ9f/fTttDc2yJTXFz8ULdUGD16NNLS0sp81wBQUFCAvLw83fOKvqe8vDwMHjwYaWlp2LlzJ5o0aVLpe0rxPRHdjy06VZCSkoK1a9ciJSUFvr6+AIAXX3wRu3btwtq1a/HOO+8gKSkJycnJ2LRpE7766iuo1WrMnj0bjz32GPbt2yfxJ6DaJCQkBJaWlliyZAmys7OhVCrRp0+fCseGAMArr7yCb7/9FoMGDcKMGTPg7u6OL7/8EpcvX8aPP/6oW/vk2WefxUcffYQxY8Zg5syZ8PHxwfr162Frawvg35YICwsLfPbZZxg0aBBatWqFiRMnws/PD2lpadi/fz+cnZ3x888/G/zZhg8fjq+//hrnz59H06ZN9V576623AJSOTQGAr7/+GgcPHgQAzJs3T2/fvXv3olu3bqhXr57BGaorIiICzz77LKKjo5GQkIABAwbA2toaFy5cwKZNm/DBBx/gscceA1BaKH7yySd46623EBwcDE9Pz3IH61aka9eucHNzw/jx4zFjxgwoFAp8/fXXD9XlOXbsWHz//fd47rnnsH//fnTr1g1qtRrnzp3D999/r1ubCaj4e/q///s/HD58GJMmTcLZs2f11s5xdHQsM65Riu+JqAwppnrJHQCxefNm3fPt27cLAMLBwUHvYWVlJUaPHi2EEOLpp58WAERiYqLuuGPHjgkA4ty5c6b+CCQx7ZTrGzdu6G3XTi++fPmybtv908uFEGLNmjWiUaNGwtLSUm+qdUBAgBgyZEi573np0iXx2GOPCVdXV2Frays6d+4stm/fXma/pKQkMWTIEGFnZyfq168v/vvf/4off/xRABB//PGH3r4nTpwQjz76qKhXr55QKpUiICBAjB49Wm8qsSGftaioSHh4eIhFixaVyQWgwse97ty5I2xsbMRnn31W7nV4kOpOL9davXq1CA0NFXZ2dsLJyUm0adNGzJkzR1y7dk23T0ZGhhgyZIhwcnISAHRTzbXX5MiRI3rn3L9/f5kp9XFxcaJLly7Czs5O+Pr6ijlz5ojdu3eX2S8iIkK0atWqTM7x48eX+ZzFxcViyZIlolWrVkKpVAo3NzcRGhoq3nzzTZGdna3br6LvSbu8QXmP+9/rYb8noprCQqcc9xc6GzduFJaWluLcuXPiwoULeo/09HQhhBDz588XVlZWeufJz88XAMSePXtMGZ/IYMuXLxcAxNWrV43+XgsXLhRBQUGipKSkWscvX75c+Pj4lLvODNUcfk9kLjhGpwrat28PtVqN69evIzg4WO/h7e0NAOjWrRtKSkpw6dIl3XHnz58H8O9AUCI5uP/eWIWFhfj000/RpEkT+Pn5Gf39Z8+ejdzcXGzcuNHgY1UqFd5//33MmzfPJLPP6jJ+T2QuFELUwKIWZiA3N1c386R9+/Z4//330bt3b7i7u6Nhw4Z46qmnEBcXh2XLlqF9+/a4ceMGYmJi0LZtWwwZMgQajQadOnWCo6MjVqxYAY1Gg6lTp8LZ2Rl79uyR+NMR/WvQoEFo2LAhQkJCkJ2djW+++QanT5/G+vXr8eSTT0odj4ioRrHQ+UdsbCx69+5dZvv48eOxbt06qFQqvPXWW/jqq6+QlpYGDw8PdOnSBW+++SbatGkDALh27RqmT5+OPXv2wMHBAYMGDcKyZcsMulkhkbGtWLECn332Ga5cuQK1Wo2WLVtizpw5ePzxx6WORkRU42RT6HzyySf45JNPcOXKFQCli3fNnz+/0rVtNm3ahNdffx1XrlxBkyZNsGTJEgwePNhEiYmIiEjuZDNGp0GDBli8eDGOHTuGo0ePok+fPhg+fLhuqun9Dh06hDFjxmDy5Mk4ceIERowYgREjRuDvv/82cXIiIiKSK9m06JTH3d0d7777LiZPnlzmtccffxx5eXnYvn27bluXLl0QEhKCVatWmTImERERyZQsFwxUq9XYtGkT8vLyKlxRMz4+HlFRUXrbIiMjsWXLlgrPW1RUpHeHYo1Gg1u3bqFevXq86RwREVEtIYTA3bt34evrq1sQtSKyKnROnTqF8PBwFBYWwtHREZs3b9YtXX+/jIwMeHl56W3z8vJCRkZGheePjo7Gm2++WaOZiYiISBqpqalo0KBBpfvIqtBp1qwZEhISkJ2djR9++AHjx4/Hb7/9VmGxY6i5c+fqtQJlZ2ejYcOGSE1NhbOzc428B5m3kSNHYt++fVi1ahXGjBkjdRwiIkyePBk//PADFi9ejOeff17qOCaRk5MDf39/ODk5PXBfWRU6NjY2CA4OBlB6r5gjR47ggw8+wKefflpmX29vb2RmZupty8zM1C3gVx6lUgmlUllmu7OzMwsdqhLtkDb+mSEiubj3l31d+3upKsNOZDPrqjwajUZvTM29wsPDERMTo7dt7969vEsuGZVKpQIAWFtbS5yEiKiU9qa89696TqVk06Izd+5c3Yqtd+/exYYNGxAbG4vdu3cDAMaNGwc/Pz9ER0cDAGbOnImIiAgsW7YMQ4YMwcaNG3H06FGsXr1ayo9BZk5b6NjY2EichIiolLbQKSwslDiJPMmm0Ll+/TrGjRuH9PR0uLi4oG3btti9ezf69+8PAEhJSdEbWd21a1ds2LAB8+bNw6uvvoomTZpgy5YtaN26tVQfgeqA4uJiAGzRISL50N5PjIVO+WRT6Hz++eeVvh4bG1tm26hRozBq1CgjJSIqi11XRCQ3bNGpnKzH6BDJDQsdIpIbjtGpHAsdIgNwjA4RyQ1bdCrHQofIAGzRISK54RidyrHQITIAByMTkdyw66pyLHSIDMAWHSKSG3ZdVY6FDpEBOEaHiOSGhU7lWOgQGYAtOkQkNxyjUzkWOkQGYKFDRHLDMTqVY6FDVEUajQZqtRoACx0ikg92XVWOhQ5RFWlbcwCO0SEi+WChUzkWOkRVdG+hwxYdIpILjtGpHAsdoipioUNEcsQxOpVjoUNURfcWOlZWsrkfLhHVcdpCR61Wo6SkROI08sNCh6iKtKsiW1lZQaFQSJyGiKiUttAB2KpTHhY6RFXExQKJSI5Y6FSOhQ5RFbHQISI5srCwgFKpBMBCpzwsdIiqiDf0JCK50s68YqFTFgsdoipiiw4RyRULnYqx0CGqIrboEJFcsdCpGAsdoirifa6ISK7s7e0BsNApDwsdoirStuiw64qI5IYtOhVjoUNURWzRISK5YqFTMRY6RFXEFh0ikisWOhVjoUNURWzRISK50hY6+fn5EieRHxY6RFXEFh0ikiu26FSMhQ5RFbFFh4jkioVOxVjoEFURW3SISK5Y6FSMhQ5RFbFFh4jkioVOxVjoEFURW3SISK5Y6FSMhQ5RFbFFh4jkiisjV4yFDlEVsUWHiOSKLToVY6FDVEW1tUVHCCF1BCIyMjkWOnL5u4eFDlEVaQud2tKio1KrsOHsBoz7ZRxUGpXUcYjIiORW6AiVCinjJ+DO5i1SR4GV1AGIagtt15XcW3SEENidvBsfHPsAV3OvAgC2X9qOkU1GSpyMiIxFbisj39m8GfmHD6PowgW4jhwhaRYWOkRVVBtadE7fPI3Ffy5Gwo0EAEA923p4IeQFDG08VNpgRGRUcmvRcerdGxlYAPXt2xAaDRQW0nUgsdAhqiI5t+hkF2Xjf8f/h03nN0FAwM7KDhNbTcT4VuNhb20vdTwiMjK5FToW9v/+vSMKC6Gwl+7vIRY6RFUkxxYdbTdV9J/RuFV4CwAwOGgwokKj4OXgJXE6IjIVuRU6CqVS97MoLgZY6BDJn9xadG7k38CiPxZhf+p+AECQSxBe7/I6Onl3kjgZEZma3AodWFrqfhQlJRIGYaFDVGVyatHZm7wXC+MX4k7RHVhZWOGZNs9gSpspsLaURxFGRKYlt0JHoVAA1taASgWhknbWJwsdoiqSQ4tOviofb//5NrZd2gYAaOHeAm91fwtN3ZpKlomIpCfHlZEVVlYQKhWEWi1pDhY6RFUkdYvO+dvn8d/Y/+JKzhVYKCwwqfUkvNDuBbbiEJGuRae4uBhqtRqW93QdSUVhZQUBsEWHqLaQqkVHCIGfLvyE6MPRKFIXwdPeE0t6LEFH744mzUFE8qUtdACgsLAQDg4OEqYppZtSrtFImoOFDlEVSXELCJVahbf/fBs/XvgRANDdrzve6f4O3GzdTJaBiOTv3kKnoKBAFoWOdkAyu66IaglT39QzqyALUbFROHH9BBRQYEaHGZjUehIsFLxzCxHps7CwgI2NDYqLi2WzOjIs2aJDVKuYskXnzM0zmLFvBjLzM+Fk7YSlEUvR3a+70d+XiGovOzs7FBcXy2ZAssJCHi06/KchURWZqkXnwNUDmLBrAjLzMxHoHIgNQzawyCGiB5LbFHO5tOiw0CGqIlO06Gw6vwnT901HQUkBuvp2xYYhGxDoEmi09yMi8yG3QkchSguc22cPSJqDhQ5RFRmzRUcIgQ9PfIiF8QuhERqMCB6Bj/p+BCcbpxp/LyIyT3IrdAqLiwAANw98hkKVdN1XHKNDVEXGatFRa9RY9Mci3cyq59o9hxfavVC6sigRURXJqdDJyC5EbnEJXAC4OtjD1lq6dX3YokNURcZo0SnRlGBe3Dz8eOFHWCgssCB8AaaGTGWRQ0QGk8vqyEIIvPzjSWhE6XN3R+lu6AnIqNCJjo5Gp06d4OTkBE9PT4wYMQKJiYmVHrNu3TooFAq9h62trYkSU11T0y06Ko0KLx94GduTtsNSYYklPZbgsaaP1ci5iajukUuLztd/JOO38zeg+/eahbSdR7IpdH777TdMnToVf/zxB/bu3QuVSoUBAwYgLy+v0uOcnZ2Rnp6ueyQnJ5soMdU1NdmiU6wuRlRsFPYk74GVhRWW9VqGgUEDH/q8RFR3yaHQOXMtB2/tOAsAcLL7p8BRSHubGtmM0dm1a5fe83Xr1sHT0xPHjh1Dz549KzxOoVDA29vb2PGIaqxFp7CkELP2z0LctTgoLZVY3ms5ejToURMRiagOk7rQySlUYeqG4ygu0aBPc0/YH7VCEQBIvMipbFp07pednQ0AcHd3r3S/3NxcBAQEwN/fH8OHD8fp06cr3LeoqAg5OTl6D6Kqqombeqo0Krz020uIuxYHOys7rOy7kkUOEdUIbaEjxcrIGo3Af7//C5ez8uDrYotlo9oBKB2kIxTS3mBUloWORqPBrFmz0K1bN7Ru3brC/Zo1a4YvvvgCW7duxTfffAONRoOuXbvi6tWr5e4fHR0NFxcX3cPf399YH4HM0MPe1FMjNJgfNx+xV2OhtFRiZd+VCPMJq8mIRFSHSdmi8/7e89h7JhM2Vhb45KlQuDnYANoxOgqO0Slj6tSp+Pvvv7Fx48ZK9wsPD8e4ceMQEhKCiIgI/PTTT6hfvz4+/fTTcvefO3cusrOzdY/U1FRjxCczpNFooP5nGfPqtOgIIbD48GJsT9oOK4UV3u/1Pjp5d6rpmERUh0lV6Pxw7Co+2n8RABA9sg3a+bvq7yBx15VsxuhoTZs2Ddu3b8eBAwfQoEEDg461trZG+/btcfHixXJfVyqVUCqVNRGT6hhttxVQvRadj//6GN+e+xYKKPBW97fQs0HF486IiKpDikInNvE6XvnxJADghV6N8Z/Qf39v62ZdseuqlBAC06ZNw+bNm7Fv3z4EBQUZfA61Wo1Tp07Bx8fHCAmpLru30DG0RefrM19j1V+rAABzw+ZiSKMhNZqNiAgwfaFz9MotPP/NcZRoBEaE+OLFAc3u20M7RoctOgBKu6s2bNiArVu3wsnJCRkZGQAAFxcX3Zc3btw4+Pn5ITo6GgCwcOFCdOnSBcHBwbhz5w7effddJCcnY8qUKZJ9DjJP2vE5gGEtOlsvbsXSI0sBANNCpmFM8zE1no2ICDBtoZOQegcT1x5BgUqNiKb1sfSxdrCwuG+hU91TaVt0ZFPofPLJJwCAXr166W1fu3YtJkyYAABISUmBhcW/leHt27fx9NNPIyMjA25ubggNDcWhQ4fQsmVLU8WmOkLboqNQKGBpWbX/0+5L2YcFhxYAAMa2HItn2j5jtHxERKZaGfl4ym2M//ww7haVoHOQO1Y9FQobq7KtNv92XbFFB0Bp19WDxMbG6j1fvnw5li9fbqRERP+6d8ZVVW7PcOrGKcw5MAdqocbwxsPxYscXeVsHIjIqU7ToHLqUhSlfHkV+sRqdA92xdkIn2Nk86B9/0v7dJ5tCh0jODFlDJzMvEzP3z0SRugg9G/TEG13fgIXE/6IhIvNn7EJnx8l0zP4uAcVqDboF18PqsR3hoKysjJDHOjosdIiqoKpr6BSUFGDG/hm4UXADwa7BWNJjCawkvs8LEdUNxip0hBD47PfLeOeXsxACiGzlhQ+eaF+FO5L/01PDrisi+avK7R+EEHg97nWcuXkGbko3fNjnQzjaOJoqIhHVccYodIpK1Ji/5TS+O1q67tzYLgF4Y1grWN4/8LhSLHSIZK8qN/Rc9dcq7L6yG1YWVljeezkaOBm2DhQR0cOo6VtApGcX4PlvjiMh9Q4sFMDrQ1tiQtfAqo83VGhbdDhGh0j2HtSis/vKbnz818cAgPld5iPUK9Rk2YiIgJpt0dl/7jr+u+kv3MorhoudNT54IgS9mnkadA5defPguUZGxUKHqAoqa9E5ffM05h2cBwAY13IcRjYZadJsRERAzRQ6hSo13t2diM8PXgYAtPJ1xif/F4qG9ewfIhm7rohkr6IWnRv5NzAjZgYK1YXo4dcDUaFRUsQjInroQufU1WxEfZ+AC9dzAQDjwwMwd3CLKgw6roh21hW7rohkr7wWnRJNCV468BKuF1xHY5fGWNpzKSwtpJ1GSUR1l7bQKSoqgkaj0VtgtzIFxWos//U8Pj94GWqNgIejEksfa4M+zb1qKBkLHSLZK69F5+OEj3Es8xgcrB3wQZ8POMOKiCSlLXQAoLCwULdSckWEENh7JhMLt5/B1dulrUBD2/pg4fDWcHcw7J5+5dLVN+y6IpK9+1t0DqYdxJpTawAAb3R9AwHOAZJlIyIC9AudgoKCSgud85l3sWj7Gfx+IQsA4Otii7dGtq7BVhz5YKFDVAX3tuhk5GVg7u9zAQCPN3scAwMHShmNiAgAYGVlBWtra6hUqgrH6Vy7U4Dle8/jx+NXoRGAjaUFnu4ZhBd6BT9glWPDKXTTrdh1RSRrOTEpyPjmFIDSQueXr7/F+itvY3fDPzGu0wyJ0xERAfE/fotD32+AjbUVVCoVDm35Hqm/70fX0U8i/D9jkHanAJ/EXsT3R66iWK0BAAxs5Y1XBjVHoIdDjWY5suMyDv98Gc2c+8APW3EyqwlOPrcPnR8JQqchQTX6XlXBQoeoEjkxKcjZm4wSjRoAkJ96G/2vdAQADErpgqLYTCj7NpQyIhHVcaVFznoAgIWmtIj58+ct8HV1xqHv12PP6Ux8U9QUKnVpC0tYkDteHtQcHRq61XgWbZEDAImuA3C9XUPczmoKALrtpi52eKdBokrk7E0GABSrS7uuHEvsyn2diEgqh77foPvZyrL017pKrdZtczj9K1Rqga6N6+Hbp7tg4zNdjFLkAP8WM1q3XZtV+ropsNAhqoRz/9JBxr9ePAQA+OX8b+W+TkQkla6jn9T9fDuvdGzO5Ru3dNtuNeuDH58Px4anuyC8cb2q38KhGjo/cl9rzX3vFTbM9F1XLHSIKuHctyFsGrugkbs/AKC+g7vuNWWwK5zZbUVEEsouUOFaYA/kuAfq3WnByU4JAcCreRu8szAKoQHuFZ2iRnUaEoQGzctvLWrQ3A0dB3OMDpGs5MSkoPhSNl7qMQVBbn6IbNpT91rRxTvIiUlhsUNEJnUztwh7zmRi198ZOHQpCyFZR9DlzhUAwIuRPZF88zbaN/SDAkDmuVP448eN6PKfJ0yS7ciOy7h67na5r109dxtHd142ebHDQoeoEtl7k6EA4Ki0x4TQ/5R5PWdvMgsdIjIqlVqDEyl38PuFG/j9QhZOXr0DzT3NN2F3juh+9nZxgreLk97xcd+vN1mhU2YMjhB63Vd/bmOhQyQbReoi7PCPw9DUbrptymBXFF28o3vOMTpEVNPyikrwV+odHEu+jWMpt3Hk8i3kFav19mnt54xBrX0Q2cobN37P0c26AoCGbUKQcipB9/zeMTzG1vmRIL1ix+32Odx2b6H3uqmx0CGqwEcnPsI6x/Uo9CnEY+l94dw/AM59G+qmnGufExFVV1ZuEc6m5/zzuIuz6Tk4n3lXr8UGANwdbNAt2AM9mnige7AHfF3/nQEa/J8xAEpnX3Ub/X/o8p8ndOvqaNfRMRXt1PHDP19G8+xd8D35M7Iem42TWcGSraOjEEKIB+9mnnJycuDi4oLs7Gw4OztLHYdk5GjGUUzaPQkCAh/2+RC9/HtJHYmIahkhBHIKSnD9biGu3y1CenYhUm7m4crNfCT/89/sAlW5x/q52iE0wE33aOnjDAsLaVcYNlTq0I7IvZgHn+eGw3XW4ho9tyG/v9miQ3SfPFUe5sXNg4DAo00eZZFDRGVczynEpmNXkVdUglzto7D0v3lFJcjKLcaN3CIUl2gqPY9CAQTVc0BzHye08HZGCx9ntPZzgbeLrYk+ifFJ3ZzCQofoPu8eeRdpuWnwc/TDSx1fkjoOEcnQzbxivLs7sUr7uthZw9NJCS9nWzSsZ4/AevYIqOeAwHoOaOhuDzsbSyOnlYhMGqBY6BDdIzY1Fj9e+BEKKLCo2yI42jhKHYmIZMjDUYlRoQ3goLSCk60VHJVWcPznvw42VnBzsIGnkxL1nZSwtTbTQuZBHD0BXAbsPSSNwUKH6B+3Cm9hwaEFAIBxLcehk3cniRMRkVzVd1Li3VHtpI4hb+6NAFwGXKWdtMGVkYn+sfjPxbhVeAvBrsGY3mG61HGIiGo3bdeVxIN0WOgQAThw9QB+ufILLBQWeKv7W1BaKqWORERUqxnznlqGYKFDdV6+Kh9v//E2AGBsi7FoVa+VxImIiMwJW3SIJLUyYSWu5V2Dr4MvXgh5Qeo4RERmgi06RJI7ffM0vjn7DQBgXpd5sLe2lzgREZGZ4RgdImmUaErw5qE3oREaDAochB4NekgdiYjIfHCMDpG01p9dj7O3zsLJxglzOs+ROg4RkVmS+k5TLHSoTkrLTcPKhJUAgBc7vggPO2kXtCIiMlssdIhMSwiBRX8sQkFJATp6dcTI4JFSRyIiMj/suiKSxq4ruxCXFgdrC2vMD58vm7UeiIjMksQ39WShQ3VKdlE2Fh9eDAB4pu0zCHIJkjgREZGZksk/IlnoUJ2yMmElbhXeQiOXRpjcerLUcYiIzB/H6BCZxvnb5/Fd4ncAgFfDXoW1pbXEiYiIzJg8GnRY6FDdIITA4sOLoREa9A/ojzCfMKkjERHVDWzRITK+Pcl7cCTjCJSWSrzY8UWp4xARmT25TPRgoUNmr6CkAMuOLgMATGo9Cb6OvhInIiKqS9iiQ2RUa/9ei/S8dPg4+GBi64lSxyEiqiPYokNkdGm5afji7y8AlK6AbGdlJ3EiIiIyJRY6ZNaWHV2GInUROnt3Rv+A/lLHISKqezgYmcg4/kj/A3uT98JSYYmXO78sm4FxRER1gkz+zmWhQ2apRFOCJYeXAAAeb/Y4mro1lTgREVHdxLuXExnBd4nf4eKdi3BVuuKFkBekjkNEVPewRYfIOO4U3sHKhJUAgBkdZsBF6SJxIiKiOow39SSqWWtOrcHd4rto6tYUjwY/KnUcIqK6iS06RDUvLTcN3577FgAQFRoFSwtLiRMREZGUWOiQWfnwxIdQaVQI8wlDV9+uUschIiIORi4VHR2NTp06wcnJCZ6enhgxYgQSExMfeNymTZvQvHlz2Nraok2bNti5c6cJ0pIcnb15FjuSdgAAZofO5nRyIiIpyeSvYNkUOr/99humTp2KP/74A3v37oVKpcKAAQOQl5dX4TGHDh3CmDFjMHnyZJw4cQIjRozAiBEj8Pfff5swOcnF8mPLAQCDgwajVb1WEqchIiI5sJI6gNauXbv0nq9btw6enp44duwYevbsWe4xH3zwAQYOHIiXXnoJALBo0SLs3bsXH330EVatWmX0zCQfh9IOIT49HtYW1pjefrrUcYiI6jy5tKrLpkXnftnZ2QAAd3f3CveJj49Hv3799LZFRkYiPj6+3P2LioqQk5Oj96DaTyM0eP/Y+wCAJ5o/gQZODSROREREOhyjU5ZGo8GsWbPQrVs3tG7dusL9MjIy4OXlpbfNy8sLGRkZ5e4fHR0NFxcX3cPf379Gc5M0diTtQOLtRDhZO+GZNs9IHYeIiGREloXO1KlT8ffff2Pjxo01et65c+ciOztb90hNTa3R85PpFamL8OGJDwEAk9pMgqutq7SBiIjoH/LoupLNGB2tadOmYfv27Thw4AAaNKi8C8Lb2xuZmZl62zIzM+Ht7V3u/kqlEkqlssaykvS+Pfst0vPS4WXvhadaPCV1HCIiKoNdVwBKb/o1bdo0bN68Gfv27UNQUNADjwkPD0dMTIzetr179yI8PNxYMUlGsouysfrUagDA1JCpsLWylTgRERHpyGQwsmxadKZOnYoNGzZg69atcHJy0o2zcXFxgZ2dHQBg3Lhx8PPzQ3R0NABg5syZiIiIwLJlyzBkyBBs3LgRR48exerVqyX7HGQ6n536DHeL7yLYNRjDGg+TOg4REcmQbFp0PvnkE2RnZ6NXr17w8fHRPb777jvdPikpKUhPT9c979q1KzZs2IDVq1ejXbt2+OGHH7Bly5ZKBzCTebief113q4fZobN5qwciIrmSeNaVbFp0RBUuRGxsbJlto0aNwqhRo4yQiOTs81Ofo0hdhJD6Iejh10PqOEREdD+ZdF3JpkWHqKoy8jKw6fwmAMDU9lNlsygVERHJDwsdqnXWnFwDlUaFjl4dEeYdJnUcIiKqRFV6bIyJhQ7VKmm5afjp4k8AgBdCXmBrDhERVYqFDtUqa06uQYmmBGE+Yejk3UnqOEREVBGZ/EOUhQ7VGqk5qdhycQsAYFrINGnDEBFRrcBCh2qNVSdXQS3U6ObXDSGeIVLHISKiqpB2iA4LHaodrmRfwfak7QCAqe2mSpyGiIhqCxY6VCusOrkKGqFBrwa90KZ+G6njEBFRLcFCh2Tv0p1L2Jm0E0DpTCsiIqoFtGOROb2cqHKf/PUJBAT6NuyLFvVaSB2HiIhqERY6JGvnb5/H7iu7AbA1h4iIDMdCh2Rt1V+rAACRgZFo6tZU4jRERGQwdl0RlS/pThJ+Tf4VAPBc2+ckTkNERAbhgoFElfv87891Y3OC3YKljkNERLUQCx2SpbTcNOxI2gEAmNJmisRpiIiotmKhQ7K09u+1UAs1wn3C0dqjtdRxiIiolmKhQ7JzI/8GNl/YDAB4uu3TEqchIqLajIUOyc7XZ75GsaYYIfVD0NGro9RxiIioGhQcjExUVnZRNr5L/A5AaWuOXP6PQkREtRMLHZKVDWc3IL8kH83cmqGHXw+p4xAR0UPjOjpEAIA8VR6+OfsNAGBK2ylszSEioofGQodkY1PiJuQU5yDQORD9G/aXOg4REZkBFjokC0XqInx55ksAwKTWk2BpYSlxIiIiejjyaJVnoUOysPXiVmQVZMHbwRtDGw2VOg4REZkJFjokOZVGhS/+/gIAMKHVBFhbWkuciIiIzAULHZLcrsu7kJabBndbd/ynyX+kjkNERGaEhQ5JSgiBtafXAgDGthwLWytbiRMREVGNEpxeTnVY/LV4XLh9AfZW9hjdbLTUcYiIqKbIZIkQFjokqXWn1wEAHm3yKJxtnKUNQ0REZoeFDkkm8VYi4tPjYaGwwFMtn5I6DhERmSEWOiSZr858BQDoH9Affo5+EqchIiJzxEKHJHE9/zp2Xt4JABjfcrzEaYiIyFyx0CFJbDi7ASWaEnTw7IA29dtIHYeIiMwUCx0yuXxVPr4//z0AYHwrtuYQEZHxsNAhk9t8cTPuFt9FgHMAevn3kjoOEREZkeA6OlSXqDVqfH3mawDAuJbjYKHgH0EiIrPEdXSoLopJiUFabhpcla54pPEjUschIiIzZ/UwB585cwYpKSkoLi7W2z5s2LCHCkXmSQiBL09/CQB4vNnjsLOykzgRERGZu2oVOklJSRg5ciROnToFhUKh639T/NNMpVaray4hmY2EGwk4mXUSNhY2eKL5E1LHISKiOqBaXVczZ85EUFAQrl+/Dnt7e5w+fRoHDhxAx44dERsbW8MRyVxoW3MeafwIPOw8JE5DRER1QbVadOLj47Fv3z54eHjAwsICFhYW6N69O6KjozFjxgycOHGipnNSLZeck4x9KfsAlA5CJiIiMoVqteio1Wo4OTkBADw8PHDt2jUAQEBAABITE2suHZmNb858AwGBng16opFrI6njEBGRqUg8vbxaLTqtW7fGX3/9haCgIISFhWHp0qWwsbHB6tWr0agRf4mRvrvFd7H10lYAwNiWYyVOQ0REJiGP2eXVK3TmzZuHvLw8AMDChQsxdOhQ9OjRA/Xq1cN3331XowGp9tt6cSsKSgrQ2KUxwrzDpI5DRER1SLUKncjISN3PwcHBOHfuHG7dugU3NzfdzCsiANAIDb499y0AYEzzMfzzQUREJmXQGB2NRoMlS5agW7du6NSpE1555RUUFBQAANzd3flLjMqIS4tDyt0UOFk7cYFAIiIyOYMKnbfffhuvvvoqHB0d4efnhw8++ABTp041VjYyAxvObQAAjGgyAvbW9hKnISKiusagQuerr77Cxx9/jN27d2PLli34+eefsX79emg0GmPlo1osOScZB9MOQgEFxjQbI3UcIiKqgwwqdFJSUjB48GDd8379+kGhUOimlxPda+O5jQCAHg16wN/ZX+I0RERUFxlU6JSUlMDW1lZvm7W1NVQqVY2GotovX5WPLRe3AACebP6ktGGIiKjOMmjWlRACEyZMgFKp1G0rLCzEc889BwcHB922n376qeYSUq207dI25KpyEegciHDfcKnjEBGRVKRdL9CwFp3x48fD09MTLi4uusdTTz0FX19fvW3VceDAATzyyCPw9fWFQqHAli1bKt0/NjYWCoWizCMjI6Na7081RwihG4T8RPMnYKGo1gLcRERED82gFp21a9caKwfy8vLQrl07TJo0CY8++miVj0tMTISzs7PuuaenpzHikQHi0+NxOfsy7K3sMbzxcKnjEBFRHVatBQONYdCgQRg0aJDBx3l6esLV1bXmA1G1fXu2dIHA4cHD4WjjKHEaIiKqy2p9n0JISAh8fHzQv39/xMXFVbpvUVERcnJy9B5Us1LvpuK3q78BKF0JmYiISEq1ttDx8fHBqlWr8OOPP+LHH3+Ev78/evXqhePHj1d4THR0tN5YIn9/Tnmuad+d+w4CAl19uyLIJUjqOEREVMfJpuvKUM2aNUOzZs10z7t27YpLly5h+fLl+Prrr8s9Zu7cuYiKitI9z8nJYbFTg/JV+fjpYumMO04pJyIiOTCoRWf+/Pk4duyYsbI8tM6dO+PixYsVvq5UKuHs7Kz3oJqz4/IO3C2+iwaODdDdr7vUcYiIiAwrdK5evYpBgwahQYMGeP755/HLL7+guLjYWNkMlpCQAB8fH6lj1ElCCHx37jsApVPKLS0sJU5ERESyIKRdSMegrqsvvvgCGo0GcXFx+PnnnzFr1iykp6ejf//+GD58OIYOHQp3d/dqBcnNzdVrjbl8+TISEhLg7u6Ohg0bYu7cuUhLS8NXX30FAFixYgWCgoLQqlUrFBYW4rPPPsO+ffuwZ8+ear0/PZyTWSeReDsRNhY2GBE8Quo4REQkNYVC6gQAqjEY2cLCAj169MDSpUuRmJiIP//8E2FhYfj000/h6+uLnj174r333kNaWppB5z169Cjat2+P9u3bAwCioqLQvn17zJ8/HwCQnp6OlJQU3f7FxcX473//izZt2iAiIgJ//fUXfv31V/Tt29fQj0Q1YFPiJgDAwKCBcFFWb9FIIiKimqYQoubalG7cuIFt27Zh27Zt6NGjB1588cWaOrVR5OTkwMXFBdnZ2Ryv8xCyi7LRb1M/FKoL8fWgrxHiGSJ1JCIiklj6m2/izrcb4TF1KupPn1aj5zbk93eNzrqqX78+Jk+ejMmTJ9fkaUnmtidtR6G6EE3cmqBd/XZSxyEiItKptevokDwIIXTdVqOajoJCJn2yREREAAsdekjHrx/HpexLsLOyw9BGQ6WOQ0REpIeFDj2UTedLW3MGBQ2Ck42TxGmIiIj0PVShk5aWZvDsKjIftwtvY8+V0un8o5uOljgNERFRWdUqdOLi4hAUFISGDRuiYcOG8PLywssvv8ybZNYx2y5tg0qjQgv3Fmjl0UrqOERERGVUq9B59tln0aJFCxw5cgSJiYl499138euvv6JDhw5s4akjhBC6bqvRzdiaQ0RE8lStQufSpUtYsWIFOnTogODgYIwbN0634N+sWbNqOCLJ0eGMw0jOSYaDtQMGBw2WOg4REVG5qlXotGjRAtevX9fbplAosHDhQuzatatGgpG8aVtzhjYaCntre4nTEBERla9ahc6ECRMwffp0pKam6m3nCsN1Q1ZBFmKSYwCUrp1DREQkV9VaGVnbPdWkSRM8+uijCAkJgVqtxjfffIOlS5fWZD6SoS0Xt6BElKBt/bZo5t5M6jhEREQVqlahk56ejoSEBPz1119ISEjAunXrcOHCBSgUCixduhS//PIL2rZti7Zt22LgwIE1nZkkpBEa/HD+BwBszSEiIvmrVqHj5eWFyMhIREZG6rYVFhbi1KlTugJo27ZteOedd3Dnzp2aykoyEH8tHmm5aXCycUJkYOSDDyAiIpJQjd3U09bWFp06dUKnTp1q6pQkQ9pByMMaD4OdlZ3EaYiIiCrHW0BQlWUVZOG31N8AAI81eUziNEREJGtCSJ0AAAsdMsD2S9t1g5CD3YKljkNERLWBQiHp27PQoSoRQuCniz8BAEYGj5Q4DRERUdWw0KEq+evGX7icfRl2VnYYGMiZdEREVDuw0KEq2XJxCwCgf0B/ONo4ShuGiIioiljo0APlq/Lxy+VfALDbioiIahcWOvRAe5L3IL8kHw2dGiLUK1TqOERERFXGQoceaPOFzQCAkU1GQiHx6HkiIiJDsNChSl3JvoLj14/DQmGBYY2HSR2HiIjIICx0qFLaQcjd/brD095T2jBEREQGYqFDFSrRlGDbpW0AOAiZiIhqJxY6VKG4tDjcKLgBd1t3RDSIkDoOERGRwVjoUIV+ulC6EvLQRkNhbWktcRoiIiLDsdChcmUVZOHA1QMA2G1FRES1FwsdKteOpB2lN/D04A08iYio9mKhQ2UIIXTdViObsDWHiIhqLxY6VMbJrJNIyk6CraUtb+BJRES1GgsdKkO7EvKAwAG8gScREdVqLHRIT0FJAXZd2QWAg5CJiOghCKkDlGKhQ3r2pexDnioPDRwb8AaeRET08CS+RSILHdLz86WfAQDDGg/jDTyJiKjWY6FDOtfzryM+PR4AMLTxUInTEBERPTwWOqSzI2kHNEKDDp4d4O/kL3UcIiKih8ZChwCUrp2jvYHnI40fkTgNERFRzWChQwCAc7fO4eKdi7CxsMGAwAFSxyEiotpOyGPaFQsdAgBda07vhr3hbOMscRoiIjIbEk9sYaFDUGlU2Hl5J4DS2VZERETmgoUOIf5aPG4V3oK7rTvCfcOljkNERFRjWOiQrttqcNBgWFtYS5yGiIio5rDQqeNyinOwP2U/AHZbERGR+WGhU8ftubIHxZpiBLsGo7l7c6njEBGRueCsK5ID3vKBiIiMSerfLSx06rDUnFQcv34cFgoLDGk0ROo4RERENY6FTh22PWk7AKCLTxd42ntKnIaIiKjmsdCpo3jLByIiqgtY6NRRCTcScDX3Kuyt7NHHv4/UcYiIiIxCNoXOgQMH8Mgjj8DX1xcKhQJbtmx54DGxsbHo0KEDlEolgoODsW7dOqPnNBfa1pz+Af1hb20vcRoiIiLjkE2hk5eXh3bt2mHlypVV2v/y5csYMmQIevfujYSEBMyaNQtTpkzB7t27jZy09itWF2P3ldLrxG4rIiIyDnlML7eSOoDWoEGDMGjQoCrvv2rVKgQFBWHZsmUAgBYtWuDgwYNYvnw5IiMjjRXTLBxMO4i7xXfhaeeJjl4dpY5DRETmjNPLqyc+Ph79+vXT2xYZGYn4+PgKjykqKkJOTo7eoy7S3sBzYNBAWFpYSpyGiIjIeGptoZORkQEvLy+9bV5eXsjJyUFBQUG5x0RHR8PFxUX38Pf3N0VUWcktzkVsaiwAcO0cIiIye7W20KmOuXPnIjs7W/dITU2VOpLJ7UvdhyJ1EQKdA9HCvYXUcYiIyEwJ3S0gpO26ks0YHUN5e3sjMzNTb1tmZiacnZ1hZ2dX7jFKpRJKpdIU8WRrR9IOAMDgRoMlX5abiIjI2Gpti054eDhiYmL0tu3duxfh4eESJZK/rIIs/JH+BwBgSBC7rYiIyPzJptDJzc1FQkICEhISAJROH09ISEBKSgqA0m6ncePG6fZ/7rnnkJSUhDlz5uDcuXP4+OOP8f3332P27NlSxK8Vdl/ZDY3QoI1HGzR0bih1HCIiIqOTTaFz9OhRtG/fHu3btwcAREVFoX379pg/fz4AID09XVf0AEBQUBB27NiBvXv3ol27dli2bBk+++wzTi2vxM6k0tlWg4MGS5yEiIjMnnaMjsTDJGQzRqdXr173DFwqq7xVj3v16oUTJ04YMZX5SM1Jxcmsk7BQWGBg0ECp4xAREZmEbFp0yLi0a+eEeYfBw85D4jRERESmwUKnDhBCYMfl0tlWXDuHiIhMiisjk7Gdu3UOl7Mvw8bCBn0b9pU6DhERkcmw0KkDtN1WEf4RcLRxlDgNERHVCfK4pycLHXOn1qh1hQ67rYiIyOQkXpuWhY6ZO379OK7nX4eTtRN6+PWQOg4REZFJsdAxc9pbPvQP7A8bSxuJ0xAREZkWCx0zplKrsDd5LwAuEkhERCZWydp4psRCx4zFp8cjpzgHHnYe6OjVUeo4RERUB0l9A2kWOmZs1+VdAIABAQNgaWEpcRoiIqpT2KJDxlSkLsK+1H0AwFs+EBFRncVCx0wdvHoQeao8eDt4o139dlLHISKiukYmN/VkoWOmfrnyCwAgMiASFgp+zUREVDfxN6AZylfl48DVAwDYbUVERFJjiw7VsANXD6CgpAANHBugVb1WUschIqI6iYORyUh+uVzabTUwaKDk0/qIiIikxELHzOQW5+Jg2kEAwMBAdlsREZE0BAcjkzHsT92PYk0xglyC0NStqdRxiIiIJMVCx8zouq0C2W1FREQSkscQHRY65iS7KBvx1+IBsNuKiIhkgl1XVFNiUmJQIkrQ1K0pGrk2kjoOERGR5FjomJF7u62IiIgkpRuMLG0MFjpm4mbBTRzOOAyAhQ4REZEWCx0zEZMSA43QoGW9lvB39pc6DhER1XW8eznVpD1X9gAAIgMjJU5CREQEXaEj9QxgFjpm4GbBTRzJPAIAGBAwQOI0RERE92ChQw/r3m6rBk4NpI5DREQEuSykw0LHDOxJLu22YmsOERHJD1t06CHcKryFIxnstiIiInkRHIxMNWFfyj5ohAYt3FtwthUREcmHts7hGB16GNrZVgMC2ZpDREQyxEKHqut24W3dIoHstiIiIllh1xU9rH0p+6AWajR3b46Gzg2ljkNERFQWbwFB1cXZVkREJFts0aGHcafwDv5M/xMAx+cQEZEM6W7qyTE6VA37Uku7rZq5NUOAc4DUcYiIiMrFW0BQtWi7rfoH9Jc4CRERUXnYdUXVlF2UjT+vsduKiIjkS7DriqorNjUWJaIEwa7BCHIJkjoOERFRWboGHRY6ZKBfk38FwG4rIiKqBdiiQ4bIU+Xh0LVDAIB+Af0kTkNERFQBTi+n6vj96u8o1hQjwDkATVybSB2HiIiofLoxOtLGYKFTy+xN3gsA6Newn+RT9oiIiCrEwchkqMKSQvye9jsAjs8hIiKZ+6fQkfof5Sx0apG4a3EoKCmAj4MPWtZrKXUcIiKiCgmwRYcMFJMcAwDo27Cv5BUyERFRpXSDkVnoUBWo1CrEpsYCYLcVERHVAro6h4UOVcGfGX/iruouPOw8EOIZInUcIiKiynEwMhlCu0hgH/8+sFDwayMiIpnj9HKqKrVGjX0p+wBwkUAiIqolOOuKqur49eO4XXQbLkoXdPTuKHUcIiKiKmDXVblWrlyJwMBA2NraIiwsDIcPH65w33Xr1kGhUOg9bG1tTZjWNGJSSmdb9WrQC9YW1hKnISIiejDevbwc3333HaKiorBgwQIcP34c7dq1Q2RkJK5fv17hMc7OzkhPT9c9kpOTTZjY+IQQukKnb8O+EqchIiKqIt2sK2lLDVkVOu+//z6efvppTJw4ES1btsSqVatgb2+PL774osJjFAoFvL29dQ8vLy8TJja+MzfPICMvA3ZWdgj3DZc6DhERUdVoNKX/5WDkUsXFxTh27Bj69ft3sK2FhQX69euH+Pj4Co/Lzc1FQEAA/P39MXz4cJw+fbrCfYuKipCTk6P3kDtta053v+6wtTK/bjkiIjJTHIysLysrC2q1ukyLjJeXFzIyMso9plmzZvjiiy+wdetWfPPNN9BoNOjatSuuXr1a7v7R0dFwcXHRPfz9/Wv8c9Q0dlsREVGtpB2jY8Guq2oLDw/HuHHjEBISgoiICPz000+oX78+Pv3003L3nzt3LrKzs3WP1NRUEyc2zOXsy0jKToKVhRV6NugpdRwiIqIqEzK5BYSVpO9+Dw8PD1haWiIzM1Nve2ZmJry9vat0Dmtra7Rv3x4XL14s93WlUgmlUvnQWU1F25oT5h0GJxsnidMQEREZQNeiw64rAICNjQ1CQ0MRExOj26bRaBATE4Pw8KoNwlWr1Th16hR8fHyMFdOktDfx7NOwj8RJiIiIDKQbjMwWHZ2oqCiMHz8eHTt2ROfOnbFixQrk5eVh4sSJAIBx48bBz88P0dHRAICFCxeiS5cuCA4Oxp07d/Duu+8iOTkZU6ZMkfJj1IiMvAz8ffNvKKBgoUNERLWPTAYjy6rQefzxx3Hjxg3Mnz8fGRkZCAkJwa5du3QDlFNSUmBxz6Cm27dv4+mnn0ZGRgbc3NwQGhqKQ4cOoWXLllJ9hBqjveVDu/rt4GHnIXEaIiIiwwjIYzCyrAodAJg2bRqmTZtW7muxsbF6z5cvX47ly5ebIJXp8d5WRERUq2nkMRhZNmN06F/ZRdk4mnkUQOndyomIiGod3r2cKnLg6gGohRpN3JrA31n+a/0QERGV8c9gZIWlpaQxWOjIkLbbiq05RERUW/17U08uGEj3KCwpRNy1OACcVk5ERLWYdno519Ghe/2Z/icKSgrg7eCNFu4tpI5DRERUPey6ovLsSy3tturt31vytQeIiIiqS+gWDGTXFf1DrVEjNjUWALutiIioltO26LDrirT+uvEXbhXegpONE0K9QqWOQ0REVH26MTps0aF/7E/dDwCIaBABawtridMQERFVn27WFQsdAkr/QOimlbPbioiIajtd1xULHQKQlJ2ElLspsLGwQTffblLHISIieihCoy79gYUOAf92W4X5hMHe2l7iNERERA9JzTE6dI/9KaWFTi//XtIGISIiqgHaFh2uo0PIKsjCyayTAFjoEBGRmShhoUP/0K6d08ajDTztPSXNQkREVBN0Cway0CHt+By25hARkdlQ/9OiwzE6dVu+Kh9/XPsDQOltH4iIiMyBrkXHykrSHCx0JBZ/LR7FmmI0cGyAYNdgqeMQERHVjJISAGzRqfPu7bbiTTyJiMhccIwOQa1R48DVAwDYbUVEROZDCPFviw67ruquk1kncbvoNpxsnNDeq73UcYiIiGrGP0UOwEKnTtNOK+/h14M38SQiIrMhWOgQ8G+hw2nlRERkTu4tdGAt7T/kWehIJCUnBUnZSbBSWKGbH2/iSURE5oMtOqRrzQn1DoWzjbOkWYiIiGqSUKlKf7Cw4PTyuir2aiwAoFeDXpLmICIiqnEymXEFsNCRRHZRNo5nHgcARPhHSJyGiIioZoniYgCAQuLxOQALHUnEpcVBLdQIdg2Gv5O/1HGIiIhqlKbon0LH1lbiJCx0JKHtturZoKe0QYiIiIxAFBcBABRKG4mTsNAxOZVGhYNpBwFwWjkREZknUVgIALBQskWnzkm4noC7xXfhpnRDW4+2UschIiKqcbquK6VS4iQsdExOtxpygx6wtJD2RmdERETGwK6rOkx7E8+IBpxtRURE5kmTXwAAsLC1kzgJCx2TupJ9BVdyrsDKwgpdfbtKHYeIiMgoNLm5AAALR0eJk7DQManfrv4GAOjo1RGONtJ/+URERMagycsDAFg6OkichIWOSWkLHc62IiIic6bJ+6dFx0H6f9Sz0DGRnOIc3WrIXD+HiIjMmZpdV3XPobRDUAs1Grk04mrIRERk1tR37gAALJ2dpA0CFjomo+224mwrIiIyd+qsmwAAy3oeEidhoWMSao1atxoyu62IiMjcldwsLXSsPOpJnISFjkmcyjqFO0V34GTjhBDPEKnjEBERGZWu0KnHQqdO0HZbdfftDisLK4nTEBERGY+moABqbaHj5SVxGhY6JqFdDbmnP7utiIjIvBUnJwNCwMLFBZbu7lLHYaFjbOm56Th/+zwsFBbo7ttd6jhERERGVZyUBABQBgVBoVBInIaFjtFpW3PaerSFq62rtGGIiIiMrOD0aQCATXBjiZOUYqFjZAfS/rmJpz+nlRMRkfnLOxgHAHDoEi5xklIsdIyosKQQh9MPAwB6+PWQOA0REZFxFV9NQ1FiIqBQwKGbPG5ezULHiA5nHEahuhBe9l5o6tZU6jhERERGdfPTTwEA9l3CYOXmJnGaUix0jEg326pBT1kMyCIiIjKWvMOHceennwAA9adPlzjNv1joGIkQAr9f/R0AV0MmIiLzJYTA3ZgYpD73PKBWwykyEvYdOkgdS0d2hc7KlSsRGBgIW1tbhIWF4fDhw5Xuv2nTJjRv3hy2trZo06YNdu7caaKklUvKTsK1vGuwsbBBZ+/OUschIiKqUSW3biFn1y4kPzEGV6dOg8jPh0O3bvBdukTqaHpktUzvd999h6ioKKxatQphYWFYsWIFIiMjkZiYCE9PzzL7Hzp0CGPGjEF0dDSGDh2KDRs2YMSIETh+/Dhat24twSf4l7bbqpN3J9hb20uahYiIqDqESgVV5nWUZKRDlZ4BVUY6VCmpyD9xHMUXL+n2U9jawu3JJ1F/xnRYKJUSJi5LIYQQUofQCgsLQ6dOnfDRRx8BADQaDfz9/TF9+nS88sorZfZ//PHHkZeXh+3bt+u2denSBSEhIVi1atUD3y8nJwcuLi7Izs6Gs7NzzX0QAJN2T8KRjCN4pfMr+L8W/1ej5yYiItPT/boUQv/xzzZx72vanzWa0uM0mrI/awQgyvtZ8++x9/9czjGiRA1RogJKSiBKSiBUKgiV9udiiJKS0tf0tqsgVCpo8vOgycuHJj8fmry8fx/a57m5/36eciibNIFjRE+4jx8Pq/r1jXr972XI72/ZtOgUFxfj2LFjmDt3rm6bhYUF+vXrh/j4+HKPiY+PR1RUlN62yMhIbNmypdz9i4qKUFRUpHuenZ0NoPSC1aRb506iX3Qc+kKg+dbvccpya9UOlE/Nqa8mctXQZ/vnrxLjM9VXUd3r8jDXU4Jjq/S9VfXUVclgyn0qCF7hvyHL21zh+5SzvcJdy75Q4XU3JMO92+/9BV7eyfQ2l3NcBecQ1T2H3s/i3/8VKFtw3FuI3LPt3v3E/dtx33nqKIW1NSy9vGDt5QVrby9YeXnDtmUL2IWE6GZW5QNADf8urYz293ZV2mpkU+hkZWVBrVbD674bgHl5eeHcuXPlHpORkVHu/hkZGeXuHx0djTfffLPMdn9//2qmrooLRjw3ERGRCZw9I3WCct29excuLi6V7iObQscU5s6dq9cCpNFocOvWLdSrV6/Gp3/n5OTA398fqampNd4tRv/idTYNXmfT4HU2HV5r0zDWdRZC4O7du/D19X3gvrIpdDw8PGBpaYnMzEy97ZmZmfD29i73GG9vb4P2VyqVUN43SMrV1bX6oavA2dmZ/ycyAV5n0+B1Ng1eZ9PhtTYNY1znB7XkaMlmermNjQ1CQ0MRExOj26bRaBATE4Pw8PLvlxEeHq63PwDs3bu3wv2JiIiobpFNiw4AREVFYfz48ejYsSM6d+6MFStWIC8vDxMnTgQAjBs3Dn5+foiOjgYAzJw5ExEREVi2bBmGDBmCjRs34ujRo1i9erWUH4OIiIhkQlaFzuOPP44bN25g/vz5yMjIQEhICHbt2qUbcJySkgILi38bobp27YoNGzZg3rx5ePXVV9GkSRNs2bJF8jV0gNJusgULFpTpKqOaxetsGrzOpsHrbDq81qYhh+ssq3V0iIiIiGqSbMboEBEREdU0FjpERERktljoEBERkdlioUNERERmi4UOERERmS0WOg9h5cqVCAwMhK2tLcLCwnD48OFK99+0aROaN28OW1tbtGnTBjt37jRR0trNkOu8Zs0a9OjRA25ubnBzc0O/fv0e+L1QKUP/PGtt3LgRCoUCI0aMMG5AM2Hodb5z5w6mTp0KHx8fKJVKNG3alH93VIGh13nFihVo1qwZ7Ozs4O/vj9mzZ6OwsNBEaWunAwcO4JFHHoGvry8UCkWFN9S+V2xsLDp06AClUong4GCsW7fO6DkhqFo2btwobGxsxBdffCFOnz4tnn76aeHq6ioyMzPL3T8uLk5YWlqKpUuXijNnzoh58+YJa2trcerUKRMnr10Mvc5PPvmkWLlypThx4oQ4e/asmDBhgnBxcRFXr141cfLaxdDrrHX58mXh5+cnevToIYYPH26asLWYode5qKhIdOzYUQwePFgcPHhQXL58WcTGxoqEhAQTJ69dDL3O69evF0qlUqxfv15cvnxZ7N69W/j4+IjZs2ebOHntsnPnTvHaa6+Jn376SQAQmzdvrnT/pKQkYW9vL6KiosSZM2fEhx9+KCwtLcWuXbuMmpOFTjV17txZTJ06VfdcrVYLX19fER0dXe7+o0ePFkOGDNHbFhYWJp599lmj5qztDL3O9yspKRFOTk7iyy+/NFZEs1Cd61xSUiK6du0qPvvsMzF+/HgWOlVg6HX+5JNPRKNGjURxcbGpIpoFQ6/z1KlTRZ8+ffS2RUVFiW7duhk1pzmpSqEzZ84c0apVK71tjz/+uIiMjDRiMiHYdVUNxcXFOHbsGPr166fbZmFhgX79+iE+Pr7cY+Lj4/X2B4DIyMgK96fqXef75efnQ6VSwd3d3Vgxa73qXueFCxfC09MTkydPNkXMWq8613nbtm0IDw/H1KlT4eXlhdatW+Odd96BWq02VexapzrXuWvXrjh27JiueyspKQk7d+7E4MGDTZK5rpDq96CsbgFRW2RlZUGtVutuTaHl5eWFc+fOlXtMRkZGuftnZGQYLWdtV53rfL+XX34Zvr6+Zf7PRf+qznU+ePAgPv/8cyQkJJggoXmoznVOSkrCvn378H//93/YuXMnLl68iBdeeAEqlQoLFiwwRexapzrX+cknn0RWVha6d+8OIQRKSkrw3HPP4dVXXzVF5Dqjot+DOTk5KCgogJ2dnVHely06ZLYWL16MjRs3YvPmzbC1tZU6jtm4e/cuxo4dizVr1sDDw0PqOGZNo9HA09MTq1evRmhoKB5//HG89tprWLVqldTRzEpsbCzeeecdfPzxxzh+/Dh++ukn7NixA4sWLZI6GtUAtuhUg4eHBywtLZGZmam3PTMzE97e3uUe4+3tbdD+VL3rrPXee+9h8eLF+PXXX9G2bVtjxqz1DL3Oly5dwpUrV/DII4/otmk0GgCAlZUVEhMT0bhxY+OGroWq8+fZx8cH1tbWsLS01G1r0aIFMjIyUFxcDBsbG6Nmro2qc51ff/11jB07FlOmTAEAtGnTBnl5eXjmmWfw2muv6d1Mmqqvot+Dzs7ORmvNAdiiUy02NjYIDQ1FTEyMbptGo0FMTAzCw8PLPSY8PFxvfwDYu3dvhftT9a4zACxduhSLFi3Crl270LFjR1NErdUMvc7NmzfHqVOnkJCQoHsMGzYMvXv3RkJCAvz9/U0Zv9aozp/nbt264eLFi7pCEgDOnz8PHx8fFjkVqM51zs/PL1PMaItLwfte1xjJfg8adaizGdu4caNQKpVi3bp14syZM+KZZ54Rrq6uIiMjQwghxNixY8Urr7yi2z8uLk5YWVmJ9957T5w9e1YsWLCA08urwNDrvHjxYmFjYyN++OEHkZ6ernvcvXtXqo9QKxh6ne/HWVdVY+h1TklJEU5OTmLatGkiMTFRbN++XXh6eoq33npLqo9QKxh6nRcsWCCcnJzEt99+K5KSksSePXtE48aNxejRo6X6CLXC3bt3xYkTJ8SJEycEAPH++++LEydOiOTkZCGEEK+88ooYO3asbn/t9PKXXnpJnD17VqxcuZLTy+Xuww8/FA0bNhQ2Njaic+fO4o8//tC9FhERIcaPH6+3//fffy+aNm0qbGxsRKtWrcSOHTtMnLh2MuQ6BwQECABlHgsWLDB98FrG0D/P92KhU3WGXudDhw6JsLAwoVQqRaNGjcTbb78tSkpKTJy69jHkOqtUKvHGG2+Ixo0bC1tbW+Hv7y9eeOEFcfv2bdMHr0X2799f7t+32ms7fvx4ERERUeaYkJAQYWNjIxo1aiTWrl1r9JwKIdguR0REROaJY3SIiIjIbLHQISIiIrPFQoeIiIjMFgsdIiIiMlssdIiIiMhssdAhIiIis8VCh4iIiMwWCx0iIiIyWyx0iIiIyGyx0CGiOqFXr16YNWvWQ51DCIFnnnkG7u7uUCgUSEhIqJFsRGQ8LHSIyOQmTpyIefPmSR3DYLt27cK6deuwfft2pKeno3Xr1lJHIqIHsJI6ABHVLWq1Gtu3b8eOHTukjmKwS5cuwcfHB127dq1wn+LiYtjY2JgwFRFVhi06RFSpb7/9FnZ2dkhPT9dtmzhxItq2bYvs7GyDz3fo0CFYW1ujU6dO5b7eq1cvTJ8+HbNmzYKbmxu8vLywZs0a5OXlYeLEiXByckJwcDB++eUXveOKioowY8YMeHp6wtbWFt27d8eRI0cqzKHRaBAdHY2goCDY2dmhXbt2+OGHHyrcf8KECZg+fTpSUlKgUCgQGBioyztt2jTMmjULHh4eiIyMBFDa+tO9e3e4urqiXr16GDp0KC5duqT3/kuXLkVwcDCUSiUaNmyIt99+u6qXkYiqiIUOEVXqiSeeQNOmTfHOO+8AABYsWIBff/0Vv/zyC1xcXAw+37Zt2/DII49AoVBUuM+XX34JDw8PHD58GNOnT8fzzz+PUaNGoWvXrjh+/DgGDBiAsWPHIj8/X3fMnDlz8OOPP+LLL7/E8ePHERwcjMjISNy6davc94iOjsZXX32FVatW4fTp05g9ezaeeuop/Pbbb+Xu/8EHH2DhwoVo0KAB0tPT9YqoL7/8EjY2NoiLi8OqVasAAHl5eYiKisLRo0cRExMDCwsLjBw5EhqNBgAwd+5cLF68GK+//jrOnDmDDRs2wMvLy+DrSUQPIIiIHuDnn38WSqVSvPXWW8LNzU38/fffutdGjBghXF1dxX/+858qnatJkyZi+/btFb4eEREhunfvrnteUlIiHBwcxNixY3Xb0tPTBQARHx8vhBAiNzdXWFtbi/Xr1+v2KS4uFr6+vmLp0qW6886cOVMIIURhYaGwt7cXhw4d0nvvyZMnizFjxlSYbfny5SIgIKBM3vbt21f+oYUQN27cEADEqVOnRE5OjlAqlWLNmjUPPI6IHg7H6BDRAw0dOhQtW7bEwoULsWfPHrRq1Ur32syZMzFp0iR8+eWXDzzP2bNnce3aNfTt27fS/dq2bav72dLSEvXq1UObNm1027QtH9evXwdQOnZGpVKhW7duun2sra3RuXNnnD17tsz5L168iPz8fPTv319ve3FxMdq3b//Az3G/0NDQMtsuXLiA+fPn488//0RWVpauJSclJQX5+fkoKip64HUgoofHQoeIHmjXrl04d+4c1Gp1me6VXr16ITY2tkrn2bZtG/r37w9bW9tK97O2ttZ7rlAo9LZpu720xYOhcnNzAQA7duyAn5+f3mtKpdLg8zk4OJTZ9sgjjyAgIABr1qyBr68vNBoNWrdujeLiYtjZ2VUrNxEZjmN0iKhSx48fx+jRo/H555+jb9++eP3116t9rq1bt2L48OE1mK5U48aNdWNktFQqFY4cOYKWLVuW2b9ly5ZQKpVISUlBcHCw3sPf3/+h89y8eROJiYmYN28e+vbtixYtWuD27du615s0aQI7OzvExMQ89HsRUeXYokNEFbpy5QqGDBmCV199FWPGjEGjRo0QHh6O48ePo0OHDgad6/r16zh69Ci2bdtW4zkdHBzw/PPP46WXXoK7uzsaNmyIpUuXIj8/H5MnTy6zv5OTE1588UXMnj0bGo0G3bt3R3Z2NuLi4uDs7Izx48c/VB43NzfUq1cPq1evho+PD1JSUvDKK6/oXre1tcXLL7+MOXPmwMbGBt26dcONGzdw+vRpXd6PPvoImzdvZjFE9JBY6BBRuW7duoWBAwdi+PDhul/SYWFhGDRoEF599VXs2rXLoPP9/PPP6Ny5Mzw8PIwRF4sXL4ZGo8HYsWNx9+5ddOzYEbt374abm1u5+y9atAj169dHdHQ0kpKS4Orqig4dOuDVV1996CwWFhbYuHEjZsyYgdatW6NZs2b43//+h169eun2ef3112FlZYX58+fj2rVr8PHxwXPPPad7PSsrS286OhFVj0IIIaQOQUS1W2xsLD766KNK16EZNmwYunfvjjlz5pgwGRHVdWzRIaKH0q9fP/z111/Iy8tDgwYNsGnTJoSHh5fZr3v37hgzZowECYmoLmOLDhEREZktzroiIiIis8VCh4iIiMwWCx0iIiIyWyx0iIiIyGyx0CEiIiKzxUKHiIiIzBYLHSIiIjJbLHSIiIjIbLHQISIiIrPFQoeIiIjMFgsdIiIiMlv/Dxldcgp0gZqjAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "T = 120.3420\n", "model, traces = get_traces(T=T, ipures=[0,1])\n", "for trace in traces:\n", " df = pandas.DataFrame(trace)\n", " plt.plot(df['xL_0 / mole frac.'], df['pL / Pa'])\n", " plt.plot(df['xV_0 / mole frac.'], df['pV / Pa'])\n", " \n", "# Do the VLLE solving\n", "for soln in model.find_VLLE_T_binary(traces):\n", " print('rhovec / mol/m^3 | p / Pa')\n", " for rhovec in soln['polished']:\n", " rhovec = np.array(rhovec)\n", " rhotot = sum(rhovec)\n", " x = rhovec/rhotot\n", " p = rhotot*model.get_R(x)*T*(1+model.get_Ar01(T, rhotot, x))\n", " plt.plot(x[0], p, 'X')\n", " print(rhovec, p)\n", " \n", " # And also carry out the LLE trace for the two liquid phases\n", " j = model.trace_VLE_isotherm_binary(T, np.array(soln['polished'][1]), np.array(soln['polished'][2]))\n", " df = pandas.DataFrame(j)\n", " plt.plot(df['xL_0 / mole frac.'], df['pL / Pa'], 'k')\n", " plt.plot(df['xV_0 / mole frac.'], df['pV / Pa'], 'k')\n", "\n", "# Plotting niceties\n", "plt.ylim(top=3e6, bottom=0)\n", "plt.gca().set(xlabel='$x_1$ / mole frac.', ylabel='$p$ / Pa', title='nitrogen(1) + ethane(2)')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 3, "id": "297f0c92", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:30.964859Z", "iopub.status.busy": "2024-12-12T18:10:30.964452Z", "iopub.status.idle": "2024-12-12T18:10:31.664894Z", "shell.execute_reply": "2024-12-12T18:10:31.664342Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Calculated pressure is not finite\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, 'Nitrogen + ethane VLLE curve')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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385/tkePHr3kOef7d6mvw4cPX/J7MzMzjRo1ahjVqlUzTp48meO57O9Bhw4djA4dOuT6/gEDBhjVqlVzHO/Zs8cAjODgYOPIkSM5zv34449zvN/n1alTx7jpppscxy+//LIRFBRk/P333znOGzVqlOHt7W3s37//kv0Rz6QrPSJAZGQk9957L5988gmHDx8utNetUaMG0dHROdp++uknWrRoQdu2bR1tJUuW5MEHH2Tv3r1s3boVgAULFlCpUiV69uzpOC8gIIAHHnggx+vFxsayc+dO7rnnHo4fP+74v/bU1FQ6derE8uXLc13qf/jhh3Mct2vXjuPHj5OUlHTZ/pw+fTrX1QGAlJSUHG0nT5687OucOHGCpUuXOq44nf++48ePEx0dzc6dOy86o+5i6tSpQ7t27RzH5cqV47rrrmP37t2ONn9/f8cA9KysLI4fP07JkiW57rrrWL9+fa7XHDRoUI5xJedf//xrFuQ9/7f+/fuTlpbGzJkzHW3nr/wU9a2t559/nkWLFuX6Cg0NveT3bNiwgT179jBs2DBKly6d4zmbzVbgWu644w7KlSuXo61Xr174+Pgwffp0R9vmzZvZunUrd911l6NtxowZtGvXjjJlyuT48xcVFUVWVhbLly8vcF3injSQWeScZ599lq+++oo33ngjxxiFq1GjRo1cbfv27aNly5a52s/fstm3bx/16tVj37591KxZM9cvlGuuuSbH8c6dOwEYMGDAJetITEykTJkyjuOqVavmeP78cydPniQ4OPiSr/Pmm29e9DbYf//7X/773/86jqtVq3bZKea7du3CMAyee+45nnvuuYuec+TIESpVqnTJ1zjv330Bsz/Zg5fdbue9997jww8/ZM+ePWRlZTmeK1u27BVfM/v7AwV7z/+tW7duhIaG8vXXXzvGiX3zzTc0bNiQunXrXvL7CkP9+vUvOXPsUv755x+AK06dz6+L/R0JCwujU6dOfPvtt7z88suAeWvLx8eHXr16Oc7buXMnf/31V67QdN6RI0cKtVZxfQo9IudERkbSv39/PvnkE0aNGlUor1kcM7XOX1F46623aNSo0UXPKVmyZI5jb2/vi55nXGFMx3333ZfjChVA586dGTFiBF26dHG0Xanf52t+8sknc10JO+/f4e5S8tKX1157jeeee47Bgwfz8ssvExoaipeXF8OGDbvo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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "T = 113.0\n", "model, traces = get_traces(T=T, ipures = [0,1])\n", "\n", "# Find the VLLE solution for the starting temperature\n", "solns = model.find_VLLE_T_binary(traces)\n", "rhovecV, rhovecL1, rhovecL2 = solns[0]['polished']\n", "\n", "# Trace towards lower and higher temperatures\n", "for init_dT in [1.0e-3, -1.0e-3]:\n", "\n", " opt = teqp.VLLETracerOptions()\n", " opt.init_dT = init_dT\n", " opt.T_limit = -1 if init_dT < 0 else 10000\n", " opt.verbosity = 100\n", " a = lambda x: np.array(x)\n", " VLLE = model.trace_VLLE_binary(T, a(rhovecV), a(rhovecL1), a(rhovecL2), opt)\n", " df = pandas.DataFrame(VLLE)\n", " if df.empty:\n", " raise ValueError('No results')\n", "\n", " # Add the pressure to the DataFrame\n", " def add_ps(row, key):\n", " T = row['T / K']\n", " rhovec = np.array(row[key])\n", " rhotot = sum(rhovec)\n", " x = rhovec/rhotot\n", " p = rhotot*model.get_R(x)*T*(1+model.get_Ar01(T, rhotot, x))\n", " return p\n", " df['p / Pa'] = df.apply(add_ps, axis=1, key='rhoV / mol/m^3')\n", "\n", " # Plot the p-T curve\n", " plt.plot(df['T / K'], df['p / Pa'])\n", " \n", "plt.gca().set(xlabel='$T$ / K', ylabel='$p$ / Pa', yscale='log')\n", "plt.title('Nitrogen + ethane VLLE curve')" ] } ], "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.11.0" } }, "nbformat": 4, "nbformat_minor": 5 }