{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "d88bffed", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:36.793356Z", "iopub.status.busy": "2024-12-12T18:10:36.793194Z", "iopub.status.idle": "2024-12-12T18:10:37.496268Z", "shell.execute_reply": "2024-12-12T18:10:37.495701Z" } }, "outputs": [ { "data": { "text/plain": [ "'0.22.0'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import scipy.interpolate\n", "import teqp\n", "import numpy as np\n", "import pandas\n", "import matplotlib.pyplot as plt\n", "teqp.__version__" ] }, { "cell_type": "markdown", "id": "8218498b", "metadata": {}, "source": [ "# Critical curves & points\n", "\n", "\n", "## Pure Fluids\n", "\n", "Solving for the critical point involves finding the temperature and density that make\n", "$$\n", "\\left(\\frac{\\partial p}{\\partial \\rho}\\right)_T = \\left(\\frac{\\partial^2 p}{\\partial \\rho^2}\\right)_T = 0\n", "$$\n", "by 2D non-linear rootfinding. Newton steps are taken, and the analytic Jacobian is used (thanks to the ability to do derivatives with automatic differentiation). This is all handily wrapped up in the\n", "``solve_pure_critical`` method which requires the user to provide guess values for temperature and density" ] }, { "cell_type": "code", "execution_count": 2, "id": "46657a96", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:37.498285Z", "iopub.status.busy": "2024-12-12T18:10:37.497846Z", "iopub.status.idle": "2024-12-12T18:10:37.502530Z", "shell.execute_reply": "2024-12-12T18:10:37.502055Z" } }, "outputs": [ { "data": { "text/plain": [ "(190.564, 9442.816240022832)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Values taken from http://dx.doi.org/10.6028/jres.121.011\n", "modelPR = teqp.canonical_PR([190.564], [4599200], [0.011])\n", "\n", "# Solve for the critical point from a point close to the critical point\n", "T0 = 192.0\n", "# Critical compressibility factor of P-R is 0.307401308698.. (see https://doi.org/10.1021/acs.iecr.1c00847)\n", "rhoc = (4599200/(8.31446261815324*190.564))/0.3074\n", "rho0 = rhoc*1.2345 # Perturb to make sure we are doing something in the solver\n", "modelPR.solve_pure_critical(T0, rho0)" ] }, { "cell_type": "markdown", "id": "9141858c", "metadata": {}, "source": [ "If you have a mixture, but want to obtain the critical point of a pure fluid of this mixture, you can specify the index of the component in the mixture, as well as the number of componnts in the mixture with something like:\n", "\n", "``\n", "model.solve_pure_critical(T0, rho0, {\"alternative_pure_index\": 1, \"alternative_length\": 2})\n", "``\n", "so here, for the second fluid, with 0-based index of 1, in a two-component mixture" ] }, { "cell_type": "markdown", "id": "e15eeded", "metadata": {}, "source": [ "## Mixtures\n", "\n", "A pure fluid has a single vapor-liquid critical point, but mixtures are different:\n", "\n", "* They may have multiple (or zero!) critical points for a given mixture composition\n", "* The critical curves may not emanate from the pure fluid endpoints\n", "\n", "When it comes to critical points, intuition from pure fluids is not helpful, or sometimes even counter-productive. \n", "\n", "teqp has methods for working with the critical loci of binary mixtures (only binary mixtures, for now) and especially, methods for tracing the critical curves emanating from the pure fluid endpoints.\n", "\n", "The tracing method in teqp is based explicitly on the isochoric thermodynamics formalism introduced by Ulrich Deiters and Sergio Quinones-Cisneros. It uses the Helmholtz energy density as the fundamental potential and all other properties are derived from it. For critical curves it is based upon the integration of sets of ordinary differential equations; the differential equations are in the form of derivatives of the molar concentrations of each component in the mixture with respect to an integration variable. The set of ODE is then integrated.\n", "\n", "Here is an example of the construction of the critical curves emanating from the pure fluid endpoints for the mixture nitrogen + ethane." ] }, { "cell_type": "code", "execution_count": 3, "id": "81619ae2", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:37.504164Z", "iopub.status.busy": "2024-12-12T18:10:37.503897Z", "iopub.status.idle": "2024-12-12T18:10:39.048089Z", "shell.execute_reply": "2024-12-12T18:10:39.047638Z" } }, "outputs": [ { "data": { "image/png": "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6nz5pcAL3tzvsWPHNnqf33333Q3O4X77j7/+9a8aNGiQZ+GTUaNG6YMPPvAc5/0deM51z614j3eo8FxeXq7BgwcrKyuryeNPPfWUnnnmGT333HNas2aNoqKiNGnSJFVVVXnO+d73vqdt27bpk08+0bvvvqvly5frRz/6ka++BJyHc91vSbrqqqtUUFDg+XjllVcaHOd++5dly5ZpxowZ+uKLL/TJJ5+otrZWEydOVHl5ueecn/3sZ3rnnXf02muvadmyZTp06JCmTJniOe5yuXTttdeqpqZGq1at0r/+9S/Nnz9fjzzyiBVfEs7Cm/stST/84Q8bvM+feuopzzHut3/p0aOHnnjiCa1fv17r1q3TuHHjdMMNN2jbtm2SeH8HonPdc8mC97jZQUky33zzTc+22+02ExISzHnz5nn2HT9+3AwLCzNfeeUV0zRNc/v27aYkc+3atZ5zPvjgA9MwDDM/P99nteP8nXm/TdM0p02bZt5www3Nfg732/8VFxebksxly5aZpln/ng4JCTFfe+01zzk7duwwJZmrV682TdM033//fTMoKMgsLCz0nPPXv/7VjI2NNaurq337BeC8nHm/TdM0v/nNb5o//elPm/0c7rf/69y5s/nCCy/w/u5ATt1z07TmPd6hRp7PJicnR4WFhZowYYJnn91u18iRI7V69WpJ0urVq9WpUycNHz7cc86ECRMUFBSkNWvW+LxmtNzSpUvVrVs3XXzxxbrnnnt05MgRzzHut/9zOp2SpLi4OEnS+vXrVVtb2+B93q9fP6WkpDR4nw8cOFDx8fGecyZNmqTS0tIGIx1of86836e8/PLLcjgcysjI0OzZs1VRUeE5xv32Xy6XS6+++qrKy8s1atQo3t8dwJn3/BRfv8fb5QqDVigsLJSkBv+4p7ZPHSssLFS3bt0aHA8ODlZcXJznHPiPq666SlOmTFFaWpr27dunOXPm6Oqrr9bq1atls9m4337O7XbrgQce0GWXXaaMjAxJ9e/h0NBQderUqcG5Z77Pm/rvwKljaJ+aut+S9N3vflc9e/ZUUlKStmzZoocffli7du3SwoULJXG//VF2drZGjRqlqqoqRUdH680331R6ero2bdrE+ztANXfPJWve44RndFjf+c53PH8fOHCgBg0apN69e2vp0qUaP368hZWhNcyYMUNbt27V559/bnUp8IHm7vfpzygMHDhQiYmJGj9+vPbt26fevXv7uky0gosvvlibNm2S0+nU66+/rmnTpmnZsmVWl4U21Nw9T09Pt+Q9TtvGSQkJCZLU6KncoqIiz7GEhAQVFxc3OF5XV6ejR496zoH/6tWrlxwOh/bu3SuJ++3P7rvvPr377rv67LPP1KNHD8/+hIQE1dTU6Pjx4w3OP/N93tR/B04dQ/vT3P1uysiRIyWpwfuc++1fQkND1adPHw0bNkxz587V4MGD9ec//5n3dwBr7p43xRfvccLzSWlpaUpISNDixYs9+0pLS7VmzRpPX82oUaN0/PhxrV+/3nPOkiVL5Ha7PTcL/uvgwYM6cuSIEhMTJXG//ZFpmrrvvvv05ptvasmSJUpLS2twfNiwYQoJCWnwPt+1a5fy8vIavM+zs7Mb/OD0ySefKDY21vNrQrQP57rfTdm0aZMkNXifc7/9m9vtVnV1Ne/vDuTUPW+KT97jF/SYoZ8qKyszN27caG7cuNGUZP7xj380N27caO7fv980TdN84oknzE6dOplvvfWWuWXLFvOGG24w09LSzMrKSs81rrrqKvOSSy4x16xZY37++edm3759zVtvvdWqLwlncbb7XVZWZv7iF78wV69ebebk5JiffvqpOXToULNv375mVVWV5xrcb/9yzz33mHa73Vy6dKlZUFDg+aioqPCcc/fdd5spKSnmkiVLzHXr1pmjRo0yR40a5TleV1dnZmRkmBMnTjQ3bdpkfvjhh2bXrl3N2bNnW/El4SzOdb/37t1rPvbYY+a6devMnJwc86233jJ79epljhkzxnMN7rd/mTVrlrls2TIzJyfH3LJlizlr1izTMAzz448/Nk2T93cgOts9t+o93qHC82effWZKavQxbdo00zTrp6v71a9+ZcbHx5thYWHm+PHjzV27djW4xpEjR8xbb73VjI6ONmNjY83p06ebZWVlFnw1OJez3e+Kigpz4sSJZteuXc2QkBCzZ8+e5g9/+MMGU9mYJvfb3zR1vyWZ//znPz3nVFZWmvfee6/ZuXNnMzIy0rzpppvMgoKCBtfJzc01r776ajMiIsJ0OBzmz3/+c7O2ttbHXw3O5Vz3Oy8vzxwzZowZFxdnhoWFmX369DEffPBB0+l0NrgO99t/3HXXXWbPnj3N0NBQs2vXrub48eM9wdk0eX8HorPdc6ve44ZpmuaFjVkDAAAAHQs9zwAAAICXCM8AAACAlwjPAAAAgJcIzwAAAICXCM8AAACAlwjPAAAAgJcIzwAAAICXCM8AAACAlwjPAAAAgJcIzwDghz766CMZhnHWj48//rjJz50+fbp++ctfNnnszjvv1I033thg3+uvv67w8HD94Q9/aO0vAwD8TrDVBQAAzt+YMWNUUFDg2c7IyNC9996re++917Ova9eujT7P5XLp3Xff1XvvvefV67zwwguaMWOGnnvuOU2fPr3lhQOAnyM8A4AfioiIUEREhCQpPz9fR44c0eWXX66EhISzft6qVasUEhKizMzMc77GU089pUcffVSvvvqqbrrpplapGwD8HeEZAPzcxo0bJUlDhw4957lvv/22Jk+eLMMwznreww8/rP/93//Vu+++q/Hjx7dKnQAQCAjPAODnNmzYoOTkZHXp0uWc57711lv605/+dNZzPvjgA7311ltavHixxo0b11plAkBA4IFBAPBzGzZs8GrUeceOHTp06NA5R5IHDRqk1NRUPfroozpx4kRrlQkAAcHr8Hz8+HH9/e9/92yvW7dODz74YJsUdcq7776rjIwMBQUFaevWrU2e8+qrr2rQoEEaMmSIRo8erZ07d7ZpTQDQ3ngbnt9++21deeWVCg8PP+t53bt319KlS5Wfn6+rrrpKZWVlrVUqAD90Zgb0BdM0dffdd6tPnz4aPny49u3b1+icTz75REOHDtXAgQN16aWXKjs7W5J04MABjR07Vunp6Ro0aJBee+21Jl9j3759Gj58uPr06aO7775bpml6VdsFh+fhw4dr3rx53n76Bbn44ov1+uuva8yYMc2ec+2112rz5s3atGmTHn74YT388MNtWhMAtCclJSU6cOCAV+H5rbfe0g033ODVdXv27Klly5apsLCQAA10cFaE5/fee08lJSXau3evfv3rXzeZ77p27ar3339f2dnZ+vWvf60ZM2ZIkoKDg/X0009r+/bt+vjjj/XAAw+ovLy80ec//PDD+vWvf629e/eqpKTE61mIvA7P//M//6Pt27dryJAheuyxx7R06VLdcsstkqRf//rXuuuuuzR69GilpaXpww8/1D333KP09HTddtttnmt89NFHGjVqlC655BLddtttqqmpOetr9u3bV/369TvrOTExMZ4HXyoqKpp8CObQoUO67LLLNHjwYA0aNEhbtmzx9ssGgHZtw4YNks79sGBxcbHWrVun6667zutrJycna+nSpSouLtakSZNUWlraoloB+KczM6AkPfnkk8rMzNSgQYP0+9//XpLkdrv14x//WP369dP111+vkSNHauvWrcrNzdWgQYP07W9/W/3799e0adNUV1d31td8++23dfvtt0uqHyhdtWpVo5HhIUOGeGYYyszMVH5+viQpMTFRQ4YMkSQlJCTI4XDo6NGjDT7XNE2tWrVK1157rSTptttu0zvvvOPVv4fX4fl3v/ud0tPTtWnTJj3yyCONju/fv1/Lli3TSy+9pFtuuUXTp0/Xtm3b9NVXX2njxo0qKSnRvHnztGTJEm3cuFG9evXS888/L0n6wQ9+oHXr1nlbSiMvvvii+vbtq5///OeeG3i6V155RWPHjtXmzZu1YcMG9enT54JfCwDak40bNyo+Pl5JSUlnPe+dd97RiBEj5HA4zuv6PXr00NKlS1VSUkKABjqoMzPgxx9/rIMHD+rLL7/Uxo0b9f7772vr1q1auHChCgsLtWPHDv3ud7/T+vXrPdfYunWrHnroIe3YsUO1tbV66aWXJEmPPPKI3n777UaveejQIXXv3l2SZBiGOnfurCNHjjRb4/z58zVx4sRG+9evXy+Xy6Xk5OQG+48cOaK4uDjPoGv37t094ftcWm22jWuuuUY2m00DBw5UTEyMRowYIal+4v7c3Fzl5+dry5YtGjVqlCSpurrak/ZfeOGFFr32HXfcoTvuuEMLFy7Ub3/7W/3rX/9qcDwzM1N33HGHgoODdcstt2jgwIEtej0AaC+8bVd76623dP3115/zvPnz5zfa1717d+3evftCygMQgD7++GO99957WrFihSSprKxMu3fv1ueff66pU6fKMAwNHDhQgwYN8nzOqd5lSfrOd76jt99+W3feeadnJLsl1qxZo7/97W9auXJlg/1Hjx7VHXfc4RmsbS2tNttGWFhY/QWDgjx/P7Xtcrnkdrt17bXXatOmTdq0aZN27NjR5ChxS0yZMkXvv/9+o/1jxozRypUrlZSUpFtvvbXJn3AAIJCNHj1at956q9VlAAgAbrdbjz76qCfT7du3T1OmTJGkZueQP32/YRjnnGs+KSnJMxJsmqaOHTvW5HScOTk5uv322/XGG280OF5dXa0bb7xRs2bN0qWXXtro87p06aKjR496WkHy8/PP+Ru8U7wOzzExMS16YGTUqFH67LPPtH//fklSaWmpcnJyLvh6p+zZs8fz908++UQ9e/ZsdM7+/fuVkJCgH//4x7r99tvpeQbQ4Tz00EONfm0JAN44MwNOnDhRL7zwgioqKiRJubm5cjqdGj16tP773//KNE1t27atQd7as2eP5xmNBQsWaPTo0Wd9zeuuu07//ve/JdU/PDhq1KhGgfvYsWO64YYblJWVpQEDBnj2m6apO++8U+PGjfP0TZ/JMAx94xvf8Dwk+PLLL2vy5Mle/Xt4HZ67dOnimQ7kQobYu3btqueff14333yzBg0apDFjxniCdHM9z++//7569Oih1atXa8KECfrWt74lqb6J/FTf9UsvvaQBAwZoyJAhevzxxxu1bEjS0qVLNXjwYF1yySX68MMP9YMf/OC86wcAAOiIzsyAV111lW666SZ94xvfUEZGhm677TZVVVVpypQp6tatm/r37685c+Zo2LBhnmtkZGToySefVP/+/RUUFKTvfve7kprveb7uuusUFxen3r1769FHH9UTTzwhqX6q5FM5LisrSzk5OXrwwQc1ZMgQjRw5UpK0cuVKLViwQIsWLdKQIUM0ZMgQzzR2p2fOJ598Uo8++qh69+6tzp07e9qJz8UwvZ3UDgAAAPDS2LFj9eyzzyo6Olq33HJLiyaHaE9YYRAAAADwEiPPAAAAgJcYeQYAAAC8RHgGAAAAvER4BgAAALxEeAYAAAC8RHgGAAAAvER4BgAAALxEeAYAAAC8RHgGAAAAvER4BgAAALz0/wFvSVPIfunHYAAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 700x600 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import timeit\n", "import numpy as np\n", "import matplotlib.pyplot as plt \n", "import pandas\n", "import teqp\n", "\n", "def get_critical_curve(ipure):\n", " \"\"\" Return curve as pandas DataFrame \"\"\"\n", " names = ['Nitrogen', 'Ethane']\n", " model = teqp.build_multifluid_model(names, teqp.get_datapath())\n", " T0 = model.get_Tcvec()[ipure]\n", " rho0 = np.array([1.0/model.get_vcvec()[ipure]]*2)\n", " rho0[1-ipure] = 0\n", " o = teqp.TCABOptions() \n", " o.init_dt = 1.0 # step in the arclength tracing parameter\n", " o.rel_err = 1e-8\n", " o.abs_err = 1e-5\n", " o.integration_order = 5\n", " o.calc_stability = True\n", " o.polish = True\n", " curveJSON = model.trace_critical_arclength_binary(T0, rho0, '', o)\n", " df = pandas.DataFrame(curveJSON)\n", " rhotot = df['rho0 / mol/m^3']+df['rho1 / mol/m^3']\n", " df['z0 / mole frac.'] = df['rho0 / mol/m^3']/rhotot\n", " return df\n", "\n", "fig, ax = plt.subplots(1,1,figsize=(7, 6))\n", "tic = timeit.default_timer()\n", "for ipure in [1,0]:\n", " df = get_critical_curve(ipure)\n", " first_unstable = np.argmax(~df['locally stable'])\n", " df = df.iloc[0:(first_unstable if first_unstable else len(df))]\n", " line, = plt.plot(df['T / K'], df['p / Pa']/1e6, '.')\n", " \n", " # And interpolate to smooth out the curve using the arclength\n", " # parameter (which must be monotonically increasing) as \n", " # the interpolation variable\n", " tinterp = np.linspace(df['t'].min(), df['t'].max(), 10000)\n", " Tinterp = scipy.interpolate.interp1d(df['t'], df['T / K'], kind='cubic')(tinterp)\n", " pinterp = scipy.interpolate.interp1d(df['t'], df['p / Pa'], kind='cubic')(tinterp)\n", " plt.plot(Tinterp, pinterp/1e6, color=line.get_color())\n", " \n", " plt.plot(df['T / K'].iloc[0], df['p / Pa'].iloc[0]/1e6, 'd', \n", " color=line.get_color())\n", "\n", "elap = timeit.default_timer()-tic\n", "plt.gca().set(xlabel='$T$ / K', ylabel='$p$ / MPa',\n", " xlim=(100, 350), ylim=(1, 1e3))\n", "plt.yscale('log')\n", "plt.tight_layout(pad=0.2)\n", "plt.gcf().text(0,0,f'time: {elap:0.1f} s', ha='left', va='bottom', fontsize=7)\n", "plt.gcf().text(1,0,f'teqp: {teqp.__version__}', ha='right', va='bottom', fontsize=7);" ] }, { "cell_type": "markdown", "id": "6120531f", "metadata": {}, "source": [ "And now for something a bit more interesting: ethane + alkane critical curves" ] }, { "cell_type": "code", "execution_count": 4, "id": "92020440", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:39.049832Z", "iopub.status.busy": "2024-12-12T18:10:39.049553Z", "iopub.status.idle": "2024-12-12T18:10:39.801682Z", "shell.execute_reply": "2024-12-12T18:10:39.801096Z" } }, "outputs": [ { "data": { "image/png": "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RERO6+uV52bDScKn8iwiIiIiRqT0Caw8N9b6aWtpN5wmPCrPIiIiImJEYnIC7oRAHa0/GhujGyrPIiIiImKEZVmh0Y36w7ExuqHyLCIiIiLGhG4ajJEdN1SeRURERMSYlOBNg1p5FhERERE5vZTegZXnhhqVZxERERGR00pO9wLQcFTlWURERETktHqlB1ee/YaThEflWURERESMSe4Y2zimsQ0RERERkdNLPm7lub3dNpzmzFSeRURERMSYpLQEsMBut3nlpyspX1NlOtJpqTyLiIiIiDFut4vEXh4AGutbWP7aVxyr7bnzzyrPIiIiImKMbdu0tX09ruFvamXFnzYbTHR6Ks8iIiIiYkz5mipamtpCv7bbYfu6g2xdfcBgqlNTeRYRERERI47V+ln+WterzCv+uLlHjm+oPIuIiIhI1Nm2zYo/fkVLc2uX7/fU8Y0eWZ5ffPFFiouLSUtLIy0tjZKSEt5//33TsURERESkmxze18D20mrs9q7fD45vHNpXH91gZ9Ajy3O/fv149tlnWbNmDatXr+bqq6/m5ptvZuPGjaajiYiIiEg36JOfzOBxWVinaKOWCwZfmE1mfkp0g51BjyzPN954IzfccANDhw5l2LBhPP3006SkpPDpp5+ajiYiIiIi3cCyLK68cwQJPk+X73sTPVz57eFRTnVmPbI8H6+trY3XX3+dhoYGSkpKujymubmZ2traTh8iIiIi0rP1SvMy5a6uC/KVdw6nV5o3yonOrMeW57KyMlJSUvD5fNx///288847jBo1qstjn3nmGdLT00MfhYWFUU4rIiIiIueiaHzfTuMbwXGNoRNyzAY7Bcu27R75EHG/38/u3bupqanhrbfeYt68eaxYsaLLAt3c3Exzc3Po17W1tRQWFlJTU0NaWlo0Y4uIiIjIWTpW6+e1OZ/ib2zF18vDnXMvicqqc21tLenp6WfVGXtseT7RtGnTGDJkCC+99NIZjz2XEyEiIiIi5mxdfYCVf97K5XcMo2h836j8zHPpjF1PaPdA7e3tnVaXRURERCR+DJ2Q02NHNY7XI8vz448/zvTp0+nfvz91dXX88Y9/ZPny5SxZssR0NBERERFxsB5ZnquqqvjOd75DZWUl6enpFBcXs2TJEq655hrT0URERETEwXpkef73f/930xFERERERE7SY7eqExERERHpaVSeRURERETCpPIsIiIiIhImlWcRERERkTCpPIuIiIiIhEnlWUREREQkTCrPIiIiIiJhUnkWEREREQmTyrOIiIiISJhUnkVEREREwqTyLCIiIiISJpVnEREREZEwqTyLiIiIiITJYzpAJNi2DUBtba3hJCIiIiLSUwW7YrA7hiMuy3NdXR0AhYWFhpOIiIiISE9XV1dHenp6WMda9tlU7RjR3t7Ovn37SE1NxbIs03HOSm1tLYWFhezZs4e0tDTTcRxD5z36dM7N0Hk3Q+c9+nTOzYi1827bNnV1deTn5+NyhTfNHJcrzy6Xi379+pmOcV7S0tJi4qKLNzrv0adzbobOuxk679Gnc25GLJ33cFecg3TDoIiIiIhImFSeRURERETCpPLcw/h8PubMmYPP5zMdxVF03qNP59wMnXczdN6jT+fcDCec97i8YVBEREREJBK08iwiIiIiEiaVZxERERGRMKk8i4iIiIiESeVZRERERCRMKs9R8MwzzzBx4kRSU1Pp27cvs2bNYvPmzZ2OaWpqYvbs2WRmZpKSksJtt93GgQMHOh2ze/duZsyYQa9evejbty+PPPIIra2t0fytxJRwzvuUKVOwLKvTx/3339/pGJ338L344osUFxeHNscvKSnh/fffD72v6zwyznTedZ1H3rPPPotlWTz00EOhz+l6j7yuzruu9+43d+7ck87piBEjQu877lq3JeKuu+46+w9/+IO9YcMGu7S01L7hhhvs/v372/X19aFj7r//fruwsND+4IMP7NWrV9uXXHKJfemll4beb21ttceMGWNPmzbNXrdunf3ee+/ZWVlZ9uOPP27itxQTwjnvV155pf2DH/zArqysDH3U1NSE3td5PzsLFiywFy1aZG/ZssXevHmz/bOf/cxOSEiwN2zYYNu2rvNIOdN513UeWZ9//rk9cOBAu7i42H7wwQdDn9f1HlmnOu+63rvfnDlz7NGjR3c6pwcPHgy977RrXeXZgKqqKhuwV6xYYdu2bR89etROSEiw33zzzdAxmzZtsgH7k08+sW3btt977z3b5XLZ+/fvDx3z4osv2mlpaXZzc3N0fwMx6sTzbtuBP2SP/0P3RDrv5y8jI8OeN2+ervMoC55329Z1Hkl1dXX20KFD7WXLlnU6z7reI+tU5922db1Hwpw5c+wLLrigy/eceK1rbMOAmpoaAPr06QPAmjVraGlpYdq0aaFjRowYQf/+/fnkk08A+OSTTxg7diw5OTmhY6677jpqa2vZuHFjFNPHrhPPe9Brr71GVlYWY8aM4fHHH+fYsWOh93Tez11bWxuvv/46DQ0NlJSU6DqPkhPPe5Cu88iYPXs2M2bM6HRdg/5cj7RTnfcgXe/db+vWreTn5zN48GDuuusudu/eDTjzWveYDuA07e3tPPTQQ1x22WWMGTMGgP379+P1eundu3enY3Nycti/f3/omOMvuuD7wffk9Lo67wB33nknAwYMID8/n/Xr1/Poo4+yefNm3n77bUDn/VyUlZVRUlJCU1MTKSkpvPPOO4waNYrS0lJd5xF0qvMOus4j5fXXX2ft2rV88cUXJ72nP9cj53TnHXS9R8KkSZN45ZVXGD58OJWVlTz55JNcfvnlbNiwwZHXuspzlM2ePZsNGzawcuVK01Ec5VTn/Yc//GHo9dixY8nLy2Pq1Kls27aNIUOGRDtmXBg+fDilpaXU1NTw1ltv8d3vfpcVK1aYjhX3TnXeR40apes8Avbs2cODDz7IsmXLSExMNB3HMcI577reu9/06dNDr4uLi5k0aRIDBgzgz3/+M0lJSQaTmaGxjSj6yU9+wsKFC/nrX/9Kv379Qp/Pzc3F7/dz9OjRTscfOHCA3Nzc0DEn3rka/HXwGOnaqc57VyZNmgRAeXk5oPN+LrxeL0VFRYwfP55nnnmGCy64gH/5l3/RdR5hpzrvXdF1fv7WrFlDVVUVF110ER6PB4/Hw4oVK3jhhRfweDzk5OToeo+AM533tra2k75G13v36927N8OGDaO8vNyRf7arPEeBbdv85Cc/4Z133uHDDz9k0KBBnd4fP348CQkJfPDBB6HPbd68md27d4dmFktKSigrK6Oqqip0zLJly0hLSwv906x0dqbz3pXS0lIA8vLyAJ337tDe3k5zc7Ou8ygLnveu6Do/f1OnTqWsrIzS0tLQx4QJE7jrrrtCr3W9d78znXe3233S1+h673719fVs27aNvLw8Z/7ZbvqORSf48Y9/bKenp9vLly/vtM3LsWPHQsfcf//9dv/+/e0PP/zQXr16tV1SUmKXlJSE3g9u83LttdfapaWl9uLFi+3s7OyY3eYlGs503svLy+2nnnrKXr16tb1jxw57/vz59uDBg+0rrrgi9D103s/OY489Zq9YscLesWOHvX79evuxxx6zLcuyly5datu2rvNIOd1513UePSfu8qDrPTqOP++63iPj4YcftpcvX27v2LHDXrVqlT1t2jQ7KyvLrqqqsm3bede6ynMUAF1+/OEPfwgd09jYaD/wwAN2RkaG3atXL/uWW26xKysrO32fnTt32tOnT7eTkpLsrKws++GHH7ZbWlqi/LuJHWc677t377avuOIKu0+fPrbP57OLiorsRx55pNN+oLat8342vve979kDBgywvV6vnZ2dbU+dOjVUnG1b13mknO686zqPnhPLs6736Dj+vOt6j4w77rjDzsvLs71er11QUGDfcccddnl5eeh9p13rlm3btpk1bxERERGR2KKZZxERERGRMKk8i4iIiIiESeVZRERERCRMKs8iIiIiImFSeRYRERERCZPKs4iIiIhImFSeRURERETCpPIsIiIiIhImlWcRERERkTCpPIuIxJAlS5ZgWdZpP5YuXdrl195333384he/6PK9e++9l1mzZnX63FtvvUViYiL//M//3N2/DRGRmOUxHUBERMJ3xRVXUFlZGfr1mDFjeOCBB3jggQdCn8vOzj7p69ra2li4cCGLFi0K6+fMmzeP2bNn8/vf/5777rvv/IOLiMQJlWcRkRiSlJREUlISABUVFRw6dIjLL7+c3Nzc037dxx9/TEJCAhMnTjzjz/jVr37FnDlzeP3117nlllu6JbeISLxQeRYRiVHr1q0D4KKLLjrjsQsWLODGG2/EsqzTHvfoo4/yu9/9joULFzJ16tRuySkiEk9UnkVEYtTatWspLCwkMzPzjMfOnz+f3/zmN6c95v3332f+/Pl88MEHXH311d0VU0QkruiGQRGRGLV27dqwVp03bdrEvn37zriSXFxczMCBA5kzZw719fXdFVNEJK6EXZ6PHj3Kv/3bv4V+vXr1ah555JGIhApqamri1ltvZejQoVx11VVUV1d3edyrr77KyJEjGT16NA8//HBEM4mI9BThlucFCxZwzTXXkJiYeNrjCgoKWL58ORUVFVx//fXU1dV1V1QRiWEndsBosG2b+++/n6KiIiZMmMC2bdtOOmbZsmVcdNFFjB07lksvvZSysjIA9uzZw5QpUxg1ahTFxcW8+eabXf6Mbdu2MWHCBIqKirj//vuxbTusbOdcnidMmMCvf/3rcL/8nMybN4/BgwezdetWbrvtNp599tmTjtm8eTMvvPACn3/+ORs3buTRRx+NaCYRkZ6gurqaPXv2hFWe58+fz8033xzW9x0wYAArVqxg//79KtAiApgpz4sWLaK6upry8nLmzp3bZb/Lzs7mvffeo6ysjLlz5zJ79mwAPB4Pzz//PF9++SVLly7loYceoqGh4aSvf/TRR5k7dy7l5eVUV1eHvRtR2OX55z//OV9++SXjxo3jqaeeYvny5dx+++0AzJ07l+9973tMnjyZQYMGsXjxYn784x8zatQo7r777tD3WLJkCSUlJVx44YXcfffd+P3+0/7MBQsWcM899wBw99138+677550zLx58/j7v/97UlNTAejbt+9Jx+zbt4/LLruMCy64gOLiYtavXx/ub1tEpEdau3YtcOabBauqqli9ejUzZ84M+3sXFhayfPlyqqqquO6666itrT2vrCIS207sgADPPfccEydOpLi4mH/6p38CoL29nR/96EeMGDGCm266iUmTJrFhwwZ27txJcXEx3/zmNxk5ciTf/e53aW1tPe3PPL4Dzpgxg48//vikleFx48aFdhqaOHEiFRUVAOTl5TFu3DgAcnNzycrK4vDhw52+1rZtPv74Y2bMmAGcumd2Jezy/PTTTzNq1ChKS0t54oknTnp/165drFixgldffZXbb7+d++67j40bN7J9+3bWrVtHdXU1v/71r/nwww9Zt24dgwcP5uWXXwbg+9//PqtXrz7pe+7bt4+CggIAevfuzdGjR086ZuvWrZSVlVFSUsLll1/OZ599dtIxf/rTn5gyZQr//d//zdq1aykqKgr3ty0i0iOtW7eOnJwc8vPzT3vcu+++y8UXX0xWVtZZff9+/fqxfPlyqqurVaBFHO7EDrh06VL27t3L559/zrp163jvvffYsGEDb7/9Nvv372fTpk08/fTTrFmzJvQ9NmzYwE9/+lM2bdpES0sLr776KgBPPPEECxYsOOlnHt8BLcsiIyODQ4cOnTLjK6+8wrXXXnvS59esWUNbWxuFhYWdPn/o0CH69OkT2oGooKAgVL7PpNt227jhhhtwu92MHTuW1NRULr74YiCwgf/OnTupqKhg/fr1lJSUANDc3Bxq+/PmzTvnn9va2squXbtYuXIlX375JbNmzaK8vLzTdkwTJ07kO9/5Dh6Ph9tvv52xY8eex+9URMS8Rx99NKwxtfnz53PTTTed8bhXXnnlpM8VFBSwZcuWc4knInFs6dKlLFq0iI8++giAuro6tmzZwsqVK7njjjuwLIuxY8dSXFwc+prg7DLAt771LRYsWMC9994bWsk+H5999hkvvfQSq1at6vT5w4cP853vfCe0WNtdum23DZ/PF/iGLlfodfDXbW1ttLe3M2PGDEpLSyktLWXTpk2hZf5Tyc/PD/0t4OjRo/Tu3fukYwoKCrj55ptDxT0xMfGkGwuvuOIKVq1aRX5+Pt/+9re7/BuOiEg8mjx5Mt/+9rdNxxCRONLe3s6cOXNCnW7btm3ceuutAKfcS/74z1uWdcY954/vgLZtc+TIkS635dyxYwf33HMP//mf/9np/ebmZmbNmsVjjz3GpZdeetLXZWZmcvjw4dAoSEVFxRn/JS8o7PKcmpp6XjeOlJSU8Ne//pVdu3YBUFtby44dO077NTNnzuQ//uM/gMCOGl3N7N10000sX74cCIyO1NfXn3Ryd+3aRW5uLj/60Y+45557NPMsIo7x05/+9KR/rhQRORsndsBrr72WefPmcezYMQB27txJTU0NkydP5s9//jO2bbNx48ZOfWvr1q2hezXeeOMNJk+efNqfeXwHXLRoESUlJScV7iNHjnDzzTfz29/+ltGjR4c+b9s29957L1dffXVobvpElmVxySWXhG4SfO2117jxxhvDOh9hl+fMzMzQdiDnssSenZ3Nyy+/zG233UZxcTFXXHFFqEifaub5Bz/4AeXl5RQVFfHmm2/y2GOPAYEh8uDc9Q033IDX62X06NHMmjWLefPm4XJ1/m0tX76cCy64gAsvvJDFixfz/e9//6zzi4iIiDjRiR3w+uuv55ZbbuGSSy5hzJgx3H333aHthfv27cvIkSP52c9+xvjx40PfY8yYMTz33HOMHDkSl8vFnXfeCZx65nnmzJn06dOHIUOGMGfOnNCOa6tXrw71uN/+9rfs2LGDRx55hHHjxjFp0iQAVq1axRtvvMFf/vIXxo0bx7hx40Lb2B3fOZ977jnmzJnDkCFDyMjICI0Tn4llh7upnYiIiIhImKZMmcK//uu/kpKSwu23397lQmks0hMGRURERETCpJVnEREREZEwaeVZRERERCRMKs8iIiIiImFSeRYRERERCZPKs4iIiIhImFSeRURERETCpPIsIiIiIhImlWcRERERkTCpPIuIiIiIhEnlWUREREQkTP8fNunayuNmZJwAAAAASUVORK5CYII=", "text/plain": [ "<Figure size 700x600 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import timeit\n", "import numpy as np\n", "import matplotlib.pyplot as plt \n", "import pandas\n", "import teqp\n", "\n", "def get_critical_curve(names, ipure):\n", " \"\"\" Return curve as pandas DataFrame \"\"\"\n", " model = teqp.build_multifluid_model(names, teqp.get_datapath())\n", " T0 = model.get_Tcvec()[ipure]\n", " rho0 = np.array([1.0/model.get_vcvec()[ipure]]*2)\n", " rho0[1-ipure] = 0\n", " o = teqp.TCABOptions() \n", "# print(dir(o))\n", " o.init_dt = 1.0 # step in the parameter\n", " o.rel_err = 1e-6 # relative error on the step\n", " o.abs_err = 1e-6 # absolute error on the step\n", " o.max_dt = 100 # cap the size of the allowed step\n", " o.calc_stability = True\n", " o.polish = True\n", " curveJSON = model.trace_critical_arclength_binary(T0, rho0, '', o)\n", " df = pandas.DataFrame(curveJSON)\n", " rhotot = df['rho0 / mol/m^3']+df['rho1 / mol/m^3']\n", " df['z0 / mole frac.'] = df['rho0 / mol/m^3']/rhotot\n", " return df\n", "\n", "fig, ax = plt.subplots(1,1,figsize=(7, 6))\n", "tic = timeit.default_timer()\n", "name0 = 'ETHANE'\n", "for othername in ['METHANE','PROPANE','BUTANE','PENTANE','HEXANE']:\n", " for ipure in [1]:\n", " df = get_critical_curve([name0, othername], ipure)\n", " line, = plt.plot(df['T / K'], df['p / Pa']/1e6, '-')\n", " plt.plot(df['T / K'].iloc[0], df['p / Pa'].iloc[0]/1e6, 'd', \n", " color=line.get_color())\n", "\n", "elap = timeit.default_timer()-tic\n", "plt.gca().set(xlabel='$T$ / K', ylabel='$p$ / MPa')#,xlim=(100, 350), ylim=(1, 1e3))\n", "plt.tight_layout(pad=0.2)\n", "plt.gcf().text(0,0,f'time: {elap:0.1f} s', ha='left', va='bottom', fontsize=7)\n", "plt.gcf().text(1,0,f'teqp: {teqp.__version__}', ha='right', va='bottom', fontsize=7);" ] }, { "cell_type": "markdown", "id": "b664c012", "metadata": {}, "source": [ "## Pure fluid EOS with nonanalytic terms\n", "\n", "For the highest accuracy EOS for normal water and carbon dioxide, there are non-analytic terms that prevent the initialization of the critical tracing at the pure fluid critical point. Instead, one can start close to, but not *AT*, the pure fluid endpoint. After deciding on that starting composition, one solves for the critical point and then traces away from it.\n", "\n", "You might need to either do tracing in two parts, one with init_c=+1 and then init_c=-1, or one tracing might be good enough.\n", "\n", "Here is an example:" ] }, { "cell_type": "code", "execution_count": 5, "id": "afe71d81", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:39.803742Z", "iopub.status.busy": "2024-12-12T18:10:39.803316Z", "iopub.status.idle": "2024-12-12T18:10:41.702642Z", "shell.execute_reply": "2024-12-12T18:10:41.702034Z" } }, "outputs": [ { "data": { "image/png": "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e+01c9WqVeaePXvMadOmmcnJyeaVV15ZsY0nt83gwYPNBg0aVFwGP2XKFDM6Otp85plnKrbxxs+bM7WLt3/WzJo1y5w5c6a5e/duc86cOWbHjh3NHj16mKWlpaZpeucxc8Lp2uZiHjceHZRM0zSnT59utmvXzvT39zdbtWplfvLJJ1XWO51O86WXXjLj4uJMf39/s0+fPua2bduqbJOVlWXefffdZkhIiBkWFmY+8MADZl5e3sV8G7XidG1TWFho9uvXz4yJiTF9fX3NRo0amQ8++GCVy7pN03PbZvbs2SZw0rFgmqZZVFRkPvroo2a9evXMoKAg85ZbbjEPHTpUZZu9e/eaAwcONAMDA83o6GjzqaeeMsvKyi5W+bWqurbZv3+/eeWVV5qRkZGmv7+/2axZM3PkyJFV5lEyTc9tm9zcXPOJJ54wk5KSzICAADM5Odl84YUXqkx74I2fN2dqF2//rJk4caKZnJxs+vn5mfHx8ebw4cPN7OzsivXeeMyccLq2uZjHjWGav5oeVUREREQqePQYJREREZELoaAkIiIiUg0FJREREZFqKCiJiIiIVENBSURERKQaCkoiIiIi1VBQEhEREamGgpKIiIhINRSURERERKqhoCQiIiJSDQUlEXEbs2fPxjCM0/7MmTPnlM994IEHePHFF0+5bsiQIdx8881Vlk2ePJmAgAD+/ve/1/TbEBE34mN1ASIiZ+vKK6/k0KFDFY/btWvHo48+yqOPPlqxLCYm5qTnORwOZsyYwffff39Wr/Pvf/+b4cOH8/HHH/PAAw9ceOEi4rYUlETEbQQGBhIYGAjAwYMHycrK4oorriA+Pv60z1u6dCm+vr507979jK8xZswYXnnlFb755htuueWWGqlbRNyXgpKIuKW1a9cC0KVLlzNu+91333HDDTdgGMZptxs1ahQffvghM2bMoE+fPjVSp4i4NwUlEXFLa9asITExkaioqDNuO23aNN59993TbjNz5kymTZvG/Pnzueaaa2qqTBFxcxrMLSJuac2aNWfVm7RlyxbS0tLO2EPUoUMHGjduzCuvvEJ+fn5NlSkibk5BSUTc0tkGpe+++45rr72WgICA027XoEEDFi5cyMGDBxkwYAB5eXk1VaqIuDEFJRFxO0eOHCE1NfWsgtK0adO46aabzmq/jRo1YtGiRaSnpyssiQigoCQibmjNmjXAmQdyZ2ZmsmrVKq6//vqz3ndiYiILFy4kMzOT/v37k5ube0G1ioh7U1ASEbezdu1a4uLiqF+//mm3mz59OpdccgnR0dHntP+GDRuycOFCjhw5orAk4uUM0zRNq4sQEakNN954I5dffjnPPPOM1aWIiJtSj5KIeKzLL7+cu+++2+oyRMSNqUdJREREpBrqURIRERGphoKSiIiISDUUlERERESqoaAkIiIiUg0FJREREZFqKCiJiIiIVENBSURERKQaCkoiIiIi1VBQEhEREanG/wcOKWiA4Cp4KgAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def get_critical_curve_composition(names, T0, rhovec0, init_c=-1):\n", " \"\"\" Trace the critical curve from a fixed point along it \"\"\"\n", " o = teqp.TCABOptions() \n", "# print(dir(o))\n", " o.init_dt = 1.0 # step in the parameter\n", " o.rel_err = 1e-6 # relative error on the step\n", " o.abs_err = 1e-6 # absolute error on the step\n", " o.max_dt = 100 # cap the size of the allowed step\n", " o.calc_stability = True\n", " o.polish = True\n", " o.init_c = init_c # You might need to swap the initial tracing direction by making this +1.0\n", " curveJSON = model.trace_critical_arclength_binary(T0, rhovec0, '', o)\n", " df = pandas.DataFrame(curveJSON)\n", " rhotot = df['rho0 / mol/m^3']+df['rho1 / mol/m^3']\n", " df['z0 / mole frac.'] = df['rho0 / mol/m^3']/rhotot\n", " return df\n", "\n", "# Tracing with multi-fluid from an endpoint with non-analytic terms\n", "model = teqp.build_multifluid_model([\"Water\", \"Methane\"], teqp.get_datapath())\n", "\n", "x0 = 1-1e-6 # ever so slightly away from the pure fluid\n", "molefrac = np.array([x0, 1-x0])\n", "\n", "# Solve for the actual critical point at this mole fraction with scipy\n", "y0 = [model.get_Tcvec()[0], 1/model.get_vcvec()[0]]\n", "residual = lambda y: model.get_criticality_conditions(y[0], y[1]*molefrac)\n", "res = scipy.optimize.fsolve(residual, y0)\n", "T = res[0]\n", "rho0 = res[1]\n", "rhovec0 = rho0*molefrac\n", "\n", "# Now trace from this point\n", "curve = get_critical_curve_composition(model, T0=T, rhovec0=rhovec0)\n", "plt.plot(curve['T / K'], curve['p / Pa']/1e6, label='multifluid')\n", "\n", "# With GERG-2008, things are much more straightforward...\n", "model = teqp.make_model({'kind': 'GERG2008resid', 'model': {'names': ['water','methane']}})\n", "\n", "def get_critical_curve_simple(model, ipure, T0, rho0):\n", " \"\"\" Trace from a pure fluid... \"\"\"\n", " rhovec0 = np.array([0, 0])\n", " rhovec0[ipure] = rho0\n", " o = teqp.TCABOptions()\n", " o.init_dt = 1.0 # step in the arclength tracing parameter\n", " o.rel_err = 1e-8\n", " o.abs_err = 1e-5\n", " o.integration_order = 5\n", " o.calc_stability = True\n", " o.polish = True\n", " curveJSON = model.trace_critical_arclength_binary(T0, rhovec0, '', o)\n", " df = pandas.DataFrame(curveJSON)\n", " rhotot = df['rho0 / mol/m^3']+df['rho1 / mol/m^3']\n", " df['z0 / mole frac.'] = df['rho0 / mol/m^3']/rhotot\n", " return df\n", "\n", "for ifluid in [0]:\n", " Tci = model.get_Tcvec()[ifluid]\n", " vci = model.get_vcvec()[ifluid]\n", " df = get_critical_curve_simple(model, ipure=ifluid, T0=Tci, rho0 = 1.0/vci)\n", " plt.plot(df['T / K'], df['p / Pa']/1e6, label='GERG-2008')\n", "\n", "plt.gca().set(xlabel='$T$ / K', ylabel='$p$ / MPa')\n", "plt.yscale('log')\n", "plt.xlim(600, 950)\n", "plt.ylim(20, 300)\n", "plt.legend(loc='best');" ] }, { "cell_type": "markdown", "id": "933a88ef", "metadata": {}, "source": [ "## Critical points\n", "\n", "If you have a relatively simple critical curve for a binary mixture and you would like to obtain the critical point at a given composition, you can obtain it reliably in a multi-step process:\n", "\n", "1. Trace the binary curve \n", "2. Interpolate to find the approximate value for critical temperature and density\n", "3. Use Newton's method to solve the criticality conditions from estimated critical point\n", "4. Calculate whatever else you want" ] }, { "cell_type": "code", "execution_count": 6, "id": "4618df2a", "metadata": { "execution": { "iopub.execute_input": "2024-12-12T18:10:41.704595Z", "iopub.status.busy": "2024-12-12T18:10:41.704224Z", "iopub.status.idle": "2024-12-12T18:10:42.030672Z", "shell.execute_reply": "2024-12-12T18:10:42.030125Z" } }, "outputs": [ { "data": { "image/png": "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Ko4iIiIiJrBaLZx/aFqe1nJ1tYqjiIiIiEkuOHS4euG21nGBjIqjiIiIiEnOS43BaoHteaXktYJpeVQcRUREREwSHWqnV2IkAMv3FJqc5tRUHEVERERMdHaXdgD8uPugyUlOTcVRRERExETDOrcFYLmKo4iIiIiczNDObbFYYFdBGQWlVWbHOSkVRxERERETRYfa6REfAcAKLz/PUcVRRERExGSHz3Ncvse7D1erOIqIiIiY7KfzHDXiKCIiIiInMfRQcdyeV0phmcvkNCem4igiIiJisnbhQaTGhQPefZ6jiqOIiIiIFxjW5dDhai8+z1HFUURERMQLDOlUWxzXZBabG+QkVBxFREREvMCA5GgAtuY4cNV4zA1zAiqOIiIiIl6gY9tQokMDcbk9bNvvMDvOcak4ioiIiHgBi8VCvw7RAKzfV2JumBNQcRQRERHxEgM6RAGwPqvY3CAnoOIoIiIi4iUOjzhu2Fdsao4TUXEUERER8RL9kmtHHNPznZS7akxOcywVRxEREREvERcRTGxEEIYB2/aXmh3nGCqOIiIiIl6kV2IkAFtyvO/KahVHERERES/SKzECgK25Ko4iIiIichJph0YcdahaRERERE6qR0LtiOOOvFIMwzA5TX0qjiIiIiJepEtMODarhdLKGvY7Ks2OU4+Ko4iIiIgXsQdYSWkXCsDOfKfJaepTcRQRERHxMt1iwwEVxxOaPn06/fr1IzIyksjISM455xzmzp1rdiwRERGRFtflUHHcXVBmcpL6AswOcFiHDh146qmnSE1NxTAM3n77ba688krWrl1L7969zY4nIiIi0mJuGJLM6N7xdD1UIL2FxfC2y3WO0LZtW5599lluv/32U67rcDiIioqipKSEyMjIFkgnIiIi0vo1pkN5zYjjkdxuNx9++CFlZWWcc845x12nqqqKqqqquq8dDu+bJFNERETEl3jNOY4AGzduJDw8nKCgIO68804++eQT0tLSjrvutGnTiIqKqnskJye3cFoRERER/+JVh6pdLheZmZmUlJTw0Ucf8frrr7No0aLjlsfjjTgmJyfrULWIiIhIIzTmULVXFcejXXzxxXTt2pVXX331lOvqHEcRERGRxmtMh/KqQ9VH83g89UYVRURERMQ8XnNxzJQpUxg7diwdO3aktLSU999/n4ULFzJ//nyzo4mIiIgIXlQc8/Pz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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = get_critical_curve([name0, othername], ipure)\n", "model = teqp.build_multifluid_model([name0, othername], teqp.get_datapath())\n", "line, = plt.plot(df['T / K'], df['p / Pa']/1e6, '-')\n", "rhotot = df['rho0 / mol/m^3']+df['rho1 / mol/m^3']\n", "\n", "# Build cubic interpolators between the variables\n", "tinterp = scipy.interpolate.interp1d(df['z0 / mole frac.'], df['t'], kind='cubic') # interpolator from mole fraction to tracing parameter\n", "Tinterp = scipy.interpolate.interp1d(df['t'], df['T / K'], kind='cubic')\n", "rhointerp = scipy.interpolate.interp1d(df['t'], rhotot, kind='cubic')\n", "\n", "# Iterate over composition\n", "for x0 in np.arange(0.1, 1, 0.05):\n", "\n", " molefracs = np.array([x0, 1-x0])\n", " \n", " # Initial guess for critical point from interpolation\n", " t = tinterp(x0)\n", " T0 = Tinterp(t)\n", " rho0 = rhointerp(t)\n", " p0 = rho0*model.get_R(molefracs)*T0*(1+model.get_Ar01(T0, rho0, molefracs))\n", " plt.plot(T0, p0/1e6, 'o')\n", " \n", " # Newton iteration for the correct critical point\n", " def resid(x):\n", " return model.get_criticality_conditions(T=x[0], rhovec=x[1]*molefracs)\n", " soln = scipy.optimize.fsolve(resid, x0=[T0, rho0])\n", " T, rho = soln\n", " p = rho*model.get_R(molefracs)*T*(1+model.get_Ar01(T, rho, molefracs))\n", " plt.plot(T, p/1e6, '+')\n", "# print(x0, T0, rho0, p0, resid([T0, rho0]), T, rho, resid([T, rho]))\n", "\n", "elap = timeit.default_timer()-tic\n", "plt.gca().set(xlabel='$T$ / K', ylabel='$p$ / MPa')\n", "plt.tight_layout(pad=0.2)" ] } ], "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 }