{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# An hour blitz to practical thermodynamics"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Pure component chemical models"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Thermosteam packages chemical and mixture thermodynamic models in a flexible framework that allows users to fully customize and extend the models, as well as create new models. Central to all thermodynamic algorithms is the [Chemical](../Chemical.txt) object, which contains constant chemical properties, as well as thermodynamic and transport properties as a function of temperature and pressure:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Chemical: Water (phase_ref='l')\n",
      "[Names]  CAS: 7732-18-5\n",
      "         InChI: H2O/h1H2\n",
      "         InChI_key: XLYOFNOQVPJJNP-U...\n",
      "         common_name: water\n",
      "         iupac_name: ('oxidane',)\n",
      "         pubchemid: 962\n",
      "         smiles: O\n",
      "         formula: H2O\n",
      "[Groups] Dortmund: <1H2O>\n",
      "         UNIFAC: <1H2O>\n",
      "         PSRK: <1H2O>\n",
      "[Data]   MW: 18.015 g/mol\n",
      "         Tm: 273.15 K\n",
      "         Tb: 373.12 K\n",
      "         Tt: 273.15 K\n",
      "         Tc: 647.14 K\n",
      "         Pt: 610.88 Pa\n",
      "         Pc: 2.2048e+07 Pa\n",
      "         Vc: 5.6e-05 m^3/mol\n",
      "         Hf: -2.8582e+05 J/mol\n",
      "         LHV: 44011 J/mol\n",
      "         HHV: 0 J/mol\n",
      "         Hfus: 6010 J/mol\n",
      "         omega: 0.344\n",
      "         dipole: 1.85 Debye\n",
      "         similarity_variable: 0.16653\n",
      "         iscyclic_aliphatic: 0\n",
      "         combustion: {}\n"
     ]
    }
   ],
   "source": [
    "import thermosteam as tmo\n",
    "# Initialize chemical with an identifier (e.g. by name, CAS, InChI...)\n",
    "Water = tmo.Chemical('Water') \n",
    "Water"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All fields can be easility accessed, for example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'7732-18-5'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# CAS number\n",
    "Water.CAS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "18.01528"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Molecular weight (g/mol)\n",
    "Water.MW"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "373.124"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Boiling point (K)\n",
    "Water.Tb"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Temperature (in Kelvin) and pressure (in Pascal) dependent properties can be computed:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "101284.55179999319"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Vapor pressure (Pa)\n",
    "Water.Psat(T=373.15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.07205503890847455"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Surface tension (N/m)\n",
    "Water.sigma(T=298.15)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.806920448788909e-05"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Liquid molar volume (m^3/mol)\n",
    "Water.V(phase='l', T=298.15, P=101325)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.023505766772305356"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Vapor molar volume (m^3/mol)\n",
    "Water.V(phase='g', T=298.15, P=101325)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Temperature dependent properties are managed by indexable model handles, which contain many models ordered in decreasing priority:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TDependentModelHandle(T, P=None) -> Psat [Pa]\n",
      "[0] Wagner McGraw\n",
      "[1] Antoine\n",
      "[2] DIPPR EQ101\n",
      "[3] Wagner\n",
      "[4] Boiling Critical Relation\n",
      "[5] Lee Kesler\n",
      "[6] Ambrose Walton\n",
      "[7] Sanjari\n",
      "[8] Edalat\n"
     ]
    }
   ],
   "source": [
    "Water.Psat"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Each model is applicable to a certain domain, as given by their `Tmin` and `Tmax`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TDependentModel(T, P=None) -> Psat [Pa]\n",
      " name: Wagner McGraw\n",
      " Tmin: 275 K\n",
      " Tmax: 647.35 K\n"
     ]
    }
   ],
   "source": [
    "Wagner_McGraw = Water.Psat[0]\n",
    "Wagner_McGraw"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(647.35, 275)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Note that these attributes can be get/set too\n",
    "Wagner_McGraw.Tmax, Wagner_McGraw.Tmin"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "When called, the model handle searches through each model until it finds one with an applicable domain. If none are applicable, a domain error is raised:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "ename": "DomainError",
     "evalue": "Water (CAS: 7732-18-5) has no valid saturated vapor pressure model at T=1000.00 K",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mDomainError\u001b[0m                               Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-12-5818a3190dca>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mWater\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mPsat\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1000.0\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m~\\OneDrive\\Code\\thermosteam\\thermosteam\\base\\thermo_model_handle.py\u001b[0m in \u001b[0;36m__call__\u001b[1;34m(self, T, P)\u001b[0m\n\u001b[0;32m    278\u001b[0m         \u001b[1;32mfor\u001b[0m \u001b[0mmodel\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_models\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    279\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mindomain\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mT\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m \u001b[1;32mreturn\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mevaluate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mT\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 280\u001b[1;33m         raise DomainError(f\"{no_valid_model(self._chemical, self._var)} \"\n\u001b[0m\u001b[0;32m    281\u001b[0m                          f\"at T={T:.2f} K\")\n\u001b[0;32m    282\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mDomainError\u001b[0m: Water (CAS: 7732-18-5) has no valid saturated vapor pressure model at T=1000.00 K"
     ]
    }
   ],
   "source": [
    "Water.Psat(1000.0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Model handles as well as the models themselves have tabulation and plotting methods to help visualize how properties depend on temperature and pressure."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "Water.Psat.plot_vs_T([Water.Tm, Water.Tb], 'degC', 'atm', label=\"Water\")   "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot all models\n",
    "Water.Psat.plot_models_vs_T([Water.Tm, Water.Tb], 'degC', 'atm')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot only the 'Wagner McGraw model'\n",
    "Water.Psat[0].plot_vs_T(T_units='degC', units='atm') # Bounds are the model's Tmin and Tmax"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Manage the model order with the `set_model_priority` and `move_up_model_priority` methods:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TDependentModel(T, P=None) -> Psat [Pa]\n",
      " name: Antoine\n",
      " Tmin: 273.2 K\n",
      " Tmax: 473.2 K\n"
     ]
    }
   ],
   "source": [
    "# Note: In this case, we pass the model name, but its\n",
    "# also possible to pass the current index, or the model itself.\n",
    "Water.Psat.move_up_model_priority('Antoine')\n",
    "Water.Psat[0] # Notice how Antoine is now in the top priority"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TDependentModel(T, P=None) -> Psat [Pa]\n",
      " name: Wagner McGraw\n",
      " Tmin: 275 K\n",
      " Tmax: 647.35 K\n"
     ]
    }
   ],
   "source": [
    "Water.Psat.set_model_priority('Wagner McGraw')\n",
    "Water.Psat[0] # Notice how Wagner_McGraw is back on top priority"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "When setting a model priority, the default priority is `0` (or top priority), but you can choose any priority:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TDependentModel(T, P=None) -> Psat [Pa]\n",
      " name: Antoine\n",
      " Tmin: 273.2 K\n",
      " Tmax: 473.2 K\n"
     ]
    }
   ],
   "source": [
    "Water.Psat.set_model_priority('Antoine', 2)\n",
    "Water.Psat[2] # Moved Antoine to priority #2"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Thermodynamic properties dependent on the phase are handled by phase properties:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<PhaseTPHandle(phase, T, P) -> V [m^3/mol]>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Water.V"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Phase properties contain model handles as attributes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TPDependentModelHandle(T, P) -> V.l [m^3/mol]\n",
      "[0] VDI PPDS\n",
      "[1] Campbell Thodos\n",
      "[2] Yen Woods\n",
      "[3] Rackett\n",
      "[4] Yamada Gunn\n",
      "[5] Bhirud Normal\n",
      "[6] Townsend Hales\n",
      "[7] CRC inorganic liquid constant\n",
      "[8] Rackett\n",
      "[9] Costald\n",
      "[10] Costald Compressed\n"
     ]
    }
   ],
   "source": [
    "Water.V.l"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TPDependentModelHandle(T, P) -> V.g [m^3/mol]\n",
      "[0] Tsonopoulos extended\n",
      "[1] Tsonopoulos\n",
      "[2] Abbott\n",
      "[3] Pitzer Curl\n",
      "[4] CRCVirial\n",
      "[5] ideal gas\n"
     ]
    }
   ],
   "source": [
    "Water.V.g"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A new model can be added easily to a model handle through the `add_model` method, for example:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "TDependentModel(T) -> Psat [Pa]\n",
      " name: User antoine model\n",
      " Tmin: 273.2 K\n",
      " Tmax: 473.2 K\n"
     ]
    }
   ],
   "source": [
    "# Set top_priority=True to place model in postion [0]\n",
    "@Water.Psat.add_model(Tmin=273.20, Tmax=473.20, top_priority=True)\n",
    "def User_antoine_model(T):\n",
    "     return 10.0**(10.116 -  1687.537 / (T - 42.98))\n",
    "Water.Psat[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The `add_model` method is a high level interface that even lets you create a constant model:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ConstantThermoModel(T=None, P=None) -> V.l [m^3/mol]\n",
      " name: User constant\n",
      " value: 1.687e-05\n",
      " Tmin: 0 K\n",
      " Tmax: inf K\n",
      " Pmin: 0 Pa\n",
      " Pmax: inf Pa\n"
     ]
    }
   ],
   "source": [
    "Water.V.l.add_model(1.687e-05, name='User constant')\n",
    "# Model is appended at the end by default\n",
    "Water.V.l[-1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lastly, all default models in thermosteam have functors (i.e. functions with adjustable parameters):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Functor: Wagner_McGraw(T, P=None) -> Psat [Pa]\n",
      " Tc: 647.35 K\n",
      " Pc: 2.2122e+07 Pa\n",
      " a: -7.7645\n",
      " b: 1.4584\n",
      " c: -2.7758\n",
      " d: -1.233\n"
     ]
    }
   ],
   "source": [
    "# The saturated vapor pressure model from before\n",
    "Wagner_McGraw.evaluate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Functor: Wagner_McGraw(T, P=None) -> Psat [Pa]\n",
      " Tc: 647.35 K\n",
      " Pc: 2.2064e+07 Pa\n",
      " a: -7.7645\n",
      " b: 1.4584\n",
      " c: -2.7758\n",
      " d: -1.233\n"
     ]
    }
   ],
   "source": [
    "Wagner_McGraw.evaluate.Pc = 22.064e6\n",
    "Wagner_McGraw.evaluate"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Managing chemical sets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Define multiple chemicals as a [Chemicals](../Chemicals.txt) object:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Chemicals([Water, Ethanol])"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chemicals = tmo.Chemicals(['Water', 'Ethanol'])\n",
    "chemicals"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The chemicals are attributes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(Chemical('Water'), Chemical('Ethanol'))"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(chemicals.Water, chemicals.Ethanol)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Chemicals are indexable:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Chemical('Water')\n"
     ]
    }
   ],
   "source": [
    "Water = chemicals['Water']\n",
    "print(repr(Water))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Chemical('Ethanol'), Chemical('Water')]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chemicals['Ethanol', 'Water']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Chemicals are also iterable:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Chemical('Water')\n",
      "Chemical('Ethanol')\n"
     ]
    }
   ],
   "source": [
    "for chemical in chemicals:\n",
    "    print(repr(chemical))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "More chemicals can also be appended:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Chemicals([Water, Ethanol, Propanol])"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Propanol = tmo.Chemical('Propanol')\n",
    "chemicals.append(Propanol)\n",
    "chemicals"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The main benefit of using a Chemicals object, is that they can be compiled and used as part of a thermodynamic property package, as defined through a [Thermo](../Thermo.txt) object:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Thermo(\n",
      "    chemicals=CompiledChemicals([Water, Ethanol, Propanol]),\n",
      "    mixture=Mixture(\n",
      "        rule='ideal mixing', ...\n",
      "        rigorous_energy_balance=True,\n",
      "        include_excess_energies=False\n",
      "    ),\n",
      "    Gamma=DortmundActivityCoefficients,\n",
      "    Phi=IdealFugacityCoefficients,\n",
      "    PCF=IdealPoyintingCorrectionFactors\n",
      ")\n"
     ]
    }
   ],
   "source": [
    "# A Thermo object is built with an iterable of Chemicals or their IDs.\n",
    "# Default mixture, thermodynamic equilibrium models are selected.\n",
    "thermo = tmo.Thermo(chemicals)\n",
    "thermo"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[Creating a thermo property package](./Thermo_property_packages.ipynb), may be a little challenging if some chemicals cannot be found in the database, in which case they can be built from scratch. A complete example on how this can be done is available in another [tutorial](./Thermo_property_packages.ipynb)."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Material and energy balance"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A [Stream](../Stream.txt) object is the main interface for estimating thermodynamic properties, vapor-liquid equilibrium, and material and energy balances. First set the thermo property package and we can start creating streams:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stream: s1\n",
      " phase: 'l', T: 298.15 K, P: 101325 Pa\n",
      " flow (kg/hr): Water    20\n",
      "               Ethanol  20\n"
     ]
    }
   ],
   "source": [
    "tmo.settings.set_thermo(thermo)\n",
    "s1 = tmo.Stream('s1', Water=20, Ethanol=20, units='kg/hr')\n",
    "s1.show(flow='kg/hr')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Create another stream at a higher temperature:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stream: s2\n",
      " phase: 'l', T: 350 K, P: 101325 Pa\n",
      " flow (kg/hr): Water  10\n"
     ]
    }
   ],
   "source": [
    "s2 = tmo.Stream('s2', Water=10, units='kg/hr', T=350, P=101325)\n",
    "s2.show(flow='kg/hr')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Mix both stream into a new one:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stream: s_mix\n",
      " phase: 'l', T: 310.53 K, P: 101325 Pa\n",
      " flow (kg/hr): Water    30\n",
      "               Ethanol  20\n"
     ]
    }
   ],
   "source": [
    "s_mix = tmo.Stream('s_mix')\n",
    "s_mix.mix_from([s1, s2])\n",
    "s_mix.show(flow='kg/hr')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Check the energy balance through enthalpy:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.0605300455354154e-08"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s_mix.H - (s1.H + s2.H)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the balance is not perfect as the solver stops within a small temperature tolerance. However, the approximation is less than 0.01% off:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.00%\n"
     ]
    }
   ],
   "source": [
    "error = s_mix.H - (s1.H + s2.H)\n",
    "percent_error = 100 * error / (s1.H + s2.H)\n",
    "print(f\"{percent_error:.2%}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Split the mixture to two streams by defining the component splits:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stream: s1\n",
      " phase: 'l', T: 310.53 K, P: 101325 Pa\n",
      " flow (kg/hr): Ethanol  20\n",
      "Stream: s2\n",
      " phase: 'l', T: 310.53 K, P: 101325 Pa\n",
      " flow (kg/hr): Water  30\n"
     ]
    }
   ],
   "source": [
    "# First define an array of component splits\n",
    "component_splits = s_mix.chemicals.array(['Water', 'Ethanol'], [0, 1])\n",
    "s_mix.split_to(s1, s2, component_splits)\n",
    "s1.T = s2.T = s_mix.T # Take care of energy balance\n",
    "s1.show(flow='kg/hr')\n",
    "s2.show(flow='kg/hr')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Flow rates"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The most convinient way to get and set flow rates is through the `get_flow` and `set_flow` methods:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set and get flow of a single chemical\n",
    "# in gallons per minute\n",
    "s1.set_flow(1, 'gpm', 'Water')\n",
    "s1.get_flow('gpm', 'Water')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10., 20.])"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set and get flows of many chemicals\n",
    "# in kilograms per hour\n",
    "s1.set_flow([10, 20], 'kg/hr', ('Ethanol', 'Water'))\n",
    "s1.get_flow('kg/hr', ('Ethanol', 'Water'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It is also possible to index flow rate data using chemical IDs through the `imol`, `imass`, and `ivol` [indexers](../indexer/indexer_module.txt):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ChemicalMolarFlowIndexer (kmol/hr):\n",
      " (l) Water    1.11\n",
      "     Ethanol  0.2171\n"
     ]
    }
   ],
   "source": [
    "s1.imol.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.1101687012358397"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.imol['Water']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.217, 1.11 ])"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.imol['Ethanol', 'Water']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All flow rates are stored as an array in the `mol` attribute:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.11 , 0.217, 0.   ])"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.mol # Molar flow rates [kmol/hr]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Mass and volumetric flow rates are available as [property arrays](https://free-properties.readthedocs.io/en/latest/property_array.html):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "property_array([<Water: 20 kg/hr>, <Ethanol: 10 kg/hr>,\n",
       "                <Propanol: 0 kg/hr>])"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.mass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "property_array([<Water: 0.020166 m^3/hr>, <Ethanol: 0.012898 m^3/hr>,\n",
       "                <Propanol: 0 m^3/hr>])"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.vol"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "These arrays work just like ordinary arrays, but the data is linked to the molar flows:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Water: 18.015 kg/hr>"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Mass flows are always up to date with molar flows\n",
    "s1.mol[0] = 1\n",
    "s1.mass[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2.0"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Changing mass flows changes molar flows\n",
    "s1.mass[0] *= 2\n",
    "s1.mol[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([38.031, 12.   ,  2.   ])"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Property arrays act just like normal arrays\n",
    "s1.mass + 2 # A new array is created"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "15.34352"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Array methods are also the same\n",
    "s1.mass.mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Thermal condition"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Temperature and pressure can be get and set through the `T` and `P` attributes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stream: s1\n",
      " phase: 'l', T: 400 K, P: 202650 Pa\n",
      " flow (kmol/hr): Water    2\n",
      "                 Ethanol  0.217\n"
     ]
    }
   ],
   "source": [
    "s1.T = 400.\n",
    "s1.P = 2 * 101325.\n",
    "s1.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The phase may also be changed ('s' for solid, 'l' for liquid, and 'g' for gas):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "s1.phase = 'g'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Notice that VLE is not enforced, but it is possible to perform. For now, just check that the dew point is lower than the actual temperature to assert it must be gas:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DewPointValues(T=390.90753555806145, P=202650.0, IDs=('Water', 'Ethanol'), z=[0.902 0.098], x=[0.991 0.009])"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dp = s1.dew_point_at_P() # Dew point at constant pressure\n",
    "dp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dp.T < s1.T"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "It is also possible to get and set in other units of measure:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.set_property('P', 1, 'atm')\n",
    "s1.get_property('P', 'atm')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "257.0000004"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.set_property('T', 125, 'degC')\n",
    "s1.get_property('T', 'degF')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Enthalpy can also be set. An energy balance is made to solve for temperature at isobaric conditions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "130.80216020713658"
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s1.H = s1.H + 500\n",
    "s1.get_property('T', 'degC') # Temperature should go up"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Thermal properties"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Thermodynamic properties are pressure, temperature and phase dependent. In the following examples, let's just use water as it is easier to check properties:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "997.0156689562491"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s_water = tmo.Stream('s_water', Water=1, units='kg/hr')\n",
    "s_water.rho # Density [kg/m^3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "971.4430230945908"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s_water.T = 350\n",
    "s_water.rho # Density changes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Get properties in different units:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.06329591766859191"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s_water.get_property('sigma', 'N/m') # Surface tension"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.01854486528979459"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s_water.get_property('V', 'm3/kmol') # Molar volume"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Flow properties"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Several flow properties are available, such as net material and energy flow rates:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.05550843506179199"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Net molar flow rate [kmol/hr]\n",
    "s_water.F_mol"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Net mass flow rate [kg/hr]\n",
    "s_water.F_mass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0010293964506682433"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Net volumetric flow rate [m3/hr]\n",
    "s_water.F_vol"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "216.85380295250482"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Enthalpy flow rate [kJ/hr]\n",
    "s_water.H"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.670540696937784"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Entropy flow rate [kJ/hr]\n",
    "s_water.S"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.197679245159573"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Capacity flow rate [J/K]\n",
    "s_water.C"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Thermodynamic equilibrium"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Before moving into performing vapor-liquid and liquid-liquid equilibrium calculations, it may be useful to have a look at the phase envelopes to understand chemical interactions and ultimately how they separate between phases."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the binary phase evelope of two chemicals in vapor-liquid equilibrium at constant pressure:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "eq = tmo.equilibrium # Thermosteam's equilibrium module\n",
    "eq.plot_vle_binary_phase_envelope(['Ethanol', 'Water'], P=101325)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the ternary phase diagram of three chemicals in liquid-liquid equilibrium at constant pressure:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# This one will take like 30 seconds\n",
    "# Thermosteam's LLE algorithm is stochastic,\n",
    "# so its much slower than the VLE algorithm.\n",
    "eq.plot_lle_ternary_diagram('Water', 'Ethanol', 'EthylAcetate', T=298.15)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Vapor-liquid equilibrium"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Vapor-liquid equilibrium can be performed by setting 2 degrees of freedom from the following list: `T` (Temperature; in K), `P` (Pressure; in Pa), `V` (Vapor fraction), and `H` (Enthalpy; in kJ/hr).\n",
    "\n",
    "For example, set vapor fraction and pressure:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MultiStream: s_eq\n",
      " phases: ('g', 'l'), T: 353.88 K, P: 101325 Pa\n",
      " composition: (g) Water    0.3862\n",
      "                  Ethanol  0.6138\n",
      "                  -------  10 kmol/hr\n",
      "              (l) Water    0.6138\n",
      "                  Ethanol  0.3862\n",
      "                  -------  10 kmol/hr\n"
     ]
    }
   ],
   "source": [
    "s_eq = tmo.Stream('s_eq', Water=10, Ethanol=10)\n",
    "s_eq.vle(V=0.5, P=101325)\n",
    "s_eq.show(composition=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the stream is a now a MultiStream to manage multiple phases. Each phase can be accessed separately too:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stream: \n",
      " phase: 'l', T: 353.88 K, P: 101325 Pa\n",
      " flow (kmol/hr): Water    6.14\n",
      "                 Ethanol  3.86\n"
     ]
    }
   ],
   "source": [
    "s_eq['l'].show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stream: \n",
      " phase: 'g', T: 353.88 K, P: 101325 Pa\n",
      " flow (kmol/hr): Water    3.86\n",
      "                 Ethanol  6.14\n"
     ]
    }
   ],
   "source": [
    "s_eq['g'].show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that the phase of these substreams cannot be changed:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "metadata": {},
   "outputs": [
    {
     "ename": "AttributeError",
     "evalue": "phase is locked",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mAttributeError\u001b[0m                            Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-73-ed0136a78442>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ms_eq\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'g'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mphase\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'l'\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m~\\OneDrive\\Code\\thermosteam\\thermosteam\\_stream.py\u001b[0m in \u001b[0;36mphase\u001b[1;34m(self, phase)\u001b[0m\n\u001b[0;32m    500\u001b[0m     \u001b[1;33m@\u001b[0m\u001b[0mphase\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msetter\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    501\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mphase\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mphase\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 502\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_imol\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mphase\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mphase\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    503\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    504\u001b[0m     \u001b[1;33m@\u001b[0m\u001b[0mproperty\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\OneDrive\\Code\\thermosteam\\thermosteam\\indexer.py\u001b[0m in \u001b[0;36mphase\u001b[1;34m(self, phase)\u001b[0m\n\u001b[0;32m    206\u001b[0m     \u001b[1;33m@\u001b[0m\u001b[0mphase\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msetter\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    207\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0mphase\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mphase\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 208\u001b[1;33m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_phase\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mphase\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mphase\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    209\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    210\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m__format__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtabs\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;34m\"\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\OneDrive\\Code\\thermosteam\\thermosteam\\_phase.py\u001b[0m in \u001b[0;36m__setattr__\u001b[1;34m(self, name, value)\u001b[0m\n\u001b[0;32m     52\u001b[0m     \u001b[1;32mdef\u001b[0m \u001b[0m__setattr__\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     53\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mvalue\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mphase\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 54\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mAttributeError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'phase is locked'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     55\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     56\u001b[0m \u001b[0mNoPhase\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mLockedPhase\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mAttributeError\u001b[0m: phase is locked"
     ]
    }
   ],
   "source": [
    "s_eq['g'].phase = 'l'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Again, the most convinient way to get and set flow rates in is through the `get_flow` and `set_flow` methods:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set flow of liquid water\n",
    "s_eq.set_flow(1, 'gpm', ('l', 'Water'))\n",
    "s_eq.get_flow('gpm', ('l', 'Water'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([10., 20.])"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set multiple liquid flows\n",
    "key = ('l', ('Ethanol', 'Water'))\n",
    "s_eq.set_flow([10, 20], 'kg/hr', key)\n",
    "s_eq.get_flow('kg/hr', key)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Chemical flows across all phases can be retrieved if no phase is given:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 89.567, 292.79 ])"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Get water and ethanol flows summed across all phases\n",
    "s_eq.get_flow('kg/hr', ('Water', 'Ethanol'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "However, setting chemical data of MultiStream objects requires the phase to be specified:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "metadata": {},
   "outputs": [
    {
     "ename": "IndexError",
     "evalue": "multiple phases present; must include phase key to set chemical data",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mIndexError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-77-d6cf98178f52>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ms_eq\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mset_flow\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m10\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m20\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'kg/hr'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m(\u001b[0m\u001b[1;34m'Water'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Ethanol'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m~\\OneDrive\\Code\\thermosteam\\thermosteam\\_multi_stream.py\u001b[0m in \u001b[0;36mset_flow\u001b[1;34m(self, data, units, key)\u001b[0m\n\u001b[0;32m    278\u001b[0m         \u001b[0mname\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfactor\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_flow_name_and_factor\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0munits\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    279\u001b[0m         \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mgetattr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'i'\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mname\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 280\u001b[1;33m         \u001b[0mindexer\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0masarray\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfloat\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m/\u001b[0m \u001b[0mfactor\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    281\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    282\u001b[0m     \u001b[1;31m### Stream data ###\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32m~\\OneDrive\\Code\\thermosteam\\thermosteam\\indexer.py\u001b[0m in \u001b[0;36m__setitem__\u001b[1;34m(self, key, data)\u001b[0m\n\u001b[0;32m    421\u001b[0m         \u001b[0mindex\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_index\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    422\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0misa\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mChemicalIndex\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 423\u001b[1;33m             raise IndexError(\"multiple phases present; must include phase key \"\n\u001b[0m\u001b[0;32m    424\u001b[0m                              \"to set chemical data\")                \n\u001b[0;32m    425\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mIndexError\u001b[0m: multiple phases present; must include phase key to set chemical data"
     ]
    }
   ],
   "source": [
    "s_eq.set_flow([10, 20], 'kg/hr', ('Water', 'Ethanol'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Similar to Stream objects, all flow rates can be accessed through the `imol`, `imass`, and `ivol` attributes:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MolarFlowIndexer (kmol/hr):\n",
      " (g) Water     3.862\n",
      "     Ethanol   6.138\n",
      " (l) Water     1.11\n",
      "     Ethanol   0.2171\n"
     ]
    }
   ],
   "source": [
    "s_eq.imol # Molar flow rates"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.1101687012358397"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Index a single chemical in the liquid phase\n",
    "s_eq.imol['l', 'Water']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.217, 1.11 ])"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Index multiple chemicals in the liquid phase\n",
    "s_eq.imol['l', ('Ethanol', 'Water')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3.862, 6.138, 0.   ])"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Index the vapor phase\n",
    "s_eq.imol['g']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([6.356, 4.972])"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Index flow of chemicals summed across all phases\n",
    "s_eq.imol['Ethanol', 'Water']"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Because multiple phases are present, overall chemical flows in MultiStream objects cannot be set like in Stream objects:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "metadata": {},
   "outputs": [
    {
     "ename": "IndexError",
     "evalue": "multiple phases present; must include phase key to set chemical data",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mIndexError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-83-fcb482ddb0a2>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ms_eq\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mimol\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'Ethanol'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'Water'\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32m~\\OneDrive\\Code\\thermosteam\\thermosteam\\indexer.py\u001b[0m in \u001b[0;36m__setitem__\u001b[1;34m(self, key, data)\u001b[0m\n\u001b[0;32m    421\u001b[0m         \u001b[0mindex\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_index\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    422\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0misa\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mChemicalIndex\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 423\u001b[1;33m             raise IndexError(\"multiple phases present; must include phase key \"\n\u001b[0m\u001b[0;32m    424\u001b[0m                              \"to set chemical data\")                \n\u001b[0;32m    425\u001b[0m         \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdata\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mIndexError\u001b[0m: multiple phases present; must include phase key to set chemical data"
     ]
    }
   ],
   "source": [
    "s_eq.imol['Ethanol', 'Water'] = [1, 0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Chemical flows must be set by phase:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "metadata": {},
   "outputs": [],
   "source": [
    "s_eq.imol['l', ('Ethanol', 'Water')] = [1, 0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "One main difference between a [MultiStream](../MultiStream.txt) object and a [Stream](../Stream.txt) object is that the `mol` attribute no longer stores any data, it simply returns the total flow rate of each chemical. Setting an element of the array raises an error to prevent the wrong assumption that the data is linked:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3.862, 7.138, 0.   ])"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s_eq.mol"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "assignment destination is read-only",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-86-632093460ce3>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0ms_eq\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmol\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;31mValueError\u001b[0m: assignment destination is read-only"
     ]
    }
   ],
   "source": [
    "s_eq.mol[0] = 1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Note that for both Stream and MultiStream objects, `get_flow`, `imol`, and `mol` return chemical flows across all phases when given only chemical IDs."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Liquid-liquid equilibrium"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Liquid-liquid equilibrium (LLE) only requires the temperature. Pressure is not a significant variable as liquid fungacity coefficients are not a strong function of pressure. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MultiStream: liquid_mixture\n",
      " phases: ('L', 'l'), T: 300 K, P: 101325 Pa\n",
      " flow (kmol/hr): (L) Water    1.458\n",
      "                     Butanol  3.791\n",
      "                     Octane   100\n",
      "                 (l) Water    98.54\n",
      "                     Butanol  1.209\n",
      "                     Octane   0.001977\n"
     ]
    }
   ],
   "source": [
    "tmo.settings.set_thermo(['Water', 'Butanol', 'Octane'])\n",
    "liquid_mixture = tmo.Stream('liquid_mixture', Water=100, Octane=100, Butanol=5)\n",
    "liquid_mixture.lle(T=300)\n",
    "liquid_mixture"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compared to VLE, LLE is several orders of magnitude times slower. This is because differential evolution, a purely stochastic method, is used to find the solution that globally minimizes the gibb's free energy of both phases. For now, the LLE algorithm may not present completely accurate results and is subject to change in the future."
   ]
  }
 ],
 "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.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
