{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "0", "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# pyright: reportUnusedExpression=false, reportDuplicateImport=false, reportUnusedImport=false, reportMissingImports=false, reportCallIssue=false, reportRedeclaration=false, reportUnusedCallResult=false, reportGeneralTypeIssues=false\n", "# mypy: disable-error-code=\"no-untyped-def, no-untyped-call, assignment, no-redef, call-arg\"\n", "# pylint: disable=wrong-import-position, wrong-import-order,pointless-statement,reimported,pointless-statement,ungrouped-imports,import-error\n", "\n", "import warnings\n", "\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "import numpy as np\n", "\n", "np.set_printoptions(legacy=\"1.25\")" ] }, { "cell_type": "markdown", "id": "1", "metadata": {}, "source": [ "# Why `tmmc-lnpy`?\n", "\n", ":::{note}\n", "While the distribution is named `tmmc-lnpy`, it provides the python package {mod}`lnpy`. This naming was done to avoid conflicts with other packages on pypi. The name of the module {mod}`lnpy` may be changed in the future.\n", ":::\n", "\n", "\n", "{mod}`lnpy` is a python package to analyze the main output of Grand Canonical Transition Matrix Monte Carlo (GC-TMMC) simulations: $\\ln \\Pi(N)$. Hence the name. {mod}`lnpy` is designed to calculate a host of properties in the Canonical and Grand Canonical ensembles. For a review of GC-TMMC and the property $\\ln \\Pi(N)$, look at some of the following references:\n", "\n", "\n", "* [Evaluating surface tension using grand-canonical transition-matrix Monte Carlo simulation and finite-size scaling](https://journals.aps.org/pre/abstract/10.1103/PhysRevE.67.012102)\n", "* [Direct evaluation of multicomponent phase equilibria using flat-histogram methods](http://dx.doi.org/10.1063/1.2064628)\n", "* [Direct calculation of liquid--vapor phase equilibria from transition matrix Monte Carlo simulation](https://aip.scitation.org/doi/10.1063/1.1572463)\n", "* [Metastability and instability in the Lennard-Jones fluid investigated by transition-matrix Monte Carlo](https://pubs.acs.org/doi/10.1021/jp040218y)\n", "\n", "\n", "$\\Pi(N; \\mu, T, V)$ is the macrostate probability of observing $N$ particles at a given chemical potential $\\mu$, temperature $T$ and volume $V$. We drop the explicit mention of $\\mu$, $V$ and $T$ below for simplicity. This distribution is related to the grand canonical ensemble by:\n", "\n", "$$ \\Pi(N) = \\frac{\\exp(\\beta \\mu N) Q(N, V, T)}{\\Xi(\\mu, V, T)}$$\n", "\n", "Where $\\beta = 1 / (k_{\\rm B} T)$ is the inverse temperature, $k_{\\rm B}$ is Boltzmann's constant, $Q(N, V, T)$ is the canonical partition function, and $\\Xi(\\mu, V, T)$ is the grand canonical partition function. GC-TMMC simulation provide a means to calculate the $\\ln \\Pi(N; \\mu, V, T)$ directly. One of the truly excellent qualities of such simulations is that once $\\ln \\Pi$ is collected at a given chemical potential $\\mu_0$, it can be rescaled to any other chemical potential $\\mu$ through rescaling of the form:\n", "\n", "$$ \\ln \\Pi(N; \\mu, V, T) = \\ln \\Pi(N; \\mu_0, V, T) + \\beta N (\\mu - \\mu_0) + C $$\n", "\n", "where $C$ is a normalization constant which does not effect most calculated properties. From $\\ln \\Pi(N)$, many thermodynamic properties can be calculated. The grand potential $\\Omega$, and hence the system pressure $p$, can be obtained from \n", "\n", "$$ \\beta \\Omega = -\\beta p V = \\ln \\Pi(0) + \\ln \\left[\\sum_N \\Pi(N, \\mu, V, T) \\right]$$\n", "\n", "\n", "Also, grand canonical averages can be calculated from canonical averages using $\\ln \\Pi(N)$:\n", "\n", "$$ \\overline{X} = \\frac{\\sum_N \\Pi(N) X(N)}{\\sum_N \\Pi(N)} $$\n", "\n", "\n", "Plus, $\\ln \\Pi$ can be directly analyzed to identify unique phases, phase transitions, limits of stability, etc. The package {mod}`lnpy` provides a simple means to perform all the above calculations simply, and quickly. \n", "\n", "\n" ] }, { "cell_type": "markdown", "id": "2", "metadata": {}, "source": [ "# Usage\n", "\n", "Lets consider a simple example: a Lennard-Jones (LJ) fluid at supercritical temperatures. \n", "An example value of $\\ln \\Pi(N)$ (shortened to `lnPi`) can be loaded directly from {mod}`lnpy` package:" ] }, { "cell_type": "code", "execution_count": 2, "id": "3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "lnPi_data:array([-1559.75, -1550.74, -1542.43, ..., -10.01, -11.02, -12.08])\n", "lnPi_mask:array([False, False, False, ..., False, False, False])\n", "state_kws:{'beta': 0.6666666666666666, 'volume': 512.0}\n", "extra_kws:{'PE': array([ 0. , 0. , -0.02, ..., -1643.18, -1648.71, -1654.36])}\n", "lnz:array([2.77])\n" ] } ], "source": [ "import numpy as np\n", "\n", "import lnpy.examples\n", "\n", "data_dict = lnpy.examples.load_example_dict(\"lj_sup\")\n", "with np.printoptions(precision=2, suppress=True, threshold=5):\n", " for k, v in data_dict.items():\n", " print(f\"{k}:{v!r}\")" ] }, { "cell_type": "markdown", "id": "4", "metadata": {}, "source": [ "Here, we have the parameters\n", "\n", "* lnPi_data: the actual value of $\\ln \\Pi(N)$.\n", "* lnPi_mask: bool array. where `mask == True`, values are 'masked out'\n", "* state_kws: dict of 'state' variables. Here, it include the inverse temperature 'beta' $=\\beta = 1/(k_{\\rm B} T)$\n", " and the systems volume 'volume' $=V$\n", "* extra_kws: dict of 'extra' variables. Here, it include 'PE', the canonical potential energy\n", "* lnz: log of activity $\\ln z = \\beta \\mu$, where $\\mu$ is chemical potential.\n" ] }, { "cell_type": "markdown", "id": "5", "metadata": {}, "source": [ "## lnPiMasked\n", "\n", "The first important class is {class}`~lnpy.lnpidata.lnPiMasked`. This class handles the basics of dealing with $\\ln \\Pi(N)$. To create it, to the following." ] }, { "cell_type": "code", "execution_count": 3, "id": "6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "ref = lnpy.lnPiMasked.from_data(\n", " lnz=data_dict[\"lnz\"],\n", " lnz_data=data_dict[\"lnz\"],\n", " data=data_dict[\"lnPi_data\"],\n", " mask=data_dict[\"lnPi_mask\"],\n", " state_kws=data_dict[\"state_kws\"],\n", " extra_kws=data_dict[\"extra_kws\"],\n", ")\n", "ref" ] }, { "cell_type": "markdown", "id": "7", "metadata": {}, "source": [ "To access the underlying data, use the following" ] }, { "cell_type": "code", "execution_count": 4, "id": "8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Cxk9erRNhHmb6R8EAAC80xUFHnM7ycwtc7Et71bTpZiwk5WVpTfeeMO2yJjbUJ988ol++eUXLVq06I9+P5dt2LBhtvkrbzu7ZQkAABTjiQcHDx6sHj16XLRMbGzsZX1W+fLl7WO9evWcx6KiohQZGam9e/fa/ZiYGB0+fDjf+/L2zWsXK5P3+oUEBQXZDQAAeL8rCjwmkJitIFx77bX20fTHMf13DHNLKykpyY7KMlq1amU7LZuWoICAAGffn9q1a6t06dLOMgsWLLAdo/OYMuY4AABAofbhMa0069ats485OTn2udlOnDhhX7/qqqvUqVMnPfnkk3ZouRlG3r17dzufTps2bWyZ+++/33ZYNkPOzbD1adOmady4cRo0aJDz65j3z5kzR2PHjrW308yw9VWrVmnAgAFcYQAAcIajkHTv3t0Mdz9nW7RokbNMSkqKo1evXo6IiAhHmTJlHHfccYdj7969+T5n/fr1juuuu84RFBTkqFixouPll18+52tNnz7dcdVVVzkCAwMdV199tWPWrFlXXF9TF1M/8wgAADzD5f79LvR5eDwF8/AAAOC9f79ZLf03ebmP+XgAAPAceX+3L9V+Q+D5TVpamn1kPh4AADzz77hp6bkQbmmdNS/QwYMHVapUKTufUEEmTxOizDw/LFnhfrg+7otr4964Pu6tOF0fh8Nhw06FChXk63vhsVi08PzGnKS84fGFwfwP5+3/03kyro/74tq4N66Peysu1yf8Ii07Ll9aAgAAoKgQeAAAgNcj8BQys3zFyJEjWcbCTXF93BfXxr1xfdwb1+dcdFoGAABejxYeAADg9Qg8AADA6xF4AACA1yPwAAAAr0fgKWRvv/22qlWrpuDgYLVs2VIrVqwo7C9Z7P3www+6/fbb7aybZtbsr7766pxZOUeMGKHy5csrJCRE7dq10y+//JKvzLFjx/TAAw/YCbsiIiLUu3dvnThxotif2z9r9OjRat68uZ3RvFy5curcubO2bduWr8zp06fVv39/lS1bViVLltRdd92lw4cP5yuzd+9edezYUaGhofZznn76aWVnZ3N9/qTx48erYcOGzsnqWrVqpW+//ZZr44Zefvll+/tt4MCBzmP87FwcgacQTZs2TYMGDbLD0tesWaNGjRqpQ4cOSkxMLMwvW+ylp6fbc23C5vm88soreuONNzRhwgQtX75cJUqUsNfF/LLIY8LO5s2bNX/+fM2cOdOGqL59+xb7c/tnff/99zbMLFu2zJ7brKwstW/f3l6zPE899ZS++eYbzZgxw5Y3S77ceeedztdzcnJs2MnMzNSSJUs0ZcoUTZ482YZY/Dlmtnnzh3T16tVatWqVbr75ZnXq1Mn+LHBt3MfKlSv17rvv2nB6Nn52LsGBQtOiRQtH//79nfs5OTmOChUqOEaPHs1ZLyLmf/Evv/zSuZ+bm+uIiYlxjBkzxnksOTnZERQU5Pjkk0/s/pYtW+z7Vq5c6Szz7bffOnx8fBwHDhzg2hWgxMREe66///5757UICAhwzJgxw1lm69attszSpUvt/uzZsx2+vr6OhIQEZ5nx48c7wsLCHBkZGVyfAla6dGnHxIkTuTZuIi0tzVGrVi3H/PnzHTfeeKPjySeftMf52bk0WngKifnXp/lXkrldcvZ6XWZ/6dKlhfVlcQm7d+9WQkJCvuti1mAxtxvzrot5NLexmjVr5ixjypvrZ1qEUHBSUlLsY5kyZeyj+ZkxrT5nX586deqoSpUq+a5PgwYNFB0d7SxjWujMYol5LRH480xL2qeffmpb38ytLa6NezAtpKaF8+yfEYPrc2ksHlpIkpKS7C+Ms38pG2Y/Pj6+sL4sLsGEnbzrcDazn/eaeTT9Qs7m7+9v/yjnlcGfl5uba/sfXHvttapfv77z3AcGBtrAebHrc77rd/b1xR+3ceNGG3DMLV7Th+rLL79UvXr1tG7dOq6Ni5kAarpHmFtav8fPzqUReAC47F+qmzZt0k8//cQVcCO1a9e24ca0vn322Wfq3r277UsF19q3b5+efPJJ2/fNDILBleOWViGJjIyUn5/fOaNLzH5MTExhfVlcQt65v9h1MY+/71huRgCZkVtcu4IxYMAA2xl80aJFtqPs2dfH3A5OTk6+6PU53/U7+/rijzMtbDVr1lRcXJwdVWcGAIwbN45r42LmlpX5vdS0aVPb4mw2E0TNAAzz3LRy8rNzcQSeQvylYX5hLFiwIF8Tvtk3zcVwjerVq9tf3GdfF9P3w/TNybsu5tH8wTW/YPIsXLjQXj/T1wd/nOlHbsKOuU1izqm5HmczPzMBAQH5ro8Ztm6GoZ99fcxtl7NDqflXrxlGbW69oGCZ/+8zMjK4Ni7Wtm1b+/+9aX3L20w/QzOiNO85PzuXcBkdm/EHffrpp3b0z+TJk+3In759+zoiIiLyjS5B4YxiWLt2rd3M/+Kvvvqqff7rr7/a119++WV7Hb7++mvHhg0bHJ06dXJUr17dcerUKedn3HLLLY4mTZo4li9f7vjpp5/sqIiuXbtyuf6kRx991BEeHu5YvHix49ChQ87t5MmTzjL9+vVzVKlSxbFw4ULHqlWrHK1atbJbnuzsbEf9+vUd7du3d6xbt84xZ84cR1RUlGPYsGFcnz9p6NChdsTc7t277c+G2TejE+fNm8e1cUNnj9Iy+Nm5OAJPIXvzzTftL+/AwEA7TH3ZsmWF/SWLvUWLFtmg8/ute/fuzqHp//jHPxzR0dE2kLZt29axbdu2fOft6NGjNuCULFnSDnfu2bOnDVL4c853Xcw2adIkZxkTPB977DE7HDo0NNRxxx132FB0tj179jhuvfVWR0hIiCMyMtIxePBgR1ZWFpfnT+rVq5ejatWq9veVCZHmZyMv7HBt3D/w8LNzcT7mP5dqBQIAAPBk9OEBAABej8ADAAC8HoEHAAB4PQIPAADwegQeAADg9Qg8AADA6xF4AACA1yPwAAAAr0fgAQAAXo/AAwAAvB6BBwAAeD0CDwAAkLf7f5tvmCweR6soAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ref.data)" ] }, { "cell_type": "markdown", "id": "9", "metadata": {}, "source": [ "## Reweighting results\n", "\n", "One of the amazing things about $\\ln \\Pi(N)$ calculated at some chemical potential $\\mu_{\\rm ref}$ is that it can be \n", "reweighted to any other chemical potential $\\mu$. This is done with the formula\n", "\n", "$$\n", "\\ln \\Pi(N, \\mu) = \\ln \\Pi(N, \\mu_{\\rm ref}) + \\beta (\\mu - \\mu_{\\rm ref}) N\n", "$$\n", "\n", "To reweight data to another value of $\\ln z$, we use the {meth}`lnpy.lnpidata.lnPiMasked.reweight` method:" ] }, { "cell_type": "code", "execution_count": 5, "id": "10", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "text/plain": [ "[]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "new = ref.reweight(4.0)\n", "print(new)\n", "\n", "# compare to original\n", "plt.plot(ref.data, label=ref.lnz)\n", "plt.plot(new.data, label=new.lnz)" ] }, { "cell_type": "markdown", "id": "11", "metadata": {}, "source": [ "{class}`lnpy.lnpidata.lnPiMasked` has a variety of utilities to work with the $\\ln \\Pi(N)$ data. For example\n", "\n", "* zeromax: shift $\\ln \\Pi(N)$ such that maximum value is zero. Useful for numerical stability\n", "* ma : `MaskedArray` view of data. Used when constructing phases, and working with multicomponent data.\n", "* \n", "\n", "Check out the api docs for further details" ] }, { "cell_type": "markdown", "id": "12", "metadata": {}, "source": [ "## Calculating Ensemble properties\n", "\n", "\n", "$\\ln \\Pi(N)$ can be used to calculate a variety of properties in the Canonical and Grand Canonical ensembles.\n", "To make everything easier, the actual value of $\\ln \\Pi(N)$ is wrapped in an DataArray object, which provides some nice data goodies. To access this view, use the {attr}`~lnpy.lnpidata.lnPiMasked.xce` or {attr}`~lnpy.lnpidata.lnPiMasked.xge` accessors (short for Xarray Canonical Ensemble and Xarray Grand canonical Ensemble). For example, the canonical properties can be obtained as follows:\n", "\n", ":::{note}\n", "We only show a small subset of functionality. For further information, see {class}`~lnpy.lnpidata.lnPiMasked`.\n", ":::" ] }, { "cell_type": "code", "execution_count": 6, "id": "13", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'pressure' (n_0: 5)> Size: 40B\n",
       "array([-0.        ,  0.00100796,  0.00319043,  0.00560728,  0.00813105])\n",
       "Coordinates:\n",
       "  * n_0      (n_0) int64 40B 0 1 2 3 4\n",
       "    beta     float64 8B 0.6667\n",
       "    volume   float64 8B 512.0\n",
       "Attributes:\n",
       "    dims_n:      ['n_0']\n",
       "    dims_lnz:    ['lnz_0']\n",
       "    dims_comp:   ['component']\n",
       "    dims_state:  ['lnz_0', 'beta', 'volume']\n",
       "    long_name:   $p({\\bf n},V,T)$
" ], "text/plain": [ " Size: 40B\n", "array([-0. , 0.00100796, 0.00319043, 0.00560728, 0.00813105])\n", "Coordinates:\n", " * n_0 (n_0) int64 40B 0 1 2 3 4\n", " beta float64 8B 0.6667\n", " volume float64 8B 512.0\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " long_name: $p({\\bf n},V,T)$" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# pressure\n", "ref.xce.pressure().head()" ] }, { "cell_type": "code", "execution_count": 7, "id": "14", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'betaF' (n_0: 5)> Size: 40B\n",
       "array([  0.        ,  -6.23817948, -11.78825896, -16.93743845,\n",
       "       -21.80391793])\n",
       "Coordinates:\n",
       "  * n_0      (n_0) int64 40B 0 1 2 3 4\n",
       "    beta     float64 8B 0.6667\n",
       "    volume   float64 8B 512.0\n",
       "Attributes:\n",
       "    dims_n:         ['n_0']\n",
       "    dims_lnz:       ['lnz_0']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'beta', 'volume']\n",
       "    standard_name:  helmholtz_free_energy\n",
       "    long_name:      $\\beta F({\\bf n},V,T)$
" ], "text/plain": [ " Size: 40B\n", "array([ 0. , -6.23817948, -11.78825896, -16.93743845,\n", " -21.80391793])\n", "Coordinates:\n", " * n_0 (n_0) int64 40B 0 1 2 3 4\n", " beta float64 8B 0.6667\n", " volume float64 8B 512.0\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " standard_name: helmholtz_free_energy\n", " long_name: $\\beta F({\\bf n},V,T)$" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# scaled Helmholtz free energy\n", "ref.xce.betaF().head()" ] }, { "cell_type": "markdown", "id": "15", "metadata": {}, "source": [ "Look at the documentation for all the properties available. To quickly construct a dataset of multiple properties, use the `table` method." ] }, { "cell_type": "code", "execution_count": 8, "id": "16", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 10kB\n",
       "Dimensions:   (n_0: 436)\n",
       "Coordinates:\n",
       "  * n_0       (n_0) int64 3kB 0 1 2 3 4 5 6 7 ... 429 430 431 432 433 434 435\n",
       "    beta      float64 8B 0.6667\n",
       "    volume    float64 8B 512.0\n",
       "Data variables:\n",
       "    pressure  (n_0) float64 3kB -0.0 0.001008 0.00319 ... 5.786 5.854 5.893\n",
       "    betaF     (n_0) float64 3kB 0.0 -6.238 -11.79 ... -352.4 -348.7 -344.8\n",
       "Attributes:\n",
       "    dims_n:      ['n_0']\n",
       "    dims_lnz:    ['lnz_0']\n",
       "    dims_comp:   ['component']\n",
       "    dims_state:  ['lnz_0', 'beta', 'volume']\n",
       "    long_name:   $p({\\bf n},V,T)$
" ], "text/plain": [ " Size: 10kB\n", "Dimensions: (n_0: 436)\n", "Coordinates:\n", " * n_0 (n_0) int64 3kB 0 1 2 3 4 5 6 7 ... 429 430 431 432 433 434 435\n", " beta float64 8B 0.6667\n", " volume float64 8B 512.0\n", "Data variables:\n", " pressure (n_0) float64 3kB -0.0 0.001008 0.00319 ... 5.786 5.854 5.893\n", " betaF (n_0) float64 3kB 0.0 -6.238 -11.79 ... -352.4 -348.7 -344.8\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " long_name: $p({\\bf n},V,T)$" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds = ref.xce.table(keys=[\"pressure\", \"betaF\"], default_keys=None)\n", "ds" ] }, { "cell_type": "markdown", "id": "17", "metadata": {}, "source": [ "This can be easily converted to a `pandas.DataFrame`" ] }, { "cell_type": "code", "execution_count": 9, "id": "18", "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", "
betavolumepressurebetaF
n_0
00.666667512.0-0.0000000.000000
10.666667512.00.001008-6.238179
20.666667512.00.003190-11.788259
30.666667512.00.005607-16.937438
40.666667512.00.008131-21.803918
\n", "
" ], "text/plain": [ " beta volume pressure betaF\n", "n_0 \n", "0 0.666667 512.0 -0.000000 0.000000\n", "1 0.666667 512.0 0.001008 -6.238179\n", "2 0.666667 512.0 0.003190 -11.788259\n", "3 0.666667 512.0 0.005607 -16.937438\n", "4 0.666667 512.0 0.008131 -21.803918" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds.to_dataframe().head()" ] }, { "cell_type": "markdown", "id": "19", "metadata": {}, "source": [ "To access Grand Canonical properties, use the `xge` accessor" ] }, { "cell_type": "code", "execution_count": 10, "id": "20", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'pressure' ()> Size: 8B\n",
       "array(4.57687966)\n",
       "Coordinates:\n",
       "    lnz_0    float64 8B 2.765\n",
       "    beta     float64 8B 0.6667\n",
       "    volume   float64 8B 512.0\n",
       "Attributes:\n",
       "    dims_n:         ['n_0']\n",
       "    dims_lnz:       ['lnz_0']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'beta', 'volume']\n",
       "    standard_name:  grand_potential\n",
       "    long_name:      $p(\\mu,V,T)$
" ], "text/plain": [ " Size: 8B\n", "array(4.57687966)\n", "Coordinates:\n", " lnz_0 float64 8B 2.765\n", " beta float64 8B 0.6667\n", " volume float64 8B 512.0\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " standard_name: grand_potential\n", " long_name: $p(\\mu,V,T)$" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref.xge.pressure()" ] }, { "cell_type": "code", "execution_count": 11, "id": "21", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'betaF' ()> Size: 8B\n",
       "array(-423.16867869)\n",
       "Coordinates:\n",
       "    lnz_0    float64 8B 2.765\n",
       "    beta     float64 8B 0.6667\n",
       "    volume   float64 8B 512.0\n",
       "Attributes:\n",
       "    dims_n:         ['n_0']\n",
       "    dims_lnz:       ['lnz_0']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'beta', 'volume']\n",
       "    standard_name:  helmholtz_free_energy\n",
       "    long_name:      $\\beta F(\\mu,V,T)$
" ], "text/plain": [ " Size: 8B\n", "array(-423.16867869)\n", "Coordinates:\n", " lnz_0 float64 8B 2.765\n", " beta float64 8B 0.6667\n", " volume float64 8B 512.0\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " standard_name: helmholtz_free_energy\n", " long_name: $\\beta F(\\mu,V,T)$" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref.xge.betaF()" ] }, { "cell_type": "markdown", "id": "22", "metadata": {}, "source": [ "Or, to calculate multiple properties, again, use the `table` method" ] }, { "cell_type": "code", "execution_count": 12, "id": "23", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 40B\n",
       "Dimensions:   ()\n",
       "Coordinates:\n",
       "    lnz_0     float64 8B 2.765\n",
       "    beta      float64 8B 0.6667\n",
       "    volume    float64 8B 512.0\n",
       "Data variables:\n",
       "    pressure  float64 8B 4.577\n",
       "    betaF     float64 8B -423.2\n",
       "Attributes:\n",
       "    dims_n:         ['n_0']\n",
       "    dims_lnz:       ['lnz_0']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'beta', 'volume']\n",
       "    standard_name:  grand_potential\n",
       "    long_name:      $p(\\mu,V,T)$
" ], "text/plain": [ " Size: 40B\n", "Dimensions: ()\n", "Coordinates:\n", " lnz_0 float64 8B 2.765\n", " beta float64 8B 0.6667\n", " volume float64 8B 512.0\n", "Data variables:\n", " pressure float64 8B 4.577\n", " betaF float64 8B -423.2\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " standard_name: grand_potential\n", " long_name: $p(\\mu,V,T)$" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref.xge.table(keys=[\"pressure\", \"betaF\"], default_keys=None)" ] }, { "cell_type": "markdown", "id": "24", "metadata": {}, "source": [ "The great thing about using the xarray interface is that things like plotting become trivial. For example, use" ] }, { "cell_type": "code", "execution_count": 13, "id": "25", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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7UcffaSm6zs6Omo6d+6sgq60rl+/rnn99dc1Dg4OGjc3N82oUaM0SUlJPDz51LdvX423t7f6zZIgVb4b2mCKx8bwAyp+d7JmIf9k14pFRERERJnjGCoiIiKifGJARURERJRPDKiIiIiI8okBFREREVE+MaAiIiIiyicGVERERET5xICKiIiIKJ8YUBERERHlEwMqIqICFh8fjyFDhqBUqVIoXrw43nnnnecuuExEpoUBFRFRARsxYgT++OMPbNy4Efv378edO3fw9ttvcz8TmTBeeoaIKAOvvPIK6tatC3t7eyxZsgS2trYYNGgQJk2alOX+io6Ohru7O9atW4d3331XbQsJCUGNGjVw6NAhNG3alPubyASxhYqIKBMrV65EsWLFcOTIEUyfPh1ffvkldu3aleX+CgwMRFJSElq3bq3bVr16dVSoUEEFVERkmhhQERFlQlqoJk6ciCpVqqBXr17w9/fH7t27s9xfYWFhqjXLxcUl3XZPT091HxGZJgZURERZBFRplS5dGhEREdxfRPQcBlRERJmwsbFJt25hYYHU1NQs95eXlxcSExMRFRWVbrvM8pP7iMg0MaAiIipAfn5+KhBL2zV44cIFhIaGolmzZtzXRCbKWt8VICIyJc7OzujXrx9GjhwJV1dXODk54eOPP1bBFGf4EZkuBlRERAXs22+/haWlpUromZCQgLZt22LBggXcz0QmjHmoiIiIiPKJY6iIiIiI8okBFRFRLqxdu1Zdny+jpVatWtyXRGaKXX5ERLkQGxub6YWOZXaft7c39yeRGWJARURERJRP7PIjIiIiyicGVERERET5xICKiIiIKJ8YUBERERHlEwMqIiIionxiQEVERESUTwyoiIiIiPKJARURERER8uf/AdlavLsT5TySAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ref.xge.lnpi().plot()" ] }, { "cell_type": "markdown", "id": "26", "metadata": {}, "source": [ "# Collections of lnPi Values\n", "\n", "Ok, we can reweight a $\\ln \\Pi(N)$ from one chemical potential to another, and calculate a variety of properties for a $\\ln \\Pi(N)$. But what if we want to calculate properties at a variety of values of $\\ln z$. We could do list comprehension, but that's slow, and can get unwieldy. Instead, `lnpy` provides a helper class to deal with multiple `lnPi`s. To use it, we must first have a {class}`~lnpy.segment.PhaseCreator` object. We will discuss this object in detail later, but for now, know that for the simple case of a single component system that does not have any phase transitions, it suffices to use the following." ] }, { "cell_type": "code", "execution_count": 14, "id": "27", "metadata": {}, "outputs": [], "source": [ "phase_creator = lnpy.PhaseCreator(nmax=1, ref=ref)\n", "\n", "build_phases = phase_creator.build_phases_mu([None])" ] }, { "cell_type": "markdown", "id": "28", "metadata": {}, "source": [ "To create a collection of with of `lnPi` at different values of `lnz`, use the {class}`lnpy.lnpiseries.lnPiCollection` class:" ] }, { "cell_type": "code", "execution_count": 15, "id": "29", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "dd64025158674edb847f70dcd52d60e8", "version_major": 2, "version_minor": 0 }, "text/plain": [ "build: 0%| | 0/2000 [00:00" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Select by position\n", "# scalar index gives object\n", "c.iloc[1]" ] }, { "cell_type": "code", "execution_count": 17, "id": "32", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "-9.993497 0 [-9.993496748374188]\n", "dtype: object" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# array-like gives lnPiCollection instance\n", "(c.iloc[[1]])" ] }, { "cell_type": "code", "execution_count": 18, "id": "33", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "3.0 0 [3.0]\n", "dtype: object" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# select by value. Same as indexing into pandas.Series\n", "c.loc[[3.0]]" ] }, { "cell_type": "code", "execution_count": 19, "id": "34", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "2.954477 0 [2.95447723861931]\n", "2.960980 0 [2.960980490245122]\n", "2.967484 0 [2.967483741870936]\n", "2.973987 0 [2.973986993496748]\n", "2.980490 0 [2.980490245122562]\n", "2.986993 0 [2.986993496748374]\n", "2.993497 0 [2.993496748374188]\n", "3.000000 0 [3.0]\n", "dtype: object" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# can also query\n", "c.query(\"lnz_0 > 2.95\")" ] }, { "cell_type": "markdown", "id": "35", "metadata": {}, "source": [ "## Accessing properties of collection\n", "\n", "The really nice thing about {class}`~lnpy.lnpiseries.lnPiCollection` is that all the properties for *all* the {class}`~lnpy.lnpidata.lnPiMasked` objects can be calculated at once, in a vectorized way. The same accessor {attr}`~lnpy.lnpiseries.lnPiCollection.xge` is available to {class}`~lnpy.lnpiseries.lnPiCollection` as for {class}`~lnpy.lnpidata.lnPiMasked`. Note that the `xce` accessor is not available, as it only makes sense for a single value of `lnPiMasked`. " ] }, { "cell_type": "code", "execution_count": 20, "id": "36", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "3de634257eaf4e2489b7c8a33862e823", "version_major": 2, "version_minor": 0 }, "text/plain": [ "pi_norm: 0%| | 0/2000 [00:00\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'pressure' (lnz_0: 2000, phase: 1)> Size: 16kB\n",
       "array([[6.80940123e-05],\n",
       "       [6.85383141e-05],\n",
       "       [6.89855151e-05],\n",
       "       ...,\n",
       "       [4.84631185e+00],\n",
       "       [4.85425839e+00],\n",
       "       [4.86220769e+00]])\n",
       "Coordinates:\n",
       "  * lnz_0    (lnz_0) float64 16kB -10.0 -9.993 -9.987 -9.98 ... 2.987 2.993 3.0\n",
       "  * phase    (phase) int64 8B 0\n",
       "    beta     float64 8B 0.6667\n",
       "    volume   float64 8B 512.0\n",
       "Attributes:\n",
       "    dims_n:         ['n_0']\n",
       "    dims_lnz:       ['lnz_0']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'beta', 'volume']\n",
       "    dims_rec:       ['sample']\n",
       "    standard_name:  grand_potential\n",
       "    long_name:      $p(\\mu,V,T)$
" ], "text/plain": [ " Size: 16kB\n", "array([[6.80940123e-05],\n", " [6.85383141e-05],\n", " [6.89855151e-05],\n", " ...,\n", " [4.84631185e+00],\n", " [4.85425839e+00],\n", " [4.86220769e+00]])\n", "Coordinates:\n", " * lnz_0 (lnz_0) float64 16kB -10.0 -9.993 -9.987 -9.98 ... 2.987 2.993 3.0\n", " * phase (phase) int64 8B 0\n", " beta float64 8B 0.6667\n", " volume float64 8B 512.0\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " dims_rec: ['sample']\n", " standard_name: grand_potential\n", " long_name: $p(\\mu,V,T)$" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Note the smart indexing. The index is inherited from lnPiCollection.index\n", "c.xge.pressure()" ] }, { "cell_type": "code", "execution_count": 21, "id": "37", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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uyo9EWv1glZbuU8u2mtHT9LaRqGk9OKoPaTcvX/0wvXBBx+YC7x7MCu9qGlg9dNPP51R+qQXI807Day0TYZ7W353ynm/F62eKKqyauOir2v3z7fffttUhbjTpj2iNPDSXjSed98aIOh3r9+B0upFvbi5AyR3ew93Ub3n6LVaYqHBgKbdvV3bXWgpn7ZHcP9tcd7TTavcNLgvbTWRZ1q1B49etHWIgbztM/T401IG7aWjpWTuIPXdd981+XTRRRcV+N4a9Gg+a3sM7ZHnpu08ylpRj9WKaOOS3zlCjzPd7m7fVFxaSqdtmjTI1cA1v/Z5btqlXHtZ6fHupse3VlFp8OLuXaTBqLbn09JllEIJG/XCS3sVac+dSy65xLRsv+mmm8y2G264oUgD0GnvBc8W+MOHDze9B7QF/1tvveUaOXKkq169eqbHhud+0dHRrmuuucYMyKQDud11112m18L999+fs8/69etd1apVM3+rvRLefvtt04J/6NChrvbt27sq0ooVK0zvEe3t8+abb5rBpkJCQkwvj7yK2utB86558+auqlWrms/36quvmu/C39/fNWvWrJz9kpOTXZ07dzY9Im6//Xbz/7/00ksmP7UHhOcAWzq4m/Zy0u9Sew2tXbvWbO/bt6+rcuXKJt3aw2bYsGGmZ5cVA9Z9//335rs+//zzzXf6t7/9zXzmO+64I9d+2tslv55K2itDtw8cONB8zjvvvNO83/XXX59rv/j4eNNDKzw83HzGV155xeS39pBZvXp1id7TrUuXLq6YmJgzBiPL+/0WZyC4pk2bmrRqOvR4K+j3qsec9ibS34r+1rQ3VlpaWqED0F133XXm+Bk9erT5fDqgon6G/HoV6TGVlx7Pbdq0yfczevYOLM6xWt70e9bzz8svv2w+s36X+p127NjRpNPTd999Z84tumjvLf2du5979q687LLLTJ7deuutrunTp+davv766zPyLO/lNDEx0dWkSRNz/nvhhRfMbz42NtYcS9pzDCVH4OIQ7hPhhg0bXFdddZU5aWqgoF0IT548WaLARbtO3nLLLa6oqChXWFiYa/DgwaaLX979nn32WdM1VS/aeoJp2bKl67nnnst1Albbtm0zwZBejCtVqmS6jl588cWme2NFW7hwoekeqwFLzZo1TX7oichTUlKSySu9UJyN+6SvI+9qIKaBkeaDdr/O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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the results\n", "c.xge.pressure().plot()" ] }, { "cell_type": "markdown", "id": "38", "metadata": {}, "source": [ "This is much more convenient (and much faster) than doing something like:" ] }, { "cell_type": "code", "execution_count": 22, "id": "39", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Don't do things like this\n", "# It's super slow\n", "import xarray as xr\n", "\n", "pressures = [x.xge.pressure() for x in c]\n", "\n", "xr.concat(pressures, dim=\"lnz_0\").plot()" ] }, { "cell_type": "markdown", "id": "40", "metadata": {}, "source": [ "# Loading examples\n", "\n", "lnPi comes with some pre-defined examples in the {mod}`~lnpy.examples` module. We used it above to load a dictionary of data that we then turned into a {class}`~lnpy.lnpidata.lnPiMasked` object. This can be streamlined using the following:" ] }, { "cell_type": "code", "execution_count": 23, "id": "41", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import lnpy.examples\n", "\n", "ref = lnpy.examples.load_example_lnpimasked(\"lj_sup\")\n", "ref" ] }, { "cell_type": "markdown", "id": "42", "metadata": {}, "source": [ "Alternatively, for some examples, you can load an object with contains a predefined {class}`~lnpy.segment.PhaseCreator` object. We'll save this for later." ] }, { "cell_type": "markdown", "id": "43", "metadata": {}, "source": [ "# Single component system with phase transitions.\n", "\n", "Next, let's consider a system with a phase transition. First, lets load some example data" ] }, { "cell_type": "code", "execution_count": 24, "id": "44", "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import xarray as xr\n", "\n", "import lnpy\n", "import lnpy.examples\n", "\n", "# Subcritical LJ data\n", "ref = lnpy.examples.load_example_lnpimasked(\"lj_sub\")" ] }, { "cell_type": "code", "execution_count": 25, "id": "45", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHHCAYAAACvJxw8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAX5JJREFUeJzt3Qd0VNUWBuA/vZFCSCeF3gmEKiiIgICiAiKKioIiCOJTgSeCBQQLCohixUZRUcFe6NJ5hE7oCS2QQEgjpBHS5619wowJhEnPtP9b6zLtZrhz78zcPefss4+VRqPRgIiIiIhKZV363URERETEYImIiIioDGxZIiIiItKDwRIRERGRHgyWiIiIiPRgsERERESkB4MlIiIiIj0YLBERERHpwWCJiIiISA8GS1RpS5YsgZWVFc6ePcu9aKYaNGiAe+65x9CbQSaiV69eaiEyNwyWyOR9/fXXaNmyJRwdHdG0aVN89NFHMBZHjx7FsGHD0KhRIzg7O8PLyws9e/bEX3/9VaHn+eeff9C7d2+4u7vD1dUVHTt2xPLly0usI7dHjBih9oEEscZ40srKysLrr7+OzZs3w5hVZV9evXoVo0ePRps2bdTxqlOnDtq1a4cFCxYgLy+vxLryvPL8pS12dna69S5duoS5c+eq9463tzc8PDxwyy233PAeIOMwatSoUo9pixYtblj3rbfewn333QdfX1+1jnw+SvPrr7/ioYce0n2XNG/eHJMnT0Zqamq5t+v48eMYMGCAek96enriscceQ1JSUpVeq6WwNfQGEFXF559/jnHjxmHo0KGYNGkStm3bhueee06dlF966SWD79xz584hIyMDI0eOREBAgNquX375RX05yraPHTu2zOdYvHixOvneeeedePvtt2FjY4OoqCjExsaWWO+zzz7Dvn370LlzZ3VyNUby+mfOnKmuG2MwVx37UoIlCZLvvvtu1TJnbW2NHTt2YOLEidi1axe+//573bqvvPIKnnrqqRJ/f+XKFfWe7tevn+6+8PBwta4856uvvgpbW1v1Pho+fDiOHTum26dkPBwcHPDVV1+VuE+C5+vJ8fTz80NYWBjWrl170+eT7wr5DpEgPjg4GIcPH8bHH3+MVatWYf/+/XByctK7PefPn1fBtmyDfI9kZmZi3rx56nl2794Ne3v7KrxaCyAT6RJVxuLFi2USZk10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EzPVZVMftioREREZii1M1MyZM9VlWS1Bn332mWpNmj59OlavXl3isYULF6Jhw4Z477331O2WLVti+/bteP/999G/f38Y2qnEopalpr51DL0pREREFstkW5bK49ixY5g1axa++eYbWFvf+FLDw8PRt2/fEvdJkCT330xOTg7S09NLLDXlRMK1liVftiwREREZitkGSxLUPPzww5g7dy6Cg4NLXSc+Ph6+vr4l7pPbEgBdvXq11L+ZPXs23N3ddUtQUFCNbH9ufiHOJl9R15v6sGWJiIjIUIwqWJo6dapKwta3REZGluu5pk2bprrVRowYUa3bKM+blpamW2JjY1ETzl26gvxCDeo42MLf3bFG/g8iIiIysZylyZMnY9SoUXrXadSoUbmea+PGjTh8+DB+/vlndVuj0ahLLy8vvPLKKyrnyc/PDwkJCSX+Tm67ubnByan0qUVk1JwsNS0pMwceznZoUM9FBYlERERkGEYVLHl7e6ulOvzyyy8lutL27NmDJ598Etu2bUPjxo3Vfd26dcOqVatK/N369evV/YbWvbEXDrx2J7JyCwy9KURERBbNqIKlioiJiUFKSoq6LCgoUEP/hdRKqlOnji4g0kpOTlaX0jWnrcs0btw4fPzxx5gyZYoKpKQ1asWKFVi5ciWMgbQouTiY7CEiIiIyCyZ7JpZSAEuXLtXdDgsLU5ebNm1Cr169yvUcUjZAAqOJEydiwYIFqnDlV199ZRRlA4iIiMg4WGm0yTxUKTJyTkbFSbK35DoRERGReZ2/jWo0HBEREZGxYbBEREREpAeDJSIiIiI9GCwRERER6cFgiYiIiEgPBktEREREejBYIiIiItKDwRIRERGRHgyWiIiIiPRgsERERESkB4MlIiIiInOcSNdYaKfWkzlmiIiIyDRoz9vlmSKXwVIVZWRkqMugoKCqPhUREREZ4DwuE+rqY6UpT0hFN1VYWIi4uDi4urrCysqq2qNeCcJiY2PLnBGZahePjXHj8TFuPD7Gy5KOjUajUYFSQEAArK31ZyWxZamKZAcHBgaiJskb1tzftKaKx8a48fgYNx4f42Upx8a9jBYlLSZ4ExEREenBYImIiIhIDwZLRszBwQEzZsxQl2RceGyMG4+PcePxMV48NqVjgjcRERGRHmxZIiIiItKDwRIRERGRHgyWiIiIiPRgsERERESkB4MlI/XJJ5+gQYMGcHR0RNeuXbF7925Db5JF2Lp1K+69915V0VUqsv/+++83VHydPn06/P394eTkhL59++LkyZMl1klJScGjjz6qCrp5eHhg9OjRyMzMrOVXYn5mz56Nzp07q2r5Pj4+GDx4MKKiokqsk52djQkTJqBevXqoU6cOhg4dioSEhBLrxMTEYODAgXB2dlbP8+KLLyI/P7+WX435+eyzzxAaGqorZtitWzesXr1a9ziPjfF455131PfbCy+8oLuPx0c/BktGaPny5Zg0aZIqG7B//360a9cO/fv3R2JioqE3zexduXJF7W8JVkszZ84cfPjhh1i4cCF27doFFxcXdWzki0ZLAqWjR49i/fr1+Pvvv1UANnbs2Fp8FeZpy5YtKhDauXOn2rd5eXno16+fOmZaEydOxF9//YWffvpJrS9TEd1///26xwsKClSglJubix07dmDp0qVYsmSJCoCpamQmAzkJ79u3D3v37kXv3r0xaNAg9VngsTEee/bsweeff64C2+L42SmDzA1HxqVLly6aCRMm6G4XFBRoAgICNLNnzzbodlka+Xj89ttvutuFhYUaPz8/zdy5c3X3paamahwcHDQ//PCDun3s2DH1d3v27NGts3r1ao2VlZXmwoULtfwKzFtiYqLa11u2bNEdCzs7O81PP/2kW+f48eNqnfDwcHV71apVGmtra018fLxunc8++0zj5uamycnJMcCrMG9169bVfPXVVzw2RiIjI0PTtGlTzfr16zW333675vnnn1f387NTNrYsGRn5xSu/zKR7p/j8c3I7PDzcoNtm6aKjoxEfH1/i2Mi8QtJNqj02cildb506ddKtI+vLMZSWKKo+aWlp6tLT01NdyudGWpuKH58WLVogODi4xPFp27YtfH19detIy6BMHqptAaGqkxa8H3/8UbX6SXccj41xkJZZaVkt/hkRPD5l40S6RiY5OVl90RT/MhdyOzIy0mDbRVCBkvZYFCe3tY/JpeTBFGdra6tO6Np1qOoKCwtVvsWtt96KNm3a6Pa9vb29Clb1HZ/Sjp/2Maqaw4cPq+BIuqUlZ+y3335Dq1atEBERwWNjYBK8SlqHdMNdj5+dsjFYIiKT/IV85MgRbN++3dCbQsU0b95cBUbS6vfzzz9j5MiRKneMDCs2NhbPP/+8yvWTQUNUceyGMzJeXl6wsbG5YQSP3Pbz8zPYdhF0+1/fsZHL6xPxZaSVjJDj8asezz77rEqc37Rpk0oq1pL9K93Yqampeo9PacdP+xhVjbTsNWnSBB07dlSjF2WwxIIFC3hsDEy62eR7qUOHDqqlWxYJYmWwilyX1lV+dvRjsGSEXzbyRbNhw4YSXQ5yW5q3yXAaNmyovvSLHxvJdZFcJO2xkUs5WcuXk9bGjRvVMZTcJqo8ybmXQEm6dmSfyvEoTj43dnZ2JY6PlBaQUgHFj490FRUPaOXXtgx1l+4iql7yvs/JyeGxMbA+ffqo9720+mkXyauUkbva6/zslKEcSeBUy3788Uc1wmrJkiVqdNXYsWM1Hh4eJUbwUM2NFjlw4IBa5OMxf/58df3cuXPq8XfeeUcdiz/++ENz6NAhzaBBgzQNGzbUXL16VfccAwYM0ISFhWl27dql2b59uxp98vDDD/OQVdH48eM17u7ums2bN2suXryoW7KysnTrjBs3ThMcHKzZuHGjZu/evZpu3bqpRSs/P1/Tpk0bTb9+/TQRERGaNWvWaLy9vTXTpk3j8amiqVOnqpGJ0dHR6rMht2UU6Lp163hsjFDx0XCCnx39GCwZqY8++kh96dvb26tSAjt37jT0JlmETZs2qSDp+mXkyJG68gGvvfaaxtfXVwW0ffr00URFRZV4jkuXLqngqE6dOmpI+hNPPKGCMKqa0o6LLIsXL9atI0HrM888o4asOzs7a4YMGaICquLOnj2rueuuuzROTk4aLy8vzeTJkzV5eXk8PFX05JNPakJCQtR3lgSg8tnQBko8NsYfLPGzo5+V/FNW6xMRERGRpWLOEhEREZEeDJaIiIiI9GCwRERERKQHgyUiIiIiPRgsEREREenBYImIiIhIDwZLRERERHowWCIiIiLSg8ESEVEFZGdnY8KECahXrx7q1KmDoUOH3jA5LxGZFwZLREQVMHHiRPz111/46aef1MztcXFxuP/++7kPicwYpzshIovTq1cvhIaGwtHREV999RXs7e0xbtw4vP7663r/Li0tDd7e3vj+++/xwAMPqPsiIyPRsmVLhIeH45ZbbqmlV0BEtYktS0RkkZYuXQoXFxfs2rULc+bMwaxZs7B+/Xq9f7Nv3z7k5eWhb9++uvtatGiB4OBgFSwRkXlisEREFklalmbMmIGmTZvi8ccfR6dOnbBhwwa9fxMfH69aoTw8PErc7+vrqx4jIvPEYImILDZYKs7f3x+JiYkG2x4iMl4MlojIItnZ2ZW4bWVlhcLCQr1/4+fnh9zcXKSmppa4X0bDyWNEZJ4YLBERlVPHjh1VkFW8uy4qKgoxMTHo1q0b9yORmbI19AYQEZkKd3d3jB49GpMmTYKnpyfc3Nzwn//8RwVKHAlHZL4YLBERVcD7778Pa2trVYwyJycH/fv3x6effsp9SGTGWGeJiIiISA/mLBERERHpwWCJiOiaZcuWqfneSltat27N/URkodgNR0R0TUZGxk0nxZVRcCEhIdxXRBaIwRIRERGRHuyGIyIiItKDwRIRERGRHgyWiIiIiPRgsERERESkB4MlIiIiIj0YLBERERHpwWCJiIiISA8GS0RERES4uf8DoeaP4ii5d+kAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# look at the lnPi values\n", "ref.xge.lnpi().plot()" ] }, { "cell_type": "markdown", "id": "46", "metadata": {}, "source": [ "Notice that this $\\ln \\Pi(N)$ has multiple maxima. This indicates that multiple phases coexist. \n", "So calculating properties from the total {mod}`~lnpy.lnpidata.lnPiMasked` doesn't make sense. Instead, the {class}`~lnpy.lnpidata.lnPiMasked` should be divided into phases. The division should be at the local minima in $\\ln \\Pi(N)$ (at approximately `n_0=100` in the example above). To perform the segmentation, we turn back to the {class}`~lnpy.segment.PhaseCreator` object. Let see how this works" ] }, { "cell_type": "code", "execution_count": 26, "id": "47", "metadata": {}, "outputs": [], "source": [ "# This creates a `PhaseCreator` object\n", "phase_creator = lnpy.PhaseCreator(nmax=2, nmax_peak=4, ref=ref, merge_kws={\"efac\": 0.8})" ] }, { "cell_type": "code", "execution_count": 27, "id": "48", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "-3.609956 0 [-3.6099564097351307]\n", " 1 [-3.6099564097351307]\n", "dtype: object" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# call the `build_phases` method creates a lnPiCollection of phases\n", "p = phase_creator.build_phases()\n", "p" ] }, { "cell_type": "code", "execution_count": 28, "id": "49", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ]" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the lnpi values for each 'phase'\n", "p.xge.lnpi().plot(hue=\"lnz_0\")" ] }, { "cell_type": "markdown", "id": "50", "metadata": {}, "source": [ "What just happened? To segment $\\ln \\Pi(N)$ the code does the following:, we For this we do the following\n", "\n", "1. Find the local maxima of the $\\ln \\Pi(N)$. This is done using {func}`~lnpy.segment.peak_local_max_adaptive`, which is an an adaptive version of {func}`skimage.feature.peak_local_max`. This finds at most `nmax_peak`. Note that `nmax_peak` can be any number.\n", "2. Use the {func}`~skimage.segmentation.watershed` segmentation algorithm to segment $-\\ln \\Pi$ into regions about the local minima in $-\\ln \\Pi$ (local maxima in $\\ln \\Pi$). \n", "3. Remove any phases that have to low a transition energy. We discuss this further below.\n", "4. If the number of 'phases' is greater than the maximum allowed number of phases. Merge them. This is done by analyzing the transition energy between phases. Discussed further below.\n", "5. Merge phases that have same `phase_id`. Discussed further below.\n", "6. Pass list of {class}`~lnpy.lnpidata.lnPiMasked` objects and created `index` to `phases_factory` function. Discussed further below.\n", "7. return result\n", "\n", "\n", "OK, that's a bunch of steps. Let take them one at a time." ] }, { "cell_type": "markdown", "id": "51", "metadata": {}, "source": [ "## Local maxima" ] }, { "cell_type": "code", "execution_count": 29, "id": "52", "metadata": {}, "outputs": [], "source": [ "maxima_marker = lnpy.segment.peak_local_max_adaptive(\n", " ref.data, num_peaks_max=4, mask=~ref.mask, style=\"marker\"\n", ")\n", "maxima_index = np.where(maxima_marker > 0)" ] }, { "cell_type": "code", "execution_count": 30, "id": "53", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(ref.data)\n", "plt.plot(maxima_index[0], ref.data[maxima_index], marker=\"o\", ls=\"None\")" ] }, { "cell_type": "markdown", "id": "54", "metadata": {}, "source": [ "## Watershed" ] }, { "cell_type": "markdown", "id": "55", "metadata": {}, "source": [ "OK, great. Now we can segment the data. `lnPi` provides a wrapper to {func}`skimage.segmentation.watershed` through {meth}`lnpy.segment.Segmenter.watershed`." ] }, { "cell_type": "code", "execution_count": 31, "id": "56", "metadata": {}, "outputs": [], "source": [ "s = lnpy.segment.Segmenter()" ] }, { "cell_type": "code", "execution_count": 32, "id": "57", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n", " 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2], dtype=int32)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "labels = s.watershed(-ref.data, markers=maxima_marker, mask=~ref.mask)\n", "labels" ] }, { "cell_type": "markdown", "id": "58", "metadata": {}, "source": [ "Each unique value in `labels` corresponds to a phase. We can construct multiple `lnPiMasked` objects from labels using" ] }, { "cell_type": "markdown", "id": "59", "metadata": {}, "source": [ "## local free energy\n", "\n", "Now, we look at the local free energy. The local (scaled) free energy is defined as $w(N) = \\beta f(N) = -\\ln \\Pi(N)$. We consider the energy at the location of the local minima in $w$ (local maxima in $\\ln \\Pi$) versus the value of $w$ at the transition between phases (around $n=100$ in the figure above). This is performed by the class {class}`lnpy.lnpienergy.wFreeEnergy`. " ] }, { "cell_type": "code", "execution_count": 33, "id": "60", "metadata": {}, "outputs": [], "source": [ "from lnpy.lnpienergy import wFreeEnergy" ] }, { "cell_type": "code", "execution_count": 34, "id": "61", "metadata": {}, "outputs": [], "source": [ "w = wFreeEnergy.from_labels(data=ref.data, labels=labels)" ] }, { "cell_type": "code", "execution_count": 35, "id": "62", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[126.12754742],\n", " [ -0. ]])" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# this is the same as -lnPi[maxima]\n", "w.w_min" ] }, { "cell_type": "code", "execution_count": 36, "id": "63", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([126.12754742, -0. ])" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "-ref.data[maxima_index]" ] }, { "cell_type": "code", "execution_count": 37, "id": "64", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ inf, 132.72931142],\n", " [132.72931142, inf]])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# w.w_tran[i, j] is the 'transition' energy going from phase i to phase j\n", "w.w_tran" ] }, { "cell_type": "code", "execution_count": 38, "id": "65", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{(0, 1): (87,)}" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the transition between phases '0' and '1' is at index 87\n", "w.w_argtran" ] }, { "cell_type": "code", "execution_count": 39, "id": "66", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "132.72931142169" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "-ref.data[87]" ] }, { "cell_type": "code", "execution_count": 40, "id": "67", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ inf, 6.601764 ],\n", " [132.72931142, inf]])" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the change in energy between the phases\n", "w.delta_w" ] }, { "cell_type": "markdown", "id": "68", "metadata": {}, "source": [ "This transition energy means the two phases are stable. So move on." ] }, { "cell_type": "code", "execution_count": 41, "id": "69", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[, ]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lnpis = ref.list_from_masks(w.masks)\n", "lnpis" ] }, { "cell_type": "markdown", "id": "70", "metadata": {}, "source": [ "## Construct collection\n", "Now these can be converted to a {class}`~lnpy.lnpiseries.lnPiCollection` object." ] }, { "cell_type": "code", "execution_count": 42, "id": "71", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "-3.609956 0 [-3.6099564097351307]\n", " 1 [-3.6099564097351307]\n", "dtype: object" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = lnpy.lnPiCollection.from_list(lnpis, index=[0, 1])\n", "p" ] }, { "cell_type": "markdown", "id": "72", "metadata": {}, "source": [ "So, the segmentation can get pretty involved. This is why there is the helper class {class}`~lnpy.segment.PhaseCreator`. There are a slew\n", "of options to the different routines. Look at the docs for more information" ] }, { "cell_type": "markdown", "id": "73", "metadata": {}, "source": [ "## At a different $\\ln z$ value\n", "\n", "Let us instead consider a different value of chemical potential. One near the critical point. " ] }, { "cell_type": "code", "execution_count": 43, "id": "74", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "-3.49 0 [-3.49]\n", " 1 [-3.49]\n", "dtype: object" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = phase_creator.build_phases(-3.49)\n", "p" ] }, { "cell_type": "code", "execution_count": 44, "id": "75", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ]" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p.xge.lnpi().plot(hue=\"phase\")" ] }, { "cell_type": "markdown", "id": "76", "metadata": {}, "source": [ "But lets look at the local free energy 'w' defined above. This can be obtained by the accessor {attr}`~lnpy.lnpiseries.lnPiCollection.wfe` in {class}`~lnpy.lnpiseries.lnPiCollection`. " ] }, { "cell_type": "code", "execution_count": 45, "id": "77", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "lnz_0 phase\n", "-3.49 0 122.930891\n", " 1 -45.776165\n", "Name: w_min, dtype: float64" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# min(w) in each phase\n", "p.wfe.w_min" ] }, { "cell_type": "code", "execution_count": 46, "id": "78", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "lnz_0 phase phase_nebr\n", "-3.49 0 0 inf\n", " 1 123.785912\n", " 1 0 123.785912\n", " 1 inf\n", "Name: w_tran, dtype: float64" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# transition w from phase to phase_nebr\n", "p.wfe.w_tran" ] }, { "cell_type": "code", "execution_count": 47, "id": "79", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "lnz_0 phase phase_nebr\n", "-3.49 0 0 inf\n", " 1 0.855021\n", " 1 0 169.562078\n", " 1 inf\n", "Name: delta_w, dtype: float64" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# w_tran - w_min\n", "p.wfe.dw" ] }, { "cell_type": "markdown", "id": "80", "metadata": {}, "source": [ "We see that the $\\Delta w$ is pretty low at this value of $\\ln z$. We passed in the parameter `efac=0.8` in the definition of `phase_creator`. If we instead wish to remove phases with an energy this low, we can do the following:" ] }, { "cell_type": "code", "execution_count": 48, "id": "81", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "-3.49 0 [-3.49]\n", "dtype: object" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = phase_creator.build_phases(-3.49, efac=0.9)\n", "p" ] }, { "cell_type": "markdown", "id": "82", "metadata": {}, "source": [ "Now if the $\\Delta w$ between phases is smaller than `efac`, the phases are merged. For more information, see that api docs." ] }, { "cell_type": "markdown", "id": "83", "metadata": {}, "source": [ "## Tagging phases\n", "\n", "{class}`~lnpy.segment.PhaseCreator` allows passing a callback `tag_phases` to attach a label to each phase. By default, the phases are labeled by there list index. This can be confusing, because over a range of $\\ln z$ values, different physical phases can have the same label. For example" ] }, { "cell_type": "code", "execution_count": 49, "id": "84", "metadata": {}, "outputs": [], "source": [ "phase_creator = lnpy.PhaseCreator(nmax=2, nmax_peak=4, ref=ref, merge_kws={\"efac\": 0.8})" ] }, { "cell_type": "code", "execution_count": 50, "id": "85", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ]" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHHCAYAAABa2ZeMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATzpJREFUeJzt3Qd4U/X+x/Fv9wBaKKWUDQIqu1AEceNlKAiiqPxxgKgo7ivXq+BAnHgdiIN7cYFerwNRQURFAbeiQCkgKMi0rAJltLSFzvyf769JbEtHKG2Tc/J+Pc8hyck5yclJSj75zQCHw+EQAAAASCDnAAAAoAjBCAAAwIlgBAAA4EQwAgAAcCIYAQAAOBGMAAAAnAhGAAAATgQjAAAAJ4IRAACAE8EIKMfkyZMlICBA0tLSOEeo1BtvvGE+L9u2beNsARZGMAJq0TvvvCPTpk3z6XO+YcMGueuuu+SMM86Q8PDw4/6yf/XVV+Xcc8+Vxo0bS1hYmLRp00bGjBlzzGO4gkR5y9tvv+3e9qOPPpIRI0bISSedJJGRkXLKKafIP/7xDzl06FC1vnacuG+++abc9/Tnn38use2XX34p119/vXTu3FmCgoKkdevWZT7m+vXr5Z577pGEhASpV6+eNGnSRAYPHiwrVqzw+LhycnLk3nvvlaZNm0pERIT07t1bFi1adMKvF/YT7O0DAPwtGK1du1b+/ve/i69aunSpvPDCC9KxY0fp0KGDrFq16rj2T05ONmFo6NCh0qBBA9m6dasJSwsWLJDVq1ebLyZ1zjnnyFtvvXXM/s8995zZ7m9/+5t73Y033mj2u/rqq6Vly5by66+/yksvvSSfffaZrFy50nzRwbfccccdctppp5VY165du2P+HmbPni09evRwfy7K8tprr8nrr78uw4cPl1tuuUXS09Pl5ZdfltNPP10WLlwo/fr1q/R4rr32Wvnggw/M31779u1NMB80aJB8/fXXctZZZ53AK4Xt6CSyAI710EMP6QTLjn379lXb6Rk8eLCjVatWPn269+/f78jIyDDXn376aXMOtm7dekKPuWLFCvM4U6ZMqXC77OxsR7169Rz9+/cvsf7rr78+Zts333zTPOarr77q8AWzZs2qlnNldfpe6XmYM2dOpdvu3LnTkZubW+nfhn5+Dh8+XGJdWlqao1GjRo4zzzyz0uf55ZdfzDHp59nlyJEjjrZt2zr69OnjwauCP6EqDaiEtjG64oorJCoqSho2bCh33nmnHD169Jjt/ve//0liYqIpvYiJiZH/+7//k+3bt7vvP++88+TTTz+VP//801214Ko6yM3NlUmTJpn9o6OjpU6dOnL22WebX7O1TY9dqyuqk+t1Vlb19cknn8jhw4flqquuKrFez11pl1xyibn8/fffj/t4tORAz/+33357zH1aEqH3acmey1dffWXeD31f6tevLxdffLFHz6uPo23VyjofWoJRulrxhx9+MCUtjRo1Ms9z0003mc+GnrdRo0aZEjhdtFrJ4dDv+r8UFhaaatpOnTqZKlCtytT9Dx48KN6i72V+fn6592spUUhISKWPo38XdevWLbFO/xb1PfHkfdD3W6vqtOTRRc+RVuNpCWnxv1OAqjSgEhqK9ItsypQppo2EVjPpl81///tf9zaPP/64PPjgg2bbG264Qfbt2ycvvviiqS7SqiX9krv//vtNFcCOHTtMdZFy/WefkZFhqgtGjhwpY8eONV8oWnUwcOBAWbZsmWlbUZHMzMwyw1pp+iWkwas27N+/XwoKCiQlJUUeeeQRs6549VhZtF2RBstLL7200sdPTU01l7Gxscd9bNo+Rc/9+++/b9pDFadVOxoutN2LWrx4sVx44YWmfZOGnCNHjpj39swzzzTVeOW1i6mK22+/XeLj4+Xhhx82n7VXXnnFfHZ++uknU4X4xBNPmOrDp59+2hyfhiUXDUEasLQ9l4YrrcLU6kb9/P34448VBhBtf6OfOU94er71OPRzqYFEA4wec8+ePaU66WfAk+PRc3DyySebHzfF9erVy1xqdXGLFi2q9dhgYd4usgJ8vSpt6NChJdbfcsstZv3q1avN7W3btjmCgoIcjz/+eIntfv31V0dwcHCJ9eVVF+Tn5ztycnJKrDt48KCjcePGjuuuu67SYx09erQ5psqWc88997jOwYlUpYWFhbmft2HDho4XXnih0iq80NBQxxVXXOHR419//fXmvP/xxx+Oqhg5cqQjLi7OnHuX3bt3OwIDAx2PPPKIe11CQoLZTo/PRd973W7UqFEVVqXpbf0claafAX3PSu87cOBAR2FhoXu9VvMEBAQ4xo0b516nx9u8efMS7+X3339v9n/77bdLPM/ChQvLXF+a6/k9WSrz448/OoYPH+54/fXXHR9/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AABO3BznFCCX9mgmIUE0AbZciVGrVq0kJiZGunXrJgkJCe5F50974YUX5M0336zeIwUAwKb2Hj4qX63fa67TG82iwWjr1q2SnJwsq1atMpfvv/++7Nq1y9wXFRVVnccIAICtzUveKQWFDunesr60b1zP24fj106oxEiXYcOGudctXbpURo8eLY888kh1HR8AALbmcDjkfWdvtCt6tvD24fi9aq3E7NOnjzz//PPyzDPP+P2JBQDAE8nbD8mmvZkSHhIoF3VtwkmzajDStkRlad++vaxbt+5EjgkAAL8b6XpQ5yZSLzzE24fj96pclVa3bl3p2LGjdO/e3TS61sumTZvKiy++KP369fP7EwsAQGWO5BbIJ6uL2udeTjWatYPRV199JatXrzbL22+/LRMnTpSjR4+a+y644AKZNGmSdOnSxSynnnpqdR4zAAC28Pna3ZKZky8tYyKld5sYbx8OTiQYnXXWWWZxKSwslA0bNphearosW7ZMXn31Vdm7d68UFBRwsgEAKOX9FdvdXfQDAwM4P3Ya+VrnR+vQoYNZRo4c6V6/Z8+e6noKAABsI2V/tvy85YAEBIgMT2zu7cNBVRpfp6SkHM/msnPnTmncuPFx7QMAgD/4IKmotOisdrHStH6Etw8HVQlGp512mtx0002yfPnycrdJT083VWidO3eWDz/88HgeHgAAv6CDOX7gnAKEsYssHIx+++03qVOnjvTv31/i4+Nl8ODBMnbsWLn99tvl6quvlh49ekhcXJzMnDlTnnrqKbnjjjukpk2fPl1at24t4eHh0rt3b9O2yRPvvfeeBAQElBigEgCA2vDjpjTZlX5UoiNCpH9HalYsG4waNmwoU6dOld27d8tLL71kxixKS0uTjRs3mvuvuuoqSUpKMiNgDxo0SGra7NmzZfz48fLQQw/JypUrzbxtAwcONA2+K7Jt2za5++675eyzz67xYwQAoLxG18MSmkp4SBAnyIcEOHQs8hOg7YhUs2bNpLZpCZFW72lIc/WMa9GihSnBmjBhQpn7aA+5c845R6677jr5/vvv5dChQzJv3jyPnzMjI0Oio6NNlSFzwgEAjteh7Fzp9fgSyS0olAW3nyWdm0VzEmuBp9/fVR75+scff5Q2bdpIy5YtzaKNrO+9917zxLVBR97W0qnig0lqzzi9rSVW5dF53LS67/rrr/foeXJy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IiKkQYMGMmzYMLELHeut9Hv35JNPih3l5ORIQkKCeY2rVq0Suxg6dKiZu1Ont2rSpIlcc801ZmYGu9i2bZtcf/310qZNG/M32LZtW9NjLTc3t0afl2DkA/RNvvzyy+Xmm28u8/6CggITinS7n376Sd5880154403ZNKkSWJF+ofbr18/MwK5jka+cOFCWbduXaUTCFvJRRddZIKrzuGnc/p169bNrEtNTRU70CC/e/fuEssNN9xg/gPTqXns4MMPPzRfNDrd0OrVq+XHH3+UK6+8UuzkkUceKfEe3n777WJH99xzj5kGwm769u0r77//vpnlQT+vmzdvlssuu0zsYv369WYarpdfftl8Rzz33HNmGrD77ruvZp9Yu+vDN8yaNcsRHR19zPrPPvvMERgY6EhNTXWv+89//uOIiopy5OTkOKzm5ZdfdsTFxTkKCgrc69asWaPDRjg2btzosLp9+/aZ1/Ldd9+512VkZJh1ixYtcthRbm6uo1GjRo5HHnnEYQd5eXmOZs2aOV577TWHXbVq1crx3HPPOexO//889dRTHevWrTN/g8nJyQ67+vjjjx0BAQHm79GunnrqKUebNm1q9DkoMbKApUuXSpcuXaRx48budQMHDjST7WmKtmKxdmhoaIlJ/LSYVP3www9idVo1eMopp5gJjLOyskzJkf7i0SrQxMREsaP58+fL/v37TemKHWhVr05ErZ/R7t27m2oKnbh67dq1YidadaafV32NTz/9tKWr58uiE42PHTtW3nrrLdMMwc4OHDhg5hDV0tyQkBCxq/T0dDMlWE0iGFmAVr8UD0XKdduKVTPnn3++OW79j1irBw8ePCgTJkww92lxvtVpO4bFixdLcnKy1KtXz9T/T5061VQZajsVO3r99ddNWK/JCZZr05YtW8zl5MmT5YEHHpAFCxaY907nXNQvIDu444475L333jNt32666SZ54oknTJWTXejYxVo9P27cONtU75bl3nvvlTp16piAq21RP/74Y7GrTZs2yYsvvmg+rzWJYFRD9Iu+vMaprkXrT/3xNXfq1Mm0k3r22WfNr7j4+HjTNkXDXvFSJKu+Pv0P+dZbbzUlRN9//70sW7bMNNodMmSIzwe/qnxud+zYIV988YVpJOnrPH192q5B3X///TJ8+HBT0jdr1ixz/5w5c8QO79/48eNN0OvatasJD/r3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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c = lnpy.lnPiCollection.from_builder(\n", " np.linspace(-10, -2, 50), build_phases=phase_creator.build_phases\n", ")\n", "\n", "# this looks weird because have multiple phases and not sure which is which\n", "c.xge.pressure().plot(hue=\"phase\")" ] }, { "cell_type": "markdown", "id": "86", "metadata": {}, "source": [ "Note that this can be fixed by considering 'stable' phases only" ] }, { "cell_type": "code", "execution_count": 51, "id": "87", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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NYMuAQD811e7sySnoETiW0bI4K5xvt4dv2ersKOzqk+bNk2mTp1qbmvoWbhwobzyyityzz33nLK9rj969KisWLFCwsLCzDotFQIAwJ99tLFsLqykRAlhIEHnjKCspTTakyslJcW7Ljg42NxeuXJllY/54IMPZNiwYaYaKyEhQZKSkmTOnDnicrmqfZ3CwkLJycmpsAAAYBfFLrd8Qi8s+4cdDSmXXnqpCS91lZWVZUKKhpby9HZaWmm9ZWV79uwx1Vf6OG2n88ADD8iTTz4pjzzySLWvM3fuXNPA2rPooIgAANjFit1HJPtkscS3DJch3ajC8knYqcsUEVq9dPHFF5sSl6bkdrtNe50XXnhBBg0aJBMnTpT77rvPVH9VZ8aMGZKdne1ddCBEAADsVoU1qi9VWD5rs6O9nR5++GG56aabvAMMVnb99debywcffLDOzxsfHy8hISGSnl46gJKH3q5u+gntgaVtdfRxHr179zYlQVotFh4efspjtMdWU/YmAwDgdKqwFpX1wmIuLB+W7GhvqbvuuksGDhwoy5cvb7Qd0WCipTM6wWj5khu9re1yqnLBBRfIrl27zHYeO3fuNCGoqqADAICd/W/PETmeXyxtW1CF5dOwo9VA2hVcw86IESNk0qRJjTYPlgYpnWPr9ddfl23btsmvf/1rycvL8/bOmjx5snl9D71fe2PddtttJuRozy1toNzU1WcAADSFjzaVVmGN7JsooSG26UPk9xp0JLXk5NVXX5Wvv/5aDh48KOecc45pFKw9nU6Htrl54oknZObMmTJgwAAzx5aO2OxptLx//345fLj0i6C0cfGiRYtk9erV0r9/f/nd735ngk9V3dQBALCzEq3C2lLalIMqrMYVZNU02VU9BgPUgKFteLQ31E9/+lPxF9r1XHtlaWPlmJgYX+8OACCA58K65qWvJa5FuKy698eU7DTi+btRysi0RGb79u1yww03yJQpU8yoxgAAoO4WllVhjeqbQNCx0wjK2uNJQ87mzZu9S1RUlHz66aeNt4cAAARCFdZmz8SfHXy9O45T77Dz0EMPeYPN7t27paSkxBQj6ejF2m5m7Nix5hIAANTNqn1H5UhekbSODpNhZ7XlsPk67Lz77rvSr18/0zNKLzXYnHnmmY29XwAABFwvrFF9EiWMXli+DztaogMAABqHy21J6ubSXlhj+1OF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7DShiIgImTVrlrl0Iqe/v0B4j7w//8dn6N+c/vnZ5T0GfANlAADgbJTsAAAARyPsAAAARyPsAAAARyPsAAAARyPsNJFHH31Uhg8fLtHR0dK6desqt9m/f7+MGzfObNO+fXv5v//7PykpKRF/tHbtWrnsssvMe23btq386le/khMnToiT7Ny5U37yk59IfHy8GRjrwgsvlGXLlokTfPbZZ2YE8aqW1atXi1MsXLhQhg4dKlFRUdKmTRuZMGGCOEnXrl1P+fz+8Ic/iNMUFhbKgAEDzPtbv369OMkVV1whZ555pkRGRkqHDh3kuuuuM6P8O8G+ffvkhhtukG7dupm/wbPOOsv00ioqKmry1ybsNBH98H7xi1/Ir3/96yrvd7lcJujoditWrJDXX39dXnvtNZk5c6b4G/1DTElJkR49esjXX38tqampsmXLFrn++uvFSS6//HITRj/99FNZs2aNJCcnm3VpaWni7zSYHz58uMJy4403mv+UBg8eLE7w73//25w4pk6dKhs2bJCvvvpKrr76anGa2bNnV/gcb731VnGau+66y0wR4EQjRoyQd955R3bs2GG+s7t375Yrr7xSnGD79u1miqa//vWv5hzx9NNPy/z58+Xee+9t+he30KReffVVKzY29pT1H330kRUcHGylpaV51/3lL3+xYmJirMLCQr/6VP76179a7du3t1wul3fdxo0bdRpa69tvv7WcIDMz07yfL774wrsuJyfHrFu8eLHlNEVFRVa7du2s2bNnW05QXFxsderUyXrppZcsJ+vSpYv19NNPW06m/3f26tXL2rJli/n7W7duneVk77//vhUUFGT+Jp3oscces7p169bkr0PJjo+sXLlS+vXrJwkJCd51o0aNMhOmaeL1tyLl8PDwChOxaRGl+vLLL8UJtGrunHPOkb/97W+Sl5dnSnj014lWPw4aNEic5oMPPpAjR46YUhAn0GrWQ4cOme/owIEDTfXAmDFjZPPmzeI0Wm2l31d9n48//rjfVo1XJT09XaZNmyZ///vfTfW/0x09elTeeOMNU/IaFhYmTpSdnS1xcXFN/jqEHR/Rqo/yQUd5bvtbtcill15q9ln/Y9VquWPHjsk999xj7tNidCfQtgFLliyRdevWSatWrUx9+lNPPWWq7LTth9O8/PLLJnw39SS5zWXPnj3m8sEHH5T7779fFixYYD63H/3oR+aE4hS/+93v5K233jJtyW666SaZM2eOqfJxAp3hWqvGb775ZsdUrVbn7rvvlhYtWpjQqm0733//fXGiXbt2yXPPPWe+q02NsFMPegKvrhGnZ9E6yUB7v3379jVtjp588knzaysxMdG09dDwVr60x5/fo/5He8stt5iSnOXLl8uqVatM49bx48fbOtA15Dt78OBBWbRokWlIaHd1fX/aTkDdd9998vOf/9yUxr366qvm/nfffVfsrD6f4fTp002A69+/vwkF+jepJxMtffX396fvIzc3V2bMmCH+pr5/h9pZRX9YffLJJxISEiKTJ082/wc56f+ZQ4cOyejRo03bVi2ta2pMF1EPmZmZpmi/Jt27dzdVOh7a6Pj222+X48ePV9hOGyJrVUH5ngR79+41j9cidy2C9sf3q8XM+otEv9zaY0l/ZeqX2a7q+h414IwcOdKUWun78ujZs6cJBZ6SLLtpyGf48MMPmxOL/mdk96Lzur4/bYysJZD6OWovOg/tmaWN67X3pF015DP00CrxpKQkc6LRalh/fn9XXXWVfPjhh+b/lvIdPTQMXHPNNeYHlxM/Q/3x0blzZ9ORZdiwYeKE9/f999+bUH7++eebc2Rz/CgObfJXcJB27dqZpTHol1b/g83IyDClBWrx4sXmRNqnTx/x1/frqYp75ZVXTFWPdke3s7q+x/z8fHNZ+Y9Sb3tKDeyovp+h/nrUEg/9JWn3oFOf96clOToJofZw8YSd4uJi0xW2S5cu4tT/d/THlH5HPf/H+PP7e/bZZ+WRRx7x3tYTpla1vv322ya0OvUz9Pz/YufSuXb1eH/6I0p7nHlKV5ur9J+w00S0nlXbAuil/vrwlOBo9+yWLVuaUgINNdoV9rHHHjNtXrQtgVaV+OPst88//7xpRKfvTUObFsNqQ8nqxhjyNxpOtY3HlClTTKmcNsB+8cUXTWmcDiHgFNqtXt+Tdjt3Ev0RodU6OqaH/krWgKNtzJSdSx7r2+lBh37QE4m2K9Pbd9xxh1x77bWOaFemY8+Up//XKB2rxSlty/Tz03GtNJDrZ6bdzh944AHzHu1aqlMfGnS0REf//p544glTIuShzR+aVJP39wpQU6ZMMd0iKy/Lli3zbrNv3z5rzJgxVlRUlBUfH2/9/ve/N11k/dF1111nxcXFWeHh4Vb//v2tv/3tb5bTrF692ho5cqR5n61atbLOP/980w3WSSZNmmQNHz7cciLtuqt/YzpMgn5+KSkp1ubNmy2nWLNmjTV06FAz1EVkZKTVu3dva86cOVZBQYHlRHv37nVc13MdsmPEiBHm/5iIiAira9eu1s0332wdPHjQcspQLFLFebE5oghtdgAAgKPZu6sMAADAaSLsAAAARyPsAAAARyPsAAAARyPsAAAARyPsAAAARyPsAAAARyPsALA1HXFV55cDgIYi7ABAmXnz5knXrl3NvG4635LObg/A/xF2AEDETCg5ffp0M3/W2rVrJTk52Uw0qZP1AvBvhB0AfkNLXebMmSO//OUvzWSXOjnkCy+84L3/wQcflKCgoFOW1157rdbnfuqpp2TatGkydepUM0nv/PnzJTo6Wl555ZUmflcAmhphB4BfefLJJ2Xw4MGybt06+c1vfiO//vWvZceOHea+O++8Uw4fPuxddGZlDSy6fU2KiopkzZo1kpKS4l0XHBxsbuvs4QD8G2EHgF8ZO3asCTk9evSQu+++W+Lj42XZsmXmvpYtW0piYqJZ9u3bJ/fff7+8+uqrkpSUVONzZmVlicvlkoSEhArr9XZaWlqTvh8ATY+wA8Cv9O/f33tdq6g02FRuV7N//36ZMGGCKem56qqrfLCXAOyEsAPAr4SFhVW4rYHH7XZ7b+fl5ckVV1whw4YNk9mzZ9fpObV0KCQkRNLT0yus19sapgD4N8IOAMewLEuuvfZaE37+/ve/myBUF+Hh4TJo0CBZunSpd50+h97W0ATAv4X6egcAoLFob6wlS5bIJ598IidOnDCLio2NlaioqBofq93Op0yZYhozDxkyRJ555hlTSqS9swD4N8IOAMf4/PPPTcAZPnx4hfXaSPn666+v8bETJ06UzMxMmTlzpmmUPGDAAElNTT2l0TIA/xNkabkvAACAQ9FmBwAAOBphB4DjaVd0HYOnukXvB+BcVGMBcLySkhIzyGBN01CEhtKEEXAqwg4AAHA0qrEAAICjEXYAAICjEXYAAICjEXYAAICjEXYAAICjEXYAAICjEXYAAICjEXYAAIA42f8HdnxjBNsvj/IAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(\n", " c.xge\n", " .table([\"mask_stable\", \"pressure\"], default_keys=None)\n", " .assign(pressure_stable=lambda x: x[\"pressure\"].where(x[\"mask_stable\"]))\n", " .pressure_stable.max(\"phase\")\n", " .plot()\n", ")" ] }, { "cell_type": "markdown", "id": "88", "metadata": {}, "source": [ "There are two clear phases here. It would be beneficial to label the liquid and vapor phases differently.\n", "So we define the callback tag_phases" ] }, { "cell_type": "code", "execution_count": 52, "id": "89", "metadata": {}, "outputs": [], "source": [ "def tag_phases(list_of_phases):\n", " \"\"\"\n", " Simple tag_phases callback\n", "\n", " This looks at the local maximum of each lnPiMasked object.\n", "\n", " If location of maximum < len(data)/2 -> phase = 0\n", " else -> phase = 1\n", "\n", " \"\"\"\n", " if len(list_of_phases) > 2:\n", " msg = \"bad tag function\"\n", " raise ValueError(msg)\n", " argmax0 = np.array([xx.local_argmax()[0] for xx in list_of_phases])\n", " return np.where(argmax0 <= list_of_phases[0].shape[0] / 2, 0, 1)" ] }, { "cell_type": "code", "execution_count": 53, "id": "90", "metadata": {}, "outputs": [], "source": [ "phase_creator = lnpy.PhaseCreator(\n", " nmax=2, nmax_peak=4, ref=ref, merge_kws={\"efac\": 0.8}, tag_phases=tag_phases\n", ")" ] }, { "cell_type": "code", "execution_count": 54, "id": "91", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ]" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkYAAAHHCAYAAABa2ZeMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATGdJREFUeJzt3Qd4VGXaxvE7PaGFXqUoAoIQQhc7LoqChVVXFguIFfvK7qdgwS67a8PCLlZ0XRV0XdS1YEGxoiBVEFAEpEhvgQCp813PO5mQhDRCkpk58/9d12FmzpyZvHNmwtx5a5TP5/MJAAAAiuYcAAAA+BGMAAAA8hCMAAAA8hCMAAAA8hCMAAAA8hCMAAAA8hCMAAAA8hCMAAAA8hCMAAAA8hCMgBLcfffdioqK0pYtWzhHKNOLL77oPi+rVq3ibAFhjGAEVKNXX31V48ePD+lzvmzZMt1888069thjlZiYeNBf9s8++6xOOukkNWnSRAkJCTr88MM1YsSIA54jECRK2l555ZX8Y//73/9qyJAhOuKII1SjRg116NBBf/7zn7Vjx45Kfe04dDNmzCjxPf32228LHfvRRx/p8ssvV+fOnRUTE6M2bdoU+5xLly7VLbfcotTUVNWuXVvNmjXToEGD9P3335e7XBkZGbr11lvVvHlzJSUlqU+fPvr4448P+fXCe2KDXQAg0oLRokWL9Kc//UmhaubMmXriiSfUqVMndezYUfPnzz+ox8+bN8+FobPPPlv16tXTypUrXVh69913tWDBAvfFZE488US9/PLLBzz+sccec8f97ne/y9931VVXucddfPHFatWqlX744Qc99dRTev/99zV37lz3RYfQcuONN6pXr16F9h155JEH/D5MmTJF3bt3z/9cFOe5557T888/r/POO0/XXnutdu7cqaefflrHHHOMpk2bpv79+5dZnksvvVT/+c9/3O9eu3btXDAfOHCgPvvsMx1//PGH8ErhObaILIAD3XXXXbbAsm/z5s2VdnoGDRrka926dUif7q1bt/rS0tLc9Yceesidg5UrVx7Sc37//ffuecaNG1fqcXv27PHVrl3bd+qppxba/9lnnx1w7EsvveSe89lnn/WFgkmTJlXKuQp39l7ZeXjjjTfKPHbdunW+zMzMMn837POza9euQvu2bNnia9Soke+4444r8+d89913rkz2eQ7Yu3evr23btr6+ffuW41UhktCUBpTB+hhdcMEFqlOnjho0aKCbbrpJ+/btO+C4f//73+rRo4ervahfv77++Mc/as2aNfn3n3zyyXrvvff066+/5jctBJoOMjMzNXbsWPf45ORk1axZUyeccIL7a7a6WdmtuaIyBV5nWU1f//vf/7Rr1y5ddNFFhfbbuSvq97//vbtcsmTJQZfHag7s/H/++ecH3Gc1EXaf1ewFfPrpp+79sPelbt26Ouecc8r1c+15rK9acefDajCKNit+9dVXrqalUaNG7udcffXV7rNh523YsGGuBs42a1by+ey7fr/c3FzXTHv00Ue7JlBryrTHb9++XcFi72V2dnaJ91stUVxcXJnPY78XtWrVKrTPfhftPSnP+2DvtzXVWc1jgJ0ja8azGtKCv6cATWlAGSwU2RfZuHHjXB8Ja2ayL5t//etf+cc88MADuvPOO92xV1xxhTZv3qwnn3zSNRdZ05J9yd1+++2uCWDt2rWuucgE/rNPS0tzzQVDhw7VlVde6b5QrOlgwIABmjVrlutbUZrdu3cXG9aKsi8hC17VYevWrcrJydHq1at17733un0Fm8eKY/2KLFiee+65ZT7/hg0b3GXDhg0PumzWP8XO/euvv+76QxVkTTsWLqzfi/nkk090xhlnuP5NFnL27t3r3tvjjjvONeOV1C+mIm644QY1bdpU99xzj/usPfPMM+6z880337gmxAcffNA1Hz700EOufBaWAiwEWcCy/lwWrqwJ05ob7fP39ddflxpArP+NfebKo7zn28phn0sLJBZgrMw9e/ZUZbLPQHnKY+egffv27o+bgnr37u0urbm4ZcuWlVo2hLFgV1kBod6UdvbZZxfaf+2117r9CxYscLdXrVrli4mJ8T3wwAOFjvvhhx98sbGxhfaX1FyQnZ3ty8jIKLRv+/btviZNmvguu+yyMss6fPhwV6aytpNOOumgzsGhNKUlJCTk/9wGDRr4nnjiiTKb8OLj430XXHBBuZ7/8ssvd+f9p59+8lXE0KFDfY0bN3bnPmD9+vW+6Oho37333pu/LzU11R1n5Quw996OGzZsWKlNaXbbPkdF2WfA3rOijx0wYIAvNzc3f78180RFRflGjhyZv8/Ke9hhhxV6L7/88kv3+FdeeaXQz5k2bVqx+4sK/PzybGX5+uuvfeedd57v+eef9739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t9d4/TXy+sIf72H44z0Mb6Hw/oVt52sAAIDKRo0RAABAHoIRAABAHoIRAABAHoIRAABAHoJRCHjggQd07LHHqkaNGqpbt26xx6xevdotfGvHNG7cWP/3f//n1ocLVzbh5qmnnupeb4MGDXTVVVdp9+7d8oqffvpJ55xzjho2bOgmKTv++OP12WefyStmzJhR4kLPs2fPlle89957bpmhpKQk1atXT4MHD5ZX2FxvRd+7v/71r/KijIwMpaamutc4f/58ecXZZ5/t1u605a2aNWumSy65xK3M4BWrVq3S5ZdfrsMPP9z9DrZt29aNWMvMzKzSn0swCgH2Jv/hD3/QNddcU+z9OTk5LhTZcd98841eeuklvfjiixo7dqzCkf3i9u/f381AbrORT5s2TYsXLy5zAeFwcuaZZ7rgamv42Zp+Xbt2dfs2bNggL7Agv379+kLbFVdc4f4Ds6V5vODNN990XzS23NCCBQv09ddf68ILL5SX3HvvvYXewxtuuEFedMstt7hlILymX79+ev31190qD/Z5/eWXX3T++efLK5YuXeqW4Xr66afdd8Rjjz3mlgG77bbbqvYH23B9hIZJkyb5kpOTD9j//vvv+6Kjo30bNmzI3/fPf/7TV6dOHV9GRoYv3Dz99NO+xo0b+3JycvL3LVy40KaN8P3888++cLd582b3Wr744ov8fWlpaW7fxx9/7POizMxMX6NGjXz33nuvzwuysrJ8LVq08D333HM+r2rdurXvscce83md/f951FFH+RYvXux+B+fNm+fzqrffftsXFRXlfh+96u9//7vv8MMPr9KfQY1RGJg5c6a6dOmiJk2a5O8bMGCAW2zPUnQ4VmvHx8cXWsTPqknNV199pXBnTYMdOnRwCxinp6e7miP7i8eaQHv06CEveuedd7R161ZXu+IF1tRrC1HbZ7Rbt26umcIWrl60aJG8xJrO7PNqr/Ghhx4K6+b54thC41deeaVefvll1w3By7Zt2+bWELXa3Li4OHnVzp073ZJgVYlgFAas+aVgKDKB2+HYNHPKKae4ctt/xNY8uH37do0ePdrdZ9X54c76MXzyySeaN2+eateu7dr/H330UddkaP1UvOj55593Yb0qF1iuTitWrHCXd999t+644w69++677r2zNRftC8gLbrzxRk2ePNn1fbv66qv14IMPuiYnr7C5i615fuTIkZ5p3i3Orbfeqpo1a7qAa31R3377bXnV8uXL9eSTT7rPa1UiGFUR+6IvqXNqYLP200h8zUcffbTrJ/XII4+4v+KaNm3q+qZY2CtYixSur8/+Q77uuutcDdGXX36pWbNmuU67Z511VsgHv4p8bteuXasPP/zQdZIMdeV9fdavwdx+++0677zzXE3fpEmT3P1vvPGGvPD+jRo1ygW9lJQUFx7s99G+dKxGN5SV9zXaa9m1a5fGjBmjcHKwv4M2EMf+CPvoo48UExOjYcOGhfyC6aMr8P+M1eCefvrprj+u1QJWJZYEqSKbN292TQulOeKII1yTUoB1qP7Tn/6kHTt2FDrOOllbU0XB0RQrV650j7cqf6sGD9fXbFXd9teO/SLY6C37C9Y++KGovK/PwtBpp53masLsNQW0a9fOhYdA7Vgoqsh7eN9997kvIfuPK9Sr8Mv7+qyjtdVs2ntpIwoDbISaDRywkaReef8CrFm+c+fO7gvJmoJDVXlf4wUXXKD//e9/7v+WggNZLDxcdNFF7o8zr72H9kdKy5Yt3SCdvn37KlRtPsjXaAN2LMQfc8wx7nuyqv+Ajq3SZ49gjRo1cltlsA+4/Ue8adMmVwthPv74Y/el26lTJ4Xzaw40Cb7wwguuycmG8Ieq8r6+PXv2uMuiv7x2O1ATEaoO9j20v0ytJsX+Sg31UHQwr89qiGwRSxvtEwhGWVlZbvhw69at5cX/d+wPL/uMBv6PCffX+MQTT+j+++/Pv21frtbcO2XKFBdwvfgeBv5/CfVav0YH8RrtDy4bfReota2OVgWCUQiwdmHrt2CX9hdNoGbIhrPXqlXL1T5YALKhw3//+99d/xzr92DNNeG6Uv1TTz3lOgna67OQZ9XB1hG0pHmcwokFWeuPMnz4cFfbZx3Ln332WVfLZ9MueIlNR2Cvy4bqe4n90WHNSzZniv0FbmHI+sSZUK3RPNgBHTZVhn3hWD84u33zzTfr4osv9kw/OJvfpyD7v8bYXDhe6Atn75/NGWbB3d4zG6p/5513utcXyrVFB8NCkdUU2e/fww8/7GqaAqwLRpWp0jFvKJfhw4e7YaRFt88++yz/mFWrVvnOOOMMX1JSkq9hw4a+P//5z25Icbi65JJLfPXr1/fFx8f7UlJSfP/61798XjJ79mzfaaed5l5j7dq1fcccc4wbNuw1Q4cO9R177LE+L7Ihz/Z7ZlNL2HvYv39/36JFi3xeMGfOHF+fPn3c9CCJiYm+jh07+h588EHfvn37fF61cuVKTw3XtylO+vXr5/6PSUhI8LVp08Y3cuRI39q1a31emsJGxXw3VnV0oY8RAABAntAdAgQAAFDNCEYAAAB5CEYAAAB5CEYAAAB5CEYAAAB5CEYAAAB5CEYAAAB5CEYAPMNmybX1BgGgoghGAFABEyZMUJs2bdwaf7b21qxZsziPgAcQjADgINlCpKNGjXJrqc2dO1ddu3Z1C5TaQs8AwhvBCIAnWW3Ogw8+qMsuu8wtlGqLij7zzDP59999992Kioo6YHvxxRfLfO5HH31UV155pUaMGOEWeJ44caJq1KihF154oYpfFYCqRjAC4FmPPPKIevbsqXnz5unaa6/VNddco2XLlrn7/vKXv2j9+vX5m63ebeHGji9NZmam5syZo/79++fvi46OdrdtlXoA4Y1gBMCzBg4c6ALRkUceqVtvvVUNGzbUZ5995u6rVauWmjZt6rZVq1bpjjvu0KRJk9S5c+dSn3PLli3KyclRkyZNCu232xs2bKjS1wOg6hGMAHhWSkpK/nVrJrMQVLQf0OrVqzV48GBXg3TBBRcEoZQAQgnBCIBnxcXFFbpt4Sg3Nzf/dnp6us4++2z17dtX9957b7me02qdYmJitHHjxkL77bYFLwDhjWAEICL5fD5dfPHFLii9/PLLLjSVR3x8vHr06KHp06fn77PnsNsWsACEt9hgFwAAgsFGpX3yySf66KOPtHv3breZ5ORkJSUllfpYG6o/fPhw11G7d+/eGj9+vKt9slFqAMIbwQhARPr8889dGDr22GML7bcO2Jdeemmpjx0yZIg2b96ssWPHug7XqampmjZt2gEdsgGEnyif1ScDAACAPkYAAAABdL4GgCLD922Oo5I2ux+Ad9GUBgAFZGdnuwkfS1tqJDaW7pmAVxGMAAAA8tCUBgAAkIdgBAAAkIdgBAAAkIdgBAAAkIdgBAAAkIdgBAAAkIdgBAAAkIdgBAAAIL//BzVU2aVzIgHSAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c = lnpy.lnPiCollection.from_builder(\n", " np.linspace(-10, -2, 50), build_phases=phase_creator.build_phases\n", ")\n", "\n", "c.xge.pressure().plot(hue=\"phase\")" ] }, { "cell_type": "markdown", "id": "92", "metadata": {}, "source": [ "# Calculation Binodal and spinodal\n", "\n", "The binodal and spinodal can be found using the {mod}`lnpy.stability` module. This module adds accessors to {class}`~lnpy.lnpiseries.lnPiCollection` class. A collection is needed to provide a decent guess for the location of the binodal and spinodal.\n" ] }, { "cell_type": "code", "execution_count": 55, "id": "93", "metadata": {}, "outputs": [], "source": [ "# must import stability to add the accessors to lnPiCollection\n", "import lnpy.stability" ] }, { "cell_type": "code", "execution_count": 56, "id": "94", "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import xarray as xr\n", "\n", "import lnpy\n", "import lnpy.examples\n", "\n", "# Subcritical LJ data\n", "ref = lnpy.examples.load_example_lnpimasked(\"lj_sub\")\n", "\n", "phase_creator = lnpy.PhaseCreator(\n", " nmax=2, nmax_peak=4, ref=ref, merge_kws={\"efac\": 0.8}, tag_phases=tag_phases\n", ")\n", "\n", "# Here we need a scalar builder object.\n", "build_phases = phase_creator.build_phases_mu([None])" ] }, { "cell_type": "code", "execution_count": 57, "id": "95", "metadata": {}, "outputs": [], "source": [ "# initial guess\n", "c = lnpy.lnPiCollection.from_builder(\n", " np.linspace(-10, -2, 10), build_phases=phase_creator.build_phases_mu([None])\n", ")" ] }, { "cell_type": "markdown", "id": "96", "metadata": {}, "source": [ "The spinodal is calculates as the location where $\\Delta w$ equals some value. Lets say we want to define the spinodal\n", "as the location where $\\Delta w = 1.0$. We do the following:" ] }, { "cell_type": "code", "execution_count": 58, "id": "97", "metadata": {}, "outputs": [], "source": [ "_ = c.spinodal(\n", " phase_ids=2, # the id's of the phases we're considering\n", " build_phases=phase_creator.build_phases_mu([None]),\n", " # this is the efac parameter for\n", " build_kws={\"efac\": 0.5},\n", " inplace=True,\n", " as_dict=False,\n", " efac=1.0,\n", ")" ] }, { "cell_type": "code", "execution_count": 59, "id": "98", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "spinodal lnz_0 phase\n", "0 -3.494734 0 [-3.494734034735128]\n", " 1 [-3.494734034735128]\n", "1 -4.379828 0 [-4.379828176267564]\n", " 1 [-4.379828176267564]\n", "dtype: object" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# to access the data as a collection, use the `access` attribute\n", "c.spinodal.access" ] }, { "cell_type": "code", "execution_count": 60, "id": "99", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "spinodal lnz_0 phase phase_nebr\n", "0 -3.494734 0 0 inf\n", " 1 1.000000\n", " 1 0 168.038523\n", " 1 inf\n", "1 -4.379828 0 0 inf\n", " 1 142.179651\n", " 1 0 1.000000\n", " 1 inf\n", "Name: delta_w, dtype: float64" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# energetics\n", "# spinodal 0 is the limit of stability for phase 0 -> phase 1\n", "# spinodal 1 is the limit of stability for phase 1 -> phase 0\n", "c.spinodal.access.wfe.dw" ] }, { "cell_type": "markdown", "id": "100", "metadata": {}, "source": [ "Now that we have the spinodal, we can calculation the binodal" ] }, { "cell_type": "code", "execution_count": 61, "id": "101", "metadata": {}, "outputs": [], "source": [ "bino = c.binodal(\n", " phase_ids=[0, 1],\n", " build_phases=phase_creator.build_phases_mu([None]),\n", " build_kws={\"efac\": 0.5},\n", " inplace=True,\n", ")" ] }, { "cell_type": "code", "execution_count": 62, "id": "102", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "binodal lnz_0 phase\n", "0 -3.966438 0 [-3.966438059499727]\n", " 1 [-3.966438059499727]\n", "dtype: object" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# access as collection with the `access` attribute\n", "c.binodal.access" ] }, { "cell_type": "code", "execution_count": 63, "id": "103", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'pressure' (binodal: 1, lnz_0: 1, phase: 2)> Size: 16B\n",
       "array([[[0.01594237, 0.01594237]]])\n",
       "Coordinates:\n",
       "  * binodal  (binodal) int64 8B 0\n",
       "  * lnz_0    (lnz_0) float64 8B -3.966\n",
       "  * phase    (phase) int64 16B 0 1\n",
       "    beta     float64 8B 1.372\n",
       "    volume   float64 8B 512.0\n",
       "Attributes:\n",
       "    dims_n:         ['n_0']\n",
       "    dims_lnz:       ['lnz_0']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'beta', 'volume']\n",
       "    dims_rec:       ['sample']\n",
       "    standard_name:  grand_potential\n",
       "    long_name:      $p(\\mu,V,T)$
" ], "text/plain": [ " Size: 16B\n", "array([[[0.01594237, 0.01594237]]])\n", "Coordinates:\n", " * binodal (binodal) int64 8B 0\n", " * lnz_0 (lnz_0) float64 8B -3.966\n", " * phase (phase) int64 16B 0 1\n", " beta float64 8B 1.372\n", " volume float64 8B 512.0\n", "Attributes:\n", " dims_n: ['n_0']\n", " dims_lnz: ['lnz_0']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'beta', 'volume']\n", " dims_rec: ['sample']\n", " standard_name: grand_potential\n", " long_name: $p(\\mu,V,T)$" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# at the binodal, the two phases should have equal pressure\n", "c.binodal.access.xge.pressure()" ] }, { "cell_type": "markdown", "id": "104", "metadata": {}, "source": [ "To append spinodal/binodal to the dataset, use the following:" ] }, { "cell_type": "code", "execution_count": 64, "id": "105", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "-10.000000 0 [-10.0]\n", "-9.111111 0 [-9.11111111111111]\n", "-8.222222 0 [-8.222222222222221]\n", "-7.333333 0 [-7.333333333333334]\n", "-6.444444 0 [-6.444444444444445]\n", "-5.555556 0 [-5.555555555555555]\n", "-4.666667 0 [-4.666666666666667]\n", "-3.777778 0 [-3.7777777777777786]\n", " 1 [-3.7777777777777786]\n", "-2.888889 1 [-2.8888888888888893]\n", "-2.000000 1 [-2.0]\n", "-3.494734 0 [-3.494734034735128]\n", " 1 [-3.494734034735128]\n", "-4.379828 0 [-4.379828176267564]\n", " 1 [-4.379828176267564]\n", "-3.966438 0 [-3.966438059499727]\n", " 1 [-3.966438059499727]\n", "dtype: object" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c_total = c.append(c.spinodal.appender).append(c.binodal.appender)\n", "c_total" ] }, { "cell_type": "markdown", "id": "106", "metadata": {}, "source": [ "and if you'd like to sort the index:" ] }, { "cell_type": "code", "execution_count": 65, "id": "107", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 phase\n", "-10.000000 0 [-10.0]\n", "-9.111111 0 [-9.11111111111111]\n", "-8.222222 0 [-8.222222222222221]\n", "-7.333333 0 [-7.333333333333334]\n", "-6.444444 0 [-6.444444444444445]\n", "-5.555556 0 [-5.555555555555555]\n", "-4.666667 0 [-4.666666666666667]\n", "-4.379828 0 [-4.379828176267564]\n", " 1 [-4.379828176267564]\n", "-3.966438 0 [-3.966438059499727]\n", " 1 [-3.966438059499727]\n", "-3.777778 0 [-3.7777777777777786]\n", " 1 [-3.7777777777777786]\n", "-3.494734 0 [-3.494734034735128]\n", " 1 [-3.494734034735128]\n", "-2.888889 1 [-2.8888888888888893]\n", "-2.000000 1 [-2.0]\n", "dtype: object" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c_total.sort_index()" ] }, { "cell_type": "markdown", "id": "108", "metadata": {}, "source": [ "# Multi component systems\n", "\n", "lnPi is designed to work with single and multicomponent systems. Let's take a look at a system without phase transitions to start. " ] }, { "cell_type": "code", "execution_count": 66, "id": "109", "metadata": {}, "outputs": [], "source": [ "import lnpy.examples" ] }, { "cell_type": "code", "execution_count": 67, "id": "110", "metadata": {}, "outputs": [], "source": [ "data = lnpy.examples.load_example_dict(\"ljmix_sup\")" ] }, { "cell_type": "code", "execution_count": 68, "id": "111", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "f, a = plt.subplots(figsize=(4, 4))\n", "a.imshow(data[\"lnPi_data\"])" ] }, { "cell_type": "markdown", "id": "112", "metadata": {}, "source": [ "We have finite data along the upper corner of the matrix 'lnPi_data'. Therefore, the base `lnPiMasked` object, without splitting into phases, also will have a mask. This is why everything was build up from the `numpy.ma.MaskedArray` class. " ] }, { "cell_type": "code", "execution_count": 69, "id": "113", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'lnPi_data': array([[-759.26449941, -756.19423037, -753.77081946, ..., -424.28411489,\n", " -425.66274776, -426.93571412],\n", " [-755.52637941, -752.42375982, -749.96557613, ..., -418.59148639,\n", " -419.73805248, nan],\n", " [-752.45715941, -749.31971691, -746.82151608, ..., -413.26963103,\n", " -414.54424182, nan],\n", " ...,\n", " [-104.40479985, -102.4117824 , nan, ..., nan,\n", " nan, nan],\n", " [-105.98668385, nan, nan, ..., nan,\n", " nan, nan],\n", " [-107.62349885, nan, nan, ..., nan,\n", " nan, nan]]),\n", " 'lnPi_mask': array([[False, False, False, ..., False, False, False],\n", " [False, False, False, ..., False, False, True],\n", " [False, False, False, ..., False, False, True],\n", " ...,\n", " [False, False, True, ..., True, True, True],\n", " [False, True, True, ..., True, True, True],\n", " [False, True, True, ..., True, True, True]]),\n", " 'state_kws': {'temp': 0.8, 'beta': 1.25, 'volume': 512},\n", " 'extra_kws': {},\n", " 'lnz': array([-2.5, -2.5])}" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data" ] }, { "cell_type": "code", "execution_count": 70, "id": "114", "metadata": {}, "outputs": [], "source": [ "ref = lnpy.lnPiMasked.from_data(\n", " lnz=data[\"lnz\"],\n", " lnz_data=data[\"lnz\"],\n", " data=data[\"lnPi_data\"],\n", " mask=data[\"lnPi_mask\"],\n", " state_kws=data[\"state_kws\"],\n", " extra_kws=data[\"extra_kws\"],\n", ")" ] }, { "cell_type": "markdown", "id": "115", "metadata": {}, "source": [ "Note that we could have also done:" ] }, { "cell_type": "code", "execution_count": 71, "id": "116", "metadata": {}, "outputs": [], "source": [ "ref = lnpy.lnPiMasked.from_data(\n", " lnz=data[\"lnz\"],\n", " lnz_data=data[\"lnz\"],\n", " data=data[\"lnPi_data\"],\n", " mask=np.isnan(data[\"lnPi_data\"]),\n", " state_kws=data[\"state_kws\"],\n", " extra_kws=data[\"extra_kws\"],\n", ")" ] }, { "cell_type": "markdown", "id": "117", "metadata": {}, "source": [ "## Considering lines of constant $\\ln z$ or constant $\\Delta \\ln z$." ] }, { "cell_type": "markdown", "id": "118", "metadata": {}, "source": [ "Considering a multicomponent system will hopefully help explain why some design choices were made for `lnpy`.\n", "\n", "It is common to want to consider a multicomponent system along lines of constant 'something'. For example, we might want to consider a spectrum of values of $\\ln z_0$ while holding $\\ln z_1$ constant. This can be accomplished using some built in {class}`~lnpy.segment.PhaseCreator` constructors. \n", "\n", "First, note that if you know that a particular system will not have a phase transition, specify `nmax=1`. This will make the system skip the `lnPi` segmentation, which is the slowest process in analyzing $\\ln \\Pi(N)$. " ] }, { "cell_type": "code", "execution_count": 72, "id": "119", "metadata": {}, "outputs": [], "source": [ "phase_creator = lnpy.PhaseCreator(nmax=1, ref=ref)" ] }, { "cell_type": "markdown", "id": "120", "metadata": {}, "source": [ "If you just call the `phase_creator.build_phases` constructor, we have to specify the total (vector) value of $\\ln z$." ] }, { "cell_type": "code", "execution_count": 73, "id": "121", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 lnz_1 phase\n", "0.0 0.0 0 [0.0, 0.0]\n", "dtype: object" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phase_creator.build_phases(lnz=[0.0, 0.0])" ] }, { "cell_type": "markdown", "id": "122", "metadata": {}, "source": [ "This is fine. But things like {class}`~lnpy.lnpiseries.lnPiCollection`, {class}`~lnpy.stability.Spinodals`, and {class}`~lnpy.stability.Binodals` are setup to work with scalar values of $\\ln z$. So, we have the following constructors:" ] }, { "cell_type": "code", "execution_count": 74, "id": "123", "metadata": {}, "outputs": [], "source": [ "build_phases = phase_creator.build_phases_mu([None, -1.0])" ] }, { "cell_type": "code", "execution_count": 75, "id": "124", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 lnz_1 phase\n", "0.0 -1.0 0 [0.0, -1.0]\n", "dtype: object" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "build_phases(0.0)" ] }, { "cell_type": "markdown", "id": "125", "metadata": {}, "source": [ "{meth}`~lnpy.segment.PhaseCreator.build_phases_mu` returns a constructor at fixed values of $\\ln z$ for all but one component. The component given a value of None (the first component in the example above) is the one we can vary. Then calling this constructor will make a new collection with the requested value of $\\ln z$ for the variable component and the fixed values of $\\ln z$ for other components as defined in the constructor. \n", "\n", "We can use this to define a collection easily" ] }, { "cell_type": "code", "execution_count": 76, "id": "126", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 lnz_1 phase\n", "-3.0 -1.0 0 [-3.0, -1.0]\n", "-1.5 -1.0 0 [-1.5, -1.0]\n", " 0.0 -1.0 0 [0.0, -1.0]\n", " 1.5 -1.0 0 [1.5, -1.0]\n", " 3.0 -1.0 0 [3.0, -1.0]\n", "dtype: object" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c = lnpy.lnPiCollection.from_builder(np.linspace(-3, 3, 5), build_phases)\n", "\n", "c" ] }, { "cell_type": "code", "execution_count": 77, "id": "127", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 lnz_1 phase\n", "0.5 -3.0 0 [0.5, -3.0]\n", " -1.5 0 [0.5, -1.5]\n", " 0.0 0 [0.5, 0.0]\n", " 1.5 0 [0.5, 1.5]\n", " 3.0 0 [0.5, 3.0]\n", "dtype: object" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# At a different fixed value. This time at fixed lnz_0\n", "build_phases = phase_creator.build_phases_mu([0.5, None])\n", "c = lnpy.lnPiCollection.from_builder(\n", " lnzs=np.linspace(-3, 3, 5), build_phases=build_phases\n", ")\n", "c" ] }, { "cell_type": "markdown", "id": "128", "metadata": {}, "source": [ "Similarly, we can create `lnPi`s at fixed value of $\\Delta \\ln z$, where $\\Delta \\ln z_k = \\ln z_k - \\ln z_f$ where $f$ is the index of the variable component using the {meth}`~lnpy.segment.PhaseCreator.build_phases_dmu` method:" ] }, { "cell_type": "code", "execution_count": 78, "id": "129", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 lnz_1 phase\n", "-3.0 -2.0 0 [-3.0, -2.0]\n", "-1.5 -0.5 0 [-1.5, -0.5]\n", " 0.0 1.0 0 [0.0, 1.0]\n", " 1.5 2.5 0 [1.5, 2.5]\n", " 3.0 4.0 0 [3.0, 4.0]\n", "dtype: object" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# fixed value of dlnz_1 = lnz_1 - lnz_0 = 1.0\n", "build_phases = phase_creator.build_phases_dmu([None, 1.0])\n", "c = lnpy.lnPiCollection.from_builder(\n", " lnzs=np.linspace(-3, 3, 5), build_phases=build_phases\n", ")\n", "c" ] }, { "cell_type": "code", "execution_count": 79, "id": "130", "metadata": {}, "outputs": [], "source": [ "lnz_0 = c.get_index_level(\"lnz_0\")\n", "lnz_1 = c.get_index_level(\"lnz_1\")" ] }, { "cell_type": "code", "execution_count": 80, "id": "131", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index([1.0, 1.0, 1.0, 1.0, 1.0], dtype='float64')" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lnz_1 - lnz_0" ] }, { "cell_type": "markdown", "id": "132", "metadata": {}, "source": [ "## Multicomponent system with phase transitions\n", "\n", "Next, we consider a multicomponent system " ] }, { "cell_type": "code", "execution_count": 81, "id": "133", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ref = lnpy.examples.load_example_lnpimasked(\"hsmix\")\n", "ref" ] }, { "cell_type": "code", "execution_count": 82, "id": "134", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlMAAAHHCAYAAACbXt0gAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAt8dJREFUeJztnQm4HEXV92tuyAYhYU9AkpAAsidAEAzInpeAyAuyfGxiwhIEwVcWWSIYSBQjEUEEBBFZVFBABZTVkLApYQsghE1QMGEJYU0wrLnT33Oqu6pPVVf1Mj0zd+be/4+nuTPV1dU1PZPpM+ec+p9KEASBAAAAAAAANdFR22EAAAAAAADGFAAAAABASeCZAgAAAAAoAYwpAAAAAIASwJgCAAAAACgBjCkAAAAAgBLAmAIAAAAAKAGMKQAAAACAEsCYAgAAAAAoQbc2pq6++mpRqVTEK6+80tVTAQ7w/rTH+/PYY4919VRAnTn77LPlewsAqA/d2phqFX71q1+JjTbaSPTr10+sv/764qKLLuqSeVSrVTFjxgwxYsQIOZdRo0aJ3/3ud4VurK5t4cKFol259NJLxQEHHCCGDRsmX8vEiRPb8rNy7733et+fhx56SLQKt99+u7yRtzJvvPGGOP3008XOO+8sVlxxRXkN6foW4bXXXhP/7//9P7HSSiuJgQMHir333lv8+9//bticQW3gvQb1Yrm6jQSc/OIXvxDHHHOM2G+//cRJJ50kHnjgAfF///d/4sMPPxSnnXZaU6/aGWecIX70ox+JSZMmiS984QvilltuEYcccoi8WRx00EG5xpg2bZo0xjh0w2hXzj33XPHBBx+IrbfeWn6xtvtnhfrTe8tZb731RCsZU5dccklLG1QvvPCC/FyQMbvZZpuJOXPmFDr+v//9rzTEFi9eLL773e+K3r17iwsuuEDsuOOO4sknnxSrrrpqw+YOioH3GtSNoBtz1VVXURHn4OWXX+6S83/44YfBqquuGuy5555G+6GHHhqssMIKwbvvvtu0ubz66qtB7969g+OOO063VavVYPvttw/WXnvtYNmyZbmu5aOPPtpt3h/ilVdekdeBoPdkwoQJbflZueeee+S1vPHGG+s2p0a85/T5a/WvnSVLlgTvvPOOfEzXk+ZL1zcv5557rjzmkUce0W3PPfdc0KtXr2Dy5MlBK3DWWWe1/PvQDHrCew2aQ48L862zzjriK1/5ivjb3/4mvREUThk5cqT49a9/bfTzhUyK5GDdc8894p133hHf/OY3jfbjjjtOLF26VNx2222iWZAX6rPPPjPmQq/l2GOPFa+++mqhX9/kyens7Gz794cYPnx4S+SO1POzQu/PsmXL6jY38ox94xvfkB4VCll9/etfF++9916i3x133CG23357scIKK8jw2J577imeeeYZvZ9CqOSVIvj7pTjvvPPEtttuK8/Tv39/MWbMGPGHP/xBNBua+yqrrFLz8TRn8g5yD+GGG24odt11V3HDDTcUHo+uC12n//znP4l9kydPFn369DHejxtvvFFeO7qGq622mvja174mw45p0L8ZOgeF822onXsSVb7VP//5Tzn2oEGDxOqrry6+973vkXUmFixYIMOa9FkZMmSI+MlPfpIY85NPPhFnnXWW9Jr27dtXDB06VJx66qmyvSe/16B96ZFhvpdeeknsv//+4sgjjxQTJkwQV155pfyipy+gTTbZRPb5zW9+kzjuzDPPFIsWLRIDBgzIdZ4nnnhC/t1qq62MdjpPR0eH3E9fRj7I+KFQQR7oC4HGTJsL3eQoH4dDBova/6UvfSnzPBS+oDAGfYGPHz9eflFSOKQd35965KC9++67ufrSDYfCPY36rCgOP/xw+f706tVLGjY//vGPE2MW5fjjj5ehXLqJUliE8szoxq7ytNT7Qe8VfSYoREYGGPWjzxTNnYxkMshef/11MXPmTOf7d+GFF4r//d//FYceeqj49NNPxe9//3uZz3brrbdKwywNOh9tWdB1WXnllUUjPxNPPfWUOOKIIxL76N/aX//6V2ns0k08L5R7RYYG3ZxPOeUUYx+17bbbbvo1kTFEnwG6uU+fPl28+eab8rr+/e9/l+9DPUPyBx54oPw+odQBMvZ/8IMfyO8hClfvsssu8nNw7bXXiu985ztyPjvssIO+RvQ+0w+mo48+Wo7x9NNPy1AoGWg333xzj32vQRsTdGNcYaThw4fLtvvvv1+3LVq0KOjbt29w8skne8eaMWOGPO7Xv/51oZAGuXtdrL766sFBBx2UK3STZ8sKlVH4aOTIkYn2pUuXyuNPP/301OOvv/76YOLEicE111wT3HTTTcGZZ54ZLL/88sFqq60WzJ8/P2jH98emaJiP5p33/ckKHZT9rPz9738P9ttv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V1xRrLHGGlKw+IUXXjD65Pl3SVUf9txzT7H88svLcU455RSxbNky0VOv2U477ZT4vB1zzDE99pqB/PR4Y+r666+Xop8kjfD444+L0aNHi/Hjx4tFixYVuIzdn0022US88cYbevvb3/6m95144oniL3/5i7jxxhvFfffdJ15//XWx7777ip4EicTSZ4cMcxczZswQP/vZz8Rll10mHn74YbHCCivIzxnd8BRkEDzzzDNi5syZ4tZbb5WGxtFHHy168nUjyHjin73f/e53xv6eeN3o3xkZSg899JB83Z999pnYbbfd5PXM+++SCsSTUUAlSx588EFxzTXXiKuvvloa/T31mhGTJk0yPm/0b7enXjNQgKCHs/XWWwfHHXecft7Z2RmstdZawfTp07t0Xq3EWWedFYwePdq57/333w969+4d3HjjjbrtueeeozrnwZw5c4KeCL32m266ST+vVqvBkCFDgh//+MfGdevbt2/wu9/9Tj5/9tln5XGPPvqo7nPHHXcElUoleO2114KeeN2ICRMmBHvvvbf3GFy3kEWLFsnrd9999+X+d3n77bcHHR0dwcKFC3WfSy+9NBg4cGDwySefBD3tmhE77rhj8O1vf9t7TE+/ZsBPj/ZM0a+LuXPnypALr9NHz+fMmdOlc2s1KCRFoZiRI0dKTwC5ugm6fvQLj19DCgEOGzYM1zCCCpaSMj+/RlTbi0LK6nNGfylERSWRFNSfPo/kyerJ3HvvvTKcssEGG4hjjz1WvPPOO3ofrlvI4sWL5d9VVlkl979L+rvZZpsZlSLIW0pFfsnT19OumeLaa68Vq622mth0003F5MmTxYcffqj39fRrBnqAAnotvP3229Jta5edoefPP/98l82r1aCbPrmy6WZGbu+pU6eK7bffXsybN08aCVRsmgwB+xrSPiD0dXB9ztQ++ksGA2e55ZaTX/Q9+TpSiI9CUyNGjBD/+te/xHe/+12xxx57yJtar169cN2iwu4nnHCC2G677aQBQOT5d0l/XZ9Jta+nXTPikEMOEcOHD5c/HJ966ilx2mmnybyqP/3pT6KnXzOQTo82pkA+6OalGDVqlDSu6AvnhhtukMnUADSKgw46SD8mjwB9/tZdd13prdp1111x4YWQeUD0w4bnMYLarhnPtaPPGy0Yoc8ZGfL0uQPAR48O85Erl37d2itc6PmQIUO6bF6tDv3a/fznPy9eeukleZ0oXPr+++8bfXANY9RnKe1zRn/tRQ+0QohWquGzGENhZvp3S589XLewJikl3d9zzz1i7bXXNj5zWf8u6a/rM8k/sz3pmrmgH44E/7z1xGsGsunRxhS5wceMGSNmzZpluH/p+dixY7t0bq0MLTunX2r0q42uX+/evY1rSG5xyqnCNQyhEBV90fJrRDkWlAulrhH9pRsf5booZs+eLT+P6gsdCPHqq6/KnCn67PXk60b5+mQU3HTTTfL10meMk+ffJf19+umnDSOeVrmRxMTGG28seto1c/Hkk0/Kv/zz1pOuGShA0MP5/e9/L1dVXX311XJl0NFHHx2stNJKxmqNns7JJ58c3HvvvcHLL78c/P3vfw/GjRsXrLbaanI1DHHMMccEw4YNC2bPnh089thjwdixY+XWk/jggw+CJ554Qm70z+r888+Xj//zn//I/T/60Y/k5+qWW24JnnrqKblCbcSIEcFHH32kx9h9992DLbbYInj44YeDv/3tb8H6668fHHzwwUFPvW607zvf+Y5cfUafvbvvvjvYcsst5XX5+OOPe/R1O/bYY4NBgwbJf5dvvPGG3j788EPdJ+vf5bJly4JNN9002G233YInn3wyuPPOO4PVV189mDx5ctATr9lLL70UTJs2TV4r+rzRv9WRI0cGO+ywQ4+9ZiA/Pd6YIi666CL5pdOnTx8plfDQQw8VuITdnwMPPDBYc8015fX53Oc+J5/TF4+CDIJvfvObwcorrxwsv/zywVe/+lX5JdWTuOeee6QxYG+0tF/JI3zve98LBg8eLI33XXfdNXjhhReMMd555x1pBAwYMEAutT788MOlQdFTrxvd5OimRTcrWuY/fPjwYNKkSYkfOj3xurmuGW1XXXVVoX+Xr7zySrDHHnsE/fv3lz+Q6IfTZ599FvTEazZ//nxpOK2yyiry3+h6660XnHLKKcHixYt77DUD+anQ/4p4sgAAAAAAQEyPzpkCAAAAACgLjCkAAAAAgBLAmAIAAAAAKAGMKQAAAACAEsCYAgAAAAAoAYwpAAAAAIASwJgCAAAAACgBjCkAAAAAgBLAmAIA5Obyyy8XO+20k6xFVqlUEoV0AQCgJwJjCgCQmw8//FDsvvvu4rvf/S6uGgAARKCcDAA9DPIsjRo1SvTr109cccUVok+fPuKYY44RZ599du4x7r33XrHzzjuL9957T6y00koNnS8AALQ68EwB0AO55pprxAorrCAefvhhMWPGDDFt2jQxc+bMrp4WAAC0JTCmAOiBkGfqrLPOEuuvv774+te/Lrbaaisxa9asrp4WAAC0JTCmAOihxhRnzTXXFIsWLeqy+QAAQDsDYwqAHkjv3r2N57Qyr1qtdtl8AACgnYExBQAAAABQguXKHAwA6FksXLhQbi+99JJ8/vTTT4sVV1xRDBs2TKyyyipdPT0AAOgS4JkCAOTmsssuE1tssYWYNGmSfL7DDjvI53/+859xFQEAPRboTAEAAAAAlACeKQAAAACAEsCYAgBIrr32WjFgwADntskmm+AqAQCAB4T5AACSDz74QLz55pteKYXhw4fjSgEAgAMYUwAAAAAAJUCYDwAAAACgBDCmAAAAAABKAGMKAAAAAKAEMKYAAAAAAEoAYwoAAAAAoAQwpgAAAAAASgBjCgAAAACgBDCmAAAAAABE7fx/DeMjpRUrRdAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ref.xge.lnpi().plot()" ] }, { "cell_type": "code", "execution_count": 83, "id": "135", "metadata": {}, "outputs": [], "source": [ "# function to tag 'LD' and 'HD' phases\n", "def tag_phases2(x):\n", " if len(x) > 2:\n", " msg = \"bad tag function\"\n", " raise ValueError(msg)\n", " argmax0 = np.array([xx.local_argmax()[0] for xx in x])\n", " return np.where(argmax0 <= x[0].shape[0] / 2, 0, 1)\n", "\n", "\n", "phase_creator = lnpy.PhaseCreator(\n", " nmax=2, nmax_peak=4, ref=ref, tag_phases=tag_phases2, merge_kws={\"efac\": 0.8}\n", ")" ] }, { "cell_type": "code", "execution_count": 84, "id": "136", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\n", "lnz_0 lnz_1 phase\n", "-5.000000 0.0 0 [-5.0, 0.0]\n", "-4.795918 0.0 0 [-4.795918367346939, 0.0]\n", "-4.591837 0.0 0 [-4.591836734693878, 0.0]\n", "-4.387755 0.0 0 [-4.387755102040816, 0.0]\n", "-4.183673 0.0 0 [-4.183673469387755, 0.0]\n", " ... \n", " 4.183673 0.0 1 [4.183673469387756, 0.0]\n", " 4.387755 0.0 1 [4.387755102040817, 0.0]\n", " 4.591837 0.0 1 [4.591836734693878, 0.0]\n", " 4.795918 0.0 1 [4.795918367346939, 0.0]\n", " 5.000000 0.0 1 [5.0, 0.0]\n", "Length: 65, dtype: object" ] }, "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ "build_phases = phase_creator.build_phases_mu([None, 0.0])\n", "\n", "c = lnpy.lnPiCollection.from_builder(\n", " np.linspace(-5, 5, 50), build_phases, unstack=False\n", ")\n", "c" ] }, { "cell_type": "markdown", "id": "137", "metadata": {}, "source": [ "Note that here we have used the `unstack=False` option. This means that the results from {attr}`lnpy.lnpiseries.lnPiCollection.xge` will *not* be unstacked. For example:" ] }, { "cell_type": "code", "execution_count": 85, "id": "138", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'betaOmega' (sample: 65)> Size: 520B\n",
       "array([-1246.12388491, -1246.12448998, -1246.12523222, -1246.12614278,\n",
       "       -1246.12725991, -1246.1286306 , -1246.13031256, -1246.13237676,\n",
       "       -1246.13491046, -1246.13802107, -1246.14184087, -1246.14653294,\n",
       "       -1246.15229859, -1246.1593867 , -1246.16810551, -1246.1788377 ,\n",
       "       -1246.19205972, -1010.9087438 , -1246.20836701, -1054.37219518,\n",
       "       -1246.22850704, -1098.99423283, -1246.25342379, -1144.4775693 ,\n",
       "       -1246.28431829, -1190.70729484, -1246.32273372, -1237.62335537,\n",
       "       -1246.37067871, -1285.1875377 , -1246.43081409, -1333.37342804,\n",
       "       -1246.50675309, -1382.15798324, -1246.60358765, -1431.51759825,\n",
       "       -1246.72896095, -1481.42620374, -1246.89609727, -1531.84252007,\n",
       "       -1247.1319439 , -1582.68976406, -1247.47204378, -1633.86017062,\n",
       "       -1247.86446355, -1685.24884688, -1736.77785101, -1788.39701972,\n",
       "       -1840.07559237, -1891.79461328, -1943.54206924, -1995.3100774 ,\n",
       "       -2047.093286  , -2098.88794914, -2150.69137525, -2202.50158717,\n",
       "       -2254.3171055 , -2306.13680626, -2357.95982463, -2409.78548824,\n",
       "       -2461.61326981, -2513.44275296, -2565.27360693, -2617.10556771,\n",
       "       -2668.9384238 ])\n",
       "Coordinates:\n",
       "  * sample   (sample) object 520B MultiIndex\n",
       "  * lnz_0    (sample) float64 520B -5.0 -4.796 -4.592 -4.388 ... 4.592 4.796 5.0\n",
       "  * lnz_1    (sample) float64 520B 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
       "  * phase    (sample) int64 520B 0 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 1 1 1 1 1 1 1 1\n",
       "    beta     float64 8B 1.0\n",
       "    volume   float64 8B 1.0\n",
       "Attributes:\n",
       "    dims_n:         ['n_0', 'n_1']\n",
       "    dims_lnz:       ['lnz_0', 'lnz_1']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'lnz_1', 'beta', 'volume']\n",
       "    dims_rec:       ['sample']\n",
       "    standard_name:  grand_potential\n",
       "    long_name:      $\\beta \\Omega(\\mu,V,T)$
" ], "text/plain": [ " Size: 520B\n", "array([-1246.12388491, -1246.12448998, -1246.12523222, -1246.12614278,\n", " -1246.12725991, -1246.1286306 , -1246.13031256, -1246.13237676,\n", " -1246.13491046, -1246.13802107, -1246.14184087, -1246.14653294,\n", " -1246.15229859, -1246.1593867 , -1246.16810551, -1246.1788377 ,\n", " -1246.19205972, -1010.9087438 , -1246.20836701, -1054.37219518,\n", " -1246.22850704, -1098.99423283, -1246.25342379, -1144.4775693 ,\n", " -1246.28431829, -1190.70729484, -1246.32273372, -1237.62335537,\n", " -1246.37067871, -1285.1875377 , -1246.43081409, -1333.37342804,\n", " -1246.50675309, -1382.15798324, -1246.60358765, -1431.51759825,\n", " -1246.72896095, -1481.42620374, -1246.89609727, -1531.84252007,\n", " -1247.1319439 , -1582.68976406, -1247.47204378, -1633.86017062,\n", " -1247.86446355, -1685.24884688, -1736.77785101, -1788.39701972,\n", " -1840.07559237, -1891.79461328, -1943.54206924, -1995.3100774 ,\n", " -2047.093286 , -2098.88794914, -2150.69137525, -2202.50158717,\n", " -2254.3171055 , -2306.13680626, -2357.95982463, -2409.78548824,\n", " -2461.61326981, -2513.44275296, -2565.27360693, -2617.10556771,\n", " -2668.9384238 ])\n", "Coordinates:\n", " * sample (sample) object 520B MultiIndex\n", " * lnz_0 (sample) float64 520B -5.0 -4.796 -4.592 -4.388 ... 4.592 4.796 5.0\n", " * lnz_1 (sample) float64 520B 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", " * phase (sample) int64 520B 0 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 1 1 1 1 1 1 1 1\n", " beta float64 8B 1.0\n", " volume float64 8B 1.0\n", "Attributes:\n", " dims_n: ['n_0', 'n_1']\n", " dims_lnz: ['lnz_0', 'lnz_1']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'lnz_1', 'beta', 'volume']\n", " dims_rec: ['sample']\n", " standard_name: grand_potential\n", " long_name: $\\beta \\Omega(\\mu,V,T)$" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c.xge.betaOmega()" ] }, { "cell_type": "markdown", "id": "139", "metadata": {}, "source": [ "To 'unstack' from 'sample' dimension to 'lnz_0', 'lnz_1', etc, you can call `unstack` directly:" ] }, { "cell_type": "code", "execution_count": 86, "id": "140", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'betaOmega' (lnz_0: 50, lnz_1: 1, phase: 2)> Size: 800B\n",
       "array([[[-1246.12388491,            nan]],\n",
       "\n",
       "       [[-1246.12448998,            nan]],\n",
       "\n",
       "       [[-1246.12523222,            nan]],\n",
       "\n",
       "       [[-1246.12614278,            nan]],\n",
       "\n",
       "       [[-1246.12725991,            nan]],\n",
       "\n",
       "       [[-1246.1286306 ,            nan]],\n",
       "\n",
       "       [[-1246.13031256,            nan]],\n",
       "\n",
       "       [[-1246.13237676,            nan]],\n",
       "\n",
       "       [[-1246.13491046,            nan]],\n",
       "\n",
       "       [[-1246.13802107,            nan]],\n",
       "\n",
       "...\n",
       "\n",
       "       [[           nan, -2202.50158717]],\n",
       "\n",
       "       [[           nan, -2254.3171055 ]],\n",
       "\n",
       "       [[           nan, -2306.13680626]],\n",
       "\n",
       "       [[           nan, -2357.95982463]],\n",
       "\n",
       "       [[           nan, -2409.78548824]],\n",
       "\n",
       "       [[           nan, -2461.61326981]],\n",
       "\n",
       "       [[           nan, -2513.44275296]],\n",
       "\n",
       "       [[           nan, -2565.27360693]],\n",
       "\n",
       "       [[           nan, -2617.10556771]],\n",
       "\n",
       "       [[           nan, -2668.9384238 ]]])\n",
       "Coordinates:\n",
       "  * lnz_0    (lnz_0) float64 400B -5.0 -4.796 -4.592 -4.388 ... 4.592 4.796 5.0\n",
       "  * lnz_1    (lnz_1) float64 8B 0.0\n",
       "  * phase    (phase) int64 16B 0 1\n",
       "    beta     float64 8B 1.0\n",
       "    volume   float64 8B 1.0\n",
       "Attributes:\n",
       "    dims_n:         ['n_0', 'n_1']\n",
       "    dims_lnz:       ['lnz_0', 'lnz_1']\n",
       "    dims_comp:      ['component']\n",
       "    dims_state:     ['lnz_0', 'lnz_1', 'beta', 'volume']\n",
       "    dims_rec:       ['sample']\n",
       "    standard_name:  grand_potential\n",
       "    long_name:      $\\beta \\Omega(\\mu,V,T)$
" ], "text/plain": [ " Size: 800B\n", "array([[[-1246.12388491, nan]],\n", "\n", " [[-1246.12448998, nan]],\n", "\n", " [[-1246.12523222, nan]],\n", "\n", " [[-1246.12614278, nan]],\n", "\n", " [[-1246.12725991, nan]],\n", "\n", " [[-1246.1286306 , nan]],\n", "\n", " [[-1246.13031256, nan]],\n", "\n", " [[-1246.13237676, nan]],\n", "\n", " [[-1246.13491046, nan]],\n", "\n", " [[-1246.13802107, nan]],\n", "\n", "...\n", "\n", " [[ nan, -2202.50158717]],\n", "\n", " [[ nan, -2254.3171055 ]],\n", "\n", " [[ nan, -2306.13680626]],\n", "\n", " [[ nan, -2357.95982463]],\n", "\n", " [[ nan, -2409.78548824]],\n", "\n", " [[ nan, -2461.61326981]],\n", "\n", " [[ nan, -2513.44275296]],\n", "\n", " [[ nan, -2565.27360693]],\n", "\n", " [[ nan, -2617.10556771]],\n", "\n", " [[ nan, -2668.9384238 ]]])\n", "Coordinates:\n", " * lnz_0 (lnz_0) float64 400B -5.0 -4.796 -4.592 -4.388 ... 4.592 4.796 5.0\n", " * lnz_1 (lnz_1) float64 8B 0.0\n", " * phase (phase) int64 16B 0 1\n", " beta float64 8B 1.0\n", " volume float64 8B 1.0\n", "Attributes:\n", " dims_n: ['n_0', 'n_1']\n", " dims_lnz: ['lnz_0', 'lnz_1']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'lnz_1', 'beta', 'volume']\n", " dims_rec: ['sample']\n", " standard_name: grand_potential\n", " long_name: $\\beta \\Omega(\\mu,V,T)$" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "c.xge.betaOmega().unstack()" ] }, { "cell_type": "code", "execution_count": 87, "id": "141", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ]" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "c.xge.betaOmega().unstack().plot(hue=\"phase\")" ] }, { "cell_type": "code", "execution_count": 88, "id": "142", "metadata": {}, "outputs": [], "source": [ "# spinodal along line of constant lnz_2\n", "\n", "_ = c.spinodal(phase_ids=[0, 1], build_phases=build_phases, efac=1.0, inplace=True)\n", "_ = c.binodal(phase_ids=[0, 1], build_phases=build_phases, inplace=True)" ] }, { "cell_type": "code", "execution_count": 89, "id": "143", "metadata": {}, "outputs": [], "source": [ "# create table for spinodal/binodal\n", "\n", "t_spin = c.spinodal.access.xge.table([\"molfrac\"], ref=ref)\n", "t_bino = c.binodal.access.xge.table([\"molfrac\"], ref=ref)" ] }, { "cell_type": "code", "execution_count": 90, "id": "144", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 368B\n",
       "Dimensions:        (sample: 4, component: 2)\n",
       "Coordinates:\n",
       "  * sample         (sample) object 32B MultiIndex\n",
       "  * spinodal       (sample) int64 32B 0 0 1 1\n",
       "  * lnz_0          (sample) float64 32B 1.202 1.202 -1.806 -1.806\n",
       "  * lnz_1          (sample) float64 32B 0.0 0.0 0.0 0.0\n",
       "  * phase          (sample) int64 32B 0 1 0 1\n",
       "    beta           float64 8B 1.0\n",
       "    volume         float64 8B 1.0\n",
       "Dimensions without coordinates: component\n",
       "Data variables:\n",
       "    edge_distance  (sample) float64 32B 31.11 1.0 31.11 29.7\n",
       "    molfrac        (sample, component) float64 64B 0.01297 0.987 ... 0.02102\n",
       "    nvec           (sample, component) float64 64B 2.715 206.5 ... 206.7 4.438\n",
       "    betapV         (sample) float64 32B 1.248e+03 1.705e+03 1.246e+03 996.1\n",
       "Attributes:\n",
       "    dims_n:      ['n_0', 'n_1']\n",
       "    dims_lnz:    ['lnz_0', 'lnz_1']\n",
       "    dims_comp:   ['component']\n",
       "    dims_state:  ['lnz_0', 'lnz_1', 'beta', 'volume']\n",
       "    dims_rec:    ['sample']\n",
       "    long_name:   distance from upper edge
" ], "text/plain": [ " Size: 368B\n", "Dimensions: (sample: 4, component: 2)\n", "Coordinates:\n", " * sample (sample) object 32B MultiIndex\n", " * spinodal (sample) int64 32B 0 0 1 1\n", " * lnz_0 (sample) float64 32B 1.202 1.202 -1.806 -1.806\n", " * lnz_1 (sample) float64 32B 0.0 0.0 0.0 0.0\n", " * phase (sample) int64 32B 0 1 0 1\n", " beta float64 8B 1.0\n", " volume float64 8B 1.0\n", "Dimensions without coordinates: component\n", "Data variables:\n", " edge_distance (sample) float64 32B 31.11 1.0 31.11 29.7\n", " molfrac (sample, component) float64 64B 0.01297 0.987 ... 0.02102\n", " nvec (sample, component) float64 64B 2.715 206.5 ... 206.7 4.438\n", " betapV (sample) float64 32B 1.248e+03 1.705e+03 1.246e+03 996.1\n", "Attributes:\n", " dims_n: ['n_0', 'n_1']\n", " dims_lnz: ['lnz_0', 'lnz_1']\n", " dims_comp: ['component']\n", " dims_state: ['lnz_0', 'lnz_1', 'beta', 'volume']\n", " dims_rec: ['sample']\n", " long_name: distance from upper edge" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_spin" ] }, { "cell_type": "code", "execution_count": 91, "id": "145", "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", "
spinodallnz_0lnz_1phasebetavolumeedge_distancemolfracnvecbetapV
samplecomponent
0001.2015750.001.01.031.1126980.0129742.7146731248.009992
301-1.8057240.011.01.029.6984850.978978206.675356996.095608
\n", "
" ], "text/plain": [ " spinodal lnz_0 lnz_1 phase beta volume \\\n", "sample component \n", "0 0 0 1.201575 0.0 0 1.0 1.0 \n", "3 0 1 -1.805724 0.0 1 1.0 1.0 \n", "\n", " edge_distance molfrac nvec betapV \n", "sample component \n", "0 0 31.112698 0.012974 2.714673 1248.009992 \n", "3 0 29.698485 0.978978 206.675356 996.095608 " ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_spin.reset_index(\"sample\").to_dataframe().query(\n", " \"component==0 and spinodal==phase\"\n", ").dropna()" ] }, { "cell_type": "markdown", "id": "146", "metadata": {}, "source": [ "doing this for multiple values of fixed `lnz_1`:" ] }, { "cell_type": "code", "execution_count": 92, "id": "147", "metadata": {}, "outputs": [], "source": [ "from joblib import Parallel, delayed\n", "\n", "from lnpy.stability import SpinodalError\n", "\n", "\n", "def get_bin_spin1(lnz2, phase_creator, from_builder, from_builder_kws=None):\n", " # reload stability here to make sure accessor available (also make sure black keeps this here.)\n", "\n", " build_phases = phase_creator.build_phases_mu([None, lnz2])\n", " lnzs = np.linspace(-8, 8, 20)\n", " if from_builder_kws is None:\n", " from_builder_kws = {}\n", " c = from_builder(lnzs, build_phases, **from_builder_kws)\n", "\n", " try:\n", " c.spinodal(2, build_phases, inplace=True, unstack=False)\n", " except SpinodalError:\n", " return None, None\n", "\n", " c.binodal(2, build_phases, inplace=True, unstack=False)\n", " t_spin = c.spinodal.access.xge.table([\"molfrac\"], ref=ref)\n", " t_bino = c.binodal.access.xge.table([\"molfrac\"], ref=ref)\n", " return t_spin, t_bino" ] }, { "cell_type": "code", "execution_count": 93, "id": "148", "metadata": {}, "outputs": [], "source": [ "out1 = Parallel(n_jobs=-1)(\n", " delayed(get_bin_spin1)(lnz2, phase_creator, lnpy.lnPiCollection.from_builder)\n", " for lnz2 in np.arange(-5, 5, 0.5)\n", ")" ] }, { "cell_type": "code", "execution_count": 94, "id": "149", "metadata": {}, "outputs": [], "source": [ "spin1 = xr.concat([s for s, b in out1 if s is not None], \"sample\")\n", "bino1 = xr.concat([b for s, b in out1 if b is not None], \"sample\")" ] }, { "cell_type": "code", "execution_count": 95, "id": "150", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAGwCAYAAABIC3rIAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAT9lJREFUeJzt3QmcTfX7wPEHs9j3fd+yL4lCIkqUfqS0IkRUloqK/Iqkwg8plfSTRP+I/CIiW9m3ihIRRXYGyZZ1mPN/Pd/r3O4ww8y4M+fcez7v1+u627l3zpy57n3u832+zzedZVmWAAAAeFh6p3cAAADAaQREAADA8wiIAACA5xEQAQAAzyMgAgAAnkdABAAAPI+ACAAAeF6E549AEsTFxcm+ffskW7Zski5dOg4ZAAAhQFstnjhxQgoXLizp0185B0RAlAQaDBUrVixYfx8AAJCGdu/eLUWLFr3iNgRESaCZIfuAZs+ePTh/HQAAkKqOHz9uEhr25/iVEBAlgT1MpsEQAREAAKElKeUuFFUDAADPIyACAACeR0AEAAA8j4AIAAB4HgERAADwPAIiAADgeQREAADA8wiIAACA5xEQAQAAzyMgAgAAnkdABAAAPI+ACAAAeB4BkZMsS+TCBd8JAAAvfx46jIDISQcOiEREiBUVJQcPHhTLBS8IAADS1KlTIhUrijzxhDiJgMgF4uLipECBAnL27FmndwUAgLT1xRciW7aIjBkjTiIgcpELDJ0BALzGcsfoCAGRixAQAQDgDAIilw2dAQCAtEdA5CJkiAAA8GBANHjwYLnxxhslW7Zskj9/fmnZsqVs0cKqi/766y/p0aOHlC9fXjJlyiTFixeXp59+Wo4dOxbvedKlS3fZafLkyfG2Wbx4sdxwww0SHR0tZcuWlfHjx4vbkCECAMCDAdGSJUukW7dusnr1almwYIHExsZKkyZN5OTJk+b+ffv2mdPw4cPll19+MUHM3LlzpVOnTpc918cffyz79+/3nzS4sm3fvl3uvvtuadSokaxbt06effZZefzxx2XevHniJmSIAABwRoQ4SIObQBrwaKZo7dq10qBBA6lSpYp8odPxLipTpoy88cYb0rZtWzl//rxERPyz+zlz5pSCBQsm+HM++OADKVWqlLz55pvmesWKFWX58uXy1ltvSdOmTS/bXqe/B06BP378uKQmzWi1b9fOZK8AAIDHa4jsobDcuXNfcZvs2bPHC4aUZpry5s0rN910k4wbNy5ek8NVq1ZJ48aN422vgZDenthQXo4cOfynYsWKSWpKny6dCQZz5cqVqj8HAAC4PCDS+hkdyqpXr57JDCXkzz//lNdee026dOkS7/aBAwfK559/bobdWrVqJV27dpV3333Xf39MTIxpfBhIr2vm5/Tp05f9nL59+5rAyz7t3r07aL8nAABwH0eHzC7N8GidkA5lJUSDF60DqlSpkgwYMCDeff369fNfrlGjhqlBGjZsmCnATgkdukrL4SvNZZ06edIUjqdP75oYFQAAz3DFp2/37t1l1qxZsmjRIilatOhl9584cULuvPNOMxtt+vTpEhkZecXnq127tuzZs8dfB6S1RQd03bAAel2H3jQIcUN2LGvWrLJt2zandwUAAE9yNCDSOh8NhjTIWbhwoSl8TigzpDPPoqKiZObMmZIxY8arPq/OJNN6HDvLU7duXfn222/jbaPDa3q7mzDLDAAADw6Z6TDZpEmTZMaMGSb7o7U+SguZNXNjB0OnTp2STz/91Fy3Z3zly5dPMmTIIF999ZXJ9tSpU8cESxroDBo0SJ5//nn/z3nyySflvffek969e0vHjh1N8KU1R7NnzxY3ISACAMCDAdHo0aPNecOGDS/rKdShQwf58ccf5bvvvjO3aTPFQNpbqGTJkmb4bNSoUdKzZ0+TcdLtRowYIZ07d/Zvq5knDX50m5EjR5phubFjxyY45d5JBEQAAHgwIAqcGp8QDZSuto3WFunpavS5fvrpJ3EzOlUDAODhomr4kCECAMAZBEQuQkAEAIDH+xB5mS7dcX+rVnSqBgDAIQRELqBLd0ydOtXp3QAAwLMYMgMAAJ5HQOQSOpvuajPqAABA6iAgcoELcXFmDTNtGAkAANIeAZELpLt4ziwzAACcQUDkpHR2KORDY0YAAJxBQOQiZIgAAHAGAZGLkCECAMAZBEQuQkAEAIAzCIhchCEzAACcQUDkEnfddZfkz5/f6d0AAMCTWLrDJUt3fP31107vBgAAnkWGCAAAeB4BEQAA8DwCIheIsyzJnDmzTJw40eldAQDAkwiIXOL06dMSGxvr9G4AAOBJBEQuQh8iAACcQUDkIvQhAgDAGQRELkKGCAAAZxAQuQgBEQAAziAgchGGzAAAcAYBkQukE5Fbb71VChcu7PSuAADgSSzd4QLp0qWTxYsXO70bAAB4FhkiAADgeQREAADA8wiIXLJ0R/78+WXkyJFO7woAAJ5EQOQShw4dkpMnTzq9GwAAeBIBkYv+CEy7BwDAGQRETkqnE+7/QUAEAIAzCIhchIAIAABnEBC5yPnz553eBQAAPImAyEXIEAEA4AwCIpeoVauWFClSxOndAADAkxwNiAYPHiw33nijZMuWzfThadmypWzZsiXeNmfOnJFu3bpJnjx5JGvWrNKqVSs5cOBAvG127dold999t2TOnNk8zwsvvHDZ8JMujXHDDTdIdHS0lC1bVsaPHy9u8sMPP8gzzzzj9G4AAOBJjgZES5YsMcHO6tWrZcGCBRIbGytNmjSJ14+nZ8+e8tVXX8nUqVPN9vv27ZP77rsv3jCTBkPnzp2TlStXyoQJE0yw079/f/8227dvN9s0atRI1q1bJ88++6w8/vjjMm/evDT/nQEAgPuksyzLEhc1J9QMjwY+DRo0kGPHjkm+fPlk0qRJcv/995ttNm/eLBUrVpRVq1ZJnTp1ZM6cOfKvf/3LBEoFChQw23zwwQfSp08f83xRUVHm8uzZs+WXX37x/6yHH35Yjh49KnPnzr1sP86ePWtOtuPHj0uxYsXM/mTPnj14v/DBgyIX91nc82cAACDtfPKJSPv2qfJZqJ/fOXLkSNLnt6tqiHSHVe7cuc352rVrTdaocePG/m0qVKggxYsXNwGR0vOqVav6gyHVtGlTcxA2btzo3ybwOext7OdIaChPD6B90mAotZUsWVJ69+6d6j8HAAC4OCCKi4szQ1n16tWTKlWqmNtiYmJMhidnzpzxttXgR++ztwkMhuz77fuutI0GTadPn75sX/r27WuCM/u0e/duSW07d+40GS0AAJD2IsQltJZIh7SWL1/u9K6Ywms9pTWm3QMA4OEMUffu3WXWrFmyaNEiKVq0qP/2ggULmmJprfUJpLPM9D57m0tnndnXr7aNjidmypRJ3ILGjAAAeDAg0npuDYamT58uCxculFKlSsW7v2bNmhIZGSnffvut/zadlq/T7OvWrWuu6/mGDRvkoBYoX6Qz1jTYqVSpkn+bwOewt7GfwzGsZQYAgCtEOD1MpjPIZsyYYXoR2TU/WsismRs979Spk/Tq1csUWmuQ06NHDxPI6AwzpdP0NfB59NFHZejQoeY5Xn75ZfPc9rDXk08+Ke+9954pWu7YsaMJvj7//HMz88xNyBABAODBDNHo0aNN0XLDhg2lUKFC/tOUKVP827z11ltmWr02ZNSp+Dr8NW3aNP/9GTJkMMNteq6BUtu2baVdu3YycOBA/zaaedLgR7NC1atXlzfffFPGjh1rZpq5CTVEAAA4w1V9iNwqOX0MkkVnleXPby5WqlBBbrv9dpPJAgDAMz5xRx8i18wy87pNmzZdVlMEAAA8NMsMAADASQREAADA8wiIXKJy5cqmIBwAAKQ9aohcYtOvv0rOXLmc3g0AADyJDJGLMO0eAABnEBC5hM4vozEjAADOICBy0iXT7GNjYx3bFQAAHJEtm7gBAZGLEBABADyndGnfeaFCju4GAZGLEBABAOAMAiKXKFa0qBQuXNjp3QAAwJOYdu8SO3fuFElPfAoAgBP4BAYAAJ5HQOQkFnMFAMAVCIhcom6dOlKvXj2ndwMAAE+ihsglvv/hB8kQGen0bgAA4ElkiFw27d6yLKd3AwAAzyEgchnWMwMAIO0RELmsqJrmjAAApD0CIpchIAIAIO0RELnMuXPnnN4FAAA8h1lmLpE/b16xMmSQuLg4p3cFAADPISByif3794tE8OcAAMAJDJkBAADPIyByEkt3AADgCgRELvHggw9K/fr1ZevWrU7vCgAAnkPRikt89913smvfPjl+/LjTuwIAgOeQIXKJqKgoc860ewAA0h4BkUtEXlzYlcaMAACkPQIil4i8OOX+/PnzTu8KAABpxyWLmhMQuWSWWcTFgIjFXQEAnpTu8vU90xIBkUtkyJDBnJMhAgAg7REQuUSWzJklS5Ysko7eRAAApDmm3TspIPhZtGiRTjVzdHcAAPAqMkQAAMDzCIgAAIDnORoQLV26VJo3by6FCxc2tTNffvllvPv1toROw4YN829TsmTJy+4fMmRIvOdZv369WRYjY8aMUqxYMRk6dKi4Tf9+/eTOO+/0DZ0BAADvBEQnT56U6tWry6hRoxK8f//+/fFO48aNMwFPq1at4m03cODAeNv16NHDf58uhdGkSRMpUaKErF271gRTAwYMkDFjxoibaoh03+bNmyd79+51dJcAAPAiR4uq77rrLnNKTMGCBeNdnzFjhjRq1EhKly4d7/Zs2bJdtq1t4sSJZjkMDaZ0eYzKlSvLunXrZMSIEdKlSxdxC6bdAwDgnJCpITpw4IDMnj1bOnXqdNl9OkSWJ08eqVGjhskABfbyWbVqlTRo0MC/Vphq2rSpbNmyRY4cOZLgzzp79qzJLAWe0iogojEjAABpL2Sm3U+YMMFkgu677754tz/99NNyww03SO7cuWXlypXSt29fM2ymGSAVExMjpUqViveYAgUK+O/LlSvXZT9r8ODB8uqrr0paiqAxIwAAjgmZgEiHvNq0aWMKowP16tXLf7latWomE/TEE0+YoCY6OjpFP0uDqsDn1QyRFmMHHUt3AADgCiEREC1btswMcU2ZMuWq29auXdsMme3YsUPKly9vaot0uC2QfT2xuiMNpFIaTKUUNUQAADgnJGqIPvroI6lZs6aZkXY1WjCdPn16yZ8/v7let25dM70/NjbWv82CBQtMsJTQcJlTMqRPb2bQxcXFOb0rAAB4jqMB0d9//20CGD2p7du3m8u7du2KN1w1depUefzxxy97vBZMv/322/Lzzz/LH3/8YWaU9ezZU9q2besPdlq3bm2G0bQYe+PGjSbLNHLkyHhDYo4JGDIbP368CYaeffZZR3cJAAAvcnTIbM2aNWYavc0OUtq3b28CBDV58mSxLEseeeSRyx6vw1p6v/YV0plhWjytAVFgsJMjRw6ZP3++dOvWzWSZ8ubNK/3793fVlHvFoq4AADgnnaXRBq5Is1QaWB07dkyyZ88evKP199/aRMl3+dQpkUyZ+EsAALxl3TqRGjVEChcWCXJz4uR8fodEDZEXfDxunOnArRkvAACQtgiIXFJDpOutTZs2TTZt2uToLgEA4EUERC5Bp2oAAJxDQOQSERG++vbAZUcAAEDaICByCXvpDtYyAwB4iuWOuV0ERE5KYOkOMkQAAK9/JjqBgMglWNwVAADnEBC5JBpmLTMAAJxDQOQSz/XqJadOnZL33nvP6V0BAMBzQmK1ey9kiHS9NTpVAwA8x6KoGi58QQAA4AiKqj0s4I+/aNEiadeunbz77ruO7hIAAF5EDZFLbNu6Vf7v//5PlixZ4vSuAADgOQREbpllRh8iAAAcQ0DkEpEXO1XTmBEA4CmWO2poCYhckiFKn973pyAgAgB4Ujo6VYOlOwAAcBQZIpdgcVcAAJxDQOQkFncFAMAV6FTtEk3uuEMOHTok0dHRTu8KAACeQ0DkkgxRxowZJWPu3I7uDgAAaY5ZZnDjCwIAAEcwy8zDAv74W7dula5du8qAAQMc3SUAALyIomqXOHjggIwePVqmTJni9K4AAOA5BERuWbqDTtUAADiGgMglIi+uZRYbG+v0rgAA4LkaWgIil2SIMmXMaM5PnTrl4A4BAOAQiqqhMmXKZM5PnjzJAQEAeIdFhggBsmTO7M8QWS55cQAAkGbIEHncxReAPWSmTp8+7eAOAQCQ+jp27Ch33nmn/P7bb+IGdKp2Q0BkWSZDtG3bNsmcObPpWg0AQDhbtmyZ6cF38t57XZEhIiBy2sUXgP5bunRpp/cGAIA0MXDgQDly5IgUK1ZM3ICACAAApLlHHnnEd2H1anEDpt07zU4RWpb85z//kR49esj27dud3isAANIWQ2YeFxAQjR8/XjZv3iytWrWSUqVKOb1nAACkmsWLF5tZ1XVFxA2Vs2SIXBQQZcmSxVykFxEAINzde++9ctttt8mBAwd8N3h52v3SpUulefPmUrhwYUmXLp18+eWX8e7v0KGDuT3wpFP0Av3111/Spk0byZ49u+TMmVM6deokf//9d7xt1q9fL/Xr1zezt7R4a+jQoeI6AQER3aoBAOHu/Pnz5jzi4lqeTnM0INJMSPXq1WXUqFGJbqMB0P79+/2nzz77LN79Ggxt3LhRFixYILNmzTJBVpcuXfz3Hz9+XJo0aSIlSpSQtWvXyrBhw2TAgAEyZswYcYWAiFin3CsyRAAArwREGeyAyMs1RHfddZc5XUl0dLQULFgwwft+/fVXmTt3rvzwww9Sq1Ytc9u7774rzZo1k+HDh5vM08SJE+XcuXMybtw4iYqKksqVK8u6detkxIgR8QInxzBkBgDwoPNkiJJfdJU/f34pX768PPXUU3L48GH/fatWrTLDZHYwpBo3bizp06eX7777zr9NgwYNTDBka9q0qWzZssX0P0jI2bNnTWYp8JRqCIgAAB5jWZbrMkSuLqrW4bJPPvlEvv32WzMlfcmSJSajdOHCBXN/TEyMCZYCRURESO7cuc199jYFChSIt4193d7mUoMHD5YcOXL4T2nSNIoaIgCAR8TFxfkvZ0jvjlDE1Y0ZH374Yf/lqlWrSrVq1aRMmTIma3T77ben2s/t27ev9OrVy39dM0SpFhQFZIhefvll6dmz52VBHgAA4SQ2NtZ/2S0ZIlcHRJfSpS3y5s1r1j7RgEhriw4ePBhvG03B6cwzu+5Iz/1T+i6yrydWm6R1S3pKEwEvAK15AgAg3GXIkMHU8upndnRASYuT3JGnSqI9e/aYGqJChQqZ63Xr1pWjR4+a2WO2hQsXmlRc7dq1/dvozLPAaFRnpGlNUq5cucRxARkiAAC8IDIy0oyIvPDCC6bURbxeQ6T9gnTGl56ULlmhl3ft2mXu0wO1evVq2bFjh6kjuueee6Rs2bKmKFpVrFjR1Bl17txZvv/+e1mxYoV0797dDLXZ2ZbWrVubgmrtT6TT86dMmSIjR46MNyTmCpYla9askZdeesl0rAYAwBMslyQELActWrRIj8Jlp/bt21unTp2ymjRpYuXLl8+KjIy0SpQoYXXu3NmKiYmJ9xyHDx+2HnnkEStr1qxW9uzZrccee8w6ceJEvG1+/vln65ZbbrGio6OtIkWKWEOGDEnWfh47dszsl54HXbZs+lKwrN9+s8aNG2d+TrNmzYL/cwAAcIkzZ85YK1assL7//nvLWrLE9zlYoULQf05yPr8drSFq2LChmXqXmHnz5l31OXRG2aRJk664jRZjL1u2TFwpYMiMxowAAC+IiYmRevXqmRUkTs+dK24QUjVEYSmBPkQs3QEACGexF+t6tZbIP2Tm5Roi6F/g4p/AsiRTpkzm4unTpzk0AICwFUtAhMvYEXFcnH/IjAwRACCcxRIQ4UoZIjsgIkMEAAhnsQREuFINkT1kRoYIAOCFgCjC7kEUap2qtQO0zupC6gyZlShRwjSZtIurAQDwTIbIYckKiLTZYcuWLU2TwzvuuCP19sqjQ2a6XMgNN9zg9B4BAJCqNAEwaNAgX6lIKM4y+/DDD+XQoUOmO3TJkiVlwIABpos0gpMhAgDAC4oXL24WUn/mmWdCMyB69NFHzRIaurhq+/btZcKECWYpDc0W6ZIY586dS7099UCGSA0ZMkT69esnx48fd3a/AABIC6EYENlKlSolr776qll7bO7cuZI/f37p2LGjWXT16aefDv5ehrNLFnfV4/r666+bei0AAMLR7t275aeffpKDBw+GdkAUqHHjxjJx4kT55JNPzPVRo0YFY7+8lyG6OGTG1HsAQLgbPXq0qZl94403wiMg2rlzp6kj0ozRQw89ZH45DY6Q8gwRzRkBAOHu6NGj5jxHjhyuCYiSvbjr2bNn5YsvvpBx48bJ4sWLpUiRItKhQwd57LHHTKE1ri1DxPIdAIBwd+zYMXOeM2fO0AyIunbtKpMnTzaNA++55x75+uuvTUF1Ood/iZBGhggA4NGAKEeoZoiWL18ur7zyirRt21by5MljbrMsy5wIioIzy4xu1QAArwyZ5XRRhihZNUTr1683PQM0GProo4+kSpUqkjFjRnPSy2PHjk29PfVIHyKKqgEA4e5YqGeIbP3795cRI0ZIjx49pG7duua2VatWSc+ePWXXrl0ycODAYO+nZ4bMRo4cKWfOnJEyZco4u18AAKRFQHTyZOgGRDpdTrtWP/LII/7bWrRoIdWqVTNBEgFRyouqNdMGAEA469atm5w4ccIs4SF794ZuQKSLstWqVeuy22vWrCnnz58Pxn55NkMEAEC469Onzz9XQrkPkS7hoVmiS40ZM0batGkTjP3ybFG1tjIYOnSoOQcAIOxZVuhmiJQWVc+fP1/q1Kljrn/33Xemfqhdu3bSq1cv/3Zaa4QrsF8AFy6Ys9mzZ8vw4cPlueeek4YNG3LoAABhZ+PGjRIREWHqZSNCOSD65ZdfTFdqtW3bNnOeN29ec9L7bEzFT4IMGXznF18QZgpiwJREAADCiWVZ/npZXcssnx0Q2SMmoRQQLVq0KPh74lX2C+BihihXrlzm/MiRI07uFQAAqSKw1lizRPakIqcDImd/Ov7JEF18QdgBERkiAEC4B0SRkZH/BEShWFSN1Jt2bw+ZkSECAHgiQ2S5Y8iMgMhpDJkBADwkNjbWf5khM1x1yIwMEQAg3DNEGfQz0CVDZimedo/UyRAVL15cFixYILlz5+YQAwDCNiCKiIjwzUZ3SVE1AZHLMkS62n3jxo2d3ScAAFKJLmL+/PPPm+n3hktqiAiIXJYhAgAgnOXMmVOGDRv2zw0uyRBRVO2yDJH67LPPzPIde/bscW6/AABIC9QQIbEM0aBBg/zdwIsWLcqBAgCEjWPHjsmhQ4fM6ham1YxLhszIELkwQ8TyHQCAcDV79my57rrrpFWrVr4bGDJDQo0ZFVPvAQDh6sjFpanszzq3DJmRIXLhkBnLdwAAPBMQWQyZ4SpDZjRnBACEm6NHj8b7rGPITESWLl0qzZs3l8KFC5vmTF9++WW81t59+vSRqlWrSpYsWcw27dq1k3379sU7sCVLljSPDTwNGTIk3jbr16+X+vXrS8aMGaVYsWJmBlcoZIgIiAAA4eYIQ2aXO3nypFSvXl1GjRp12X2nTp2SH3/8Ufr162fOp02bJlu2bJEWLVpctu3AgQNl//79/lOPHj389x0/flyaNGkiJUqUkLVr15reBwMGDJAxY8aIWzNEDJkBAMI9Q5TLZUNmjjZmvOuuu8wpITly5DBLWAR677335KabbpJdu3aZJS5s2bJlk4IFCyb4PBMnTpRz587JuHHjJCoqSipXrizr1q2TESNGSJcuXcSNGaKWLVtKlSpVTDYLAIBwzBDlZMjs2noX6JCY/yBepENkefLkkRo1apgMUODCcatWrZIGDRqYYMjWtGlTk21KbEjq7NmzJrMUeErLDJFms26//XYpV65c6v1cAAAccN9998lTTz0lFStWdNUss5BZuuPMmTOmpuiRRx6R7Nmz+29/+umnTQNDXQx15cqV0rdvXzNsphkgFRMTI6VKlYr3XAUKFPDf50/ZBRg8eLC8+uqrkiZYugMA4CHdu3ePf4NL+hCFRECkBdYPPvigWQhu9OjR8e7r1auX/3K1atVMJuiJJ54wQU10dHSKfp4GVYHPqxmiVBu+ioi4bMjsxIkTMnnyZFNj9eyzz6bOzwUAwA0uXIg/YuKQiFAJhnbu3CkLFy6Mlx1KSO3atc2Q2Y4dO6R8+fKmtujAgQPxtrGvJ1Z3pIFUSoOpFAdEAcN8GghpfZMOD2oGLL3DUTMAAMEQFxcnf/zxhxmd0ZEd/ZxzS0CUPhSCod9//12++eYbUyd0NVowrQFE/vz5zfW6deua6f36XDYt1tZgKaHhsjRnvwACAiJ9kSjNiNnV+AAAhLqjR4+aZTt0HTN/vS8Bkcjff/9tAhg9qe3bt5vLOotMA5j7779f1qxZY2aKXbhwwdT86ElnjdkF02+//bb8/PPPJuLU7Xr27Clt27b1BzutW7c2w2idOnWSjRs3ypQpU2TkyJHxhsQclUCGSPc3a9as5vLhw4ed2jMAAILKnsyk/QUjIyNdFRA5OmSmwU6jRo381+0gpX379qZX0MyZM83166+/Pt7jFi1aJA0bNjTDWlpro9vqzDAtntaAKDDY0en78+fPl27duknNmjVNVNq/f393TLlPpIZIaTZMA8a//vrLmf0CACC1mzIqAiIxQY0OCyXmSvcpnV22evXqq/4BtNh62bJl4koJZIjsYTOtmyJDBAAIF0dcHBC5uobIExIJiOx6KTJEAIBwcYSACCkNiMgQAQDCxREXB0Sun3Yf9hKYZaZ69+4tnTt3/qeTJwAAIe4IARGSmyHS+igAAMJJjRo1zLId2hLHjwwRrjTLDACAcNO0aVNzioeACFfKEOkMs3nz5pnO3A8//DAHCwAQni64o4aIWWYuDYh++eUXsybb8OHDndkvAACCTBdf18lC2mzZj4AIV+tDpJhlBgAIF82bNzcNkufMmfPPjQREuNIsM6bdAwDCzdGL63PmzJnznxsJiJCUPkQnTpyItzAtAAChys3T7qkhcuksM42e06VLZy7TrRoAEOosy/JniAiIkOQMUYYMGfwpReqIAACh7sSJExIXF2cuM2SGJAdEgcNmf/75J0cOABDSjl7MDkVFRUmmTJlcN2TG0h1uCYjOnbvsrpEjR0qWLFlMZ08AAMKlfijdxZKQeAkBAiKPy5jRd3727GV3NWvWLO33BwCAVKCNhnXZjoz2557NnjgUFSVOIkPktOjoRAMiAADCRalSpeT999+//A47IIqMFCcREDnNjpTPnLnsrgMHDsjMmTNNR88nn3wy7fcNAIDUZpeMOJwhYtq9izNEup5Zly5d5LXXXkv7/QIAIIh0xrROEtLp927MEBEQuTggKlOmjDnft2+fnD59Oq33DACAoBk8eLDky5dPevfu7coaIgIiFw+Z6XpmWoSmtm/fntZ7BgBA0Ozdu9ecFypUKOEhMzJEHneFDJFOS7SzRH/88Uda7xkAAEEPiIoUKRL/DobMcLUMkSpdurQ537ZtGwcMABB+AdE5iqoRmCHSduYJdKsmQwQACHWWZZEhQhIDokSyRHZARIYIABDKXarPXiwNKVy4sCuHzOhD5KaASF8sWbPGu/vuu++WhQsXSrly5dJ+3wAACOJwWd68eSU68HPPRUNmBERuWMtM12/Rxe0SKKzWsdbLxlsBAAghWbNmlR49ekiEvX5nIDJEiFdYffJkooXVAACE+rId77zzTsJ3uiQgog9RCKxn9sUXX8i///1v2bRpU9ruFwAAqY0hMyR16v1///tfWbBggVx33XVSqVIlDhwAIORqiKKiokwNkfbY89NyEZ1lrcgQ4WoZIqbeAwBCWbt27SR//vwyYcKEhIfLFEt3wB8Q0ZwRABCGNm7caM4vG+UIDIjIEME/ZHaVDNHWrVs5WACAkFvl/sCBA+YyARGuLFMm3/mpUwneXbFiRXOuRdVx9lgrAAAhlB0qUaKEmX4fj50ISJ/e14LGQcwycwP7BfL33wnercXUGTNmlJMnT9KxGgAQkgFR5cqVL7/TTgRkzqwrmouTCIjcIFs23/mJEwnerY2sqlatai6vX78+LfcMAIC0CYgcRqfqEAiI1NixYyVXrlxStGjRtNsvAAA8EhA5miFaunSpNG/e3Cz0pn0Jvvzyy8tWx+3fv78UKlRIMmXKJI0bN5bff/893jZ//fWXtGnTRrJnzy45c+aUTp06yd+XDD1pVqV+/fpm2KlYsWIydOhQCbWAqFq1ambf4/VvAADA5Tp16iTdu3eX2rVrX37n6dO+c68HRFoTU716dRk1alSC92vgoq2+P/jgA/nuu+8kS5Ys0rRpUzkTMD1dgyGNPrVx4axZs0yQ1aVLF//9x48flyZNmphirrVr18qwYcNkwIABMmbMGAmlgAgAgFDUtm1beffdd6VChQqJZ4jsyUVOslxCd2X69On+63FxcVbBggWtYcOG+W87evSoFR0dbX322Wfm+qZNm8zjfvjhB/82c+bMsdKlS2ft3bvXXH///fetXLlyWWfPnvVv06dPH6t8+fJJ3rdjx46Zn6PnqWLQID0AltWxY6Kb6PEYOHCgde+991p//vln6uwHAABpaepU3+df/fqp8vTJ+fx2bVH19u3bJSYmxgyT2XLkyGFSbqtWrTLX9VyHyWrVquXfRrdPnz69ySjZ2zRo0MC0DLdplmnLli1y5MiRBH/22bNnTWYp8JQms8yukCHSoTLt8Dl9+nT5+eefU3d/AAAIgs2bN5vP4xOJfb5RQ3R1GgypAgUKxLtdr9v36bm2Ar90Rlbu3LnjbZPQcwT+jEsNHjzYBF/2SWt33DBkpsOLat26dam7PwAABIGWxNSpU0def/31hDcgIHK3vn37yrFjx/yn3bt3uyIguv766805GSIAQCiIuZh4SDSxQEB0dQULFjTndrtvm16379PzgwcPxrv//PnzZuZZ4DYJPUfgz7hUdHS0mbUWeEpVZIgAAGHoyMXSFG0bkyACoqsrVaqUCVi+/fZb/21ay6NjkXXr1jXX9fzo0aNm9pht4cKFZnkLe3qfbqMzz2IDFpDTGWnly5dP/A+U1uyAKJFO1ZdmiH799Vc5d+5cWuwZAAAppgkKpaUsCXLRLDNHi6q1X5DWw9g1MVpIrZd37dplioifffZZM+44c+ZM2bBhg7Rr1870LGrZsqV/ja8777xTOnfuLN9//72sWLHC9Dp4+OGHzXaqdevWpqBa+yDo9PwpU6bIyJEjpVevXuIaScwQacpRi8g1uNN1zQAACOkM0Wn39CFytFP1mjVrpFGjRv7rdpDSvn17GT9+vPTu3dv0KtK+QpoJuuWWW2Tu3LmmwaJt4sSJJgi6/fbbzeyyVq1amd5FNi2Knj9/vnTr1k1q1qwpefPmNc0eA3sVOS4Js8yUBomaJVq9erWpa7IzRgAAhHSGKLPzAVE6nXvv9E64nQ7VaWClBdapUk90+LBI3ry+yzq0F5F4nHro0CETaetsOgAA3OrChQv+zyqt982XL9/lGz36qMinn4oMHy7y3HOOfn7zqeqmITM7S3SF2qYEX1AAALgwIBo2bJgZNtNyD7dniAiI3ECbRupJC6WvEhABABAKoqKi5Pnnn7/yRi4KiFzbqdpzkjjTTEc4O3bsKFWrVjXF5wAAhKxTBES4lD22eezYVQur169fL7/88ossWbKE4wgAcKU///zTzAC/4pf3kyd952SI4GfXBl3SaDIhuhabmjNnDgcQAOBKCxYsMD0BO3TokPhG9pqiLigVYcjMLeyu2YmsrxZIey8pbSegRWsAALjNH3/8Yc4vXU80novT8iWxaflpiIDIbQHRJcuMJEQXytPpg4cPH47XpRsAALdYtGiROdceggnSL/RHj/ouExDBz46gk5AhioyMlMaNG5vLDJsBANzmzJkzZvUIddttt115uEwRECElQ2bqrrvuMufauRsAADdZtWqVCYoKFSokFSpUuPJwmU4qckGzYYbMQnDIzK4jKlu2rClYo9k4AMBNvr24MLtmh3R2tNvrh5TzIRmSPWSmihYtKr///jtHDwDgOgsXLjTnus5oogiIEIwhMwAA3Oqjjz4yWSK7TcwVA6I8ecQNyBC5LUOkXTu1W3XWrEl62Llz52T16tWmij99ekZAAQDOq1ixojlddWFzFw2Z8QnqFhoAZcmSrCxRXFyclCxZUm699Vb5+eefU3f/AAAIJpcNmREQhfCwmWaEatWqZS4z2wwA4Aa9e/eWDz/8UI5dZSkqAiIEbaZZYNdqAiIAgBvWLxs2bJh06dLFTLu/IpfVEJEhCuGZZoEB0cqVK68ejQMAkAazy6pUqXLlJTsUNUQI5kyz0qVLS7ly5eT8+fP+vg8AADjhq6++MudNmjS5+sbUECGYQ2aKYTMAgNNiY2Nl9uzZ5vI999xz9QcwZIZgDplduowHXasBAE5Yvny5HDlyRPLkySM333xzyGWI6EMUBs0Zddr966+/7s8UAQCQ1mbMmGHO//Wvf0nE1dYmc9lK94qAyE2KFvWd79iRrIdlypRJXnrppdTZJwAAkjjDTNvBJGm4TEtDLEskQwbXBETMMnOT8uVFdBG8Q4d8JwAAQsSnn34qMTEx/jKOK9q2zXdevLgrVrpXBERuop2qS5XyXd64MUXjtw888IBMmjQp+PsGAMBV5MuXTzJmzJj0gKhMGXELAiK3qVzZd/7LL8l+6NKlS+V///ufvP/++8HfLwAAEnHUrgdKKgIiXFWVKinOED322GOSIUMGWbFihWxMweMBAEiuvXv3St68eaVhw4Zm6n2SEBAhyRmiFAQ0hQoVkubNm5vLuo4MAACpbebMmXLhwgU5d+6cREZGJi8gKltW3MIdlUxIeMhMK/C1yDoZdP2YL7/8Uj755BMZMmRI0sZyARfSN9gkf9sMMfqhodlcIFwCItWiRQtJMhdmiNJZdPK7quPHj0uOHDnMWmHZs2dP3b+ILoanxdVxcSL79mnaJ9kfIrqcx65du0zFf5s2bVJtV4HUoG9JOlMl2TUJISZnzpxSsGBBSZfMLz2A26baFy5c2Hx52bRpk1SsWPHqD9L/27ly+S6fOCGSNasrPr/JELmNZnQ0hfjbb75hs2QGRPqt8/HHH5f+/fvLmDFjCIgQcuxgKH/+/JI5c+awCxg04Dt16pQcPHjQP9QNhKrPPvvMBEM1a9ZMWjAUmB3S1RlSMRhKLgIitw6baUCkw2aNGyf74R07dpSpU6fKvffea958w+0DBeFLM5x2MKTt/8OVNlNVGhTp78rwGULVxx9/bM47dOgQ0sNlioDIrTPNpk9PUWG1KlKkiKxfvz7ouwWkNrtmSDND4c7+HfV3JiBCKPr555/lp59+MjVxjzzySNIfSECEtOhFBIQDL2Q1vfA7IryVLVtWJkyYIDt27EheRpeACMnuRbRpU4pmmtm0TuHzzz+XokWLSuMUDL0BAJCYLFmySLt27STZXBoQ0anaja67zre2y/HjInv2pPhp3nzzTdOscdCgQUHdPSAUlCxZUt5++22ndwPApbZudV0PIkVA5EZRUSLlyl3zsFn79u3NysOLFi2S37RIGwCAIHjhhRdkxIgR8tdffyW/tczevb7LZIiQ2kt42IoXL+5fdXjs2LEceADANTt48KDJvj733HOyf//+5D14+3ZfKUi2bCJ587rqr5E+FNLeWnx46albt27mfl075dL7nnzyyXjPoU0K7777bjOrQ6e4amR7/vx58UJhtXauVh999JFpTAWEC/2/3717d3PSxmu6llK/fv1Mq4nAOjptQ5EtWzbzBUF7cwXq06ePlCtXzrw3aENTfXxgd2ydRdOoUSPzeG3qpr1W1qxZ479/+fLlUr9+fTONvlixYvL000/LyZMn0+gIAM6YNGmS+Qy98cYbpbL9WZWS+iGXTSxwfUD0ww8/mAjUPi1YsMDc/sADD/i36dy5c7xthg4dGq+viQZDusbKypUrTUX8+PHjTeNCV6tZ03f+zTe+rtUp1KxZM6lQoYJJaw4bNix4+we4gP5/joiIkO+//15GjhxpUviB2VCto6tVq5aZGty1a1d56qmnZMuWLf77NdDR9wPtsKuP1zUA33rrLf/92uldJyXo+9DatWvlxRdf9K/VtG3bNrnzzjulVatWps3FlClTTICkARoQzsaPH5/83kO2777znVeqJK5jhZhnnnnGKlOmjBUXF2eu33rrrea2xHz99ddW+vTprZiYGP9to0ePtrJnz26dPXs2wcecOXPGOnbsmP+0e/du/cppLqeZ06ctK3t2/a5rWUuXXtNTTZs2zex/pkyZrH379gVtF4FgO336tLVp0yZzfjX6f79ixYr+9wLVp08fc5sqUaKE1bZtW/99ul3+/PnN///EDBs2zKpZs6b/erZs2azx48cnuG2nTp2sLl26xLtt2bJl5v0mKfufnN8VcItVq1aZz5OoqCjr8OHDyX8C/f+ln2sTJlhpQT+3k/r57foMUSDN8uj6XJoCD+zhMXHiRJMur1KlivTt29ekyW2rVq2SqlWrSgFtEX5R06ZNzfomGxOpzxk8eLBJwdsnTYU7soTHvff6Lk+efE1P1bJlS6lTp47cdtttckYL2oAwoa/rwPeCunXryu+//24yw6patWr++3Q7XTvMXjJDaVanXr165vasWbPKyy+/bIbYbb169TJL4WjbCl0sWbNCgcNp+k1ZH2ef9L0lLi5OtmudBBBmLMsy/yfs7Gnu3LmT9wT6f2/tWt/lJk3EbUIqINJV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SfZU+Cy8WmbIRlE1AADwPAIiAADgeQREDouOjpZXXnnFnIPjHOp4PXOsww2vae8cZ4qqAQCA55EhAgAAnkdABAAAPI+ACAAAeB4BEQAA8DwCojQwatQoKVmypGTMmFFq164t33///RW3nzp1qlSoUMFsX7VqVfn66689/0IN9nH+8MMPpX79+pIrVy5zaty48VX/LkjZ69k2efJk0+m9ZcuWHMogv57V0aNHpVu3blKoUCEzU6dcuXK8d6TSsX777belfPnykilTJtNduWfPnnLmzBle14lYunSpNG/e3HSL1veAL7/8Uq5m8eLFcsMNN5jXctmyZWX8+PGS6iykqsmTJ1tRUVHWuHHjrI0bN1qdO3e2cubMaR04cCDB7VesWGFlyJDBGjp0qLVp0ybr5ZdftiIjI60NGzbwlwricW7durU1atQo66effrJ+/fVXq0OHDlaOHDmsPXv2cJyDeJxt27dvt4oUKWLVr1/fuueeezjGQT7OZ8+etWrVqmU1a9bMWr58uTneixcvttatW8exDvKxnjhxohUdHW3O9TjPmzfPKlSokNWzZ0+OdSK+/vpr66WXXrKmTZumK6xa06dPt67kjz/+sDJnzmz16tXLfA6+++675nNx7ty5VmoiIEplN910k9WtWzf/9QsXLliFCxe2Bg8enOD2Dz74oHX33XfHu6127drWE088kdq76qnjfKnz589b2bJlsyZMmJCKe+nN46zH9uabb7bGjh1rtW/fnoAoFY7z6NGjrdKlS1vnzp1L3h8UyT7Wuu1tt90W7zb94K5Xrx5HMwmSEhD17t3bqly5crzbHnroIatp06ZWamLILBWdO3dO1q5da4ZjAtdF0+urVq1K8DF6e+D2qmnTpoluj5Qd50udOnVKYmNjJXfu3BzSIL6e1cCBAyV//vzSqVMnjm0qHeeZM2dK3bp1zZBZgQIFpEqVKjJo0CC5cOECxzzIx/rmm282j7GH1f744w8zNNmsWTOOdZA49TnI4q6p6M8//zRvSPoGFUivb968OcHHxMTEJLi93o7gHedL9enTx4xvX/qfENd2nJcvXy4fffSRrFu3jkOZisdZP5QXLlwobdq0MR/OW7dula5du5ogX7v/InjHunXr1uZxt9xyi1lJ/fz58/Lkk0/Kv//9bw5zkCT2OXj8+HE5ffq0qd1KDWSI4HlDhgwxBb/T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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_frame(df, **kws) -> None:\n", " (\n", " df\n", " .reset_index()\n", " .set_index([\"molfrac\", \"phase\"])\n", " .assign(pV=lambda x: x[\"betapV\"] / x[\"beta\"])[\"pV\"]\n", " .to_xarray()\n", " .plot(hue=\"phase\", **kws)\n", " )\n", "\n", "\n", "plot_frame(\n", " spin1\n", " .reset_index(\"sample\")\n", " .to_dataframe()\n", " .query(\"component==0 and spinodal==phase\")\n", " .dropna(),\n", " ls=\"--\",\n", " color=\"k\",\n", ")\n", "plot_frame(\n", " bino1.reset_index(\"sample\").to_dataframe().query(\"component==0\").dropna(), color=\"r\"\n", ")" ] } ], "metadata": { "celltoolbar": "Tags", "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.13.14" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 5 }