{ "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": "2025-10-15T23:08:25.557072Z", "iopub.status.busy": "2025-10-15T23:08:25.556941Z", "iopub.status.idle": "2025-10-15T23:08:26.004083Z", "shell.execute_reply": "2025-10-15T23:08:26.003550Z" } }, "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": "2025-10-15T23:08:26.006025Z", "iopub.status.busy": "2025-10-15T23:08:26.005725Z", "iopub.status.idle": "2025-10-15T23:08:26.436967Z", "shell.execute_reply": "2025-10-15T23:08:26.436469Z" } }, "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": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAHKCAYAAAAKMuFEAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWmNJREFUeJzt3XlcVPX+BvBn2IZ9E1lFQHHfUFTEDXfccummZb/cbXXnlmWZllaoZdoty7TSFs2ycknNJZRMpFxJc8EFBURAcQHZh5nv7w+ayZFFBpk5h+F5v15zY86cc+aZM175+N2OQgghQERERGSGLKQOQERERGQsLHSIiIjIbLHQISIiIrPFQoeIiIjMFgsdIiIiMlssdIiIiMhssdAhIiIis8VCh4iIiMwWCx0iIiIyWyx0iCQWGBiICRMmSB3DZHJzc+Hp6Yn169cbfKxKpYK/vz8+/vhjIyQzvnXr1kGhUODo0aNSR3mguvw9kXlhoUMkM2fOnMEbb7yBK1euSB3FKD744AM4OTnhiSee0G1LT0/HK6+8gt69e8PJyQkKhQKxsbFljrW2tkZUVBTefvttFBYWmjC1YT7++GOsW7dO6hgPpbzvKSYmBpMmTULTpk1hb2+PRo0aYcqUKUhPT9c7trZ8T1Q3sNAhklhiYiLWrFmje37mzBm8+eabZlnoqFQqfPDBB5gyZQosLS112xMTE7FkyRKkpaWhTZs2lZ5j4sSJyMrKwoYNG4wdt9pqe6FT0ff08ssvIzY2FiNHjsT//vc/PPHEE/j+++/Rvn17ZGRk6J2jNnxPVDew0CGSmFKphLW1dbWOFUKgoKCghhMZz/bt23Hjxg2MHj1ab3toaChu3ryJ8+fPIyoqqtJzuLq6YsCAAdUuJN544w0EBgZW69i6oqLv6f3338fFixexZMkSTJkyBe+88w62b9+OzMxMfPTRR3r7Puz3RFRTWOgQGcEbb7wBhUKBixcvYsKECXB1dYWLiwsmTpyI/Px8vX3vHaOzbt06jBo1CgDQu3dvKBQKvW6cwMBADB06FLt370bHjh1hZ2eHTz/9FACQlJSEUaNGwd3dHfb29ujSpQt27NhRJltycjKGDRsGBwcHeHp6Yvbs2di9e3e53UV//vknBg4cCBcXF9jb2yMiIgJxcXHV/qxbtmxBYGAgGjdurLfdyckJ7u7uVb6+/fv3x8GDB3Hr1q0qH1MTNBoNVqxYgVatWsHW1hZeXl549tlncfv2bd0+gYGBOH36NH777Tfd99erVy+98xQVFSEqKgr169eHg4MDRo4ciRs3bujts3XrVgwZMgS+vr5QKpVo3LgxFi1aBLVarbdfr1690Lp1a5w5cwa9e/eGvb09/Pz8sHTp0jL5i4qKsGDBAgQHB0OpVMLf3x9z5sxBUVGR3n4VfU89e/aEhYVFmW3u7u44e/ZsmfeT6nsiupeV1AGIzNno0aMRFBSE6OhoHD9+HJ999hk8PT2xZMmScvfv2bMnZsyYgf/973949dVX0aJFCwDQ/Rco7eYZM2YMnn32WTz99NNo1qwZMjMz0bVrV+Tn52PGjBmoV68evvzySwwbNgw//PADRo4cCQDIy8tDnz59kJ6ejpkzZ8Lb2xsbNmzA/v37y2TZt28fBg0ahNDQUCxYsAAWFhZYu3Yt+vTpg99//x2dO3c2+LMeOnQIHTp0eOjrGhoaCiEEDh06hKFDhz70+arq2Wefxbp16zBx4kTMmDEDly9fxkcffYQTJ04gLi4O1tbWWLFiBaZPnw5HR0e89tprAAAvLy+980yfPh1ubm5YsGABrly5ghUrVmDatGn47rvvdPusW7cOjo6OiIqKgqOjI/bt24f58+cjJycH7777rt75bt++jYEDB+LRRx/F6NGj8cMPP+Dll19GmzZtMGjQIAClRdqwYcNw8OBBPPPMM2jRogVOnTqF5cuX4/z589iyZYvufIZ8T7m5ucjNzYWHh0eZ16T6noj0CCKqcQsWLBAAxKRJk/S2jxw5UtSrV09vW0BAgBg/frzu+aZNmwQAsX///jLnDQgIEADErl279LbPmjVLABC///67btvdu3dFUFCQCAwMFGq1WgghxLJlywQAsWXLFt1+BQUFonnz5nrvqdFoRJMmTURkZKTQaDS6ffPz80VQUJDo37+/wZ9VpVIJhUIh/vvf/5Z3yar0+bWuXbsmAIglS5ZUeq7yLFiwQAQEBBh83O+//y4AiPXr1+tt37VrV5ntrVq1EhEREWXOsXbtWgFA9OvXT++6zp49W1haWoo7d+7otuXn55c5/tlnnxX29vaisLBQty0iIkIAEF999ZVuW1FRkfD29hb/+c9/dNu+/vprYWFhofdnRAghVq1aJQCIuLg4IUTVvyetRYsWCQAiJiamzGsP8z0R1RR2XREZ0XPPPaf3vEePHrh58yZycnKqfc6goCBERkbqbdu5cyc6d+6M7t2767Y5OjrimWeewZUrV3DmzBkAwK5du+Dn54dhw4bp9rO1tcXTTz+td76EhARcuHABTz75JG7evImsrCxkZWUhLy8Pffv2xYEDB6DRaAz6rLdu3YIQAm5ubtX+7Frac2RlZT1wX2127SM/Px8ajabM9vu7b+63adMmuLi4oH///nrHhYaGwtHRsdxWsYo888wzUCgUuuc9evSAWq1GcnKybpudnZ3u57t37yIrKws9evRAfn4+zp07p3c+R0dHPPXUU7rnNjY26Ny5M5KSkvTyt2jRAs2bN9fL36dPHwDQ5Tfkezpw4ADefPNNjB49WneeexnyPREZC7uu/nHgwAG8++67OHbsGNLT07F582aMGDHCoHMIIbBs2TKsXr0aycnJ8PDwwAsvvKBrvqa6p2HDhnrPtX/x3759G87OztU6Z1BQUJltycnJCAsLK7Nd2+WVnJyM1q1bIzk5GY0bN9b7JQsAwcHBes8vXLgAABg/fnyFObKzs/V+GVb1swohKjxnVWnPcf/nKE/9+vWrtH3t2rWVrmd04cIFZGdnw9PTs9zXr1+//sAsWpVdK63Tp09j3rx52LdvX5nCODs7W+95gwYNylwLNzc3nDx5Ui//2bNnK7we9+d/0Pd07tw5jBw5Eq1bt8Znn31W7j6GfE9ExsJC5x95eXlo164dJk2ahEcffbRa55g5cyb27NmD9957D23atMGtW7c4CK+Ou3dq7r0e5pf9vf/SNxZta827776LkJCQcvdxdHTUe/6gz+ru7g6FQqH3y7y6tOcob1zI/fbu3av3/KuvvsKePXvwzTff6G1v1apVpefRaDSVLqBXUQFRngddqzt37iAiIgLOzs5YuHAhGjduDFtbWxw/fhwvv/xymda0qvw502g0aNOmDd5///1y9/X39wdQte8pNTUVAwYMgIuLC3bu3AknJ6dy9zPkeyIyFhY6/xg0aJBu0F55ioqK8Nprr+Hbb7/FnTt30Lp1ayxZskQ3m+Ls2bP45JNP8Pfff6NZs2YAyv+XN9GDVOdfvwEBAUhMTCyzXdvFERAQoPvvmTNnIITQe5+LFy/qHaedbePs7Ix+/foZnKc8VlZWaNy4MS5fvvzQ59Ke495B2hW5P//Bgwdha2tr8Odq3Lgxfv31V3Tr1u2BxebDtmDExsbi5s2b+Omnn9CzZ0/d9oe5do0bN8Zff/2Fvn37VprvQd/TzZs3MWDAABQVFSEmJgY+Pj4VnsuQ74nIWDhGp4qmTZuG+Ph4bNy4ESdPnsSoUaMwcOBAXRP/zz//jEaNGmH79u0ICgpCYGAgpkyZwhYdMpiDgwOA0n/VV9XgwYNx+PBhxMfH67bl5eVh9erVCAwMRMuWLQEAkZGRSEtLw7Zt23T7FRYW6i1YCJTOlmncuDHee+895Obmlnm/+6dCV1V4eHiN3P7g2LFjUCgUCA8Pf+hzVdXo0aOhVquxaNGiMq+VlJTofV8ODg4GfX/307bQ3NsiU1xc/FC3VBg9ejTS0tLKfNcAUFBQgLy8PN3zir6nvLw8DB48GGlpadi5cyeaNGlS6XtK8T0R3Y8tOlWQkpKCtWvXIiUlBb6+vgCAF198Ebt27cLatWvxzjvvICkpCcnJydi0aRO++uorqNVqzJ49G4899hj27dsn8Seg2iQkJASWlpZYsmQJsrOzoVQq0adPnwrHhgDAK6+8gm+//RaDBg3CjBkz4O7uji+//BKXL1/Gjz/+qFv75Nlnn8VHH32EMWPGYObMmfDx8cH69etha2sL4N+WCAsLC3z22WcYNGgQWrVqhYkTJ8LPzw9paWnYv38/nJ2d8fPPPxv82YYPH46vv/4a58+fR9OmTfVee+uttwCUjk0BgK+//hoHDx4EAMybN09v371796Jbt26oV6+ewRmqKyIiAs8++yyio6ORkJCAAQMGwNraGhcuXMCmTZvwwQcf4LHHHgNQWih+8skneOuttxAcHAxPT89yB+tWpGvXrnBzc8P48eMxY8YMKBQKfP311w/V5Tl27Fh8//33eO6557B//35069YNarUa586dw/fff69bmwmo+Hv6v//7Pxw+fBiTJk3C2bNn9dbOcXR0LDOuUYrviagMKaZ6yR0AsXnzZt3z7du3CwDCwcFB72FlZSVGjx4thBDi6aefFgBEYmKi7rhjx44JAOLcuXOm/ggkMe2U6xs3buht104vvnz5sm7b/dPLhRBizZo1olGjRsLS0lJvqnVAQIAYMmRIue956dIl8dhjjwlXV1dha2srOnfuLLZv315mv6SkJDFkyBBhZ2cn6tevL/773/+KH3/8UQAQf/zxh96+J06cEI8++qioV6+eUCqVIiAgQIwePVpvKrEhn7WoqEh4eHiIRYsWlckFoMLHve7cuSNsbGzEZ599Vu51eJDqTi/XWr16tQgNDRV2dnbCyclJtGnTRsyZM0dcu3ZNt09GRoYYMmSIcHJyEgB0U8211+TIkSN659y/f3+ZKfVxcXGiS5cuws7OTvj6+oo5c+aI3bt3l9kvIiJCtGrVqkzO8ePHl/mcxcXFYsmSJaJVq1ZCqVQKNzc3ERoaKt58802RnZ2t26+i70m7vEF5j/vf62G/J6KawkKnHPcXOhs3bhSWlpbi3Llz4sKFC3qP9PR0IYQQ8+fPF1ZWVnrnyc/PFwDEnj17TBmfyGDLly8XAMTVq1eN/l4LFy4UQUFBoqSkpFrHL1++XPj4+JS7zgzVHH5PZC44RqcK2rdvD7VajevXryM4OFjv4e3tDQDo1q0bSkpKcOnSJd1x58+fB/DvQFAiObj/3liFhYX49NNP0aRJE/j5+Rn9/WfPno3c3Fxs3LjR4GNVKhXef/99zJs3zySzz+oyfk9kLhRC1MCiFmYgNzdXN/Okffv2eP/999G7d2+4u7ujYcOGeOqppxAXF4dly5ahffv2uHHjBmJiYtC2bVsMGTIEGo0GnTp1gqOjI1asWAGNRoOpU6fC2dkZe/bskfjTEf1r0KBBaNiwIUJCQpCdnY1vvvkGp0+fxvr16/Hkk09KHY+IqEax0PlHbGwsevfuXWb7+PHjsW7dOqhUKrz11lv46quvkJaWBg8PD3Tp0gVvvvkm2rRpAwC4du0apk+fjj179sDBwQGDBg3CsmXLDLpZIZGxrVixAp999hmuXLkCtVqNli1bYs6cOXj88celjkZEVONkU+h88skn+OSTT3DlyhUApYt3zZ8/v9K1bTZt2oTXX38dV65cQZMmTbBkyRIMHjzYRImJiIhI7mQzRqdBgwZYvHgxjh07hqNHj6JPnz4YPny4bqrp/Q4dOoQxY8Zg8uTJOHHiBEaMGIERI0bg77//NnFyIiIikivZtOiUx93dHe+++y4mT55c5rXHH38ceXl52L59u25bly5dEBISglWrVpkyJhEREcmULBcMVKvV2LRpE/Ly8ipcUTM+Ph5RUVF62yIjI7Fly5YKz1tUVKR3h2KNRoNbt26hXr16vOkcERFRLSGEwN27d+Hr66tbELUisip0Tp06hfDwcBQWFsLR0RGbN2/WLV1/v4yMDHh5eelt8/LyQkZGRoXnj46OxptvvlmjmYmIiEgaqampaNCgQaX7yKrQadasGRISEpCdnY0ffvgB48ePx2+//VZhsWOouXPn6rUCZWdno2HDhkhNTYWzs3ONvAeZt5EjR2Lfvn1YtWoVxowZI3UcIiJMnjwZP/zwAxYvXoznn39e6jgmkZOTA39/fzg5OT1wX1kVOjY2NggODgZQeq+YI0eO4IMPPsCnn35aZl9vb29kZmbqbcvMzNQt4FcepVIJpVJZZruzszMLHaoS7ZA2/pkhIrm495d9Xft7qSrDTmQz66o8Go1Gb0zNvcLDwxETE6O3be/evbxLLhmVSqUCAFhbW0uchIiolPamvPevek6lZNOiM3fuXN2KrXfv3sWGDRsQGxuL3bt3AwDGjRsHPz8/REdHAwBmzpyJiIgILFu2DEOGDMHGjRtx9OhRrF69WsqPQWZOW+jY2NhInISIqJS20CksLJQ4iTzJptC5fv06xo0bh/T0dLi4uKBt27bYvXs3+vfvDwBISUnRG1ndtWtXbNiwAfPmzcOrr76KJk2aYMuWLWjdurVUH4HqgOLiYgBs0SEi+dDeT4yFTvlkU+h8/vnnlb4eGxtbZtuoUaMwatQoIyUiKotdV0QkN2zRqZysx+gQyQ0LHSKSG47RqRwLHSIDcIwOEckNW3Qqx0KHyABs0SEiueEYncqx0CEyAAcjE5HcsOuqcix0iAzAFh0ikht2XVWOhQ6RAThGh4jkhoVO5VjoEBmALTpEJDcco1M5FjpEBmChQ0RywzE6lWOhQ1RFGo0GarUaAAsdIpIPdl1VjoUOURVpW3MAjtEhIvlgoVM5FjpEVXRvocMWHSKSC47RqRwLHaIqYqFDRHLEMTqVY6FDVEX3FjpWVrK5Hy4R1XHaQketVqOkpETiNPLDQoeoirSrIltZWUGhUEichoiolLbQAdiqUx4WOkRVxMUCiUiOWOhUjoUOURWx0CEiObKwsIBSqQTAQqc8LHSIqog39CQiudLOvGKhUxYLHaIqYosOEckVC52KsdAhqiK26BCRXLHQqRgLHaIq4n2uiEiu7O3tAbDQKQ8LHaIq0rbosOuKiOSGLToVY6FDVEVs0SEiuWKhUzEWOkRVxBYdIpIrFjoVY6FDVEVs0SEiudIWOvn5+RInkR8WOkRVxBYdIpIrtuhUjIUOURWxRYeI5IqFTsVY6BBVEVt0iEiuWOhUjIUOURWxRYeI5IqFTsVY6BBVEVt0iEiuWOhUjIUOURWxRYeI5IorI1eMhQ5RFbFFh4jkii06FWOhQ1RFtbVFRwghdQQiMjI5Fjpy+buHhQ5RFWkLndrSoqNSq7Dh7AaM+2UcVBqV1HGIyIjkVugIlQop4yfgzuYtUkeBldQBiGoLbdeV3Ft0hBDYnbwbHxz7AFdzrwIAtl/ajpFNRkqcjIiMRW4rI9/ZvBn5hw+j6MIFuI4cIWkWFjpEVVQbWnRO3zyNxX8uRsKNBABAPdt6eCHkBQxtPFTaYERkVHJr0XHq3RsZWAD17dsQGg0UFtJ1ILHQIaoiObfoZBdl43/H/4dN5zdBQMDOyg4TW03E+FbjYW9tL3U8IjIyuRU6Fvb//r0jCguhsJfu7yEWOkRVJMcWHW03VfSf0bhVeAsAMDhoMKJCo+Dl4CVxOiIyFbkVOgqlUvezKC4GWOgQyZ/cWnRu5N/Aoj8WYX/qfgBAkEsQXu/yOjp5d5I4GRGZmtwKHVha6n4UJSUSBmGhQ1RlcmrR2Zu8FwvjF+JO0R1YWVjhmTbPYEqbKbC2lEcRRkSmJbdCR6FQANbWgEoFoZJ21icLHaIqkkOLTr4qH2//+Ta2XdoGAGjh3gJvdX8LTd2aSpaJiKQnx5WRFVZWECoVhFotaQ4WOkRVJHWLzvnb5/Hf2P/iSs4VWCgsMKn1JLzQ7gW24hCRrkWnuLgYarUalvd0HUlFYWUFAbBFh6i2kKpFRwiBny78hOjD0ShSF8HT3hNLeixBR++OJs1BRPKlLXQAoLCwEA4ODhKmKaWbUq7RSJqDhQ5RFUlxCwiVWoW3/3wbP174EQDQ3a873un+Dtxs3UyWgYjk795Cp6CgQBaFjnZAMruuiGoJU9/UM6sgC1GxUThx/QQUUGBGhxmY1HoSLBS8cwsR6bOwsICNjQ2Ki4tlszoyLNmiQ1SrmLJF58zNM5ixbwYy8zPhZO2EpRFL0d2vu9Hfl4hqLzs7OxQXF8tmQLLCQh4tOvynIVEVmapF58DVA5iwawIy8zMR6ByIDUM2sMghogeS2xRzubTosNAhqiJTtOhsOr8J0/dNR0FJAbr6dsWGIRsQ6BJotPcjIvMht0JHIUoLnNtnD0iag4UOURUZs0VHCIEPT3yIhfELoREajAgegY/6fgQnG6cafy8iMk9yK3QKi4sAADcPfIZClXTdVxyjQ1RFxmrRUWvUWPTHIt3MqufaPYcX2r1QurIoEVEVyanQycguRG5xCVwAuDrYw9ZaunV92KJDVEXGaNEp0ZRgXtw8/HjhR1goLLAgfAGmhkxlkUNEBpPL6shCCLz840loROlzd0fpbugJyKjQiY6ORqdOneDk5ARPT0+MGDECiYmJlR6zbt06KBQKvYetra2JElNdU9MtOiqNCi8feBnbk7bDUmGJJT2W4LGmj9XIuYmo7pFLi87XfyTjt/M3oPv3moW0nUeyKXR+++03TJ06FX/88Qf27t0LlUqFAQMGIC8vr9LjnJ2dkZ6ernskJyebKDHVNTXZolOsLkZUbBT2JO+BlYUVlvVahoFBAx/6vERUd8mh0DlzLQdv7TgLAHCy+6fAUUh7mxrZjNHZtWuX3vN169bB09MTx44dQ8+ePSs8TqFQwNvb29jxiGqsRaewpBCz9s9C3LU4KC2VWN5rOXo06FETEYmoDpO60MkpVGHqhuMoLtGgT3NP2B+1QhEASLzIqWxadO6XnZ0NAHB3d690v9zcXAQEBMDf3x/Dhw/H6dOnK9y3qKgIOTk5eg+iqqqJm3qqNCq89NtLiLsWBzsrO6zsu5JFDhHVCG2hI8XKyBqNwH+//wuXs/Lg62KLZaPaASgdpCMU0t5gVJaFjkajwaxZs9CtWze0bt26wv2aNWuGL774Alu3bsU333wDjUaDrl274urVq+XuHx0dDRcXF93D39/fWB+BzNDD3tRTIzSYHzcfsVdjobRUYmXflQjzCavJiERUh0nZovP+3vPYeyYTNlYW+OSpULg52ADaMToKjtEpY+rUqfj777+xcePGSvcLDw/HuHHjEBISgoiICPz000+oX78+Pv3003L3nzt3LrKzs3WP1NRUY8QnM6TRaKD+Zxnz6rToCCGw+PBibE/aDiuFFd7v9T46eXeq6ZhEVIdJVej8cOwqPtp/EQAQPbIN2vm76u8gcdeVbMboaE2bNg3bt2/HgQMH0KBBA4OOtba2Rvv27XHx4sVyX1cqlVAqlTURk+oYbbcVUL0WnY//+hjfnvsWCijwVve30LNBxePOiIiqQ4pCJzbxOl758SQA4IVejfGf0H9/b+tmXbHrqpQQAtOmTcPmzZuxb98+BAUFGXwOtVqNU6dOwcfHxwgJqS67t9AxtEXn6zNfY9VfqwAAc8PmYkijITWajYgIMH2hc/TKLTz/zXGUaARGhPjixQHN7ttDO0aHLToASrurNmzYgK1bt8LJyQkZGRkAABcXF92XN27cOPj5+SE6OhoAsHDhQnTp0gXBwcG4c+cO3n33XSQnJ2PKlCmSfQ4yT9rxOYBhLTpbL27F0iNLAQDTQqZhTPMxNZ6NiAgwbaGTkHoHE9ceQYFKjYim9bH0sXawsLhvoVPdU2lbdGRT6HzyyScAgF69eultX7t2LSZMmAAASElJgYXFv5Xh7du38fTTTyMjIwNubm4IDQ3FoUOH0LJlS1PFpjpC26KjUChgaVm1/9PuS9mHBYcWAADGthyLZ9o+Y7R8RESmWhn5eMptjP/8MO4WlaBzkDtWPRUKG6uyrTb/dl2xRQdAadfVg8TGxuo9X758OZYvX26kRET/unfGVVVuz3DqxinMOTAHaqHG8MbD8WLHF3lbByIyKlO06By6lIUpXx5FfrEanQPdsXZCJ9jZPOgff9L+3SebQodIzgxZQyczLxMz989EkboIPRv0xBtd34CFxP+iISLzZ+xCZ8fJdMz+LgHFag26BdfD6rEd4aCsrIyQxzo6LHSIqqCqa+gUlBRgxv4ZuFFwA8GuwVjSYwmsJL7PCxHVDcYqdIQQ+Oz3y3jnl7MQAohs5YUPnmhfhTuS/9NTw64rIvmryu0fhBB4Pe51nLl5Bm5KN3zY50M42jiaKiIR1XHGKHSKStSYv+U0vjtauu7c2C4BeGNYK1jeP/C4Uix0iGSvKjf0XPXXKuy+shtWFlZY3ns5GjgZtg4UEdHDqOlbQKRnF+D5b44jIfUOLBTA60NbYkLXwKqPN1RoW3Q4RodI9h7UorP7ym58/NfHAID5XeYj1CvUZNmIiICabdHZf+46/rvpL9zKK4aLnTU+eCIEvZp5GnQOXXnz4LlGRsVCh6gKKmvROX3zNOYdnAcAGNdyHEY2GWnSbEREQM0UOoUqNd7dnYjPD14GALTydcYn/xeKhvXsHyIZu66IZK+iFp0b+TcwI2YGCtWF6OHXA1GhUVLEIyJ66ELn1NVsRH2fgAvXcwEA48MDMHdwiyoMOq6IdtYVu66IZK+8Fp0STQleOvASrhdcR2OXxljacyksLaSdRklEdZe20CkqKoJGo9FbYLcyBcVqLP/1PD4/eBlqjYCHoxJLH2uDPs29aigZCx0i2SuvRefjhI9xLPMYHKwd8EGfDzjDiogkpS10AKCwsFC3UnJFhBDYeyYTC7efwdXbpa1AQ9v6YOHw1nB3MOyefuXS1TfsuiKSvftbdA6mHcSaU2sAAG90fQMBzgGSZSMiAvQLnYKCgkoLnfOZd7Fo+xn8fiELAODrYou3RrauwVYc+WChQ1QF97boZORlYO7vcwEAjzd7HAMDB0oZjYgIAGBlZQVra2uoVKoKx+lcu1OA5XvP48fjV6ERgI2lBZ7uGYQXegU/YJVjwyl0063YdUUkazkxKcj45hSA0kLnl6+/xforb2N3wz8xrtMMidMREQHxP36LQ99vgI21FVQqFQ5t+R6pv+9H19FPIvw/Y5B2pwCfxF7E90euolitAQAMbOWNVwY1R6CHQ41mObLjMg7/fBnNnPvAD1txMqsJTj63D50fCUKnIUE1+l5VwUKHqBI5MSnI2ZuMEo0aAJCfehv9r3QEAAxK6YKi2Ewo+zaUMiIR1XGlRc56AICFprSI+fPnLfB1dcah79djz+lMfFPUFCp1aQtLWJA7Xh7UHB0autV4Fm2RAwCJrgNwvV1D3M5qCgC67aYudninQaJK5OxNBgAUq0u7rhxL7Mp9nYhIKoe+36D72cqy9Ne6Sq3WbXM4/StUaoGujevh26e7YOMzXYxS5AD/FjNat12bVfq6KbDQIaqEc//SQca/XjwEAPjl/G/lvk5EJJWuo5/U/Xw7r3RszuUbt3TbbjXrgx+fD8eGp7sgvHG9qt/CoRo6P3Jfa8197xU2zPRdVyx0iCrh3LchbBq7oJG7PwCgvoO77jVlsCuc2W1FRBLKLlDhWmAP5LgH6t1pwclOCQHAq3kbvLMwCqEB7hWdokZ1GhKEBs3Lby1q0NwNHQdzjA6RrOTEpKD4UjZe6jEFQW5+iGzaU/da0cU7yIlJYbFDRCZ1M7cIe85kYtffGTh0KQshWUfQ5c4VAMCLkT2RfPM22jf0gwJA5rlT+OPHjejynydMku3Ijsu4eu52ua9dPXcbR3deNnmxw0KHqBLZe5OhAOCotMeE0P+UeT1nbzILHSIyKpVagxMpd/D7hRv4/UIWTl69A809zTdhd47ofvZ2cYK3i5Pe8XHfrzdZoVNmDI4Qet1Xf25joUMkG0XqIuzwj8PQ1G66bcpgVxRdvKN7zjE6RFTT8opK8FfqHRxLvo1jKbdx5PIt5BWr9fZp7eeMQa19ENnKGzd+z9HNugKAhm1CkHIqQff83jE8xtb5kSC9Ysft9jncdm+h97qpsdAhqsBHJz7COsf1KPQpxGPpfeHcPwDOfRvqppxrnxMRVVdWbhHOpuf887iLs+k5OJ95V6/FBgDcHWzQLdgDPZp4oHuwB3xd/50BGvyfMQBKZ191G/1/6PKfJ3Tr6mjX0TEV7dTxwz9fRvPsXfA9+TOyHpuNk1nBkq2joxBCiAfvZp5ycnLg4uKC7OxsODs7Sx2HZORoxlFM2j0JAgIf9vkQvfx7SR2JiGoZIQRyCkpw/W4hrt8tQnp2IVJu5uHKzXwk//Pf7AJVucf6udohNMBN92jp4wwLC2lXGDZU6tCOyL2YB5/nhsN11uIaPbchv7/ZokN0nzxVHubFzYOAwKNNHmWRQ0RlXM8pxKZjV5FXVIJc7aOw9L95RSXIyi3GjdwiFJdoKj2PQgEE1XNAcx8ntPB2RgsfZ7T2c4G3i62JPonxSd2cwkKH6D7vHnkXablp8HP0w0sdX5I6DhHJ0M28Yry7O7FK+7rYWcPTSQkvZ1s0rGePwHr2CKjngMB6Dmjobg87G0sjp5WITBqgWOgQ3SM2NRY/XvgRCiiwqNsiONo4Sh2JiGTIw1GJUaEN4KC0gpOtFRyVVnD8578ONlZwc7CBp5MS9Z2UsLU200LmQRw9AVwG7D0kjcFCh+gftwpvYcGhBQCAcS3HoZN3J4kTEZFc1XdS4t1R7aSOIW/ujQBcBlylnbTBlZGJ/rH4z8W4VXgLwa7BmN5hutRxiIhqN23XlcSDdFjoEAE4cPUAfrnyCywUFnir+1tQWiqljkREVKsZ855ahmChQ3Veviofb//xNgBgbIuxaFWvlcSJiIjMCVt0iCS1MmElruVdg6+DL14IeUHqOEREZoItOkSSO33zNL45+w0AYF6XebC3tpc4ERGRmeEYHSJplGhK8OahN6ERGgwKHIQeDXpIHYmIyHxwjA6RtNafXY+zt87CycYJczrPkToOEZFZkvpOUyx0qE5Ky03DyoSVAIAXO74IDztpF7QiIjJbLHSITEsIgUV/LEJBSQE6enXEyOCRUkciIjI/7LoiksauK7sQlxYHawtrzA+fL5u1HoiIzJLEN/VkoUN1SnZRNhYfXgwAeKbtMwhyCZI4ERGRmZLJPyJZ6FCdsjJhJW4V3kIjl0aY3Hqy1HGIiMwfx+gQmcb52+fxXeJ3AIBXw16FtaW1xImIiMyYPBp0WOhQ3SCEwOLDi6ERGvQP6I8wnzCpIxER1Q1s0SEyvj3Je3Ak4wiUlkq82PFFqeMQEZk9uUz0YKFDZq+gpADLji4DAExqPQm+jr4SJyIiqkvYokNkVGv/Xov0vHT4OPhgYuuJUschIqoj2KJDZHRpuWn44u8vAJSugGxnZSdxIiIiMiUWOmTWlh1dhiJ1ETp7d0b/gP5SxyEiqns4GJnIOP5I/wN7k/fCUmGJlzu/LJuBcUREdYJM/s5loUNmqURTgiWHlwAAHm/2OJq6NZU4ERFR3cS7lxMZwXeJ3+HinYtwVbrihZAXpI5DRFT3sEWHyDjuFN7ByoSVAIAZHWbARekicSIiojqMN/UkqllrTq3B3eK7aOrWFI8GPyp1HCKiuoktOkQ1Ly03Dd+e+xYAEBUaBUsLS4kTERGRlFjokFn58MSHUGlUCPMJQ1ffrlLHISIiDkYuFR0djU6dOsHJyQmenp4YMWIEEhMTH3jcpk2b0Lx5c9ja2qJNmzbYuXOnCdKSHJ29eRY7knYAAGaHzuZ0ciIiKcnkr2DZFDq//fYbpk6dij/++AN79+6FSqXCgAEDkJeXV+Exhw4dwpgxYzB58mScOHECI0aMwIgRI/D333+bMDnJxfJjywEAg4MGo1W9VhKnISIiObCSOoDWrl279J6vW7cOnp6eOHbsGHr27FnuMR988AEGDhyIl156CQCwaNEi7N27Fx999BFWrVpl9MwkH4fSDiE+PR7WFtaY3n661HGIiOo8ubSqy6ZF537Z2dkAAHd39wr3iY+PR79+/fS2RUZGIj4+vtz9i4qKkJOTo/eg2k8jNHj/2PsAgCeaP4EGTg0kTkRERDoco1OWRqPBrFmz0K1bN7Ru3brC/TIyMuDl5aW3zcvLCxkZGeXuHx0dDRcXF93D39+/RnOTNHYk7UDi7UQ4WTvhmTbPSB2HiIhkRJaFztSpU/H3339j48aNNXreuXPnIjs7W/dITU2t0fOT6RWpi/DhiQ8BAJPaTIKrrau0gYiI6B/y6LqSzRgdrWnTpmH79u04cOAAGjSovAvC29sbmZmZetsyMzPh7e1d7v5KpRJKpbLGspL0vj37LdLz0uFl74WnWjwldRwiIiqDXVcASm/6NW3aNGzevBn79u1DUFDQA48JDw9HTEyM3ra9e/ciPDzcWDFJRrKLsrH61GoAwNSQqbC1spU4ERER6chkMLJsWnSmTp2KDRs2YOvWrXByctKNs3FxcYGdnR0AYNy4cfDz80N0dDQAYObMmYiIiMCyZcswZMgQbNy4EUePHsXq1asl+xxkOp+d+gx3i+8i2DUYwxoPkzoOERHJkGxadD755BNkZ2ejV69e8PHx0T2+++473T4pKSlIT0/XPe/atSs2bNiA1atXo127dvjhhx+wZcuWSgcwk3m4nn9dd6uH2aGzeasHIiK5knjWlWxadEQVLkRsbGyZbaNGjcKoUaOMkIjk7PNTn6NIXYSQ+iHo4ddD6jhERHQ/mXRdyaZFh6iqMvIysOn8JgDA1PZTZbMoFRERyQ8LHap11pxcA5VGhY5eHRHmHSZ1HCIiqkRVemyMiYUO1SppuWn46eJPAIAXQl5gaw4REVWKhQ7VKmtOrkGJpgRhPmHo5N1J6jhERFQRmfxDlIUO1RqpOanYcnELAGBayDRpwxARUa3AQodqjVUnV0Et1Ojm1w0hniFSxyEioqqQdogOCx2qHa5kX8H2pO0AgKntpkqchoiIagsWOlQrrDq5ChqhQa8GvdCmfhup4xARUS3BQodk79KdS9iZtBNA6UwrIiKqBbRjkTm9nKhyn/z1CQQE+jbsixb1Wkgdh4iIahEWOiRr52+fx+4ruwGwNYeIiAzHQodkbdVfqwAAkYGRaOrWVOI0RERkMHZdEZUv6U4Sfk3+FQDwXNvnJE5DREQG4YKBRJX7/O/PdWNzgt2CpY5DRES1EAsdkqW03DTsSNoBAJjSZorEaYiIqLZioUOytPbvtVALNcJ9wtHao7XUcYiIqJZioUOycyP/BjZf2AwAeLrt0xKnISKi2oyFDsnO12e+RrGmGCH1Q9DRq6PUcYiIqBoUHIxMVFZ2UTa+S/wOQGlrjlz+j0JERLUTCx2SlQ1nNyC/JB/N3Jqhh18PqeMQEdFD4zo6RACAPFUevjn7DQBgStspbM0hIqKHxkKHZGNT4ibkFOcg0DkQ/Rv2lzoOERGZARY6JAtF6iJ8eeZLAMCk1pNgaWEpcSIiIno48miVZ6FDsrD14lZkFWTB28EbQxsNlToOERGZCRY6JDmVRoUv/v4CADCh1QRYW1pLnIiIiMwFCx2S3K7Lu5CWmwZ3W3f8p8l/pI5DRERmhIUOSUoIgbWn1wIAxrYcC1srW4kTERFRjRKcXk51WPy1eFy4fQH2VvYY3Wy01HGIiKimyGSJEBY6JKl1p9cBAB5t8iicbZylDUNERGaHhQ5JJvFWIuLT42GhsMBTLZ+SOg4REZkhFjokma/OfAUA6B/QH36OfhKnISIic8RChyRxPf86dl7eCQAY33K8xGmIiMhcsdAhSWw4uwElmhJ08OyANvXbSB2HiIjMFAsdMrl8VT6+P/89AGB8K7bmEBGR8bDQIZPbfHEz7hbfRYBzAHr595I6DhERGZHgOjpUl6g1anx95msAwLiW42Ch4B9BIiKzxHV0qC6KSYlBWm4aXJWueKTxI1LHISIiM2f1MAefOXMGKSkpKC4u1ts+bNiwhwpF5kkIgS9PfwkAeLzZ47CzspM4ERERmbtqFTpJSUkYOXIkTp06BYVCoet/U/zTTKVWq2suIZmNhBsJOJl1EjYWNnii+RNSxyEiojqgWl1XM2fORFBQEK5fvw57e3ucPn0aBw4cQMeOHREbG1vDEclcaFtzHmn8CDzsPCROQ0REdUG1WnTi4+Oxb98+eHh4wMLCAhYWFujevTuio6MxY8YMnDhxoqZzUi2XnJOMfSn7AJQOQiYiIjKFarXoqNVqODk5AQA8PDxw7do1AEBAQAASExNrLh2ZjW/OfAMBgZ4NeqKRayOp4xARkalIPL28Wi06rVu3xl9//YWgoCCEhYVh6dKlsLGxwerVq9GoEX+Jkb67xXex9dJWAMDYlmMlTkNERCYhj9nl1St05s2bh7y8PADAwoULMXToUPTo0QP16tXDd999V6MBqfbbenErCkoK0NilMcK8w6SOQ0REdUi1Cp3IyEjdz8HBwTh37hxu3boFNzc33cwrIgDQCA2+PfctAGBM8zH880FERCZl0BgdjUaDJUuWoFu3bujUqRNeeeUVFBQUAADc3d35S4zKiEuLQ8rdFDhZO3GBQCIiMjmDCp23334br776KhwdHeHn54cPPvgAU6dONVY2MgMbzm0AAIxoMgL21vYSpyEiorrGoELnq6++wscff4zdu3djy5Yt+Pnnn7F+/XpoNBpj5aNaLDknGQfTDkIBBcY0GyN1HCIiqoMMKnRSUlIwePBg3fN+/fpBoVDoppcT3WvjuY0AgB4NesDf2V/iNEREVBcZVOiUlJTA1tZWb5u1tTVUKlWNhqLaL1+Vjy0XtwAAnmz+pLRhiIiozjJo1pUQAhMmTIBSqdRtKywsxHPPPQcHBwfdtp9++qnmElKttO3SNuSqchHoHIhw33Cp4xARkVSkXS/QsBad8ePHw9PTEy4uLrrHU089BV9fX71t1XHgwAE88sgj8PX1hUKhwJYtWyrdPzY2FgqFoswjIyOjWu9PNUcIoRuE/ETzJ2ChqNYC3ERERA/NoBadtWvXGisH8vLy0K5dO0yaNAmPPvpolY9LTEyEs7Oz7rmnp6cx4pEB4tPjcTn7Muyt7DG88XCp4xARUR1WrQUDjWHQoEEYNGiQwcd5enrC1dW15gNRtX17tnSBwOHBw+Fo4yhxGiIiqstqfZ9CSEgIfHx80L9/f8TFxVW6b1FREXJycvQeVLNS76bit6u/AShdCZmIiEhKtbbQ8fHxwapVq/Djjz/ixx9/hL+/P3r16oXjx49XeEx0dLTeWCJ/f055rmnfnfsOAgJdfbsiyCVI6jhERFTHyabrylDNmjVDs2bNdM+7du2KS5cuYfny5fj666/LPWbu3LmIiorSPc/JyWGxU4PyVfn46WLpjDtOKSciIjkwqEVn/vz5OHbsmLGyPLTOnTvj4sWLFb6uVCrh7Oys96Cas+PyDtwtvosGjg3Q3a+71HGIiIgMK3SuXr2KQYMGoUGDBnj++efxyy+/oLi42FjZDJaQkAAfHx+pY9RJQgh8d+47AKVTyi0tLCVOREREsiCkXUjHoK6rL774AhqNBnFxcfj5558xa9YspKeno3///hg+fDiGDh0Kd3f3agXJzc3Va425fPkyEhIS4O7ujoYNG2Lu3LlIS0vDV199BQBYsWIFgoKC0KpVKxQWFuKzzz7Dvn37sGfPnmq9Pz2ck1knkXg7ETYWNhgRPELqOEREJDWFQuoEAKoxGNnCwgI9evTA0qVLkZiYiD///BNhYWH49NNP4evri549e+K9995DWlqaQec9evQo2rdvj/bt2wMAoqKi0L59e8yfPx8AkJ6ejpSUFN3+xcXF+O9//4s2bdogIiICf/31F3799Vf07dvX0I9ENWBT4iYAwMCggXBRVm/RSCIiopqmEKLm2pRu3LiBbdu2Ydu2bejRowdefPHFmjq1UeTk5MDFxQXZ2dkcr/MQsouy0W9TPxSqC/H1oK8R4hkidSQiIpJY+ptv4s63G+ExdSrqT59Wo+c25Pd3jc66ql+/PiZPnozJkyfX5GlJ5rYnbUehuhBN3JqgXf12UschIiLSqbXr6JA8CCF03Vajmo6CQiZ9skRERAALHXpIx68fx6XsS7CzssPQRkOljkNERKSHhQ49lE3nS1tzBgUNgpONk8RpiIiI9D1UoZOWlmbw7CoyH7cLb2PPldLp/KObjpY4DRERUVnVKnTi4uIQFBSEhg0bomHDhvDy8sLLL7/Mm2TWMdsubYNKo0IL9xZo5dFK6jhERERlVKvQefbZZ9GiRQscOXIEiYmJePfdd/Hrr7+iQ4cObOGpI4QQum6r0c3YmkNERPJUrULn0qVLWLFiBTp06IDg4GCMGzdOt+DfrFmzajgiydHhjMNIzkmGg7UDBgcNljoOERFRuapV6LRo0QLXr1/X26ZQKLBw4ULs2rWrRoKRvGlbc4Y2Ggp7a3uJ0xAREZWvWoXOhAkTMH36dKSmpupt5wrDdUNWQRZikmMAlK6dQ0REJFfVWhlZ2z3VpEkTPProowgJCYFarcY333yDpUuX1mQ+kqEtF7egRJSgbf22aObeTOo4REREFapWoZOeno6EhAT89ddfSEhIwLp163DhwgUoFAosXboUv/zyC9q2bYu2bdti4MCBNZ2ZJKQRGvxw/gcAbM0hIiL5q1ah4+XlhcjISERGRuq2FRYW4tSpU7oCaNu2bXjnnXdw586dmspKMhB/LR5puWlwsnFCZGDkgw8gIiKSUI3d1NPW1hadOnVCp06dauqUJEPaQcjDGg+DnZWdxGmIiIgqx1tAUJVlFWTht9TfAACPNXlM4jRERCRrQkidAAALHTLA9kvbdYOQg92CpY5DRES1gUIh6duz0KEqEULgp4s/AQBGBo+UOA0REVHVsNChKvnrxl+4nH0ZdlZ2GBjImXRERFQ7sNChKtlycQsAoH9AfzjaOEobhoiIqIpY6NAD5avy8cvlXwCw24qIiGoXFjr0QHuS9yC/JB8NnRoi1CtU6jhERERVxkKHHmjzhc0AgJFNRkIh8eh5IiIiQ7DQoUpdyb6C49ePw0JhgWGNh0kdh4iIyCAsdKhS2kHI3f26w9PeU9owREREBmKhQxUq0ZRg26VtADgImYiIaicWOlShuLQ43Ci4AXdbd0Q0iJA6DhERkcFY6FCFfrpQuhLy0EZDYW1pLXEaIiIiw7HQoXJlFWThwNUDANhtRUREtRcLHSrXjqQdpTfw9OANPImIqPZioUNlCCF03VYjm7A1h4iIai8WOlTGyayTSMpOgq2lLW/gSUREtRoLHSpDuxLygMABvIEnERHVaix0SE9BSQF2XdkFgIOQiYjoIQipA5RioUN69qXsQ54qDw0cG/AGnkRE9PAkvkUiCx3S8/OlnwEAwxoP4w08iYio1mOhQzrX868jPj0eADC08VCJ0xARET08FjqksyNpBzRCgw6eHeDv5C91HCIioofGQocAlK6do72B5yONH5E4DRERUc1goUMAgHO3zuHinYuwsbDBgMABUschIqLaTshj2hULHQIAXWtO74a94WzjLHEaIiIyGxJPbGGhQ1BpVNh5eSeA0tlWRERE5oKFDiH+WjxuFd6Cu607wn3DpY5DRERUY1jokK7banDQYFhbWEuchoiIqOaw0KnjcopzsD9lPwB2WxERkflhoVPH7bmyB8WaYgS7BqO5e3Op4xARkbngrCuSA97ygYiIjEnq3y0sdOqw1JxUHL9+HBYKCwxpNETqOERERDWOhU4dtj1pOwCgi08XeNp7SpyGiIio5rHQqaN4ywciIqoLWOjUUQk3EnA19yrsrezRx7+P1HGIiIiMQjaFzoEDB/DII4/A19cXCoUCW7ZseeAxsbGx6NChA5RKJYKDg7Fu3Tqj5zQX2tac/gH9YW9tL3EaIiIi45BNoZOXl4d27dph5cqVVdr/8uXLGDJkCHr37o2EhATMmjULU6ZMwe7du42ctPYrVhdj95XS68RuKyIiMg55TC+3kjqA1qBBgzBo0KAq779q1SoEBQVh2bJlAIAWLVrg4MGDWL58OSIjI40V0ywcTDuIu8V34WnniY5eHaWOQ0RE5ozTy6snPj4e/fr109sWGRmJ+Pj4Co8pKipCTk6O3qMu0t7Ac2DQQFhaWEqchoiIyHhqbaGTkZEBLy8vvW1eXl7IyclBQUFBucdER0fDxcVF9/D39zdFVFnJLc5FbGosAHDtHCIiMnu1ttCpjrlz5yI7O1v3SE1NlTqSye1L3YcidRECnQPRwr2F1HGIiMhMCd0tIKTtupLNGB1DeXt7IzMzU29bZmYmnJ2dYWdnV+4xSqUSSqXSFPFka0fSDgDA4EaDJV+Wm4iIyNhqbYtOeHg4YmJi9Lbt3bsX4eHhEiWSv6yCLPyR/gcAYEgQu62IiMj8yabQyc3NRUJCAhISEgCUTh9PSEhASkoKgNJup3Hjxun2f+6555CUlIQ5c+bg3Llz+Pjjj/H9999j9uzZUsSvFXZf2Q2N0KCNRxs0dG4odRwiIiKjk02hc/ToUbRv3x7t27cHAERFRaF9+/aYP38+ACA9PV1X9ABAUFAQduzYgb1796Jdu3ZYtmwZPvvsM04tr8TOpNLZVoODBkuchIiIzJ52jI7EwyRkM0anV69e9wxcKqu8VY979eqFEydOGDGV+UjNScXJrJOwUFhgYNBAqeMQERGZhGxadMi4tGvnhHmHwcPOQ+I0REREpsFCpw4QQmDH5dLZVlw7h4iITIorI5Oxnbt1DpezL8PGwgZ9G/aVOg4REZHJsNCpA7TdVhH+EXC0cZQ4DRER1QnyuKcnCx1zp9aodYUOu62IiMjkJF6bloWOmTt+/Tiu51+Hk7UTevj1kDoOERGRSbHQMXPaWz70D+wPG0sbidMQERGZFgsdM6ZSq7A3eS8ALhJIREQmVsnaeKbEQseMxafHI6c4Bx52Hujo1VHqOEREVAdJfQNpFjpmbNflXQCAAQEDYGlhKXEaIiKqU9iiQ8ZUpC7CvtR9AMBbPhARUZ3FQsdMHbx6EHmqPHg7eKNd/XZSxyEiorpGJjf1ZKFjpn658gsAIDIgEhYKfs1ERFQ38TegGcpX5ePA1QMA2G1FRERSY4sO1bADVw+goKQADRwboFW9VlLHISKiOomDkclIfrlc2m01MGig5NP6iIiIpMRCx8zkFufiYNpBAMDAQHZbERGRNAQHI5Mx7E/dj2JNMYJcgtDUranUcYiIiCTFQsfM6LqtAtltRUREEpLHEB0WOuYkuygb8dfiAbDbioiIZIJdV1RTYlJiUCJK0NStKRq5NpI6DhERkeRY6JiRe7utiIiIJKUbjCxtDBY6ZuJmwU0czjgMgIUOERGRFgsdMxGTEgON0KBlvZbwd/aXOg4REdV1vHs51aQ9V/YAACIDIyVOQkREBF2hI/UMYBY6ZuBmwU0cyTwCABgQMEDiNERERPdgoUMP695uqwZODaSOQ0REBLkspMNCxwzsSS7ttmJrDhERyQ9bdOgh3Cq8hSMZ7LYiIiJ5ERyMTDVhX8o+aIQGLdxbcLYVERHJh7bO4Rgdehja2VYDAtmaQ0REMsRCh6rrduFt3SKB7LYiIiJZYdcVPax9KfugFmo0d2+Ohs4NpY5DRERUFm8BQdXF2VZERCRbbNGhh3Gn8A7+TP8TAMfnEBGRDOlu6skxOlQN+1JLu62auTVDgHOA1HGIiIjKxVtAULVou636B/SXOAkREVF52HVF1ZRdlI0/r7HbioiI5Euw64qqKzY1FiWiBMGuwQhyCZI6DhERUVm6Bh0WOmSgX5N/BcBuKyIiqgXYokOGyFPl4dC1QwCAfgH9JE5DRERUAU4vp+r4/ervKNYUI8A5AE1cm0gdh4iIqHy6MTrSxmChU8vsTd4LAOjXsJ/kU/aIiIgqxMHIZKjCkkL8nvY7AI7PISIimfun0JH6H+UsdGqRuGtxKCgpgI+DD1rWayl1HCIiogoJsEWHDBSTHAMA6Nuwr+QVMhERUaV0g5FZ6FAVqNQqxKbGAmC3FRER1QK6OoeFDlXBnxl/4q7qLjzsPBDiGSJ1HCIiospxMDIZQrtIYB//PrBQ8GsjIiKZ4/Ryqiq1Ro19KfsAcJFAIiKqJTjriqrq+PXjuF10Gy5KF3T07ih1HCIioipg11W5Vq5cicDAQNja2iIsLAyHDx+ucN9169ZBoVDoPWxtbU2Y1jRiUkpnW/Vq0AvWFtYSpyEiInow3r28HN999x2ioqKwYMECHD9+HO3atUNkZCSuX79e4THOzs5IT0/XPZKTk02Y2PiEELpCp2/DvhKnISIiqiLdrCtpSw1ZFTrvv/8+nn76aUycOBEtW7bEqlWrYG9vjy+++KLCYxQKBby9vXUPLy8vEyY2vjM3zyAjLwN2VnYI9w2XOg4REVHVaDSl/+Vg5FLFxcU4duwY+vX7d7CthYUF+vXrh/j4+AqPy83NRUBAAPz9/TF8+HCcPn26wn2LioqQk5Oj95A7bWtOd7/usLUyv245IiIyUxyMrC8rKwtqtbpMi4yXlxcyMjLKPaZZs2b44osvsHXrVnzzzTfQaDTo2rUrrl69Wu7+0dHRcHFx0T38/f1r/HPUNHZbERFRraQdo2PBrqtqCw8Px7hx4xASEoKIiAj89NNPqF+/Pj799NNy9587dy6ys7N1j9TUVBMnNszl7MtIyk6ClYUVejboKXUcIiKiKhMyuQWElaTvfg8PDw9YWloiMzNTb3tmZia8vb2rdA5ra2u0b98eFy9eLPd1pVIJpVL50FlNRduaE+YdBicbJ4nTEBERGUDXosOuKwCAjY0NQkNDERMTo9um0WgQExOD8PCqDcJVq9U4deoUfHx8jBXTpLQ38ezTsI/ESYiIiAykG4zMFh2dqKgojB8/Hh07dkTnzp2xYsUK5OXlYeLEiQCAcePGwc/PD9HR0QCAhQsXokuXLggODsadO3fw7rvvIjk5GVOmTJHyY9SIjLwM/H3zbyigYKFDRES1j0wGI8uq0Hn88cdx48YNzJ8/HxkZGQgJCcGuXbt0A5RTUlJgcc+gptu3b+Ppp59GRkYG3NzcEBoaikOHDqFly5ZSfYQao73lQ7v67eBh5yFxGiIiIsMIyGMwsqwKHQCYNm0apk2bVu5rsbGxes+XL1+O5cuXmyCV6fHeVkREVKtp5DEYWTZjdOhf2UXZOJp5FEDp3cqJiIhqHd69nCpy4OoBqIUaTdyawN9Z/mv9EBERlfHPYGSFpaWkMVjoyJC224qtOUREVFv9e1NPLhhI9ygsKUTctTgAnFZORES1mHZ6OdfRoXv9mf4nCkoK4O3gjRbuLaSOQ0REVD3suqLy7Est7bbq7d9b8rUHiIiIqkvoFgxk1xX9Q61RIzY1FgC7rYiIqJbTtuiw64q0/rrxF24V3oKTjRNCvUKljkNERFR9ujE6bNGhf+xP3Q8AiGgQAWsLa4nTEBERVZ9u1hULHQJK/0DoppWz24qIiGo7XdcVCx0CkJSdhJS7KbCxsEE3325SxyEiInooQqMu/YGFDgH/dluF+YTB3tpe4jREREQPSc0xOnSP/SmlhU4v/17SBiEiIqoB2hYdrqNDyCrIwsmskwBY6BARkZkoYaFD/9CundPGow087T0lzUJERFQTdAsGstAh7fgctuYQEZHZUP/TosMxOnVbvioff1z7A0DpbR+IiIjMga5Fx8pK0hwsdCQWfy0exZpiNHBsgGDXYKnjEBER1YySEgBs0anz7u224k08iYjIXHCMDkGtUePA1QMA2G1FRETmQwjxb4sOu67qrpNZJ3G76DacbJzQ3qu91HGIiIhqxj9FDsBCp07TTivv4deDN/EkIiKzIVjoEPBvocNp5UREZE7uLXRgLe0/5FnoSCQlJwVJ2UmwUlihmx9v4klEROaDLTqka80J9Q6Fs42zpFmIiIhqklCpSn+wsOD08roq9mosAKBXg16S5iAiIqpxMplxBbDQkUR2UTaOZx4HAET4R0ichoiIqGaJ4mIAgELi8TkACx1JxKXFQS3UCHYNhr+Tv9RxiIiIapSm6J9Cx9ZW4iQsdCSh7bbq2aCntEGIiIiMQBQXAQAUShuJk7DQMTmVRoWDaQcBcFo5ERGZJ1FYCACwULJFp85JuJ6Au8V34aZ0Q1uPtlLHISIiqnG6riulUuIkLHRMTrcacoMesLSQ9kZnRERExsCuqzpMexPPiAacbUVEROZJk18AALCwtZM4CQsdk7qSfQVXcq7AysIKXX27Sh2HiIjIKDS5uQAAC0dHiZOw0DGp367+BgDo6NURjjbSf/lERETGoMnLAwBYOjpInISFjklpCx3OtiIiInOmyfunRcdB+n/Us9AxkZziHN1qyFw/h4iIzJmaXVd1z6G0Q1ALNRq5NOJqyEREZNbUd+4AACydnaQNAhY6JqPttuJsKyIiMnfqrJsAAMt6HhInYaFjEmqNWrcaMrutiIjI3JXcLC10rDzqSZyEhY5JnMo6hTtFd+Bk44QQzxCp4xARERmVrtCpx0KnTtB2W3X37Q4rCyuJ0xARERmPpqAAam2h4+UlcRoWOiahXQ25pz+7rYiIyLwVJycDQsDCxQWW7u5Sx2GhY2zpuek4f/s8LBQW6O7bXeo4RERERlWclAQAUAYFQaFQSJyGhY7RaVtz2nq0hautq7RhiIiIjKzg9GkAgE1wY4mTlGKhY2QH0v65iac/p5UTEZH5yzsYBwBw6BIucZJSLHSMqLCkEIfTDwMAevj1kDgNERGRcRVfTUNRYiKgUMChmzxuXs1Cx4gOZxxGoboQXvZeaOrWVOo4RERERnXz008BAPZdwmDl5iZxmlIsdIxIN9uqQU9ZDMgiIiIylrzDh3Hnp58AAPWnT5c4zb9Y6BiJEAK/X/0dAFdDJiIi8yWEwN2YGKQ+9zygVsMpMhL2HTpIHUtHdoXOypUrERgYCFtbW4SFheHw4cOV7r9p0yY0b94ctra2aNOmDXbu3GmipJVLyk7CtbxrsLGwQWfvzlLHISIiqlElt24hZ9cuJD8xBlenToPIz4dDt27wXbpE6mh6ZLVM73fffYeoqCisWrUKYWFhWLFiBSIjI5GYmAhPT88y+x86dAhjxoxBdHQ0hg4dig0bNmDEiBE4fvw4WrduLcEn+Je226qTdyfYW9tLmoWIiKg6hEoFVeZ1lGSkQ5WeAVVGOlQpqcg/cRzFFy/p9lPY2sLtySdRf8Z0WCiVEiYuSyGEEFKH0AoLC0OnTp3w0UcfAQA0Gg38/f0xffp0vPLKK2X2f/zxx5GXl4ft27frtnXp0gUhISFYtWrVA98vJycHLi4uyM7OhrOzc819EACTdk/CkYwjeKXzK/i/Fv9Xo+cmIiLT0/26FEL/8c82ce9r2p81mtLjNJqyP2sEIMr7WfPvsff/XM4xokQNUaICSkogSkogVCoIlfbnYoiSktLX9LarIFQqaPLzoMnLhyY/H5q8vH8f2ue5uf9+nnIomzSBY0RPuI8fD6v69Y16/e9lyO9v2bToFBcX49ixY5g7d65um4WFBfr164f4+Phyj4mPj0dUVJTetsjISGzZsqXc/YuKilBUVKR7np2dDaD0gtWkW+dOol90HPpCoPnW73HKcmvVDpRPzamvJnLV0Gf7568S4zPVV1Hd6/Iw11OCY6v0vVX11FXJYMp9Kghe4b8hy9tc4fuUs73CXcu+UOF1NyTDvdvv/QVe3sn0NpdzXAXnENU9h97P4t//FShbcNxbiNyz7d79xP3bcd956iiFtTUsvbxg7eUFa28vWHl5w7ZlC9iFhOhmVuUDQA3/Lq2M9vd2VdpqZFPoZGVlQa1Ww+u+G4B5eXnh3Llz5R6TkZFR7v4ZGRnl7h8dHY0333yzzHZ/f/9qpq6KC0Y8NxERkQmcPSN1gnLdvXsXLi4ule4jm0LHFObOnavXAqTRaHDr1i3Uq1evxqd/5+TkwN/fH6mpqTXeLUb/4nU2DV5n0+B1Nh1ea9Mw1nUWQuDu3bvw9fV94L6yKXQ8PDxgaWmJzMxMve2ZmZnw9vYu9xhvb2+D9lcqlVDeN0jK1dW1+qGrwNnZmf8nMgFeZ9PgdTYNXmfT4bU2DWNc5we15GjJZnq5jY0NQkNDERMTo9um0WgQExOD8PDy75cRHh6utz8A7N27t8L9iYiIqG6RTYsOAERFRWH8+PHo2LEjOnfujBUrViAvLw8TJ04EAIwbNw5+fn6Ijo4GAMycORMRERFYtmwZhgwZgo0bN+Lo0aNYvXq1lB+DiIiIZEJWhc7jjz+OGzduYP78+cjIyEBISAh27dqlG3CckpICC4t/G6G6du2KDRs2YN68eXj11VfRpEkTbNmyRfI1dIDSbrIFCxaU6SqjmsXrbBq8zqbB62w6vNamIYfrLKt1dIiIiIhqkmzG6BARERHVNBY6REREZLZY6BAREZHZYqFDREREZouFDhEREZktFjoPYeXKlQgMDIStrS3CwsJw+PDhSvfftGkTmjdvDltbW7Rp0wY7d+40UdLazZDrvGbNGvTo0QNubm5wc3NDv379Hvi9UClD/zxrbdy4EQqFAiNGjDBuQDNh6HW+c+cOpk6dCh8fHyiVSjRt2pR/d1SBodd5xYoVaNasGezs7ODv74/Zs2ejsLDQRGlrpwMHDuCRRx6Br68vFApFhTfUvldsbCw6dOgApVKJ4OBgrFu3zug5IahaNm7cKGxsbMQXX3whTp8+LZ5++mnh6uoqMjMzy90/Li5OWFpaiqVLl4ozZ86IefPmCWtra3Hq1CkTJ69dDL3OTz75pFi5cqU4ceKEOHv2rJgwYYJwcXERV69eNXHy2sXQ66x1+fJl4efnJ3r06CGGDx9umrC1mKHXuaioSHTs2FEMHjxYHDx4UFy+fFnExsaKhIQEEyevXQy9zuvXrxdKpVKsX79eXL58WezevVv4+PiI2bNnmzh57bJz507x2muviZ9++kkAEJs3b650/6SkJGFvby+ioqLEmTNnxIcffigsLS3Frl27jJqThU41de7cWUydOlX3XK1WC19fXxEdHV3u/qNHjxZDhgzR2xYWFiaeffZZo+as7Qy9zvcrKSkRTk5O4ssvvzRWRLNQnetcUlIiunbtKj777DMxfvx4FjpVYOh1/uSTT0SjRo1EcXGxqSKaBUOv89SpU0WfPn30tkVFRYlu3boZNac5qUqhM2fOHNGqVSu9bY8//riIjIw0YjIh2HVVDcXFxTh27Bj69eun22ZhYYF+/fohPj6+3GPi4+P19geAyMjICven6l3n++Xn50OlUsHd3d1YMWu96l7nhQsXwtPTE5MnTzZFzFqvOtd527ZtCA8Px9SpU+Hl5YXWrVvjnXfegVqtNlXsWqc617lr1644duyYrnsrKSkJO3fuxODBg02Sua6Q6vegrG4BUVtkZWVBrVbrbk2h5eXlhXPnzpV7TEZGRrn7Z2RkGC1nbVed63y/l19+Gb6+vmX+z0X/qs51PnjwID7//HMkJCSYIKF5qM51TkpKwr59+/B///d/2LlzJy5evIgXXngBKpUKCxYsMEXsWqc61/nJJ59EVlYWunfvDiEESkpK8Nxzz+HVV181ReQ6o6Lfgzk5OSgoKICdnZ1R3pctOmS2Fi9ejI0bN2Lz5s2wtbWVOo7ZuHv3LsaOHYs1a9bAw8ND6jhmTaPRwNPTE6tXr0ZoaCgef/xxvPbaa1i1apXU0cxKbGws3nnnHXz88cc4fvw4fvrpJ+zYsQOLFi2SOhrVALboVIOHhwcsLS2RmZmptz0zMxPe3t7lHuPt7W3Q/lS966z13nvvYfHixfj111/Rtm1bY8as9Qy9zpcuXcKVK1fwyCOP6LZpNBoAgJWVFRITE9G4cWPjhq6FqvPn2cfHB9bW1rC0tNRta9GiBTIyMlBcXAwbGxujZq6NqnOdX3/9dYwdOxZTpkwBALRp0wZ5eXl45pln8Nprr+ndTJqqr6Lfg87OzkZrzQHYolMtNjY2CA0NRUxMjG6bRqNBTEwMwsPDyz0mPDxcb38A2Lt3b4X7U/WuMwAsXboUixYtwq5du9CxY0dTRK3VDL3OzZs3x6lTp5CQkKB7DBs2DL1790ZCQgL8/f1NGb/WqM6f527duuHixYu6QhIAzp8/Dx8fHxY5FajOdc7Pzy9TzGiLS8H7XtcYyX4PGnWosxnbuHGjUCqVYt26deLMmTPimWeeEa6uriIjI0MIIcTYsWPFK6+8ots/Li5OWFlZiffee0+cPXtWLFiwgNPLq8DQ67x48WJhY2MjfvjhB5Genq573L17V6qPUCsYep3vx1lXVWPodU5JSRFOTk5i2rRpIjExUWzfvl14enqKt956S6qPUCsYep0XLFggnJycxLfffiuSkpLEnj17ROPGjcXo0aOl+gi1wt27d8WJEyfEiRMnBADx/vvvixMnTojk5GQhhBCvvPKKGDt2rG5/7fTyl156SZw9e1asXLmS08vl7sMPPxQNGzYUNjY2onPnzuKPP/7QvRYRESHGjx+vt//3338vmjZtKmxsbESrVq3Ejh07TJy4djLkOgcEBAgAZR4LFiwwffBaxtA/z/dioVN1hl7nQ4cOibCwMKFUKkWjRo3E22+/LUpKSkycuvYx5DqrVCrxxhtviMaNGwtbW1vh7+8vXnjhBXH79m3TB69F9u/fX+7ft9prO378eBEREVHmmJCQEGFjYyMaNWok1q5da/ScCiHYLkdERETmiWN0iIiIyGyx0CEiIiKzxUKHiIiIzBYLHSIiIjJbLHSIiIjIbLHQISIiIrPFQoeIiIjMFgsdIiIiMlssdIiIiMhssdAhojqhV69emDVr1kOdQwiBZ555Bu7u7lAoFEhISKiRbERkPCx0iMjkJk6ciHnz5kkdw2C7du3CunXrsH37dqSnp6N169ZSRyKiB7CSOgAR1S1qtRrbt2/Hjh07pI5isEuXLsHHxwddu3atcJ/i4mLY2NiYMBURVYYtOkRUqW+//RZ2dnZIT0/XbZs4cSLatm2L7Oxsg8936NAhWFtbo1OnTuW+3qtXL0yfPh2zZs2Cm5sbvLy8sGbNGuTl5WHixIlwcnJCcHAwfvnlF73jioqKMGPGDHh6esLW1hbdu3fHkSNHKsyh0WgQHR2NoKAg2NnZoV27dvjhhx8q3H/ChAmYPn06UlJSoFAoEBgYqMs7bdo0zJo1Cx4eHoiMjARQ2vrTvXt3uLq6ol69ehg6dCguXbqk9/5Lly5FcHAwlEolGjZsiLfffruql5GIqoiFDhFV6oknnkDTpk3xzjvvAAAWLFiAX3/9Fb/88gtcXFwMPt+2bdvwyCOPQKFQVLjPl19+CQ8PDxw+fBjTp0/H888/j1GjRqFr1644fvw4BgwYgLFjxyI/P193zJw5c/Djjz/iyy+/xPHjxxEcHIzIyEjcunWr3PeIjo7GV199hVWrVuH06dOYPXs2nnrqKfz222/l7v/BBx9g4cKFaNCgAdLT0/WKqC+//BI2NjaIi4vDqlWrAAB5eXmIiorC0aNHERMTAwsLC4wcORIajQYAMHfuXCxevBivv/46zpw5gw0bNsDLy8vg60lEDyCIiB7g559/FkqlUrz11lvCzc1N/P3337rXRowYIVxdXcV//vOfKp2rSZMmYvv27RW+HhERIbp37657XlJSIhwcHMTYsWN129LT0wUAER8fL4QQIjc3V1hbW4v169fr9ikuLha+vr5i6dKluvPOnDlTCCFEYWGhsLe3F4cOHdJ778mTJ4sxY8ZUmG358uUiICCgTN727dtX/qGFEDdu3BAAxKlTp0ROTo5QKpVizZo1DzyOiB4Ox+gQ0QMNHToULVu2xMKFC7Fnzx60atVK99rMmTMxadIkfPnllw88z9mzZ3Ht2jX07du30v3atm2r+9nS0hL16tVDmzZtdNu0LR/Xr18HUDp2RqVSoVu3brp9rK2t0blzZ5w9e7bM+S9evIj8/Hz0799fb3txcTHat2//wM9xv9DQ0DLbLly4gPnz5+PPP/9EVlaWriUnJSUF+fn5KCoqeuB1IKKHx0KHiB5o165dOHfuHNRqdZnulV69eiE2NrZK59m2bRv69+8PW1vbSveztrbWe65QKPS2abu9tMWDoXJzcwEAO3bsgJ+fn95rSqXS4PM5ODiU2fbII48gICAAa9asga+vLzQaDVq3bo3i4mLY2dlVKzcRGY5jdIioUsePH8fo0aPx+eefo2/fvnj99derfa6tW7di+PDhNZiuVOPGjXVjZLRUKhWOHDmCli1bltm/ZcuWUCqVSElJQXBwsN7D39//ofPcvHkTiYmJmDdvHvr27YsWLVrg9u3butebNGkCOzs7xMTEPPR7EVHl2KJDRBW6cuUKhgwZgldffRVjxoxBo0aNEB4ejuPHj6NDhw4Gnev69es4evQotm3bVuM5HRwc8Pzzz+Oll16Cu7s7GjZsiKVLlyI/Px+TJ08us7+TkxNefPFFzJ49GxqNBt27d0d2djbi4uLg7OyM8ePHP1QeNzc31KtXD6tXr4aPjw9SUlLwyiuv6F63tbXFyy+/jDlz5sDGxgbdunXDjRs3cPr0aV3ejz76CJs3b2YxRPSQWOgQUblu3bqFgQMHYvjw4bpf0mFhYRg0aBBeffVV7Nq1y6Dz/fzzz+jcuTM8PDyMEReLFy+GRqPB2LFjcffuXXTs2BG7d++Gm5tbufsvWrQI9evXR3R0NJKSkuDq6ooOHTrg1VdffegsFhYW2LhxI2bMmIHWrVujWbNm+N///odevXrp9nn99ddhZWWF+fPn49q1a/Dx8cFzzz2nez0rK0tvOjoRVY9CCCGkDkFEtVtsbCw++uijStehGTZsGLp37445c+aYMBkR1XVs0SGih9KvXz/89ddfyMvLQ4MGDbBp0yaEh4eX2a979+4YM2aMBAmJqC5jiw4RERGZLc66IiIiIrPFQoeIiIjMFgsdIiIiMlssdIiIiMhssdAhIiIis8VCh4iIiMwWCx0iIiIyWyx0iIiIyGyx0CEiIiKzxUKHiIiIzBYLHSIiIjJb/w8ZXXIKdIGaowAAAABJRU5ErkJggg==", "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": "2025-10-15T23:08:26.438454Z", "iopub.status.busy": "2025-10-15T23:08:26.438310Z", "iopub.status.idle": "2025-10-15T23:08:26.994694Z", "shell.execute_reply": "2025-10-15T23:08:26.993932Z" } }, "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": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAHICAYAAAClJls2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAATS1JREFUeJzt3XdclXX/x/HXYSMKiqiIG7PMvc2diaJmVpaWaTnutr/bzDK1ZbustCVlWVl3WpplrlJzZGaZG3OnuUVwsxQQzvX749IjhAMQuM54Px8PHp3rey4On+85Ku+u6ztshmEYiIiIiLg5L6sLEBERESkOCj0iIiLiERR6RERExCMo9IiIiIhHUOgRERERj6DQIyIiIh5BoUdEREQ8gkKPiIiIeASFHhEREfEICj0i+VC9enUGDhxodRlyTvXq1enRo4fVZYiIi1DoEY/1xRdfYLPZCAgI4NChQ7mev/HGG6lXr95lX2Pr1q288MIL7N27t4iqFHd7j8ePH4/NZmPx4sWXPGfSpEnYbDbmzJkD5O3P4gsvvIDNZuPYsWOXPGfZsmXYbLZLfk2bNq1gnRJxET5WFyBitfT0dN544w0++OCDK567Y8cOvLwu/L/C1q1befHFF7nxxhupXr16EVbpudztPb777rsZMWIEX3/9NVFRURc95+uvv6Zs2bJ069atSGoYOnQozZs3z9XeqlWrIvl5Is5CoUc8XqNGjZg0aRKjR48mIiLisuf6+/sX+OcYhkFaWhqBgYEFfg1nZLPZmDx5sm775VFERAQdO3Zk5syZfPTRR7n+TB06dIjly5fz4IMP4uvrWyQ1tGvXjjvvvLNIXvtqZGZmYrfb8fPzs7oUcVO6vSUe7+mnnyYrK4s33njjiudmH9PzxRdf0Lt3bwA6duzouEWwbNkyx7k9evRg4cKFNGvWjMDAQD7++GMAdu/eTe/evQkNDaVEiRLccMMN/Pjjj7l+3r59++jZsydBQUGUL1+exx9/nIULF+b4OeetWrWKrl27EhISQokSJejQoQO///57jnPO3wLZtWsXAwcOpHTp0oSEhDBo0CBOnz6dz3fu6m3fvp0777yT0NBQAgICaNasmeOWDlz5PT5vxYoVtGjRgoCAACIjI/nf//6X4/kTJ07w5JNPUr9+fUqWLElwcDDdunVj48aNOc47f/vn22+/5dVXX6Vy5coEBATQqVMndu3alav+vLznF9O/f38SExMv+plPmzYNu91Ov379rvg6Vli1ahXdu3enTJkyBAUF0aBBA9577z3H8zfeeCM33nhjru8bOHBgjit1e/fuxWaz8fbbb/Puu+9Ss2ZN/P392bBhAz4+Prz44ou5XmPHjh3YbDYmTJjgaDt16hTDhg2jSpUq+Pv7c8011zB27Fjsdnuh9lvcg0KPeLwaNWpw3333MWnSJOLi4vL8fe3bt2fo0KGAGZy++uorvvrqK66//nrHOTt27KBv37507tyZ9957j0aNGpGQkEDr1q1ZuHAhjz76KK+++ippaWn07NmTH374wfG9qamp3HTTTSxevJihQ4fyzDPP8McffzBy5MhctSxdupT27duTlJTEmDFjeO211zh16hQ33XQTq1evznV+nz59SE5O5vXXX6dPnz588cUXF/0lU5S2bNnCDTfcwLZt2xg1ahTjxo0jKCiI2267zfE+5OU93rVrF3feeSedO3dm3LhxlClThoEDB7JlyxbHObt372bWrFn06NGD8ePHM2LECDZt2kSHDh0u+pm/8cYb/PDDDzz55JOMHj2aP//8M1cIye97nl2vXr0ICAjg66+/zvXc119/TbVq1WjTpk3e38x8Sk5O5tixY7m+DMO47PctWrSI9u3bs3XrVh577DHGjRtHx44dmTdvXoFrmTx5Mh988AEPPvgg48aNo2LFinTo0IFvv/0217nTp0/H29vbEYRPnz5Nhw4dmDJlCvfddx/vv/8+bdq0YfTo0QwfPrzANYkbM0Q81OTJkw3AWLNmjfHPP/8YPj4+xtChQx3Pd+jQwahbt26O76lWrZoxYMAAx/GMGTMMwPjll19yvX61atUMwFiwYEGO9mHDhhmA8dtvvznakpOTjRo1ahjVq1c3srKyDMMwjHHjxhmAMWvWLMd5Z86cMWrXrp3jZ9rtdqNWrVpGdHS0YbfbHeeePn3aqFGjhtG5c2dH25gxYwzAGDx4cI6abr/9dqNs2bJXeMcuDjAmT56c7+/r1KmTUb9+fSMtLc3RZrfbjdatWxu1atVytOXlPV6+fLmj7ciRI4a/v7/xxBNPONrS0tIc7+t5e/bsMfz9/Y2XXnrJ0fbLL78YgHH99dcb6enpjvb33nvPAIxNmzY56szre34pvXv3NgICAozExERH2/bt2w3AGD16dI5zL/Zn8d/Of7ZHjx695Dnn+3epr8OHD1/yezMzM40aNWoY1apVM06ePJnjuezvQYcOHYwOHTrk+v4BAwYY1apVcxzv2bPHAIzg4GDjyJEjOc79+OOPc7zf59WpU8e46aabHMcvv/yyERQUZPz99985zhs1apTh7e1t7N+//5L9Ec+kKz0iQGRkJPfeey+ffPIJhw8fLrTXrVGjBtHR0TnafvrpJ1q0aEHbtm0dbSVLluTBBx9k7969bN26FYAFCxZQqVIlevbs6TgvICCABx54IMfrxcbGsnPnTu655x6OHz/u+L/21NRUOnXqxPLly3Nd6n/44YdzHLdr147jx4+TlJR02f6cPn0619UBgJSUlBxtJ0+evOzrnDhxgqVLlzquOJ3/vuPHjxMdHc3OnTsvOqPuYurUqUO7du0cx+XKleO6665j9+7djjZ/f3/HAPSsrCyOHz9OyZIlue6661i/fn2u1xw0aFCOcSXnX//8axbkPf+3/v37k5aWxsyZMx1t56/8FPWtreeff55Fixbl+goNDb3k92zYsIE9e/YwbNgwSpcuneM5m81W4FruuOMOypUrl6OtV69e+Pj4MH36dEfb5s2b2bp1K3fddZejbcaMGbRr144yZcrk+PMXFRVFVlYWy5cvL3Bd4p40kFnknGeffZavvvqKN954I8cYhatRo0aNXG379u2jZcuWudrP37LZt28f9erVY9++fdSsWTPXL5Rrrrkmx/HOnTsBGDBgwCXrSExMpEyZMo7jqlWr5nj+/HMnT54kODj4kq/z5ptvXvQ22H//+1/++9//Oo6rVat22Snmu3btwjAMnnvuOZ577rmLnnPkyBEqVap0ydc47999AbM/2YOX3W7nvffe48MPP2TPnj1kZWU5nitbtuwVXzP7+wMFe8//rVu3boSGhvL11187xol98803NGzYkLp1617y+wpD/fr1Lzlz7FL++ecfgCtOnc+vi/0dCQsLo1OnTnz77be8/PLLgHlry8fHh169ejnO27lzJ3/99Veu0HTekSNHCrVWcX0KPSLnREZG0r9/fz755BNGjRpVKK9ZHDO1zl9ReOutt2jUqNFFzylZsmSOY29v74ueZ1xhTMd9992X4woVQOfOnRkxYgRdunRxtF2p3+drfvLJJ3NdCTvv3+HuUvLSl9dee43nnnuOwYMH8/LLLxMaGoqXlxfDhg276BWZK71mQd7zf/P19aVPnz5MmjSJhIQE9u/fz86dO3nzzTcv+33OzmazXfTPUfagmd2l/qzcfffdDBo0iNjYWBo1asS3335Lp06dCAsLc5xjt9vp3LkzTz311EVf49prry1AD8SdKfSIZPPss88yZcoUxo4dm6fzC3JZv1q1auzYsSNX+/bt2x3Pn//v1q1bMQwjx8/59yyimjVrAhAcHJzv/3vPr8jISCIjI3O116lTJ18/+/xr+Pr6XvH7rubWyXnfffcdHTt25LPPPsvRfurUqRy/RPOqsN7zfv36MXHiRKZPn86ePXuw2Wz07du3wK9XlM73efPmzZftc5kyZXLcWjxv3759+fp5t912Gw899JDjFtfff//N6NGjc9WUkpJS5H/uxX1oTI9INjVr1qR///58/PHHxMfHX/H8oKAgwPzlmVfdu3dn9erVrFy50tGWmprKJ598QvXq1alTpw4A0dHRHDp0KMcU7rS0NCZNmpTj9Zo2bUrNmjV5++23SUlJyfXzjh49mufaikv58uW58cYb+fjjjy86hip7zQV5j//N29s719WHGTNm5Hnc0L8V1nvepk0bqlevzpQpU5g+fTodOnSgcuXKBaqpqDVp0oQaNWrw7rvv5vossr+3NWvWZPv27Tneg40bN+ZpKn92pUuXJjo6mm+//ZZp06bh5+fHbbfdluOcPn36sHLlShYuXJjr+0+dOkVmZma+fqa4P13pEfmXZ555hq+++oodO3ZccWxFo0aN8Pb2ZuzYsSQmJuLv789NN91E+fLlL/k9o0aN4ptvvqFbt24MHTqU0NBQvvzyS/bs2cP333/vGHD70EMPMWHCBPr27ctjjz1GxYoVmTp1KgEBAcCFKyBeXl58+umndOvWjbp16zJo0CAqVarEoUOH+OWXXwgODmbu3LmF9O4UnpiYGNq2bUv9+vV54IEHiIyMJCEhgZUrV3Lw4EHHGjoFeY//rUePHrz00ksMGjSI1q1bs2nTJqZOnXrRq1Z5UVjvuc1m45577uG1114D4KWXXrrkuUePHuWVV17J1V6jRo0cA5/Hjx9PiRIlctX79NNPO45/++030tLScr1WgwYNaNCgwUV/vpeXFx999BG33HILjRo1YtCgQVSsWJHt27ezZcsWR/AYPHgw48ePJzo6mv/85z8cOXKEiRMnUrdu3SsOlP+3u+66i/79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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.14" } }, "nbformat": 4, "nbformat_minor": 5 }