{ "cells": [ { "cell_type": "markdown", "id": "2dab4a3e", "metadata": {}, "source": [ "# Multi-fluid Parameter Fitting\n", "\n", "Here is an example of fitting the $\\beta_T$ and $\\gamma_T$ values for the binary pair of propane+$n$-dodecane with the multi-fluid model. It uses differential evolution to do the global optimization, which is probably overkill in this case as the problem is 2D and other algorithms like Nelder-Mead or even approximate Hessian methods would probably be fine.\n", "\n", "In any case, it takes a few seconds to run (when the actual optimization is uncommented), demonstrating how one can fit model parameters with existing tooling from the scientific python stack." ] }, { "cell_type": "code", "execution_count": 1, "id": "3f8d8bce", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:39:35.533736Z", "iopub.status.busy": "2024-03-15T22:39:35.533245Z", "iopub.status.idle": "2024-03-15T22:39:38.076533Z", "shell.execute_reply": "2024-03-15T22:39:38.075969Z" } }, "outputs": [], "source": [ "import json \n", "import teqp, numpy as np, pandas, matplotlib.pyplot as plt\n", "import scipy.interpolate, scipy.optimize\n", "\n", "import pandas\n", "data = pandas.read_csv('VLE_data_propane_dodecane.csv')" ] }, { "cell_type": "code", "execution_count": 2, "id": "b97637e7", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:39:38.079314Z", "iopub.status.busy": "2024-03-15T22:39:38.078925Z", "iopub.status.idle": "2024-03-15T22:39:38.087306Z", "shell.execute_reply": "2024-03-15T22:39:38.086891Z" } }, "outputs": [], "source": [ "def cost_function(parameters:np.ndarray, plot:bool=False):\n", "\n", " # Fitting some parameters and fixing the others\n", " betaV, gammaV = 1.0, 1.0\n", " betaT, gammaT = parameters\n", "\n", " # betaT, gammaT, betaV, gammaV = parameters\n", "\n", " BIP = [{\n", " 'function': '',\n", " 'BibTeX': 'thiswork',\n", " 'CAS1': '112-40-3',\n", " 'CAS2': '74-98-6',\n", " 'F': 0.0,\n", " 'Name1': 'n-Dodecane',\n", " 'Name2': 'n-Propane',\n", " 'betaT': betaT,\n", " 'betaV': betaV,\n", " 'gammaT': gammaT,\n", " 'gammaV': gammaV\n", " }]\n", " model = teqp.build_multifluid_model([\"n-Dodecane\", \"n-Propane\"], teqp.get_datapath(), \n", " BIPcollectionpath=json.dumps(BIP)\n", " )\n", " ancs = [model.build_ancillaries(ipure) for ipure in [0,1]]\n", "\n", " cost = 0.0\n", " \n", " # The 0-based index of the fluid to start from. At this temperature, only one fluid \n", " # is subcritical, so it has to be that one, but in general you could start \n", " # from either one.\n", " ipure = 0 \n", "\n", " for T in [419.15, 457.65]:\n", " # Subset the experimental data to match the isotherm \n", " # being fitted\n", " dfT = data[np.abs(data['T / K90'] - T) < 1e-3]\n", "\n", " if plot:\n", " plt.plot(1-dfT['x[0] / mole frac.'], dfT['p / Pa']/1e6, 'X')\n", " plt.plot(1-dfT['y[0] / mole frac.'], dfT['p / Pa']/1e6, 'X')\n", "\n", " try:\n", " # Get the molar concentrations of the pure fluid\n", " # at the starting point\n", " anc = ancs[ipure]\n", " rhoL0 = np.array([0, 0.0])\n", " rhoV0 = np.array([0, 0.0])\n", " rhoL0[ipure] = anc.rhoL(T)\n", " rhoV0[ipure] = anc.rhoV(T)\n", "\n", " # Now we do the trace and convert retuned JSON\n", " # data into a DataFrame\n", " df = pandas.DataFrame(model.trace_VLE_isotherm_binary(T, rhoL0, rhoV0))\n", " \n", " if plot:\n", " plt.plot(df['xL_0 / mole frac.'], df['pL / Pa']/1e6)\n", " plt.plot(df['xV_0 / mole frac.'], df['pL / Pa']/1e6)\n", "\n", " # Interpolate trace at experimental pressures along this \n", " # isotherm to get composition from the current model\n", " # The interpolators are set up to put in NaN for out\n", " # of range values\n", " x_interpolator = scipy.interpolate.interp1d(\n", " df['pL / Pa'], df['xL_0 / mole frac.'], \n", " fill_value=np.nan, bounds_error=False\n", " )\n", " y_interpolator = scipy.interpolate.interp1d(\n", " df['pL / Pa'], df['xV_0 / mole frac.'], \n", " fill_value=np.nan, bounds_error=False\n", " )\n", " # The interpolated values for the compositions \n", " # along the trace at experimental pressures\n", " x_model = x_interpolator(dfT['p / Pa'])\n", " y_model = y_interpolator(dfT['p / Pa'])\n", " if plot:\n", " plt.plot(x_model, dfT['p / Pa']/1e6, '.')\n", " \n", " # print(x_model, (1-dfT['x[0] (-)']))\n", " \n", " errTx = np.sum(np.abs(x_model-(1-dfT['x[0] / mole frac.'])))\n", " errTy = np.sum(np.abs(y_model-(1-dfT['y[0] / mole frac.'])))\n", " \n", " # If any point *cannot* be interpolated, throw out the model,\n", " # returning a large cost function value.\n", " #\n", " # Note: you might need to be more careful here,\n", " # if the points are close to the critical point, a good model might\n", " # (but not usually), undershoot the critical point of the \n", " # real mixture\n", " # \n", " # Also watch out for values of compositons in the data that are placeholders\n", " # with a value of nan, which will pollute the error calculation\n", " if not np.isfinite(errTx):\n", " return 1e6\n", " if not np.isfinite(errTy):\n", " return 1e6\n", " cost += errTx + errTy\n", "\n", " except BaseException as BE:\n", " print(BE)\n", " pass \n", " if plot:\n", " plt.title(f'dodecane(1) + propane(2)')\n", " plt.xlabel('$x_1$ / mole frac.'); plt.ylabel('$p$ / MPa')\n", " plt.savefig('n-Dodecane+propane.pdf')\n", " plt.show()\n", "\n", " return cost" ] }, { "cell_type": "code", "execution_count": 3, "id": "4ee30326", "metadata": { "execution": { "iopub.execute_input": "2024-03-15T22:39:38.089305Z", "iopub.status.busy": "2024-03-15T22:39:38.089007Z", "iopub.status.idle": "2024-03-15T22:39:38.621689Z", "shell.execute_reply": "2024-03-15T22:39:38.621081Z" } }, "outputs": [ { "data": { "image/png": "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f0+VKlWwsrJiw4YN/PDDD5kKZ7VabZb3efiNKqfxubm5AZgkPHmVfo+s6iMeVr58+UzFnd988w03b97MNMS2YcOGTxzXwx5uASlIgYGB7N69m//97380atQIBwcHDAYDnTt3zvTzhOx/pgaDAUVR2LhxY5bnPpx0uLm5PfbnmZyczHPPPcexY8f4559/Hlt/FBER8chESYi8kqRFlDply5bF1taW8+fPZzp29uxZk20vLy8MBgPnz583mW/k1q1bREZGGgsW0/88f/481apVM553586dTG8C1atXJzY2NtMIjYyqV6/OP//8w/379x/Z2rJ27VqSkpJYs2aNySfuh5v8cyun8Xl6emJra8ulS5fy/Kx06ffIbk4XGxubTHHNnz+fpKSkbON9lIz/DlRVJTQ0lAYNGmR7rZeXF8eOHcNgMJi0tpw5c8Z4/HHPAjh37hxVq1YFUt/og4OD+eSTT/jwww8fe11OVa9eHVVV8fb2zjYhrlWrFsuXL8/ymMFgYPjw4QQHB7NkyRL8/f0feR+dTkd4eDg9e/bMc9xCZEVqWkSpo9Vq6dSpE6tWrSIsLMy4//Tp0/zzzz8m53bt2hXAZEQPwPfffw9At27dAOjQoQOWlpb89NNPJq0WGa+D1E/Se/bsyfQsSB1qrNPpAOjbty+qqvLJJ59kOi/9GemfnB9+ZlRUFLNnz876xedATuOztLSkadOmWc6KmlsHDx7E2dnZOIKpMKWP6Em3bNkybty4QZcuXbK9tmvXrty8eZPFixcb9+l0On766SccHBwyvbGvWrWKa9euGbf37dvHf//9Z3xWVj9PyPrfUU4999xzaLVaPvnkk0z3VVXVZCh1ixYtiIiIMKlxSvfqq6+yePFifv31V5577rnHPvPUqVMkJibSsmXLPMctRFakpUWUSp988gl///03rVu35uWXXza+0dStW5djx44Zz2vYsCFBQUFMnz6dyMhI/P392bdvH3PnzqV37960a9cOSG29efvtt5k0aRLdu3ena9euHD58mI0bN2bq8vjf//7HmjVr6N69u3G4cVxcHMePH2fZsmVcvnwZd3d32rVrx7Bhw5g6dSrnz583dg/s2LGDdu3a8corr9CxY0esrKzo0aMHY8eOJTY2lhkzZuDh4cGNGzfy9L3JaXwAvXr14v333yc6OhonJyfjPaKiovjpp58AjGsS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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "0.47041664920218196" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The final parameter values, will be overwritten if \n", "# optimization call is uncommented\n", "x = [1.01778992, 1.17318854]\n", "\n", "# Here is the code used to do the optimization, uncomment to run it\n", "# Note: it is commented out because it takes too long to run on doc builder\n", "#\n", "# res = scipy.optimize.differential_evolution(\n", "# cost_function, \n", "# bounds=((0.9, 1.5), (0.75, 1.5)), \n", "# disp=True, \n", "# polish=False\n", "# )\n", "# print(res)\n", "# x = res.x\n", "\n", "cost_function(x, plot=True)" ] } ], "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 }