{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Entropy scaling of pure substances\n", "\n", "## Goal\n", "\n", "- Learn how to compute dynamic properties (viscosity in this example)\n", "- Compare substance specific parameters against homo-segmented group contribution\n", "- Compare viscosity to NIST data (generated in NIST's [webapp](https://webbook.nist.gov/chemistry/fluid/))\n", "\n", "## Import needed packages" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from feos.si import *\n", "from feos.pcsaft import *\n", "from feos.eos import *\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "import numpy as np\n", "import pandas as pd\n", "\n", "sns.set_context(\"talk\")\n", "sns.set_palette(\"Dark2\")\n", "sns.set_style(\"ticks\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PC-SAFT (individual component parameters)\n", "\n", "First, we read parameters adjusted to hexane saturation pressure and liquid densities (for the regular SAFT parameters) and to viscosity (for correlation). " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "|component|molarweight|$m$|$\\sigma$|$\\varepsilon$|$\\mu$|$Q$|$\\kappa_{AB}$|$\\varepsilon_{AB}$|$N_A$|$N_B$|\n", "|-|-|-|-|-|-|-|-|-|-|-|\n", "|hexane|86.177|3.0576|3.7983|236.77|0|0|0|0|1|1|" ], "text/plain": [ "PcSaftParameters(\n", "\tmolarweight=[86.177]\n", "\tm=[3.0576]\n", "\tsigma=[3.7983]\n", "\tepsilon_k=[236.77]\n", ")" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "parameters = PcSaftParameters.from_json(\n", " [\"hexane\"], \"../parameters/pcsaft/loetgeringlin2018.json\"\n", ")\n", "parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## PC-SAFT homo-GC\n", "\n", "For transparency, we build parameters by hand. You can read a detailed explanation about PC-SAFT parameters in the \"working with parameters\" tutorial." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "hexane = ChemicalRecord(\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", " segments=['CH3', 'CH2', 'CH2', 'CH2', 'CH2', 'CH3']\n", ")\n", "\n", "ch3 = SegmentRecord(\n", " 'CH3', \n", " molarweight=15.0345, \n", " model_record=PcSaftRecord(\n", " m=0.61198, sigma=3.7202, epsilon_k=229.90,\n", " viscosity=[-8.6878e-3, -1.7951e-1, -12.2359e-2, -0.01245]\n", " )\n", ")\n", "\n", "ch2 = SegmentRecord(\n", " 'CH2', \n", " molarweight=14.02658, \n", " model_record=PcSaftRecord(\n", " m=0.45606, sigma=3.8900, epsilon_k=239.01,\n", " viscosity=[-0.9194e-3, -1.3316e-1, -4.2657e-2, -0.01245]\n", " )\n", ")\n", "\n", "segment_records = {r.identifier: r for r in [ch3, ch2]}\n", "\n", "def from_segments(chemical_record, segment_records):\n", " m = 0\n", " s3 = 0\n", " eps = 0\n", " mw = 0\n", " viscosity = np.zeros(4)\n", " for s in chemical_record.segments:\n", " segment = segment_records[s]\n", " mw += segment.molarweight\n", " m += segment.model_record.m\n", " s3 += segment.model_record.m * segment.model_record.sigma**3\n", " eps += segment.model_record.m * segment.model_record.epsilon_k\n", " v = segment.model_record.viscosity\n", " viscosity += np.array([\n", " v[0] * segment.model_record.m * segment.model_record.sigma**3, \n", " v[1] * segment.model_record.m * segment.model_record.sigma**3, \n", " v[2], \n", " v[3]\n", " ])\n", " viscosity[1] /= s3**0.45\n", " \n", " # We have to shift the \"A\" parameter because the implemented reference\n", " # is eta_CE according to eq. 3 of Loetgerin-Lin (2018)\n", " # A = A(GC) + log(sqrt(1/m)) = -log(m)/2\n", " viscosity[0] += np.log(np.sqrt(1/m))\n", " saft_record = PcSaftRecord(m, np.cbrt(s3 / m), eps / m, viscosity=viscosity)\n", " return PureRecord(chemical_record.identifier, mw, saft_record)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Build equations of state\n", "\n", "We instantiate an equation of state for each parameter set. `saft` uses substance specific parameters while `saft_gc` uses homo GC parameters both for SAFT as well as correlation parameters." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "parameters_gc = PcSaftParameters.new_pure(from_segments(hexane, segment_records))\n", "saft_gc = EquationOfState.pcsaft(parameters_gc)\n", "saft = EquationOfState.pcsaft(parameters)\n", "\n", "m_gc = parameters_gc.pure_records[0].model_record.m\n", "m = parameters.pure_records[0].model_record.m" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Compare parameters" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Substance specific: [-1.2035, -2.5958, -0.4816, -0.0865]\n", "Segments : [-1.2034921145837285, -2.536713016411593, -0.415346, -0.0747]\n" ] } ], "source": [ "print(\"Substance specific: \", parameters.pure_records[0].model_record.viscosity)\n", "print(\"Segments : \", parameters_gc.pure_records[0].model_record.viscosity)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Compare methods to NIST data (T = 450 K)\n", "\n", "We will compute the residual entropy, viscosity and logarithmic reduced viscosity and compare to literature data (for which the entropy is computed with parameters fitted to the component, not GC)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Temperature (K)Pressure (MPa)Density (mol/m3)Volume (m3/mol)Internal Energy (kJ/mol)Enthalpy (kJ/mol)Entropy (J/mol*K)Cv (J/mol*K)Cp (J/mol*K)Sound Spd. (m/s)Joule-Thomson (K/MPa)Viscosity (Pa*s)Therm. Cond. (W/m*K)Phase
0450.00.012.67740.37350045.22948.964154.33193.37201.76212.4711.2040.0000090.029374vapor
1450.00.1129.98400.03335145.06548.734134.03193.94203.09209.0411.5100.0000090.029276vapor
2450.00.2158.32900.01714444.89648.496128.27194.53204.55205.4811.8420.0000090.029196vapor
3450.00.3187.82600.01138644.72048.249124.64195.15206.15201.7612.2070.0000090.029136vapor
4450.00.41118.61000.00843144.53647.992121.90195.80207.93197.8712.6080.0000100.029098vapor
\n", "
" ], "text/plain": [ " Temperature (K) Pressure (MPa) Density (mol/m3) Volume (m3/mol) \\\n", "0 450.0 0.01 2.6774 0.373500 \n", "1 450.0 0.11 29.9840 0.033351 \n", "2 450.0 0.21 58.3290 0.017144 \n", "3 450.0 0.31 87.8260 0.011386 \n", "4 450.0 0.41 118.6100 0.008431 \n", "\n", " Internal Energy (kJ/mol) Enthalpy (kJ/mol) Entropy (J/mol*K) \\\n", "0 45.229 48.964 154.33 \n", "1 45.065 48.734 134.03 \n", "2 44.896 48.496 128.27 \n", "3 44.720 48.249 124.64 \n", "4 44.536 47.992 121.90 \n", "\n", " Cv (J/mol*K) Cp (J/mol*K) Sound Spd. (m/s) Joule-Thomson (K/MPa) \\\n", "0 193.37 201.76 212.47 11.204 \n", "1 193.94 203.09 209.04 11.510 \n", "2 194.53 204.55 205.48 11.842 \n", "3 195.15 206.15 201.76 12.207 \n", "4 195.80 207.93 197.87 12.608 \n", "\n", " Viscosity (Pa*s) Therm. Cond. (W/m*K) Phase \n", "0 0.000009 0.029374 vapor \n", "1 0.000009 0.029276 vapor \n", "2 0.000009 0.029196 vapor \n", "3 0.000009 0.029136 vapor \n", "4 0.000010 0.029098 vapor " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "literature = pd.read_csv(\"data/hexane_nist.csv\", delimiter=\"\\t\")\n", "literature.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We loop through experimental data, read temperature, pressure and the phase (liquid or vapor) and generate `State` objects for the experimental conditions. Then, we compute the residual molar entropy and the logarithmic reduced viscosity." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
pressures*_res/mviscosityln_viscosity_reducedsourcerel.dev.
00.01-0.0005260.000009-1.170829literature0.000000
10.01-0.0005260.000009-1.202136saft-3.082130
20.01-0.0005310.000009-1.202146homo-GC-4.154342
30.11-0.0058620.000009-1.172124literature0.000000
40.11-0.0058620.000009-1.188299saft-1.604523
\n", "
" ], "text/plain": [ " pressure s*_res/m viscosity ln_viscosity_reduced source rel.dev.\n", "0 0.01 -0.000526 0.000009 -1.170829 literature 0.000000\n", "1 0.01 -0.000526 0.000009 -1.202136 saft -3.082130\n", "2 0.01 -0.000531 0.000009 -1.202146 homo-GC -4.154342\n", "3 0.11 -0.005862 0.000009 -1.172124 literature 0.000000\n", "4 0.11 -0.005862 0.000009 -1.188299 saft -1.604523" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "results = []\n", "for i, row in literature.iterrows():\n", " t = row['Temperature (K)'] * KELVIN\n", " p = row['Pressure (MPa)'] * MEGA * PASCAL\n", " viscosity_lit = row['Viscosity (Pa*s)'] * PASCAL * SECOND\n", " \n", " # literature\n", " state = State(saft, temperature=t, pressure=p, total_moles=MOL, density_initialization=row.Phase)\n", " s = state.molar_entropy(Contributions.ResidualNvt)\n", " results.append(\n", " {\n", " \"pressure\": p / MEGA / PASCAL,\n", " \"s*_res/m\": s / RGAS / m,\n", " \"viscosity\": viscosity_lit / (PASCAL * SECOND),\n", " \"ln_viscosity_reduced\": np.log(viscosity_lit/ state.viscosity_reference()),\n", " \"source\": \"literature\",\n", " \"rel.dev.\": 0.0\n", " }\n", " )\n", " \n", " # individual parameters\n", " viscosity = state.viscosity()\n", " ln_viscosity_reduced = state.ln_viscosity_reduced()\n", " results.append(\n", " {\n", " \"pressure\": p / MEGA / PASCAL,\n", " \"s*_res/m\": s / RGAS / m,\n", " \"viscosity\": viscosity / (PASCAL * SECOND),\n", " \"ln_viscosity_reduced\": ln_viscosity_reduced,\n", " \"source\": \"saft\",\n", " \"rel.dev.\": (viscosity - viscosity_lit) / viscosity_lit * 100\n", " }\n", " )\n", " \n", " # homo GC\n", " state = State(saft_gc, temperature=t, pressure=p, total_moles=MOL)\n", " s = state.molar_entropy(Contributions.ResidualNvt)\n", " viscosity = state.viscosity()\n", " ln_viscosity_reduced = state.ln_viscosity_reduced()\n", " results.append(\n", " {\n", " \"pressure\": p / MEGA / PASCAL,\n", " \"s*_res/m\": s / RGAS / m_gc,\n", " \"viscosity\": viscosity / (PASCAL * SECOND),\n", " \"ln_viscosity_reduced\": ln_viscosity_reduced,\n", " \"source\": \"homo-GC\",\n", " \"rel.dev.\": (viscosity - viscosity_lit) / viscosity_lit * 100\n", " }\n", " )\n", "\n", "# gather everything in a data frame\n", "data = pd.DataFrame(results)\n", "data.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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+uuvGTVq1GWNRwghhCji6enJddddx3XXXVflPoxGI/Pnz2f+/PnlnvP++++XeTw0NJTly5dXeg1FUZg8efJlbRdUG33+XfEMsyjJap9mXLQ1jwSzQtSWoroE69ev57bbbsNgMBAREUGvXr244447eOqpp5g4cSI9evTA0dGR5ORk9uzZw6BBg8rck7u4/v374+DgwBNPPMEDDzxATk4Oa9euLTPT27ZtW7744gv+97//ERISgpubG61bt2bQoEF4eXkxd+5cZs6ciV6vJzo6mnPnzl32PT722GP89NNP3HPPPUycOJGWLVuSm5tLXFwcO3fu5J133kGvr71p3I0ymG3durV9X6fKFH2CUFnFx6pU4brtttt4/vnnOXDgQJnBbFOupiiEEEKIumfPzBa+BZRpxkLUnp49ezJ16lSio6P58MMPUVWV7du3ExISwiuvvGLfwvO9995Dp9MREBBA7969L2utf5s2bXjzzTd56623iIyMxM/PjzFjxuDv789zzz1X4tzIyEjOnTvHs88+S25uLr179+b999/HaDSyatUqXnnlFZ588knc3d0ZO3YsAwcOLNVHeQIDA9m0aRNLly5l+fLlpKamYjQaCQ0NZeDAgSWKD9YGRdM0rVav0EBMnjyZtLQ0vvjiixLHFy1axKpVq/j111+vOHWel5fHtddey7hx45g3b94Vj6komK0s6BVCCCFEzWnMr79xJ/eR/2Jv1nh/BsDUR/oS1rZmK54KIURdkY/jCg0fPpyYmJgSxTXMZjNfffUV1113XZXmgH/++eeoqkrXrl1rcqhCCCGEEFWiqlZ78SeQzKwQomFrlNOMq2LMmDFs2LCByMhInnjiCTw9PVm3bh0pKSm8+eabJc4tKpqxY8cOABITE3nqqacYOXIk11xzDVarlZ9//pn169fTvXt3RowYUde3I4QQQghRiqpa7etlQfaZFUI0bBLMFnJycuK9997j9ddf55///Ccmk4kOHTrwzjvv0KlTpwrbGo1GvL29Wb16NefPn0fTNFq0aMHUqVOZOnVqmQuxhRBCCCHqmmq1lAhmpZqxEKIhkyirGH9/f/79739Xel5RRraIp6cnUVFRtTUsIYQQQogaoapWVOXS2z+ZZiyEaMjkL5gQQgghRBOhqhbUYm//ZGseIURDJsGsEEIIIUQToVotaMUm5sk0YyFEQybBrBBC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d6dv375MmjSJ3bt31/Kor0x17hHAbDazatUqRo4cSefOnenTpw8TJ07k1KlTtTjqK1PdeyxiNpu55ZZbiIiI4N133635gVZDVe/RarXyzjvvcP/99zNw4EC6du3KLbfcwltvvUV2dnYdjLyknJwcXn75ZQYMGECXLl2444472L59+2W1jY+P55FHHqFHjx50796dBx98kOPHj9fyiEVjVp3fx8bg559/5umnn+amm26ia9euXH/99URGRnLs2LH6Hlq9WbJkCREREYwaNaq+h1Kn9uzZw/3330/Pnj3p2rUrI0aM4KOPPqrvYdWZI0eO8MgjjzBgwAC6devGiBEjWLlyJWazub6HVuOSkpJ4+eWXueeee+jevTsRERHs2bOnzHN/+ukn7rzzTrp06cJ1113H/PnzyczMrNb1JZgVdeLQoUPs3LkTPz8/rr322ituf+LECSZOnIimabz11lu89NJLHDlyhIkTJ5KTk1MLI75yJpOJyZMn89tvvzFv3jyioqJwc3Nj8uTJHDlypNL2S5cuZd68eXTp0oWoqChefvllNE3j/vvvv2oC2ureo8Vi4eGHH+a9997jrrvuYs2aNbzyyit07doVk8lUB3dQuereY3FRUVFkZWXV0kirrjr3mJ+fT1RUFCEhIcydO5eVK1fyf//3f7z33nvce++9WCyWOroLm8jISL744gtmzpzJ22+/TVhYGJGRkXz//fcVtktLS2PcuHEkJiayYMECFi5cSEZGBhMmTCApKamORi8am6r+PjYW//3vfzl79iyTJ09m1apVPP3005w9e5YxY8Zw4MCB+h5enYuNjWXVqlX4+fnV91DqVHR0NPfddx8tWrRg4cKFrFixgvHjx1NQUFDfQ6sTJ06c4O677yYxMZFnn32W5cuXM3z4cBYtWsRzzz1X38OrcXFxcXz11Ve4urrSt2/fcs/bs2cPU6dOJSgoiBUrVjBnzhx27NjB1KlTUVW16gPQhKgDVqvV/v3atWu18PBwLSEh4bLbP/roo1r//v21nJwc+7Hjx49r7dq1095+++0aHWtVrV+/XgsPD9cOHTpkP2YymbQhQ4ZoU6ZMqbT94MGDtXvuuafEsZycHK1Tp07anDlzany8VVHde1yzZo3WrVs3LT4+vjaHWS3VvcciR44c0Tp16qR99dVXWnh4uLZ27dpaGG3VVOceLRaLduHC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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 2, figsize=(15, 4), gridspec_kw={'wspace': 0.35})\n", "sns.scatterplot(data=data, x='s*_res/m', y='ln_viscosity_reduced', hue='source', ax=ax[0]);\n", "ax[0].set_xlabel(r\"$\\frac{s_{res}}{R \\cdot m}$\", fontsize=22)\n", "ax[0].set_ylabel(r\"$\\ln\\left(\\frac{\\eta}{\\eta^{CE}}\\right)$\", fontsize=22);\n", "ax[0].legend(frameon=False)\n", "\n", "sns.lineplot(data=data, x='pressure', y='viscosity', hue='source', ax=ax[1]);\n", "ax[1].set_xlabel(r\"$p$ / MPa\", fontsize=22)\n", "ax[1].set_ylabel(r\"$\\eta$ / Pa*s\", fontsize=22);\n", "ax[1].legend(frameon=False)\n", "sns.despine()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Viscosity hexane compared to NIST data at T = 450 K\n", "MARD (individual): 0.81 %\n", "MARD (homo-GC) : 3.70 %\n" ] } ], "source": [ "# check mean absolute relative deviation in percent\n", "mard = data.groupby('source')['rel.dev.'].apply(lambda x: np.mean(np.abs(x)))\n", "print('Viscosity hexane compared to NIST data at T = 450 K')\n", "print(f'MARD (individual): {mard.saft:.2f} %')\n", "print(f'MARD (homo-GC) : {mard[\"homo-GC\"]:.2f} %')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.8.6" } }, "nbformat": 4, "nbformat_minor": 5 }