{ "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-12-12T18:07:45.190985Z", "iopub.status.busy": "2024-12-12T18:07:45.190731Z", "iopub.status.idle": "2024-12-12T18:07:47.708473Z", "shell.execute_reply": "2024-12-12T18:07:47.708015Z" } }, "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-12-12T18:07:47.710634Z", "iopub.status.busy": "2024-12-12T18:07:47.710291Z", "iopub.status.idle": "2024-12-12T18:07:47.718516Z", "shell.execute_reply": "2024-12-12T18:07:47.718103Z" } }, "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-12-12T18:07:47.720166Z", "iopub.status.busy": "2024-12-12T18:07:47.719801Z", "iopub.status.idle": "2024-12-12T18:07:48.260533Z", "shell.execute_reply": "2024-12-12T18:07:48.260003Z" } }, "outputs": [ { "data": { "image/png": "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qSVjPWrUKBw7dkx9CenChQvYt28fHnjggaDU3JGE6rmx3XzLc3OUlpZCkiQkJCT4tCckJOD06dN+9ykuLvbbv7i4uNXqbA9aMtZ1vfDCC0hKSqr3H4P5aslYf/7553j99ddRUFAQhArbj5aM9YULF/Dpp5/isccew759+3Du3Dk8/fTTcDqdyMnJCUbZmtSSsX700UdRWlqKzMxMEBFcLheefPJJLF26NBgldygNPTdWVFSgpqYGFoulVc7boa60MO1Yt24dcnNzsXPnTpjN5lCX065UVlYiKysLW7duRVxcXKjLafdkWUZ8fDxee+01jBgxAjNmzMCyZcuwZcuWUJfW7hw8eBBr1qzBq6++ivz8fHzwwQfYu3cvVq9eHerS2G3Soa60xMXFQafToaSkxKe9pKQEXbt29btP165dA+rPFC0Za49XXnkF69atwyeffIIhQ4a0ZpntQqBjff78eVy6dAlTp05V22RZBgDo9XqcOXMGvXv3bt2iNaolP9eJiYkwGAzQ6XRq25133oni4mI4HA4YjcZWrVmrWjLWK1asQFZWFp544gkAwODBg2G1WjF37lwsW7YMosh/p98uDT03durUqdWusgAd7EqL0WjEiBEjcODAAbVNlmUcOHAAGRkZfvfJyMjw6Q8Af//73xvszxQtGWsAWL9+PVavXo28vDyMHDkyGKVqXqBj3b9/f5w4cQIFBQXq9OCDD+Kee+5BQUEBkpOTg1m+prTk53r06NE4d+6cGgwB4LvvvkNiYiIHlka0ZKyrq6vrBRNPWCT+buDbKmTPja16m28blJubSyaTibZt20anTp2iuXPnUnR0NBUXFxMRUVZWFi1evFjtf+jQIdLr9fTKK69QYWEh5eTk8FuemynQsV63bh0ZjUZ6//33qaioSJ0qKytD9RA0I9CxrovfPdR8gY715cuXKTIykp555hk6c+YM7dmzh+Lj4+mll14K1UPQjEDHOicnhyIjI+mdd96hCxcu0P79+6l37940ffr0UD0EzaisrKTjx4/T8ePHCQD9+te/puPHj9P3339PRESLFy+mrKwstb/nLc/PP/88FRYW0ubNm/ktz61l48aN1KNHDzIajZSWlkZffPGFum3s2LE0a9Ysn/5/+ctfqG/fvmQ0GmngwIG0d+/eIFesXYGMdc+ePQlAvSknJyf4hWtQoD/X3ji0BCbQ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "np.float64(0.47041664919729653)" ] }, "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 }