{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Specifying Desired Nuclei to Construct a Network" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `Library` class in `pynucastro` provides a high level interface for reading files containing one or more Reaclib rates and then filtering these rates based on user-specified criteria for the nuclei involved in the reactions. We can then use the resulting rates to build a network.\n", "\n", "This example uses a Reaclib snapshot downloaded from:\n", "\n", "https://groups.nscl.msu.edu/jina/reaclib/db/library.php?action=viewsnapshots." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reading a rate snapshot\n", "\n", "The `Library` class will look for the library file in the working directory or in the `pynucastro/library` subdirectory of the `pynucastro` package.\n", "\n", "When the constructor is supplied a file name, `pynucastro` will read the contents of this file and interpret them as Reaclib rates in either the Reaclib 1 or 2 formats. The `Library` then stores the rates from the file as `Rate` objects." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [], "source": [ "%matplotlib inline\n", "import pynucastro as pyna" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [], "source": [ "library_file = '20180201ReaclibV2.22'" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [], "source": [ "mylibrary = pyna.rates.Library(library_file)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying Desired Nuclei\n", "\n", "This example constructs a CNO network like the one constructed from a set of Reaclib rate files in the \"pynucastro usage examples\" section of this documentation.\n", "\n", "This time, however, we will specify the nuclei we want in the network and allow the `Library` class to find all the rates linking only nuclei in the set we specified.\n", "\n", "We can specify these nuclei by their abbreviations in the form, e.g. \"he4\":" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [], "source": [ "all_nuclei = [\"p\", \"he4\", \"c12\", \"n13\", \"c13\", \"o14\", \"n14\", \"o15\", \"n15\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we use the `Library.linking_nuclei()` function to return a smaller `Library` object containing only the rates that link these nuclei.\n", "\n", "We can pass `with_reverse=False` to restrict `linking_nuclei` to only include forward rates from the Reaclib library, as pynucastro does not yet implement partition functions for reverse rates." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [], "source": [ "cno_library = mylibrary.linking_nuclei(all_nuclei, with_reverse=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can create a network (`PythonNetwork` or `StarKillerNetwork`) as:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [], "source": [ "cno_network = pyna.networks.PythonNetwork(libraries=cno_library)" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "nbval-skip" ] }, "source": [ "In the above, we construct a network from a `Library` object by passing the `Library` object to the `libraries` argument of the network constructor. To construct a network from multiple libraries, the `libraries` argument can also take a list of `Library` objects.\n", "\n", "We can show the structure of the network by plotting a network diagram." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [ { "data": { "image/png": "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\ntre3Yq3pegHjT0ZpQYWJDrcRY2aYk3+2qfuDZdkvYcTM6Ia6LGiiJFNkm/y1ZBvZzIxmCQk1hAXj\nsghbJwOB+WOaDe1YFQJll4qlpe17f5xzk9tLW8490PP9nHufj+Tk5Pv93pvzSj5N7+t8zud8vtKK\nY2nV2HjZhik2T092HeO0Zqcn/RKWJElngKVVYyMJF22f6TrGae3ePuNWV5IknQGWVo2Vuc3TnLtl\nurm1rQtrWec2T3cdRZKkFcnSqrFz6dwsU43dbWpq7RoumdvcdQxJklastv7ySwNYt3aCy86Z7TrG\nCS47Zwvr1rpjgCRJZ4qlVWNpbnZ9M+tbL94+w9ysywIkSTqTLK0aWzu3bWTnto2dZ7ig4wySJK0G\na7sOIA1rYTeByYk13Pe/8yN//Yu3z7DzFd4uWJKkUbC0aqwlYecrNjGzbpJ7fnCAI0ePn9EbEITe\nl64uO2eLSwIkSRohS6tWhLnZabZu3MbefU/y/QOHztjrnLtlPZfObeYsv3QlSdJIpar1G2MOLskm\nYH5+fp5Nm/zYdrXa9+Qh7t8/z/8depbAC5p5Xfj9zdOTXLR9xn1YJUl6cSx7y3VnWrXizM1Os2Pz\nOh5/+gjfeezHPHzgJxSQwCDv0RaK6prAubPred3Wl3D2hinvdCVJUoecadWK98yzx/jRwcM88ZMj\nPP5073H0+HP/3a9dE87eMMXZG6Z46foptm08i3WTLgOQJOkMWPZMkKVVq05V8czR4xw7XhyrYiJh\nYk1Yt3aNs6mSJI2GywOk55OEaWdQJUkaK95cQJIkSc2ztEqSJKl5llZJkiQ1z9IqSZKk5llaJUmS\n1DxLqyRJkppnaZUkSVLzLK2SJElqnqVVkiRJzbO0SpIkqXmWVkmSJDXP0ipJkqTmWVolSZLUPEur\nJEmSmmdplSRJUvMsrZIkSWqepVWSJEnNs7RKkiSpeZZWSZIkNc/SKkmSpOZZWiVJktQ8S6skSZKa\nZ2mVJElS8yytkiRJap6lVZIkSc2ztEqSJKl5llZJkiQ1z9IqSZKk5jVVWpNcnuT2JPuTVJJ3d51J\nkiRJ3WuqtAIbgAeAa7oOIkmSpHas7TrAYlV1B3AHQJKO00iSJKkVTZXW5UpyFnDWolMbAZ566qlu\nAkmSJOl5zczMbAIOVlUN+jtjXVqB64E/WXpyx44dHUSRJEnSgOaBGWDgmcYso+COVJICrqqq207z\n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\nSUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cno_network.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that the above network also includes the triple-alpha rate from Reaclib." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we wanted to generate the python code to calculate the right-hand side we could next do:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [ "nbval-skip" ] }, "outputs": [], "source": [ "cno_network.write_network('network_module.py')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And we could run this together with the burn driver program in `examples/burn.py`" ] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }