{ "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.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", "import si_units as si\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_C$|\n", "|-|-|-|-|-|-|-|-|-|-|-|-|\n", "|hexane|86.177|3.0576|3.7983|236.77|-|-|-|-|0|0|0|" ], "text/plain": [ "" ] }, "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)'] * si.KELVIN\n", " p = row['Pressure (MPa)'] * si.MEGA * si.PASCAL\n", " viscosity_lit = row['Viscosity (Pa*s)'] * si.PASCAL * si.SECOND\n", " \n", " # literature\n", " state = State(saft, temperature=t, pressure=p, total_moles=si.MOL, density_initialization=row.Phase)\n", " s = state.molar_entropy(Contributions.Residual)\n", " results.append(\n", " {\n", " \"pressure\": p / si.MEGA / si.PASCAL,\n", " \"s*_res/m\": s / si.RGAS / m,\n", " \"viscosity\": viscosity_lit / (si.PASCAL * si.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 / si.MEGA / si.PASCAL,\n", " \"s*_res/m\": s / si.RGAS / m,\n", " \"viscosity\": viscosity / (si.PASCAL * si.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=si.MOL)\n", " s = state.molar_entropy(Contributions.Residual)\n", " viscosity = state.viscosity()\n", " ln_viscosity_reduced = state.ln_viscosity_reduced()\n", " results.append(\n", " {\n", " \"pressure\": p / si.MEGA / si.PASCAL,\n", " \"s*_res/m\": s / si.RGAS / m_gc,\n", " \"viscosity\": viscosity / (si.PASCAL * si.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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1Tl58mQuuugi3n//fU488URGjhzJG2+8UV/+rLPO4uCDD2bEiBEce+yxPP300zuVX7ZsGZ999ll9G84888z6NsbqgJw/f/5ObW2pHeXl5dx6660cfvjhjBgxgqOPPpp58+a199fZKh3SQ6q1lndCIYQQQohuwG3bDdmMpWdWiE4xdepUSkpKePXVV5k5cybZ2dkA5OTkADBnzhzmzp3LcccdxymnnMKWLVuYN28e33zzDfPnz2/U47lixQquueYapk2bximnnMKQIUMAMxd27733ZvLkySQkJPDuu+9y8803Y9s206dPB+D666/ntttuIzk5mRkzZgCQl5fXpmuK1Y6amhrOPPNMtm7dyrRp0+jTpw+ffvopt912G5WVlVxyySVt/h22hgz3FUIIIYToRdy2FZXNWPojRHwErTCbdlTEuxkUpmXidXs6vN5hw4YxfPhwXn31VaZMmUL//v3r961bt47777+fq6++mvPOO69+++GHH860adNYsGABp512Wv321atX8/jjj3PwwQc3OseTTz7ZKOg944wzOP/883nsscfqg9kpU6Ywe/ZsfD4fJ5xwQruuKVY75s6dy/r163nllVcYMGAAANOmTcPn8/HQQw9x5plnkpmZ2a7ztkSCWSGEECJOlFIe4BbgV0A6sBZYCiwGPge+11rb7TxHknOOM4Fs4CvgBq31olaU7QfcAxyFmSb0DnCl1npVjGPPB64CBgMlwL1a67ldUWeTMm8AxzjHXrGra+yNPNjYSAIoET9BK8yk+X9nTdW2eDeFgRm5vHfS7zsloG3O22+/jW3bTJ06lbKysvrtxcXF5Ofn89lnnzUKZgcNGrRTIAs0CmSrqqoIBoOMHz+ejz76iKqqKjIyMjq03bHa8eabbzJ+/HjS0tIaXcuhhx7Ks88+y1dffcXhhx/eoe2I1qZgtr3ZirXWJe0pL4QQQvQQdwC/x+SUABgATAAiAWyNUmoJDcHtYq31j7t5jseBk4FZwE/AOcBCpdRErfV/myuklEoH3gUyMCsWhIArgfeUUvtrrbdHHfs74B/AC8DfgcMwySCTtdZ3d2adTdp8HNB535p6ANs2f1qRYcaSAEqIrrd69Wosy2LKlCkx90cHhUCjXt1oX3zxBbNnz2bp0qXU1tY22tcZwWysdqxZswatdcxgG3a+lo7W1p7Z1TR80O4uux3nFUII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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "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": "feos", "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.10" } }, "nbformat": 4, "nbformat_minor": 5 }