{ "cells": [ { "cell_type": "markdown", "id": "a6e6ebc7", "metadata": {}, "source": [ "# GERG \n", "\n", "In the GERG-2004 and GERG-2008 models, the pure fluids are modeled with high-accuracy multiparameter EOS. The model is covered exhaustively in the GERG-2004 monograph: https://www.gerg.eu/wp-content/uploads/2019/10/TM15.pdf and in the GERG-2008 paper: https://doi.org/10.1021/je300655b\n", "\n", "The following components are supported (case-sensitive) in GERG-2004:\n", "\n", "* methane\n", "* nitrogen\n", "* carbondioxide\n", "* ethane\n", "* propane\n", "* n-butane\n", "* isobutane\n", "* n-pentane\n", "* isopentane\n", "* n-hexane\n", "* n-heptane\n", "* n-octane\n", "* hydrogen\n", "* oxygen\n", "* carbonmonoxide\n", "* water\n", "* helium\n", "* argon\n", "\n", "and GERG-2008 adds the components:\n", "\n", "* hydrogensulfide\n", "* n-nonane\n", "* n-decane\n", "\n", "(as well as modifying the pure component EOS for carbon monoxide and isopentane). \n", "\n", "The interaction parameters and departure functions are not editable (by design) and the EOS parameters are hard-coded. No ancillary equations are available along with the GERG-2004 model, but you can use the on-the-fly ancillary generator of teqp.\n", "\n", "The residual portions of these models were added in version 0.18.0, and it is planned to add the ideal-gas portions as well at a later date. The residual portion is enough for many applications like phase equilibria and critical locus tracing.\n", "\n", "The kind is 'GERG2004resid' for the GERG-2004 residual model and 'GERG2008resid' for the GERG-2008 residual model" ] }, { "cell_type": "code", "execution_count": 1, "id": "0789f562", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:40:02.315515Z", "iopub.status.busy": "2024-03-15T22:40:02.315348Z", "iopub.status.idle": "2024-03-15T22:40:02.772781Z", "shell.execute_reply": "2024-03-15T22:40:02.772136Z" } }, "outputs": [ { "data": { "text/plain": [ "'0.19.1'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import teqp\n", "import numpy as np\n", "import pandas\n", "import matplotlib.pyplot as plt\n", "\n", "teqp.__version__" ] }, { "cell_type": "code", "execution_count": 2, "id": "dcaa96c9", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:40:02.774882Z", "iopub.status.busy": "2024-03-15T22:40:02.774671Z", "iopub.status.idle": "2024-03-15T22:40:02.777488Z", "shell.execute_reply": "2024-03-15T22:40:02.777037Z" } }, "outputs": [], "source": [ "model = teqp.make_model({'kind':\"GERG2004resid\", 'model':{\"names\": ['methane','ethane']}})" ] }, { "cell_type": "code", "execution_count": 3, "id": "90cd0540", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:40:02.779334Z", "iopub.status.busy": "2024-03-15T22:40:02.779034Z", "iopub.status.idle": "2024-03-15T22:40:02.969013Z", "shell.execute_reply": "2024-03-15T22:40:02.968434Z" }, "tags": [ "raises-exception" ] }, "outputs": [ { "ename": "ValueError", "evalue": "Unable to load pure info for MeThAnE", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[3], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Note that names are case-sensitive; this doesn't work\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m model \u001b[38;5;241m=\u001b[39m \u001b[43mteqp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmake_model\u001b[49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mkind\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mGERG2004resid\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mmodel\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mnames\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mMeThAnE\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43methane\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m}\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m/opt/conda/lib/python3.11/site-packages/teqp/__init__.py:47\u001b[0m, in \u001b[0;36mmake_model\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 42\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmake_model\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 43\u001b[0m \u001b[38;5;250m \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 44\u001b[0m \u001b[38;5;124;03m This function is in two parts; first the make_model function (renamed to _make_model in the Python interface)\u001b[39;00m\n\u001b[1;32m 45\u001b[0m \u001b[38;5;124;03m is used to make the model and then the model-specific methods are attached to the instance\u001b[39;00m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m---> 47\u001b[0m AS \u001b[38;5;241m=\u001b[39m \u001b[43m_make_model\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 48\u001b[0m attach_model_specific_methods(AS)\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m AS\n", "\u001b[0;31mValueError\u001b[0m: Unable to load pure info for MeThAnE" ] } ], "source": [ "# Note that names are case-sensitive; this doesn't work\n", "model = teqp.make_model({'kind':\"GERG2004resid\", 'model':{\"names\": ['MeThAnE','ethane']}})" ] }, { "cell_type": "code", "execution_count": 4, "id": "c99900a9", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:40:02.971172Z", "iopub.status.busy": "2024-03-15T22:40:02.970994Z", "iopub.status.idle": "2024-03-15T22:40:03.176568Z", "shell.execute_reply": "2024-03-15T22:40:03.176027Z" } }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Here we trace the critical locus for methane+ethane\n", "rhovec0 = np.array([0.0, 0.0])\n", "ifluid = 0\n", "T0 = model.get_Tcvec()[0]\n", "rhovec0[ifluid] = 1/model.get_vcvec()[0]\n", "trace = model.trace_critical_arclength_binary(T0=T0, rhovec0=rhovec0)\n", "df = pandas.DataFrame(trace)\n", "plt.plot(df['T / K'], df['p / Pa'])\n", "plt.gca().set(xlabel='$T$ / K', ylabel='$p$ / Pa');" ] }, { "cell_type": "code", "execution_count": 5, "id": "78b8faf7", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:40:03.178684Z", "iopub.status.busy": "2024-03-15T22:40:03.178373Z", "iopub.status.idle": "2024-03-15T22:40:03.181114Z", "shell.execute_reply": "2024-03-15T22:40:03.180681Z" } }, "outputs": [], "source": [ "model = teqp.make_model({'kind':\"GERG2004resid\", 'model':{\"names\": ['methane']}})" ] }, { "cell_type": "code", "execution_count": 6, "id": "c8c11235", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:40:03.183030Z", "iopub.status.busy": "2024-03-15T22:40:03.182774Z", "iopub.status.idle": "2024-03-15T22:40:03.213820Z", "shell.execute_reply": "2024-03-15T22:40:03.213314Z" } }, "outputs": [ { "data": { "text/plain": [ "(27361.12577999801, 42.046298502526746, 'mol/m^3 for liquid and vapor')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Build an on-the-fly ancillary equation \n", "# (not as accurate as the specialized ones, but works acceptably in many cases)\n", "anc = teqp.build_ancillaries(model, Tc=model.get_Tcvec()[0], rhoc = 1/model.get_vcvec()[0], Tmin=60)\n", "\n", "# And then use the dynamic ancillary to calculate VLE at 100 K\n", "T = 100 # K\n", "rhoL, rhoV = model.pure_VLE_T(T, anc.rhoL(T), anc.rhoV(T), 10)\n", "rhoL, rhoV, 'mol/m^3 for liquid and vapor'" ] } ], "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 }