{ "cells": [ { "cell_type": "markdown", "id": "d2e9adfb-9962-40f7-8265-4861621e757e", "metadata": {}, "source": [ "# Adjusting PC-SAFT parameters for a non-associating, non-polar substance" ] }, { "cell_type": "markdown", "id": "4b54ad7f-d2ee-478c-8dd3-aebb2addec81", "metadata": {}, "source": [ "## Goal\n", "\n", "- Read in experimental data for vapor pressure and liquid density of a pure substance.\n", "- Use the `DataSet`, `Loss` and `Estimator` objects to store and work with experimental data.\n", "- Define a `cost` function that will be used with `scipy.optimize.least_squares`.\n", "- Run the optimization." ] }, { "cell_type": "code", "execution_count": 1, "id": "805bdfdb-d397-45a3-8354-082a8d13e4c1", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from scipy.optimize import least_squares\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", "from feos.si import BAR, KELVIN, KILOGRAM, METER\n", "from feos.eos import EquationOfState, PhaseDiagram\n", "from feos.pcsaft import Identifier, PcSaftParameters, PcSaftRecord, PureRecord\n", "from feos.eos.estimator import Estimator, Loss, DataSet\n", "\n", "sns.set_context('talk')\n", "sns.set_palette('Dark2')\n", "sns.set_style('ticks')\n", "colors = sns.palettes.color_palette('Dark2', 5)" ] }, { "cell_type": "markdown", "id": "46c5a891-be8b-44d9-8f42-c84adf0cadb4", "metadata": {}, "source": [ "# `DataSet` objects\n", "\n", "FeO$_\\text{s}$ provides a range of data structures that facilitate the adjustment of parameters. One such structure is the `DataSet`, which serves as a storage unit for experimental data. When working with a specific model, a `DataSet` enables the evaluation of a `cost` function. How this cost function is defined, depends on the property that you want to predict with your equation of state. In this notebook, we use vapor pressures and liquid densities and the cost functions are defined as the relative difference between the experimental data and the model prediction.\n", "\n", "A DataSet encompasses the following components:\n", "\n", "- The `target`: This refers to the experimental data associated with the property for which we intend to adjust parameters. In our case, these properties include vapor pressures and liquid densities. Additional options consist of dynamic properties used to adjust correlation parameters for entropy scaling or VLE (Vapor-Liquid Equilibrium) data of mixtures to fine-tune binary interaction parameters.\n", "- Other properties: These are necessary for determining the thermodynamic conditions. For instance, temperature is required for vapor pressure calculations, while liquid density computations necessitate temperature and pressure.\n", "- Each property available in FeO$_\\text{s}$ is accompanied by a corresponding DataSet constructor.\n", "\n", "Below, we load (pseudo) experimental data for hexane's vapor pressures and liquid densities. The data, taken from the NIST WebBook, incorporates simulated statistical uncertainties (e.g., measurement errors) by introducing Gaussian noise." ] }, { "cell_type": "code", "execution_count": 2, "id": "3c80cd76-4868-4b92-a654-287c7d65b875", "metadata": {}, "outputs": [], "source": [ "# read data from file into DataFrame\n", "data_psat = pd.read_csv(\"data/hexane_vapor_pressure.csv\")\n", "# construct a `DataSet` for vapor pressure\n", "dataset_psat = DataSet.vapor_pressure(\n", " target=data_psat[\"vapor_pressure / bar\"].values * BAR,\n", " temperature=data_psat[\"temperature / K\"].values * KELVIN,\n", " extrapolate=True\n", ")" ] }, { "cell_type": "markdown", "id": "30f51ce6-a910-4e6f-93d2-7c02d070143e", "metadata": {}, "source": [ "For `DataSet.vapor_pressure` we have to supply the experimental data for vapor pressures and temperatures as input.\n", "\n", "Optional parameters are\n", "- `extrapolate` which allows an extrapolation for experimental data above the model's critical temperature (using an Antoine-like equation),\n", "- `critical_temperature` when the experimental critical temperature is known,\n", "- `max_iter` to set the maximum number of iterations for the VLE solver, and\n", "- `verbosity` to print the solver iterations to the terminal." ] }, { "cell_type": "code", "execution_count": 3, "id": "981aab8f-bd41-4939-a27a-02223c5a5ff0", "metadata": {}, "outputs": [], "source": [ "# read data from file into DataFrame\n", "data_rhol = pd.read_csv(\"data/hexane_liquid_density.csv\")\n", "# construct a `DataSet` for liquid density\n", "dataset_rhol = DataSet.liquid_density(\n", " target=data_rhol[\"density / kg/m3\"].values * KILOGRAM / METER**3,\n", " temperature=data_rhol[\"temperature / K\"].values * KELVIN,\n", " pressure=data_rhol[\"pressure / bar\"].values * BAR\n", ")" ] }, { "cell_type": "markdown", "id": "53e754f2-6a6f-415b-87f7-8a35e0c7d61b", "metadata": {}, "source": [ "For `DataSet.liquid_density` we have to supply the experimental data for liquid mass densities, temperatures and pressures as input." ] }, { "cell_type": "markdown", "id": "65c565d7-30a4-446a-8e22-0c225edeb88f", "metadata": {}, "source": [ "# `Estimator` and `Loss` objects" ] }, { "cell_type": "markdown", "id": "89312d88-4eba-4649-af06-a11d673a88b9", "metadata": {}, "source": [ "To collect the `DataSet` objects for the properties we wish to adjust parameters for, we can assemble them into an `Estimator` object. The `Estimator` requires the following inputs:\n", "\n", "- A list of `DataSet` objects.\n", "- A corresponding list of `weights`, with each weight assigned to a specific `DataSet`.\n", "- A list of `losses`, where each `DataSet` has an associated loss function.\n", "\n", "The `Estimator` facilitates the calculation of the model's `cost`, which involves the following steps:\n", "\n", "1. Iterating through all `DataSets`: For each `DataSet`, the relative difference between the model's prediction and the experimental data is evaluated.\n", "2. Application of a `Loss` function: The available `Loss` functions in FeO$_\\text{s}$ are identical to those found in [`scipy.optimize.least_squares`](https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.least_squares.html). Each property can have a different `Loss`. If `Loss.linear()` is used, the optimization simplifies to a regular least-squares problem.\n", "3. Normalization: The relative differences (with the applied loss functions) are divided by the number of data points in each corresponding `DataSet`.\n", "4. Weighted cost calculation: The costs of each `DataSet` are weighted based on the provided (normalized) `weights`.\n", "\n", "The following example demonstrates the construction of an estimator using vapor pressure and liquid density data. We utilize `weights = [3, 2]` (normalized `weights = [0.6, 0.4]`) and a `Loss.huber(0.05)` loss function, which treats predictions above 5% linearly in the cost function instead of squaring them (outlier treatment).\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "2e4c20fb-2415-43ac-87c4-68279dcb4e7d", "metadata": {}, "outputs": [], "source": [ "estimator = Estimator(\n", " data=[dataset_psat, dataset_rhol],\n", " weights=[3, 2],\n", " losses=[Loss.huber(0.05), Loss.huber(0.05)]\n", ")" ] }, { "cell_type": "markdown", "id": "c49e1f8a-93f5-4981-b7ea-410b651058c8", "metadata": {}, "source": [ "# Defining a cost function\n", "\n", "When using `scipy`'s `least_squares` solver, it requires a function to calculate the cost or residuals. The first argument of this function must be the parameter vector that's being optimized. Therefore, it is necessary to define this function in Python before working with `least_squares`.\n", "\n", "To simplify the process, we create two functions:\n", "\n", "- `eos_from_parameters`: This function constructs the parameters and equation of state based on the current parameter vector. Since FeO$_\\text{s}$ does not allow mutation of an existing `EquationOfState` object, generating a new equation of state is necessary. We can use this function later to generate the equation of state for the final parameters.\n", "- `cost`: Taking the parameters and estimator as inputs, this function builds the equation of state, calculates the cost of the current model, and returns the result.\n", "\n", "These functions aid in the seamless integration of the solver, allowing for the generation of the equation of state and the calculation of the model's cost." ] }, { "cell_type": "code", "execution_count": 5, "id": "a61f8330-e31c-4d97-943d-6abe9fad9f1b", "metadata": {}, "outputs": [], "source": [ "# define things that are constant during optimization\n", "identifier = Identifier(\n", " cas=\"110-54-3\", \n", " name=\"hexane\", \n", " iupac_name=\"hexane\", \n", " smiles=\"CCCCCC\", \n", " inchi=\"InChI=1/C6H14/c1-3-5-6-4-2/h3-6H2,1-2H3\", \n", " formula=\"C6H14\"\n", ")\n", "molarweight = 86.177 # g / mol\n", "\n", "def eos_from_parameters(p):\n", " \"\"\"Returns equation of state (PC-SAFT) for current parameters.\"\"\"\n", " global identifier, molarweight\n", " m, sigma, epsilon_k = p\n", " model_record = PcSaftRecord(m, sigma, epsilon_k)\n", " pure_record = PureRecord(identifier, molarweight, model_record)\n", " parameters = PcSaftParameters.new_pure(pure_record)\n", " return EquationOfState.pcsaft(parameters)\n", "\n", "def cost(p, estimator):\n", " \"\"\"Calculates cost function for current parameters.\"\"\"\n", " return estimator.cost(eos_from_parameters(p))" ] }, { "cell_type": "markdown", "id": "b3d9f5f9-77ff-4523-a3ec-d7a3c05b829a", "metadata": {}, "source": [ "# Adjust parameters\n", "\n", "To begin parameter adjustment, there are two additional requirements:\n", "\n", "1. An initial guess for the parameters.\n", "2. Bounds for the parameters.\n", "\n", "It is crucial to note that trying multiple combinations of initial parameters is recommended to avoid getting stuck in a local minimum.\n", "\n", "Once these prerequisites are fulfilled, we can invoke `least_squares` with `args=(estimator, )` as an argument for the `cost` function. Please note that the tuple syntax is necessary in this case." ] }, { "cell_type": "code", "execution_count": 6, "id": "1309b82d-dd20-4e9c-987c-03167cf4a7b8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Iteration Total nfev Cost Cost reduction Step norm Optimality \n", " 0 1 9.6023e-05 1.11e-04 \n", " 1 2 4.1622e-05 5.44e-05 5.08e+01 1.34e-03 \n", " 2 3 6.2580e-06 3.54e-05 3.32e+00 1.84e-04 \n", " 3 4 3.4028e-06 2.86e-06 1.40e+00 6.00e-06 \n", " 4 5 3.2495e-06 1.53e-07 4.42e+00 5.86e-05 \n", " 5 6 3.2206e-06 2.88e-08 1.05e+00 1.94e-05 \n", " 6 7 3.2167e-06 3.91e-09 4.65e-01 5.20e-06 \n", " 7 8 3.2164e-06 3.01e-10 1.33e-01 1.28e-06 \n", " 8 9 3.2164e-06 1.82e-11 3.21e-02 3.01e-07 \n", " 9 10 3.2164e-06 1.02e-12 7.61e-03 6.80e-08 \n", " 10 11 3.2164e-06 5.45e-14 1.77e-03 1.54e-08 \n", " 11 12 3.2164e-06 2.93e-15 4.13e-04 3.49e-09 \n", "`gtol` termination condition is satisfied.\n", "Function evaluations 12, initial cost 9.6023e-05, final cost 3.2164e-06, first-order optimality 3.49e-09.\n", "CPU times: user 2.92 s, sys: 62 ms, total: 2.98 s\n", "Wall time: 802 ms\n" ] } ], "source": [ "%%time\n", "initial_parameters = [3.0, 3.0, 300.0] # m, sigma, epsilon_k\n", "bounds = ([2.0, 2.0, 150.0], [8.0, 5.0, 500.0]) # ([lower bounds], [upper bounds])\n", "fitted_parameters = least_squares(cost, initial_parameters, bounds=bounds, args=(estimator,), verbose=2).x" ] }, { "cell_type": "markdown", "id": "c7810262-d26d-4a5a-8d3b-5b1d217a9eb5", "metadata": {}, "source": [ "To provide statistics during the adjustment process, we can utilize the `verbose=2` option, which prints relevant information. However, our primary interest lies in obtaining the optimal parameters. These parameters can be accessed from the `x` field of the `OptimizeResult` object generated by the `least_squares` function.\n", "\n", "Once the adjustment is complete, we can investigate the results. A quick and straightforward method for analyzing the optimization results is to use the `Estimator.mean_absolute_relative_difference` method. This method returns the mean absolute relative difference (MARD) for each `DataSet`, without applying losses or weights. It is important to exercise caution when dealing with `NaN` values, as any predictions resulting in `NaN` are filtered out and thus not immediately visible in the reported values.\n", "\n", "It's essential to note that the resulting MARD **does not include** an evaluation of the loss functions or weights. Therefore, it does not equal the property that is minimized in the optimization process." ] }, { "cell_type": "code", "execution_count": 7, "id": "b266f557-40f5-43d6-82eb-f5c393a3b464", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Adjusted parameters\n", "m = 3.024\n", "sigma = 3.811 A\n", "epsilon_k = 238.333 K\n", "\n", "MARD (including outliers)\n", "p_sat = 6.3 %\n", "rho_l = 0.93 %\n" ] } ], "source": [ "print(\"Adjusted parameters\")\n", "print(\"m = {:>8.4}\".format(fitted_parameters[0]))\n", "print(\"sigma = {:>8.4} A\".format(fitted_parameters[1]))\n", "print(\"epsilon_k = {:>8.6} K\".format(fitted_parameters[2]))\n", "print(\"\")\n", "\n", "mard = estimator.mean_absolute_relative_difference(eos_from_parameters(fitted_parameters)) * 100\n", "print(\"MARD (including outliers)\")\n", "print(\"p_sat = {:<4.2} %\".format(mard[0]))\n", "print(\"rho_l = {:<4.2} %\".format(mard[1]))" ] }, { "cell_type": "markdown", "id": "342179f3-ca31-4ecf-8fa6-b58680ffd697", "metadata": {}, "source": [ "# Plot resuts\n", "\n", "We can now use our results and calcuate the phase diagram and have a visual inspection of our parameters." ] }, { "cell_type": "code", "execution_count": 8, "id": "9a75d38a-8f73-402a-9558-e5f3582e982d", "metadata": {}, "outputs": [], "source": [ "phase_diagram = PhaseDiagram.pure(eos_from_parameters(fitted_parameters), 250.0 * KELVIN, 201)" ] }, { "cell_type": "code", "execution_count": 10, "id": "f8444e44-ca81-42f5-be85-543640490d89", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(15, 6))\n", "ax[0].set_title(\"saturation pressure of hexane\")\n", "\n", "sns.lineplot(\n", " y=phase_diagram.vapor.pressure / BAR,\n", " x=1.0/phase_diagram.vapor.temperature * KELVIN,\n", " ax=ax[0]\n", ")\n", "sns.scatterplot(\n", " x=1.0 / data_psat[\"temperature / K\"], \n", " y=data_psat[\"vapor_pressure / bar\"], \n", " ax=ax[0],\n", " color=colors[1]\n", ")\n", "ax[0].set_yscale('log')\n", "ax[0].set_xlabel(r'$\\frac{1}{T}$ / K$^{-1}$');\n", "ax[0].set_ylabel(r'$p$ / bar');\n", "#ax[0].set_xlim()\n", "#ax[0].set_ylim()\n", "\n", "ax[1].set_title(r\"$T$-$\\rho$-diagram of hexane\")\n", "sns.lineplot(\n", " y=phase_diagram.vapor.temperature / KELVIN,\n", " x=phase_diagram.vapor.mass_density / KILOGRAM * METER**3,\n", " ax=ax[1],\n", " color=colors[0]\n", ")\n", "sns.lineplot(\n", " y=phase_diagram.liquid.temperature / KELVIN,\n", " x=phase_diagram.liquid.mass_density / KILOGRAM * METER**3,\n", " ax=ax[1],\n", " color=colors[0]\n", ")\n", "\n", "ax[1].set_ylabel(r'$T$ / K');\n", "ax[1].set_xlabel(r'$\\rho$ / kg m$^{-3}$');" ] }, { "cell_type": "markdown", "id": "96c715a3-dd27-4afd-a146-c5c516e43ce7", "metadata": {}, "source": [ "# Summary\n", "\n", "- The `Estimator` object in FeO$_\\text{s}$ allows the collection of `DataSet` objects for adjusting parameters.\n", " - The `Estimator` takes a list of `DataSet` objects, weights, and `Loss` objects as inputs.\n", " - In our example, it calculates the cost of a model by evaluating the relative difference between the model's prediction and experimental data in each `DataSet`.\n", "- To work with `scipy`'s `least_squares` solver, a cost function is required.\n", " - Two functions, `eos_from_parameters` and `cost`, are built for this purpose.\n", " - `eos_from_parameters` constructs the parameters and equation of state for the current parameter vector.\n", " - `cost` calculates and returns the cost of the current model based on the parameters and estimator.\n", "- Initial parameter guesses and parameter bounds are necessary for parameter adjustment.\n", " - Checking multiple combinations of initial parameters is recommended to avoid local minima (not shown in this notebook).\n", "- In this example, the `Estimator.mean_absolute_relative_difference` method provides the mean absolute relative difference (MARD) for each `DataSet`, without applying losses or weights.\n", " - The resulting MARD does not include the effects of loss functions or weights and does not represent the minimized property." ] } ], "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.9.12" } }, "nbformat": 4, "nbformat_minor": 5 }