diff --git a/examples/eg01-eg23.ipynb b/examples/eg01-eg23.ipynb new file mode 100644 index 0000000..96cc401 --- /dev/null +++ b/examples/eg01-eg23.ipynb @@ -0,0 +1,1278 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9eb7092c", + "metadata": {}, + "source": [ + "# Analysis of EG01-EG23 Cyclus scenario with Cymetric\n", + "Cymetric provides a python-based way to interact with your Cyclus SQLite \n", + "output file. There are various \"metrics\" in Cymetric, which pull data from \n", + "different tables in the output, and other metrics that combine tables \n", + "to produce other metrics. \n", + "\n", + "The analysis problems explored in this workshop include:\n", + "* Visualizing the fuel cycle modeled in the scenario\n", + "* Plotting the number of reactors deployed against the \n", + " amount of electricity generated\n", + "* Plotting the amount of fresh fuel sent to each reactor prototype" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "78beaf5e", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/root/.local/lib/python3.12/site-packages/matplotlib/projections/__init__.py:63: UserWarning: Unable to import Axes3D. This may be due to multiple versions of Matplotlib being installed (e.g. as a system package and as a pip package). As a result, the 3D projection is not available.\n", + " warnings.warn(\"Unable to import Axes3D. This may be due to multiple versions of \"\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import cymetric as cym # Use an alias for cymetric\n", + "from cymetric import graphs" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "eaf171f4", + "metadata": {}, + "outputs": [], + "source": [ + "# Open the output file with Cymetric\n", + "database = cym.dbopen('eg01-eg23.sqlite')\n", + "# Define the Evaluator Object \n", + "eg23_evaluator = cym.Evaluator(database, write=False) #Don't write metrics to the database" + ] + }, + { + "cell_type": "markdown", + "id": "0bec5952", + "metadata": {}, + "source": [ + "## Visualize the fuel cycle scenario" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "fede20a3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/svg+xml": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "G\n", + "\n", + "\n", + "cluster_24\n", + "\n", + "USA\n", + "\n", + "\n", + "cluster_25\n", + "\n", + "Initial_Facilities\n", + "\n", + "\n", + "cluster_34\n", + "\n", + "LWR_Institution\n", + "\n", + "\n", + "cluster_35\n", + "\n", + "SFR_Institution\n", + "\n", + "\n", + "\n", + "26\n", + "\n", + "Mine\n", + "\n", + "\n", + "\n", + "28\n", + "\n", + "Enrichment\n", + "\n", + "\n", + "\n", + "26->28\n", + "\n", + "\n", + "natl_u \n", + "\n", + "\n", + "\n", + "27\n", + "\n", + "Waste_Repository\n", + "\n", + "\n", + "\n", + "28->27\n", + "\n", + "\n", + "tailings \n", + "\n", + "\n", + "\n", + "29\n", + "\n", + "SFR_Mixer\n", + "\n", + "\n", + "\n", + "28->29\n", + "\n", + "\n", + "tailings \n", + "\n", + "\n", + "\n", + "36\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->36\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "37\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->37\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "38\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->38\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "39\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->39\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "40\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->40\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "41\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->41\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "42\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->42\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "43\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->43\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "44\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->44\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "45\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->45\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "46\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->46\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "47\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->47\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "48\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->48\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "49\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->49\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "50\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->50\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "51\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->51\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "52\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->52\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "53\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->53\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "54\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->54\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "55\n", + "\n", + "LWR\n", + "\n", + "\n", + "\n", + "28->55\n", + "\n", + "\n", + "fresh_lwr_fuel \n", + "\n", + "\n", + "\n", + "56\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->56\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "57\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->57\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "58\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->58\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "59\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->59\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "60\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->60\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "61\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->61\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "62\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->62\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "63\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->63\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "64\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->64\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "65\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->65\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "66\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->66\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "67\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->67\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "68\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->68\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "69\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->69\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "70\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->70\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "71\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->71\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "72\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->72\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "73\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->73\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "74\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->74\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "75\n", + "\n", + "SFR\n", + "\n", + "\n", + "\n", + "29->75\n", + "\n", + "\n", + "fresh_sfr_fuel \n", + "\n", + "\n", + "\n", + "30\n", + "\n", + "SFR_Cooling_Pool\n", + "\n", + "\n", + "\n", + "33\n", + "\n", + "SFR_Reprocessing\n", + "\n", + "\n", + "\n", + "30->33\n", + "\n", + "\n", + "cool_used_sfr_fuel \n", + "\n", + "\n", + "\n", + "31\n", + "\n", + "UOX_Cooling_Pool\n", + "\n", + "\n", + "\n", + "32\n", + "\n", + "UOX_Reprocessing\n", + "\n", + "\n", + "\n", + "31->32\n", + "\n", + "\n", + "cool_used_lwr_fuel \n", + "\n", + "\n", + "\n", + "32->27\n", + "\n", + "\n", + "uox_reprocess_waste \n", + "\n", + "\n", + "\n", + "32->29\n", + "\n", + "\n", + "separated_uox_U \n", + "\n", + "\n", + "\n", + "33->27\n", + "\n", + "\n", + "sfr_reprocess_waste \n", + "\n", + "\n", + "\n", + "33->29\n", + "\n", + "\n", + "separated_sfr_U \n", + "\n", + "\n", + "\n", + "36->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "37->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "38->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "39->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "40->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "41->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "42->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "43->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "44->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "45->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "46->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "47->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "48->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "49->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "50->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "51->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "52->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "53->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "54->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "55->31\n", + "\n", + "\n", + "used_lwr_fuel \n", + "\n", + "\n", + "\n", + "56->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "57->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "58->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "59->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "60->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "61->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "62->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "63->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "64->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "65->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "66->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "67->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "68->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "69->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "70->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "71->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "72->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "73->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "74->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n", + "75->30\n", + "\n", + "\n", + "used_sfr_fuel \n", + "\n", + "\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a flow graph from the evaluator object\n", + "graphs.flow_graph(eg23_evaluator, label='comm')" + ] + }, + { + "cell_type": "markdown", + "id": "47f8b24a", + "metadata": {}, + "source": [ + "That ones looks a little messy, showing each of the reactor \n", + "agents as a sepearate node on the figure. The course instructors \n", + "created an even more simple fuel cycle to make this figure easier \n", + "to read. The figure below shows a simplified view of the fuel \n", + "cycle in this input:\n", + "![Fuel cycle diagram, with prototypes deployed multiple times condensed to one node](./eg01-eg23_graph.jpg)\n" + ] + }, + { + "cell_type": "markdown", + "id": "512b773d", + "metadata": {}, + "source": [ + "## Compare the number of reactors and the amount of electricity produced\n", + "We have different metrics we will look at for this: \n", + "* `BuildSeries`, to get the number of reactors that are commissioned\n", + "* `DecommissionSeries`, to get the number of reactors that are decommissioned\n", + "* `MonthlyElectricityGeneratedByAgent`, to get the amount of electircity \n", + " generated by the reactors each year.\n", + "\n", + "First, we will pull the `BuildSeries` metric, and sort out the data into the \n", + "different prototypes. Second, we will pull the `DecommissionSeries` metric\n", + "and sort the data into different prototypes. Then, we will combine \n", + "the `BuildSeries` and `DecommissionSeries` metrics to calculate the \n", + "number of reactors deployed as a function of time. \n", + "\n", + "For the electricity generation data, we will pull the \n", + "`MonthlyElectricityGeneratedByAgent` metric and sum the data across \n", + "all agents to yield the total electircity generated as a function \n", + "of timestep. \n", + "\n", + "Finally, we will plot both sets of data (the total number of reactors \n", + "deployed and the electricity generated) on the same plot, using two \n", + "different axes. " + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "816a6860", + "metadata": {}, + "outputs": [], + "source": [ + "# Get all BuildSeries data, then sort into LWR and SFR deployments\n", + "build_series = eg23_evaluator.eval('BuildSeries')\n", + "lwr_build = build_series.loc[build_series['Prototype'] == 'LWR']\n", + "sfr_build = build_series.loc[build_series['Prototype'] == 'SFR']\n", + "\n", + "# Get the DecomSeries data, and split by prototype. \n", + "decom_series = eg23_evaluator.eval('DecommissionSeries')\n", + "lwr_decom = decom_series.loc[decom_series['Prototype'] == 'LWR']\n", + "sfr_decom = decom_series.loc[decom_series['Prototype'] == 'SFR']\n", + "# Multiply by negative one to count them as exiting the simulation\n", + "# This step makes it easier to add things\n", + "lwr_decom['Count'] *= -1\n", + "sfr_decom['Count'] *= -1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "50cb4467", + "metadata": {}, + "outputs": [], + "source": [ + "# Get a timeseries of the number of each reactor prototype \n", + "# deployed in each time step. \n", + "lwr_number = np.zeros(1200)\n", + "for variable in [lwr_build, lwr_decom]:\n", + " for row in variable.itertuples():\n", + " time_step = row[2]\n", + " lwr_number[time_step:] += row[4]\n", + "\n", + "sfr_number = np.zeros(1200)\n", + "for variable in [sfr_build, sfr_decom]:\n", + " for row in variable.itertuples():\n", + " time_step = row[2]\n", + " sfr_number[time_step:] += row[4]\n", + " \n", + "reactors_deployed = pd.DataFrame(data = {'Time': np.linspace(0,1199, 1200),\n", + " 'lwr':lwr_number,\n", + " 'sfr':sfr_number})" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c3e4170d", + "metadata": {}, + "outputs": [], + "source": [ + "# Get electiricty generated and sum across time steps. \n", + "all_electricity = eg23_evaluator.eval('MonthlyElectricityGeneratedByAgent')\n", + "summed_electricity = all_electricity[['Month', 'Energy']].groupby(by=['Month']).sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "c06cd233", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Let's plot our data!\n", + "fig, ax1 = plt.subplots()\n", + "\n", + "ax1.plot(reactors_deployed['Time'], reactors_deployed['lwr'], linewidth=5)\n", + "ax1.plot(reactors_deployed['Time'], reactors_deployed['sfr'], linewidth=5)\n", + "ax1.set_xlabel('Time step')\n", + "ax1.set_ylabel('Number of reactors')\n", + "\n", + "\n", + "ax2 = ax1.twinx()\n", + "ax2.plot(summed_electricity['Energy'], \n", + " color='tab:green', linewidth=2)\n", + "ax2.set_ylabel('Electircity (MW)')\n", + "\n", + "ax1.legend(['LWRs', 'SFRs'])\n", + "ax2.legend(['Electricity'])" + ] + }, + { + "cell_type": "markdown", + "id": "c8c9c14b", + "metadata": {}, + "source": [ + "## Material transactions \n", + "This section does analysis on the materials traded between \n", + "facilities in the fuel cycle scenario. This analysis is done \n", + "with the `TransactionQuantity` metric, which provides the mass \n", + "of a commodity in each transaction. \n", + "\n", + "For this analysis, we'll pull the `TransactionQuantity` metric, which \n", + "merges the `Transactions` and `Materials` tables from the database. Then \n", + "we will pull out just the information pertaining to the commodities that \n", + "we care about -- the `fresh_lwr_fuel` and the `fresh_sfr_fuel`. The \n", + "resulting table only has data at the timesteps in which the material \n", + "is traded, which makes the graphs look like a straight line. So we need\n", + "to add in the other time steps and specify that nothing is traded \n", + "at those times. Then we can plot things. \n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "c9bc12b9", + "metadata": {}, + "outputs": [], + "source": [ + "# We pull the TransactionQuantity metric\n", + "trans_quantity = eg23_evaluator.eval('TransactionQuantity')\n", + "fresh_fuel_names = ['fresh_lwr_fuel', 'fresh_sfr_fuel']\n", + "commodity_trans ={}\n", + "for commodity_name in fresh_fuel_names:\n", + " commodity_trans[commodity_name] = trans_quantity.loc[trans_quantity['Commodity'] == commodity_name]\n", + " commodity_trans[commodity_name] = commodity_trans[commodity_name].groupby(['TimeCreated']).Quantity.sum().reset_index()\n", + " commodity_trans[commodity_name] = commodity_trans[commodity_name].set_index('TimeCreated').reindex(np.arange(0,1199,1)).fillna(0).reset_index()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "366a5092", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Mass (kg)')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure()\n", + "for commodity in fresh_fuel_names:\n", + " plt.plot(commodity_trans[commodity]['TimeCreated'],\n", + " commodity_trans[commodity]['Quantity'])\n", + "plt.legend(['Fresh LWR fuel', 'Fresh SFR fuel'])\n", + "plt.xlabel('Time step')\n", + "plt.ylabel('Mass (kg)')" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/examples/eg01-eg23.xml b/examples/eg01-eg23.xml new file mode 100644 index 0000000..53efbe3 --- /dev/null +++ b/examples/eg01-eg23.xml @@ -0,0 +1,609 @@ + + + + + + 1200 + 1 + 2000 + + + + + + cycamore + Source + + + cycamore + Sink + + + cycamore + Reactor + + + cycamore + Mixer + + + agents + NullRegion + + + agents + NullInst + + + cycamore + Separations + + + cycamore + DeployInst + + + cycamore + Enrichment + + + cycamore + Storage + + + + + + Mine + + + natl_u + natl_u_recipe + + + + + + Enrichment + + + natl_u + natl_u_recipe + fresh_lwr_fuel + tailings + + 0.0025 + + + + + + + LWR + 600 + + + + fresh_lwr_fuel_recipe + + + used_lwr_fuel_recipe + + + fresh_lwr_fuel + + + used_lwr_fuel + + 18 + 1 + 30160 + 3 + 1 + 1000 + + + + + + UOX_Cooling_Pool + + + + + used_lwr_fuel + + + cool_used_lwr_fuel + + + 36 + + + + + + UOX_Reprocessing + + + + cool_used_lwr_fuel + + 1E100 + + + separated_uox_Pu + + 1E100 + + + Pu + .998 + + + + + + separated_uox_U + + 1E100 + + + U + .998 + + + + + + + uox_reprocess_waste + + + + + + SFR_Mixer + + + + + + + + 0.128996341 + 1e100 + + + + separated_uox_Pu + 1.0 + + + separated_sfr_Pu + 2.0 + + + + + + + 0.714003659 + 1e100 + + + + separated_uox_U + 1.0 + + + separated_sfr_U + 1.0 + + + + + + + 0.157 + 1e100 + + + + tailings + 2.0 + + + natl_u + 1.0 + + + + + fresh_sfr_fuel + + + + + + SFR + 960 + + + + fresh_sfr_fuel_recipe + + + used_sfr_fuel_recipe + + + fresh_sfr_fuel + + + used_sfr_fuel + + 14 + 1 + 5867 + 3 + 1 + 400 + + + + + + SFR_Cooling_Pool + + + + + used_sfr_fuel + + + cool_used_sfr_fuel + + + 36 + + + + + + SFR_Reprocessing + + + + cool_used_sfr_fuel + + 1E100 + + + separated_sfr_Pu + + 1E100 + + + Pu + .998 + + + + + + separated_sfr_U + + 1E100 + + + U + .998 + + + + + + + sfr_reprocess_waste + + + + + + Waste_Repository + + + + tailings + uox_reprocess_waste + sfr_reprocess_waste + + + + + + + + + + + + + + + + + + + 1 + Mine + + + 1 + Waste_Repository + + + 1 + Enrichment + + + + + 1 + SFR_Mixer + + + + + 1 + SFR_Cooling_Pool + + + 1 + UOX_Cooling_Pool + + + + + 1 + UOX_Reprocessing + + + 1 + SFR_Reprocessing + + + + Initial_Facilities + + + + LWR_Institution + + + + + 12 + 24 + 36 + 48 + 60 + 72 + 84 + 96 + 108 + 120 + + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + LWR + LWR + LWR + LWR + LWR + LWR + LWR + LWR + LWR + LWR + + + + + + + SFR_Institution + + + + + 600 + 612 + 624 + 636 + 648 + 660 + 672 + 684 + 696 + 708 + + + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + + + + SFR + SFR + SFR + SFR + SFR + SFR + SFR + SFR + SFR + SFR + + + + + USA + + + + + natl_u_recipe + mass + U235 0.711 + U238 99.289 + + + + fresh_lwr_fuel_recipe + mass + U234 0.0002558883 + U235 0.0319885317 + U238 0.96775558 + + + + used_lwr_fuel_recipe + mass + He4 9.47457840128509E-07 + Ra226 9.78856442957042E-14 + Ra228 2.75087759176098E-20 + Pb206 5.57475193532078E-18 + Pb207 1.68592497990149E-15 + Pb208 3.6888358546006E-12 + Pb210 3.02386544437848E-19 + Th228 8.47562285269577E-12 + Th229 2.72787861516683E-12 + Th230 2.6258831537493E-09 + Th232 4.17481422959E-10 + Bi209 6.60770597104927E-16 + Ac227 3.0968621961773E-14 + Pa231 9.24658854635179E-10 + U232 0.000000001 + U233 2.21390148606282E-09 + U234 0.0001718924 + U235 0.0076486597 + U236 0.0057057461 + U238 0.9208590237 + Np237 0.0006091729 + Pu238 0.000291487 + Pu239 0.0060657301 + Pu240 0.0029058707 + Pu241 0.0017579218 + Pu242 0.0008638616 + Pu244 2.86487251922763E-08 + Am241 6.44271331287386E-05 + Am242m 8.53362027193319E-07 + Am243 0.0001983912 + Cm242 2.58988475560194E-05 + Cm243 0.000000771 + Cm244 8.5616190260478E-05 + Cm245 5.72174539442251E-06 + Cm246 7.29567535786554E-07 + Cm247 0.00000001 + Cm248 7.69165773748653E-10 + Cm250 4.2808095130239E-18 + Cf249 1.64992658175413E-12 + Cf250 2.04190913935875E-12 + Cf251 9.86556100338561E-13 + Cf252 6.57970721693466E-13 + H3 8.58461800264195E-08 + C14 4.05781943561107E-11 + Kr81 4.21681236076192E-11 + Kr85 3.44484671160181E-05 + Sr90 0.0007880649 + Tc99 0.0011409492 + I129 0.0002731878 + Cs134 0.0002300898 + Cs135 0.0006596706 + Cs137 0.0018169192 + H1 0.0477938151 + + + + + fresh_sfr_fuel_recipe + mass + U234 9.7224110389438E-05 + U235 0.0039469814 + U236 0.0021573569 + U238 0.8665733427 + Np237 0.0060565044 + Pu238 0.0030040068 + Pu239 0.0606135352 + Pu240 0.0286774758 + Pu241 0.0134998465 + Pu242 0.0084034605 + Am241 0.0042991968 + Am242m 7.73428708584307E-06 + Am243 0.0019207217 + Cm243 6.47352555460846E-06 + Cm244 0.0006812961 + Cm245 5.48431266087054E-05 + H1 0 + + + + used_sfr_fuel_recipe + mass + U238 79.29 + Pu239 13.102 + Am241 0.1205 + Cs137 7.4791 + + + + diff --git a/examples/eg01-eg23_graph.jpg b/examples/eg01-eg23_graph.jpg new file mode 100644 index 0000000..556e6f2 Binary files /dev/null and b/examples/eg01-eg23_graph.jpg differ