{ "cells": [ { "cell_type": "markdown", "id": "5cbc8640", "metadata": {}, "source": [ "### Adaptive time steps (variable time resolution) for reaction `A <-> B`,\n", "with 1st-order kinetics in both directions, taken to equilibrium.\n", "\n", "This is a repeat of the experiment _\"react_2_a\"_ , but with **adaptive variable time steps** \n", "and the use of **diagnostic tools** for insight into the details of the simulation. \n", "\n", "**Background**: please see experiment `react_2_a` " ] }, { "cell_type": "code", "execution_count": 1, "id": "6e9d0902-6fc9-4692-ac39-0651d08902ca", "metadata": {}, "outputs": [], "source": [ "LAST_REVISED = \"Nov. 10, 2024\"\n", "LIFE123_VERSION = \"1.0.0.rc.0\" # Library version this experiment is based on" ] }, { "cell_type": "code", "execution_count": 2, "id": "1e0ae9a9-9d0c-4edf-a5f2-1c589419e6cf", "metadata": {}, "outputs": [], "source": [ "#import set_path # Using MyBinder? Uncomment this before running the next cell!" ] }, { "cell_type": "code", "execution_count": 3, "id": "a29db1c7", "metadata": { "tags": [] }, "outputs": [], "source": [ "#import sys\n", "#sys.path.append(\"C:/some_path/my_env_or_install\") # CHANGE to the folder containing your venv or libraries installation!\n", "# NOTE: If any of the imports below can't find a module, uncomment the lines above, or try: import set_path \n", "\n", "import ipynbname\n", "\n", "from life123 import check_version, UniformCompartment, GraphicLog, PlotlyHelper" ] }, { "cell_type": "code", "execution_count": 4, "id": "af15ecf0-e083-4fef-b68e-abe794dcc86e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK\n" ] } ], "source": [ "check_version(LIFE123_VERSION)" ] }, { "cell_type": "code", "execution_count": 5, "id": "121fdfdd", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'react_2_b.log.htm'\n" ] } ], "source": [ "# Initialize the HTML logging (for the graphics)\n", "log_file = ipynbname.name() + \".log.htm\" # Use the notebook base filename for the log file\n", " # IN CASE OF PROBLEMS, set manually to any desired name\n", "\n", "# Set up the use of some specified graphic (Vue) components\n", "GraphicLog.config(filename=log_file,\n", " components=[\"vue_cytoscape_2\"],\n", " extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")" ] }, { "cell_type": "code", "execution_count": null, "id": "34d1cefc-f644-410a-9fe4-5204964742ac", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "ac9eea69-174c-43e5-9eed-443cbc5e2ba7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "10c710ac", "metadata": {}, "source": [ "# PART 1 - RUN THE SIMULATION" ] }, { "cell_type": "markdown", "id": "e0529a0c", "metadata": {}, "source": [ "### Initialize the System" ] }, { "cell_type": "code", "execution_count": 6, "id": "78077d8c", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 1 (at temp. 25 C)\n", "0: A <-> B (kF = 3 / kR = 2 / delta_G = -1,005.1 / K = 1.5) | 1st order in all reactants & products\n", "Set of chemicals involved in the above reactions: {'A', 'B'}\n" ] } ], "source": [ "# Instantiate the simulator and specify the chemicals\n", "# The diagnostics will be give insight into the inner workings of the simulation\n", "uc = UniformCompartment(names=[\"A\", \"B\"], preset=\"mid\", enable_diagnostics=True)\n", "\n", "# Reaction A <-> B , with 1st-order kinetics in both directions\n", "uc.add_reaction(reactants=\"A\", products=\"B\", \n", " forward_rate=3., reverse_rate=2.)\n", "\n", "uc.describe_reactions()" ] }, { "cell_type": "code", "execution_count": 7, "id": "373afeb1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[GRAPHIC ELEMENT SENT TO LOG FILE `react_2_b.log.htm`]\n" ] } ], "source": [ "# Send a plot of the network of reactions to the HTML log file\n", "uc.plot_reaction_network(\"vue_cytoscape_2\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "9fc3948d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "2 species:\n", " Species 0 (A). Conc: 10.0\n", " Species 1 (B). Conc: 50.0\n", "Set of chemicals involved in reactions: {'A', 'B'}\n" ] } ], "source": [ "# Set the initial concentrations of all the chemicals\n", "uc.set_conc({\"A\": 10., \"B\": 50.})\n", "uc.describe_state()" ] }, { "cell_type": "code", "execution_count": 9, "id": "0cc938cc", "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", "
SYSTEM TIMEABcaption
00.010.050.0Set concentration
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "0 0.0 10.0 50.0 Set concentration" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uc.get_history()" ] }, { "cell_type": "code", "execution_count": 10, "id": "ab5f46e6-347d-49e9-b8b4-9f2a4310a10e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parameters used for the automated adaptive time step sizes -\n", " THRESHOLDS: [{'norm': 'norm_A', 'low': 0.5, 'high': 0.8, 'abort': 1.44}, {'norm': 'norm_B', 'low': 0.08, 'high': 0.5, 'abort': 1.5}]\n", " STEP FACTORS: {'upshift': 1.2, 'downshift': 0.5, 'abort': 0.4, 'error': 0.25}\n" ] } ], "source": [ "# For experiment repeatability, we specified, when instantiating the \"UniformCompartment\" class, \n", "# a particular PRESET applicable to the adaptive time steps; \n", "# let's take a look at the value assigned by that preset\n", "uc.adaptive_steps.show_adaptive_parameters() " ] }, { "cell_type": "markdown", "id": "987af2c5", "metadata": { "tags": [] }, "source": [ "## Run the reaction \n", "#### Passing True to _variable_steps_ automatically adjusts up or down the time steps" ] }, { "cell_type": "code", "execution_count": 11, "id": "43735178-313b-48cf-a583-5181238feac3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "19 total step(s) taken in 0.134 sec\n", "Number of step re-do's because of elective soft aborts: 2\n", "Norm usage: {'norm_A': 17, 'norm_B': 15, 'norm_C': 15, 'norm_D': 15}\n", "System Time is now: 1.2268\n" ] } ], "source": [ "uc.single_compartment_react(initial_step=0.1, target_end_time=1.2,\n", " variable_steps=True)" ] }, { "cell_type": "code", "execution_count": 12, "id": "2d5df59c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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", "
SYSTEM TIMEABcaption
00.00000010.00000050.000000Set concentration
10.01600011.12000048.8800001st reaction step
20.03200012.15040047.849600
30.04800013.09836846.901632
40.06720014.14492545.855075
50.08640015.09101244.908988
60.10944016.11732743.882673
70.13248017.02541142.974589
80.16012817.98957842.010422
90.19330618.98663541.013365
100.23311919.98462440.015376
110.28089420.94381239.056188
120.33822521.81988238.180118
130.40702222.56981037.430190
140.48957923.16016836.839832
150.58864723.57616936.423831
160.70752823.82809736.171903
170.85018623.95071336.049287
181.02137523.99290036.007100
191.22680224.00019335.999807last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "0 0.000000 10.000000 50.000000 Set concentration\n", "1 0.016000 11.120000 48.880000 1st reaction step\n", "2 0.032000 12.150400 47.849600 \n", "3 0.048000 13.098368 46.901632 \n", "4 0.067200 14.144925 45.855075 \n", "5 0.086400 15.091012 44.908988 \n", "6 0.109440 16.117327 43.882673 \n", "7 0.132480 17.025411 42.974589 \n", "8 0.160128 17.989578 42.010422 \n", "9 0.193306 18.986635 41.013365 \n", "10 0.233119 19.984624 40.015376 \n", "11 0.280894 20.943812 39.056188 \n", "12 0.338225 21.819882 38.180118 \n", "13 0.407022 22.569810 37.430190 \n", "14 0.489579 23.160168 36.839832 \n", "15 0.588647 23.576169 36.423831 \n", "16 0.707528 23.828097 36.171903 \n", "17 0.850186 23.950713 36.049287 \n", "18 1.021375 23.992900 36.007100 \n", "19 1.226802 24.000193 35.999807 last reaction step" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "history = uc.get_history() # The system's history, saved during the run of single_compartment_react()\n", "history" ] }, { "cell_type": "markdown", "id": "edb7c015", "metadata": { "tags": [] }, "source": [ "## Notice how the reaction proceeds in smaller steps in the early times, when [A] and [B] are changing much more rapidly\n", "#### That resulted from passing the flag _variable_steps=True_ to single_compartment_react()" ] }, { "cell_type": "code", "execution_count": 13, "id": "4bf3a728-320a-4916-b01a-f7b217c4015d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: A <-> B\n", "Final concentrations: [A] = 24 ; [B] = 36\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 1.49998\n", " Formula used: [B] / [A]\n", "2. Ratio of forward/reverse reaction rates: 1.5\n", "Discrepancy between the two values: 0.001338 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "uc.is_in_equilibrium()" ] }, { "cell_type": "code", "execution_count": null, "id": "b47c8bd4-d28c-471c-94e8-b1070692b608", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "ab3b6bdc-fed9-47a5-9315-904fc80c099d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "ecae7dca-3e74-40a6-a690-12fc0f30afe1", "metadata": {}, "source": [ "# PART 2 - Visualize the Results" ] }, { "cell_type": "markdown", "id": "6d233695-a6cd-4e55-81b7-ebb79546d321", "metadata": { "tags": [] }, "source": [ "### Plots of changes of concentration with time" ] }, { "cell_type": "code", "execution_count": 14, "id": "5d271f6b-a727-4609-9399-342c1a98e7b3", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
Concentration=%{y}", "legendgroup": "A", "line": { "color": "darkturquoise", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.016000000000000004, 0.03200000000000001, 0.048000000000000015, 0.06720000000000002, 0.08640000000000003, 0.10944000000000004, 0.13248000000000004, 0.16012800000000005, 0.19330560000000005, 0.23311872000000006, 0.28089446400000007, 0.3382253568000001, 0.4070224281600001, 0.48957891379200014, 0.5886466965504001, 0.7075280358604801, 0.850185643032576, 1.0213747716390913, 1.2268017259669095 ], "xaxis": "x", "y": [ 10, 11.120000000000001, 12.150400000000001, 13.098368, 14.144924672, 15.091011903488, 16.117327332206184, 17.025411223536032, 17.989578375994412, 18.98663519835745, 19.984623670615306, 20.94381162849702, 21.819881668013238, 22.569810450307923, 23.160167565358876, 23.576169251301298, 23.828097086531773, 23.950713378038216, 23.992900047366195, 24.000192655593363 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
Concentration=%{y}", "legendgroup": "B", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.016000000000000004, 0.03200000000000001, 0.048000000000000015, 0.06720000000000002, 0.08640000000000003, 0.10944000000000004, 0.13248000000000004, 0.16012800000000005, 0.19330560000000005, 0.23311872000000006, 0.28089446400000007, 0.3382253568000001, 0.4070224281600001, 0.48957891379200014, 0.5886466965504001, 0.7075280358604801, 0.850185643032576, 1.0213747716390913, 1.2268017259669095 ], "xaxis": "x", "y": [ 50, 48.88, 47.8496, 46.901632, 45.855075328, 44.908988096512, 43.88267266779381, 42.97458877646397, 42.01042162400559, 41.013364801642545, 40.015376329384694, 39.05618837150298, 38.180118331986755, 37.43018954969207, 36.83983243464112, 36.42383074869869, 36.171902913468216, 36.04928662196178, 36.007099952633794, 35.999807344406626 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Chemical" }, "tracegroupgap": 0 }, "shapes": [ { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0, "x1": 0, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.016000000000000004, "x1": 0.016000000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.03200000000000001, "x1": 0.03200000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.048000000000000015, "x1": 0.048000000000000015, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.06720000000000002, "x1": 0.06720000000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08640000000000003, "x1": 0.08640000000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10944000000000004, "x1": 0.10944000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.13248000000000004, "x1": 0.13248000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.16012800000000005, "x1": 0.16012800000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.19330560000000005, "x1": 0.19330560000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.23311872000000006, "x1": 0.23311872000000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.28089446400000007, "x1": 0.28089446400000007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.3382253568000001, "x1": 0.3382253568000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.4070224281600001, "x1": 0.4070224281600001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.48957891379200014, "x1": 0.48957891379200014, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5886466965504001, "x1": 0.5886466965504001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7075280358604801, "x1": 0.7075280358604801, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.850185643032576, "x1": 0.850185643032576, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.0213747716390913, "x1": 1.0213747716390913, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.2268017259669095, "x1": 1.2268017259669095, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" } ], "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Reaction `A <-> B` . Changes in concentrations with time (time steps shown in dashed lines)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.0007074981118609629, 1.2275092240787704 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 7.777777777777778, 52.22222222222222 ], "title": { "text": "Concentration" }, "type": "linear" } } }, "image/png": "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ddBwa7xyg382aHi07so+rniN2BMBAgQIEGgTEDS0TVy/BAgQIBARuD3gcS6wdwbD0asTK7WOgob/HgZ574mMlRv8vX3MVz6myTyz4vaVje1Atus6DDJyySpKgAABAgRiAoKGGK3CBAgQIECAAAECBAgQIECgT0DQ0DdzHRMgQIAAAQIECBAgQIAAgZiAoCFGqzABAgQIECBAgAABAgQIEOgTEDT0zVzHBAgQIECAAAECBAgQIEAgJiBoiNEqTIAAAQIECBAgQIAAAQIE+gQEDX0z1zEBAgQIECBAgAABAgQIEIgJCBpitAoTIECAAAECBAgQIECAAIE+AUFD38x1TIAAAQIECBAgQIAAAQIEYgKChhitwgQIECBAgAABAgQIECBAoE9A0NA3cx0TIECAAAECBAgQIECAAIGYgKAhRqswAQIECBAgQIAAAQIECBDoExA09M1cxwQIECBAgAABAgQIECBAICYgaIjRKkyAAAECBAgQIECAAAECBPoEBA19M9cxAQIECBAgQIAAAQIECBCICQgaYrQKEyBAgAABAgQIECBAgACBPgFBQ9/MdUyAAAECBAgQIECAAAECBGICgoYYrcIECBAgQIAAAQIECBAgQKBPQNDQN3MdEyBAgAABAgQIECBAgACBmICgIUarMAECBAgQIECAAAECBAgQ6BMQNPTNXMcECBAgQIAAAQIECBAgQCAmIGiI0SpMgAABAgQIECBAgAABAgT6BAQNfTPXMQECBAgQIECAAAECBAgQiAkIGmK0ChMgQIAAAQIECBAgQIAAgT4BQUPfzHVMgAABAgQIECBAgAABAgRiAoKGGK3CBAgQIECAAAECBAgQIECgT0DQ0DdzHRMgQIAAAQIECBAgQIAAgZiAoCFGqzABAgQIECBAgAABAgQIEOgTEDT0zVzHBAgQIECAAAECBAgQIEAgJiBoiNEqTIAAAQIECBAgQIAAAQIE+gQEDX0z1zEBAgQIECBAgAABAgQIEIgJCBpitAoTIECAAAECBAgQIECAAIE+AUFD38x1TIAAAQIECBAgQIAAAQIEYgKChhitwgQIECBAgAABAgQIECBAoE9A0NA3cx0TIECAAAECBAgQIECAAIGYgKAhRqswAQIECBAgQIAAAQIECBDoExA09M1cxwQIECBAgAABAgQIECBAICYgaIjRKkyAAAECBAgQIECAAAECBPoEBA19M9cxAQIECBAgQIAAAQIECBCICfwCmP1rOw/T7lUAAAAASUVORK5CYII=", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "uc.plot_history(colors=['darkturquoise', 'green'], show_intervals=True)" ] }, { "cell_type": "markdown", "id": "584fdc8a-dee8-4c48-8d96-2728f01a78bf", "metadata": {}, "source": [ "## Note how the left-hand side of this plot is much smoother than it was in experiment `react_2_a`, where no adaptive time steps were used!" ] }, { "cell_type": "markdown", "id": "a63b4d56-de25-41d7-9343-5395dc8a172b", "metadata": {}, "source": [ "#### Compare the above with the fixed step sizes of experiment `react_2_a` \n", "To see the sizes of the steps taken:" ] }, { "cell_type": "code", "execution_count": 15, "id": "d36a7f1a-5d3d-4619-88e0-c8cea6a82b0d", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "x=%{x}
y=%{y}", "legendgroup": "", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ 0, 0.048000000000000015, 0.048000000000000015, 0.08640000000000003, 0.08640000000000003, 0.13248000000000004, 0.13248000000000004, 0.16012800000000005, 0.16012800000000005, 0.19330560000000005, 0.19330560000000005, 0.23311872000000006, 0.23311872000000006, 0.28089446400000007, 0.28089446400000007, 0.3382253568000001, 0.3382253568000001, 0.4070224281600001, 0.4070224281600001, 0.48957891379200014, 0.48957891379200014, 0.5886466965504001, 0.5886466965504001, 0.7075280358604801, 0.7075280358604801, 0.850185643032576, 0.850185643032576, 1.0213747716390913, 1.0213747716390913, 1.2268017259669095 ], "xaxis": "x", "y": [ 0.016000000000000007, 0.016000000000000007, 0.01920000000000001, 0.01920000000000001, 0.023040000000000005, 0.023040000000000005, 0.027648000000000006, 0.027648000000000006, 0.0331776, 0.0331776, 0.03981312000000001, 0.03981312000000001, 0.04777574400000001, 0.04777574400000001, 0.05733089280000003, 0.05733089280000003, 0.06879707136000002, 0.06879707136000002, 0.08255648563200002, 0.08255648563200002, 0.0990677827584, 0.0990677827584, 0.11888133931007994, 0.11888133931007994, 0.14265760717209597, 0.14265760717209597, 0.17118912860651525, 0.17118912860651525, 0.2054269543278182, 0.2054269543278182 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "shapes": [ { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0, "x1": 0, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.016000000000000004, "x1": 0.016000000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.03200000000000001, "x1": 0.03200000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.048000000000000015, "x1": 0.048000000000000015, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.06720000000000002, "x1": 0.06720000000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08640000000000003, "x1": 0.08640000000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10944000000000004, "x1": 0.10944000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.13248000000000004, "x1": 0.13248000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.16012800000000005, "x1": 0.16012800000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.19330560000000005, "x1": 0.19330560000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.23311872000000006, "x1": 0.23311872000000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.28089446400000007, "x1": 0.28089446400000007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.3382253568000001, "x1": 0.3382253568000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.4070224281600001, "x1": 0.4070224281600001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.48957891379200014, "x1": 0.48957891379200014, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5886466965504001, "x1": 0.5886466965504001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7075280358604801, "x1": 0.7075280358604801, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.850185643032576, "x1": 0.850185643032576, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.0213747716390913, "x1": 1.0213747716390913, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.2268017259669095, "x1": 1.2268017259669095, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" } ], "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Simulation step sizes" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.0006899897221411189, 1.2274917156890506 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 0.005476280315121219, 0.215950674012697 ], "title": { "text": "Step size" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "uc.plot_step_sizes(show_intervals=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "2b01d1d8-b442-4754-879f-b4ad88ec80cb", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "bc58e5c8-bd08-41d7-9984-18d000869a69", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "766e8bba-3a15-461e-9bf6-9daf509197d5", "metadata": { "tags": [] }, "source": [ "# PART 2 - Scrutinizing the inner workings of the step-size changes" ] }, { "cell_type": "markdown", "id": "c910ec1f-0453-48bb-b342-83bf46f78df7", "metadata": {}, "source": [ "NOTE: this part is NOT meant for typically end users. It's for debugging, and for anyone interested in taking an \"under the hood\" look" ] }, { "cell_type": "code", "execution_count": 16, "id": "74ee2506-6684-4338-bb95-d88f1656125e", "metadata": {}, "outputs": [], "source": [ "diagnostics = uc.get_diagnostics() # Available because we enabled the diagnostics" ] }, { "cell_type": "markdown", "id": "1bb39a84-2b5e-4c9f-b4ec-7dd9d1b02c54", "metadata": {}, "source": [ "The \"Diagnostics\" object contains a treasure trove of data and methods yo get insights into the inner workings of the simulation. \n", "Diagnostic data was saved because of the call to `enable_diagnostics()` prior to running the reaction" ] }, { "cell_type": "code", "execution_count": 17, "id": "cf5cc033-dc33-4f8b-9a7c-46dda6845f9f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "life123.diagnostics.Diagnostics" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(diagnostics) # this will show an object" ] }, { "cell_type": "code", "execution_count": 18, "id": "1092029f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From time 0 to 0.048, in 3 steps of 0.016\n", "From time 0.048 to 0.0864, in 2 steps of 0.0192\n", "From time 0.0864 to 0.1325, in 2 steps of 0.023\n", "From time 0.1325 to 0.1601, in 1 step of 0.0276\n", "From time 0.1601 to 0.1933, in 1 step of 0.0332\n", "From time 0.1933 to 0.2331, in 1 step of 0.0398\n", "From time 0.2331 to 0.2809, in 1 step of 0.0478\n", "From time 0.2809 to 0.3382, in 1 step of 0.0573\n", "From time 0.3382 to 0.407, in 1 step of 0.0688\n", "From time 0.407 to 0.4896, in 1 step of 0.0826\n", "From time 0.4896 to 0.5886, in 1 step of 0.0991\n", "From time 0.5886 to 0.7075, in 1 step of 0.119\n", "From time 0.7075 to 0.8502, in 1 step of 0.143\n", "From time 0.8502 to 1.021, in 1 step of 0.171\n", "From time 1.021 to 1.227, in 1 step of 0.205\n", "(19 steps total)\n" ] } ], "source": [ "# Let's revisit the variables steps taken\n", "diagnostics.explain_time_advance()" ] }, { "cell_type": "code", "execution_count": null, "id": "b745736d-292c-42c8-bc3d-96faeb21c12a", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "ec7ea562-26ed-46b6-8af2-25c28bb3cf46", "metadata": {}, "source": [ "#### The Delta-concentration values for all the individual reaction time steps, as contribued by a single reaction, may be inspected from the diagnostic data:" ] }, { "cell_type": "code", "execution_count": 19, "id": "e8cb2d84-b012-424b-90be-54fd2dae1a27", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reaction: A <-> B\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
START_TIMEtime_stepabortedDelta ADelta Bratecaption
00.0000000.100000True7.000000-7.000000-70.000000aborted: excessive norm value(s)
10.0000000.040000True2.800000-2.800000-70.000000aborted: excessive norm value(s)
20.0000000.016000False1.120000-1.120000-70.000000
30.0160000.016000False1.030400-1.030400-64.400000
40.0320000.016000False0.947968-0.947968-59.248000
50.0480000.019200False1.046557-1.046557-54.508160
60.0672000.019200False0.946087-0.946087-49.275377
70.0864000.023040False1.026315-1.026315-44.544940
80.1094400.023040False0.908084-0.908084-39.413363
90.1324800.027648False0.964167-0.964167-34.872944
100.1601280.033178False0.997057-0.997057-30.052108
110.1933060.039813False0.997988-0.997988-25.066824
120.2331190.047776False0.959188-0.959188-20.076882
130.2808940.057331False0.876070-0.876070-15.280942
140.3382250.068797False0.749929-0.749929-10.900592
150.4070220.082556False0.590357-0.590357-7.150948
160.4895790.099068False0.416002-0.416002-4.199162
170.5886470.118881False0.251928-0.251928-2.119154
180.7075280.142658False0.122616-0.122616-0.859515
190.8501860.171189False0.042187-0.042187-0.246433
201.0213750.205427False0.007293-0.007293-0.035500
\n", "
" ], "text/plain": [ " START_TIME time_step aborted Delta A Delta B rate \\\n", "0 0.000000 0.100000 True 7.000000 -7.000000 -70.000000 \n", "1 0.000000 0.040000 True 2.800000 -2.800000 -70.000000 \n", "2 0.000000 0.016000 False 1.120000 -1.120000 -70.000000 \n", "3 0.016000 0.016000 False 1.030400 -1.030400 -64.400000 \n", "4 0.032000 0.016000 False 0.947968 -0.947968 -59.248000 \n", "5 0.048000 0.019200 False 1.046557 -1.046557 -54.508160 \n", "6 0.067200 0.019200 False 0.946087 -0.946087 -49.275377 \n", "7 0.086400 0.023040 False 1.026315 -1.026315 -44.544940 \n", "8 0.109440 0.023040 False 0.908084 -0.908084 -39.413363 \n", "9 0.132480 0.027648 False 0.964167 -0.964167 -34.872944 \n", "10 0.160128 0.033178 False 0.997057 -0.997057 -30.052108 \n", "11 0.193306 0.039813 False 0.997988 -0.997988 -25.066824 \n", "12 0.233119 0.047776 False 0.959188 -0.959188 -20.076882 \n", "13 0.280894 0.057331 False 0.876070 -0.876070 -15.280942 \n", "14 0.338225 0.068797 False 0.749929 -0.749929 -10.900592 \n", "15 0.407022 0.082556 False 0.590357 -0.590357 -7.150948 \n", "16 0.489579 0.099068 False 0.416002 -0.416002 -4.199162 \n", "17 0.588647 0.118881 False 0.251928 -0.251928 -2.119154 \n", "18 0.707528 0.142658 False 0.122616 -0.122616 -0.859515 \n", "19 0.850186 0.171189 False 0.042187 -0.042187 -0.246433 \n", "20 1.021375 0.205427 False 0.007293 -0.007293 -0.035500 \n", "\n", " caption \n", "0 aborted: excessive norm value(s) \n", "1 aborted: excessive norm value(s) \n", "2 \n", "3 \n", "4 \n", "5 \n", "6 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 \n", "15 \n", "16 \n", "17 \n", "18 \n", "19 \n", "20 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diagnostics.get_rxn_data(rxn_index=0) # For the 0-th reaction (the only reaction in our case)" ] }, { "cell_type": "markdown", "id": "4b4fbb1d-0b7e-43f9-b4bc-dbaef933d044", "metadata": {}, "source": [ "### Note that diagnostic data with the DELTA Concentrations - in the above listing - also records the values that were considered (but not actually used) during *ABORTED* steps. For example, in steps 0-2, above, the START_TIME remains the same, as the time_step gets progressively reduced until the resulting changes are deemed acceptable." ] }, { "cell_type": "markdown", "id": "93e5050c-38c9-42d0-ad9c-bdea00db6040", "metadata": {}, "source": [ "Line 2, above, shows that the concentration of the product [B], which was set by us to an initial value of 50, gets affected by a **rate of change of -70**, sustained over a delta_time of 0.016 . \n", "The reaction rate is negative because _the product is decreasing._ \n", "The new value for [B] is: " ] }, { "cell_type": "code", "execution_count": 20, "id": "3283e0b5-3098-4572-aeb7-a83b54dada1e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "48.88" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "50. - 70. * 0.016" ] }, { "cell_type": "markdown", "id": "380d6e79-ba9a-4d36-be6e-f8e7a5fa47db", "metadata": {}, "source": [ "That's indeed the value we saw in the history of the product [B] at time t=0.016 :" ] }, { "cell_type": "code", "execution_count": 21, "id": "e227e37b-9b0e-4f76-aa80-7f041eaf4244", "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", "
search_valueSYSTEM TIMEABcaption
10.0160.01611.1248.881st reaction step
\n", "
" ], "text/plain": [ " search_value SYSTEM TIME A B caption\n", "1 0.016 0.016 11.12 48.88 1st reaction step" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uc.get_history(t=0.016)" ] }, { "cell_type": "code", "execution_count": null, "id": "a40c9ecb-8540-4657-8770-238d8f05cd50", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "e30f292d-b9ae-4034-a615-39b2986a0483", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "789c4faf-12ba-4d63-9af8-3cef487de113", "metadata": {}, "source": [ "#### In the examples below, we'll re-compute Delta values for individual steps, directly from the system history." ] }, { "cell_type": "markdown", "id": "6047485b", "metadata": { "tags": [] }, "source": [ "### Example 1: **very early in the run** " ] }, { "cell_type": "code", "execution_count": 22, "id": "b47eaf6a-c343-4c56-9854-7ba08c26b4b8", "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", "
SYSTEM TIMEABcaption
10.01611.12000048.8800001st reaction step
20.03212.15040047.849600
30.04813.09836846.901632
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "1 0.016 11.120000 48.880000 1st reaction step\n", "2 0.032 12.150400 47.849600 \n", "3 0.048 13.098368 46.901632 " ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "history[1:4]" ] }, { "cell_type": "code", "execution_count": 23, "id": "d7c7164a-0350-4549-874a-5084a04160a5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1.0304, -1.0304], dtype=float32)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta_concentrations = uc.extract_delta_concentrations(history, 1, 2, ['A', 'B'])\n", "delta_concentrations" ] }, { "cell_type": "markdown", "id": "044a0b46-a7b2-43d3-9649-4a4ed3782a35", "metadata": {}, "source": [ "As expected by the 1:1 stoichiometry, delta_A = - delta_B" ] }, { "cell_type": "code", "execution_count": 24, "id": "199858ec-ee69-4581-a4b8-58a6948de536", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([11.12, 48.88], dtype=float32)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get all the concentrations at the start of the above steps\n", "baseline_conc = uc.get_historical_concentrations(row=1)\n", "#uc.get_historical_concentrations(t=0.016) # Alternate way\n", "baseline_conc" ] }, { "cell_type": "code", "execution_count": 25, "id": "aeb179e2-27a0-41b6-a6f0-3dfff52abeae", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'action': 'stay',\n", " 'step_factor': 1,\n", " 'norms': {'norm_A': 0.5308620929718018, 'norm_B': 0.09266187},\n", " 'applicable_norms': 'ALL'}" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Computes some measures of how large delta_concentrations is, and propose a course of action\n", "uc.adaptive_steps.adjust_timestep(delta_conc=delta_concentrations, baseline_conc=baseline_conc,\n", " n_chems=2, indexes_of_active_chemicals=uc.chem_data.indexes_of_active_chemicals()) " ] }, { "cell_type": "markdown", "id": "a980506c-5c06-46f2-b975-dbc9d66bed5c", "metadata": {}, "source": [ "#### The above analysis indicates that the time step is just about right, and the simulations should STAY on that course : that's based on the shown computed norms (indicating the extent of the change taking place.) \n", "Indeed, the simulator maintains the same time step :" ] }, { "cell_type": "code", "execution_count": 26, "id": "e5f56eb8-36d8-441b-8598-dd94c1d1be58", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.016000000000000004" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "original_step = history[\"SYSTEM TIME\"][2] - history[\"SYSTEM TIME\"][1]\n", "original_step" ] }, { "cell_type": "code", "execution_count": 27, "id": "72d25589", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.016000000000000007" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "next_step = history[\"SYSTEM TIME\"][3] - history[\"SYSTEM TIME\"][2]\n", "next_step" ] }, { "cell_type": "code", "execution_count": 28, "id": "aa7fee98", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.0000000000000002" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "next_step / original_step" ] }, { "cell_type": "code", "execution_count": null, "id": "a07edd4c-0f94-494b-a7c2-0b1007d824d1", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "c96e6b0c-b343-445c-8d76-a01f2bed7d30", "metadata": { "tags": [] }, "source": [ "### Example 2: **very late in the run** " ] }, { "cell_type": "code", "execution_count": 29, "id": "c3e65edc-7ce0-42c4-8573-fe5934962d16", "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", "
SYSTEM TIMEABcaption
170.85018623.95071336.049287
181.02137523.99290036.007100
191.22680224.00019335.999807last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "17 0.850186 23.950713 36.049287 \n", "18 1.021375 23.992900 36.007100 \n", "19 1.226802 24.000193 35.999807 last reaction step" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "history[17:20]" ] }, { "cell_type": "code", "execution_count": 30, "id": "28f3a54f-f5a4-420f-be44-912b58a31cea", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.04218667, -0.04218667], dtype=float32)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta_concentrations = uc.extract_delta_concentrations(history, 17, 18, ['A', 'B'])\n", "delta_concentrations" ] }, { "cell_type": "markdown", "id": "382261e6-50e2-4189-a268-b367bfa64284", "metadata": {}, "source": [ "#### Notice the far less change now that the system is approaching equilibrium" ] }, { "cell_type": "code", "execution_count": 31, "id": "95c676b7-ce6e-4228-99c2-bdd0f75a4ce2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([23.950714, 36.049286], dtype=float32)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Get all the concentrations at the start of the above steps\n", "baseline_conc = uc.get_historical_concentrations(row=17)\n", "#uc.get_historical_concentrations(t=0.850186) # Alternate way\n", "baseline_conc" ] }, { "cell_type": "code", "execution_count": 32, "id": "281220ff-55c6-4b0a-ae62-037133174efd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'action': 'low',\n", " 'step_factor': 1.2,\n", " 'norms': {'norm_A': 0.0008898575906641781, 'norm_B': 0.0017613951},\n", " 'applicable_norms': 'ALL'}" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Computes a measure of how large delta_concentrations is, and propose a course of action\n", "uc.adaptive_steps.adjust_timestep(delta_conc=delta_concentrations, baseline_conc=baseline_conc,\n", " n_chems=2, indexes_of_active_chemicals=uc.chem_data.indexes_of_active_chemicals()) " ] }, { "cell_type": "markdown", "id": "3370c89b-bece-44af-864b-ee2221ebaaff", "metadata": {}, "source": [ "#### The above analysis indicates that the time step is on the \"LOW\" side, and the simulations should increase it by a factor 1.2 : again, that's based on the shown computed norms (indicating the extent of the change taking place.) \n", "Indeed, the simulator increases the time step x1.2:" ] }, { "cell_type": "code", "execution_count": 33, "id": "0522109c-64e3-46f1-8f43-36360dc6a381", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.17118912860651525" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "original_step = history[\"SYSTEM TIME\"][18] - history[\"SYSTEM TIME\"][17]\n", "original_step" ] }, { "cell_type": "code", "execution_count": 34, "id": "a177ec82-5600-4b21-ba15-79324f72d44c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.2054269543278182" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "next_step = history[\"SYSTEM TIME\"][19] - history[\"SYSTEM TIME\"][18]\n", "next_step" ] }, { "cell_type": "code", "execution_count": 35, "id": "09104a03-3335-403b-96f4-fa2cddad6f92", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.1999999999999995" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "next_step / original_step" ] }, { "cell_type": "markdown", "id": "58b2fdca-bff2-4b88-b6b8-68db4844ef86", "metadata": {}, "source": [ "Where does that x1.2 factor come from? It's one of the parameters that we passed to the simulator; they can be seen as follows:" ] }, { "cell_type": "code", "execution_count": 36, "id": "89246ea8-47f7-4ffb-80e3-ed2ad321a447", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parameters used for the automated adaptive time step sizes -\n", " THRESHOLDS: [{'norm': 'norm_A', 'low': 0.5, 'high': 0.8, 'abort': 1.44}, {'norm': 'norm_B', 'low': 0.08, 'high': 0.5, 'abort': 1.5}]\n", " STEP FACTORS: {'upshift': 1.2, 'downshift': 0.5, 'abort': 0.4, 'error': 0.25}\n" ] } ], "source": [ "uc.adaptive_steps.show_adaptive_parameters()" ] }, { "cell_type": "markdown", "id": "53e2d39f-cff2-4035-a40e-752a8418a3ec", "metadata": {}, "source": [ "**1.2** is stored as the \"step factor\" (for the time steps to take) in case an _'upshift'_ (in step size) is the decided course of action" ] }, { "cell_type": "code", "execution_count": null, "id": "e4ec4e81-bf3f-42eb-8f26-8d971a33432f", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "49fc2e1e-12f9-427c-8233-c998026caac4", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "66f7a05f-122e-496b-a101-9ac82a4599cf", "metadata": {}, "source": [ "## Diagnostics of the run may be investigated as follows: \n", "_(note - this is possible because we instantiated the class UniformCompartment with the option to enable the diagnostics)_" ] }, { "cell_type": "code", "execution_count": 37, "id": "807a8624-64c5-4b34-9433-54279f6c05ab", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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", "
TIMEABcaption
00.00000010.00000050.000000Set concentration
10.01600011.12000048.880000
20.03200012.15040047.849600
30.04800013.09836846.901632
40.06720014.14492545.855075
50.08640015.09101244.908988
60.10944016.11732743.882673
70.13248017.02541142.974589
80.16012817.98957842.010422
90.19330618.98663541.013365
100.23311919.98462440.015376
110.28089420.94381239.056188
120.33822521.81988238.180118
130.40702222.56981037.430190
140.48957923.16016836.839832
150.58864723.57616936.423831
160.70752823.82809736.171903
170.85018623.95071336.049287
181.02137523.99290036.007100
191.22680224.00019335.999807
\n", "
" ], "text/plain": [ " TIME A B caption\n", "0 0.000000 10.000000 50.000000 Set concentration\n", "1 0.016000 11.120000 48.880000 \n", "2 0.032000 12.150400 47.849600 \n", "3 0.048000 13.098368 46.901632 \n", "4 0.067200 14.144925 45.855075 \n", "5 0.086400 15.091012 44.908988 \n", "6 0.109440 16.117327 43.882673 \n", "7 0.132480 17.025411 42.974589 \n", "8 0.160128 17.989578 42.010422 \n", "9 0.193306 18.986635 41.013365 \n", "10 0.233119 19.984624 40.015376 \n", "11 0.280894 20.943812 39.056188 \n", "12 0.338225 21.819882 38.180118 \n", "13 0.407022 22.569810 37.430190 \n", "14 0.489579 23.160168 36.839832 \n", "15 0.588647 23.576169 36.423831 \n", "16 0.707528 23.828097 36.171903 \n", "17 0.850186 23.950713 36.049287 \n", "18 1.021375 23.992900 36.007100 \n", "19 1.226802 24.000193 35.999807 " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diagnostics.get_diagnostic_conc_data() # This will be complete, even if we only saved part of the history during the run" ] }, { "cell_type": "code", "execution_count": 38, "id": "f9ebf09e-caba-44e8-a675-3538cbee1cc0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
START_TIMEDelta ADelta Bnorm_Anorm_Bnorm_Cnorm_Dactionstep_factortime_stepcaption
00.0000007.000000-7.00000024.500000NaNNoneNoneABORT0.40.100000excessive norm value(s)
10.0000002.800000-2.8000003.920000NaNNoneNoneABORT0.40.040000excessive norm value(s)
20.0000001.120000-1.1200000.6272000.112000NoneNoneOK (stay)1.00.016000
30.0160001.030400-1.0304000.5308620.092662NoneNoneOK (stay)1.00.016000
40.0320000.947968-0.9479680.4493220.078019NoneNoneOK (low)1.20.016000
50.0480001.046557-1.0465570.5476400.079900NoneNoneOK (stay)1.00.019200
60.0672000.946087-0.9460870.4475410.066885NoneNoneOK (low)1.20.019200
70.0864001.026315-1.0263150.5266620.068008NoneNoneOK (stay)1.00.023040
80.1094400.908084-0.9080840.4123080.056342NoneNoneOK (low)1.20.023040
90.1324800.964167-0.9641670.4648090.056631NoneNoneOK (low)1.20.027648
100.1601280.997057-0.9970570.4970610.055424NoneNoneOK (low)1.20.033178
110.1933060.997988-0.9979880.4979900.052563NoneNoneOK (low)1.20.039813
120.2331190.959188-0.9591880.4600210.047996NoneNoneOK (low)1.20.047776
130.2808940.876070-0.8760700.3837490.041830NoneNoneOK (low)1.20.057331
140.3382250.749929-0.7499290.2811970.034369NoneNoneOK (low)1.20.068797
150.4070220.590357-0.5903570.1742610.026157NoneNoneOK (low)1.20.082556
160.4895790.416002-0.4160020.0865290.017962NoneNoneOK (low)1.20.099068
170.5886470.251928-0.2519280.0317340.010686NoneNoneOK (low)1.20.118881
180.7075280.122616-0.1226160.0075170.005146NoneNoneOK (low)1.20.142658
190.8501860.042187-0.0421870.0008900.001761NoneNoneOK (low)1.20.171189
201.0213750.007293-0.0072930.0000270.000304NoneNoneOK (low)1.20.205427
\n", "
" ], "text/plain": [ " START_TIME Delta A Delta B norm_A norm_B norm_C norm_D \\\n", "0 0.000000 7.000000 -7.000000 24.500000 NaN None None \n", "1 0.000000 2.800000 -2.800000 3.920000 NaN None None \n", "2 0.000000 1.120000 -1.120000 0.627200 0.112000 None None \n", "3 0.016000 1.030400 -1.030400 0.530862 0.092662 None None \n", "4 0.032000 0.947968 -0.947968 0.449322 0.078019 None None \n", "5 0.048000 1.046557 -1.046557 0.547640 0.079900 None None \n", "6 0.067200 0.946087 -0.946087 0.447541 0.066885 None None \n", "7 0.086400 1.026315 -1.026315 0.526662 0.068008 None None \n", "8 0.109440 0.908084 -0.908084 0.412308 0.056342 None None \n", "9 0.132480 0.964167 -0.964167 0.464809 0.056631 None None \n", "10 0.160128 0.997057 -0.997057 0.497061 0.055424 None None \n", "11 0.193306 0.997988 -0.997988 0.497990 0.052563 None None \n", "12 0.233119 0.959188 -0.959188 0.460021 0.047996 None None \n", "13 0.280894 0.876070 -0.876070 0.383749 0.041830 None None \n", "14 0.338225 0.749929 -0.749929 0.281197 0.034369 None None \n", "15 0.407022 0.590357 -0.590357 0.174261 0.026157 None None \n", "16 0.489579 0.416002 -0.416002 0.086529 0.017962 None None \n", "17 0.588647 0.251928 -0.251928 0.031734 0.010686 None None \n", "18 0.707528 0.122616 -0.122616 0.007517 0.005146 None None \n", "19 0.850186 0.042187 -0.042187 0.000890 0.001761 None None \n", "20 1.021375 0.007293 -0.007293 0.000027 0.000304 None None \n", "\n", " action step_factor time_step caption \n", "0 ABORT 0.4 0.100000 excessive norm value(s) \n", "1 ABORT 0.4 0.040000 excessive norm value(s) \n", "2 OK (stay) 1.0 0.016000 \n", "3 OK (stay) 1.0 0.016000 \n", "4 OK (low) 1.2 0.016000 \n", "5 OK (stay) 1.0 0.019200 \n", "6 OK (low) 1.2 0.019200 \n", "7 OK (stay) 1.0 0.023040 \n", "8 OK (low) 1.2 0.023040 \n", "9 OK (low) 1.2 0.027648 \n", "10 OK (low) 1.2 0.033178 \n", "11 OK (low) 1.2 0.039813 \n", "12 OK (low) 1.2 0.047776 \n", "13 OK (low) 1.2 0.057331 \n", "14 OK (low) 1.2 0.068797 \n", "15 OK (low) 1.2 0.082556 \n", "16 OK (low) 1.2 0.099068 \n", "17 OK (low) 1.2 0.118881 \n", "18 OK (low) 1.2 0.142658 \n", "19 OK (low) 1.2 0.171189 \n", "20 OK (low) 1.2 0.205427 " ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diagnostics.get_decisions_data()" ] }, { "cell_type": "code", "execution_count": null, "id": "1a0f579c-a3ae-49ba-8057-da68e5abca0f", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "cccd3c9a-e0f8-4f84-9871-753d0ad86a26", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "de785658-4ea1-4c2a-b55d-c0798a53ffaf", "metadata": {}, "source": [ "# PART 3 - Investigate A_dot, i.e. d[A]/dt" ] }, { "cell_type": "code", "execution_count": 39, "id": "2743f6de-1f62-4f3f-b0ad-54f5e5dcef5c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMErxn0_rate
00.000000-70.000000
10.016000-64.400000
20.032000-59.248000
30.048000-54.508160
40.067200-49.275377
50.086400-44.544940
60.109440-39.413363
70.132480-34.872944
80.160128-30.052108
90.193306-25.066824
100.233119-20.076882
110.280894-15.280942
120.338225-10.900592
130.407022-7.150948
140.489579-4.199162
150.588647-2.119154
160.707528-0.859515
170.850186-0.246433
181.021375-0.035500
\n", "
" ], "text/plain": [ " SYSTEM TIME rxn0_rate\n", "0 0.000000 -70.000000\n", "1 0.016000 -64.400000\n", "2 0.032000 -59.248000\n", "3 0.048000 -54.508160\n", "4 0.067200 -49.275377\n", "5 0.086400 -44.544940\n", "6 0.109440 -39.413363\n", "7 0.132480 -34.872944\n", "8 0.160128 -30.052108\n", "9 0.193306 -25.066824\n", "10 0.233119 -20.076882\n", "11 0.280894 -15.280942\n", "12 0.338225 -10.900592\n", "13 0.407022 -7.150948\n", "14 0.489579 -4.199162\n", "15 0.588647 -2.119154\n", "16 0.707528 -0.859515\n", "17 0.850186 -0.246433\n", "18 1.021375 -0.035500" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rates_df = uc.get_rate_history()\n", "rates_df" ] }, { "cell_type": "markdown", "id": "a4e1dcfb-1fe1-43c3-a0af-c48c40eefb27", "metadata": {}, "source": [ "Note that **reaction rates** are defined for the reaction _products_; since `A` is a reactant (in reaction 0, our only reaction), we must flip its sign; since the stoichiometry of A is simply 1, no further adjustment needed." ] }, { "cell_type": "code", "execution_count": 40, "id": "6b3c0aee-ac2f-4992-afd7-d46020a89177", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMErxn0_rateA_dot
00.000000-70.00000070.000000
10.016000-64.40000064.400000
20.032000-59.24800059.248000
30.048000-54.50816054.508160
40.067200-49.27537749.275377
50.086400-44.54494044.544940
60.109440-39.41336339.413363
70.132480-34.87294434.872944
80.160128-30.05210830.052108
90.193306-25.06682425.066824
100.233119-20.07688220.076882
110.280894-15.28094215.280942
120.338225-10.90059210.900592
130.407022-7.1509487.150948
140.489579-4.1991624.199162
150.588647-2.1191542.119154
160.707528-0.8595150.859515
170.850186-0.2464330.246433
181.021375-0.0355000.035500
\n", "
" ], "text/plain": [ " SYSTEM TIME rxn0_rate A_dot\n", "0 0.000000 -70.000000 70.000000\n", "1 0.016000 -64.400000 64.400000\n", "2 0.032000 -59.248000 59.248000\n", "3 0.048000 -54.508160 54.508160\n", "4 0.067200 -49.275377 49.275377\n", "5 0.086400 -44.544940 44.544940\n", "6 0.109440 -39.413363 39.413363\n", "7 0.132480 -34.872944 34.872944\n", "8 0.160128 -30.052108 30.052108\n", "9 0.193306 -25.066824 25.066824\n", "10 0.233119 -20.076882 20.076882\n", "11 0.280894 -15.280942 15.280942\n", "12 0.338225 -10.900592 10.900592\n", "13 0.407022 -7.150948 7.150948\n", "14 0.489579 -4.199162 4.199162\n", "15 0.588647 -2.119154 2.119154\n", "16 0.707528 -0.859515 0.859515\n", "17 0.850186 -0.246433 0.246433\n", "18 1.021375 -0.035500 0.035500" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rates_df['A_dot'] = - rates_df['rxn0_rate'] # Add a column to the Pandas dataframe\n", "rates_df" ] }, { "cell_type": "code", "execution_count": 48, "id": "6cb5759f-4365-42f3-ba3b-7655c71f42f0", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "SYSTEM TIME=%{x}
A_dot=%{y}", "legendgroup": "", "line": { "color": "brown", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ 0, 0.016000000000000004, 0.03200000000000001, 0.048000000000000015, 0.06720000000000002, 0.08640000000000003, 0.10944000000000004, 0.13248000000000004, 0.16012800000000005, 0.19330560000000005, 0.23311872000000006, 0.28089446400000007, 0.3382253568000001, 0.4070224281600001, 0.48957891379200014, 0.5886466965504001, 0.7075280358604801, 0.850185643032576, 1.0213747716390913 ], "xaxis": "x", "y": [ 70, 64.4, 59.248000000000005, 54.50816, 49.27537664, 44.544940482559994, 39.41336333896908, 34.87294388231984, 30.05210812002794, 25.066824008212734, 20.076881646923468, 15.28094185751489, 10.900591659933795, 7.150947748460368, 4.1991621732056075, 2.1191537434934844, 0.8595145673411082, 0.24643310980890476, 0.03549976316899972 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "tracegroupgap": 0 }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Rate of change of A with time" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 1.0213747716390913 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -3.8514169166549443, 73.88691667982394 ], "title": { "text": "dA/dt" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p2 = PlotlyHelper.plot_pandas(df=rates_df, x_var=\"SYSTEM TIME\", fields=\"A_dot\", colors='brown',\n", " y_label=\"dA/dt\",\n", " title=\"Rate of change of A with time\")\n", "p2" ] }, { "cell_type": "markdown", "id": "83501854-f0d3-492c-93b9-8065bfeb8601", "metadata": {}, "source": [ "Let's create a combined plot like we had in experiment `react_2_a`:" ] }, { "cell_type": "code", "execution_count": 45, "id": "8bed8066-7e09-40b0-8329-90b29433a71e", "metadata": {}, "outputs": [], "source": [ "p1 = uc.plot_history(chemicals=\"A\", colors='darkturquoise') # The plot of [A] vs. time that we saw earlier" ] }, { "cell_type": "code", "execution_count": 46, "id": "fb25c52e-96fc-4b5d-b54c-5f5b6af12b50", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "A
SYSTEM TIME=%{x}
A=%{y}", "legendgroup": "", "line": { "color": "darkturquoise", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.016000000000000004, 0.03200000000000001, 0.048000000000000015, 0.06720000000000002, 0.08640000000000003, 0.10944000000000004, 0.13248000000000004, 0.16012800000000005, 0.19330560000000005, 0.23311872000000006, 0.28089446400000007, 0.3382253568000001, 0.4070224281600001, 0.48957891379200014, 0.5886466965504001, 0.7075280358604801, 0.850185643032576, 1.0213747716390913, 1.2268017259669095 ], "xaxis": "x", "y": [ 10, 11.120000000000001, 12.150400000000001, 13.098368, 14.144924672, 15.091011903488, 16.117327332206184, 17.025411223536032, 17.989578375994412, 18.98663519835745, 19.984623670615306, 20.94381162849702, 21.819881668013238, 22.569810450307923, 23.160167565358876, 23.576169251301298, 23.828097086531773, 23.950713378038216, 23.992900047366195, 24.000192655593363 ], "yaxis": "y" }, { "hovertemplate": "A_dot
SYSTEM TIME=%{x}
A_dot=%{y}", "legendgroup": "", "line": { "color": "brown", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A_dot", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.016000000000000004, 0.03200000000000001, 0.048000000000000015, 0.06720000000000002, 0.08640000000000003, 0.10944000000000004, 0.13248000000000004, 0.16012800000000005, 0.19330560000000005, 0.23311872000000006, 0.28089446400000007, 0.3382253568000001, 0.4070224281600001, 0.48957891379200014, 0.5886466965504001, 0.7075280358604801, 0.850185643032576, 1.0213747716390913 ], "xaxis": "x", "y": [ 70, 64.4, 59.248000000000005, 54.50816, 49.27537664, 44.544940482559994, 39.41336333896908, 34.87294388231984, 30.05210812002794, 25.066824008212734, 20.076881646923468, 15.28094185751489, 10.900591659933795, 7.150947748460368, 4.1991621732056075, 2.1191537434934844, 0.8595145673411082, 0.24643310980890476, 0.03549976316899972 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Plot" } }, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Concentration of A with time, and its rate of change (A_dot)" }, "xaxis": { "autorange": true, "range": [ 0, 1.2268017259669095 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "autorange": true, "range": [ -3.8514169166549443, 73.88691667982394 ], "title": { "text": "[A] (turquoise) /
A_dot (brown)" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAABBoAAAFoCAYAAAD5DpgyAAAgAElEQVR4Xu2dCdxcVX2wT94tCVnIBgkJS0jCEhZlUbEWXCnip0KKVfhq+UqBYtCmrdCWzaJSA6IFF2pZqjR+tAr41bJUQYqCQFFo2QwYgRCCEEiA7Pu7fuecmTvvfW/uzNw7c+6955z7zI+X952Ze//nf57/mcncZ849d9SQvAluEIAABCAAAQhAAAIQgAAEIAABCEDAAIFRiAYDFAkBAQhAAAIQgAAEIAABCEAAAhCAgCaAaGAgQAACEIAABCAAAQhAAAIQgAAEIGCMAKLBGEoCQQACEIAABCAAAQhAAAIQgAAEIIBoYAxAAAIQgAAEIAABCEAAAhCAAAQgYIwAosEYSgJBAAIQgAAEIAABCEAAAhCAAAQggGhgDEAAAhCAAAQgAAEIQAACEIAABCBgjACiwRhKAkEAAhCAAAQgAAEIQAACEIAABCCAaGAMQAACEIAABCAAAQhAAAIQgAAEIGCMAKLBGEoCQQACEIAABCAAAQhAAAIQgAAEIIBoYAxAAAIQgAAEIAABCEAAAhCAAAQgYIwAosEYSgJBAAIQgAAEIAABCEAAAhCAAAQggGhgDEAAAhCAAAQgAAEIQAACEIAABCBgjACiwRhKAkEAAhCAAAQgAAEIQAACEIAABCCAaGAMQAACEIAABCAAAQhAAAIQgAAEIGCMAKLBGEoCQQACEIAABCAAAQhAAAIQgAAEIIBoYAxAAAIQgAAEIAABCEAAAhCAAAQgYIwAosEYSgJBAAIQgAAEIAABCEAAAhCAAAQggGhgDEAAAhCAAAQgAAEIQAACEIAABCBgjACiwRhKAkEAAhCAAAQgAAEIQAACEIAABCCAaGAMQAACEIAABCAAAQhAAAIQgAAEIGCMAKLBGEoCQQACEIAABCAAAQhAAAIQgAAEIIBoYAxAAAIQgAAEIAABCEAAAhCAAAQgYIwAosEYSgJBAAIQgAAEIAABCEAAAhCAAAQggGhgDEAAAhCAAAQgAAEIQAACEIAABCBgjACiwRhKAkEAAhCAAAQgAAEIQAACEIAABCCAaGAMQAACEIAABCAAAQhAAAIQgAAEIGCMAKLBGEoCQQACEIAABCAAAQhAAAIQgAAEIIBoYAxAAAIQgAAEIAABCEAAAhCAAAQgYIwAosEYSgJBAAIQgAAEIAABCEAAAhCAAAQggGhgDEAAAhCAAAQgAAEIQAACEIAABCBgjACiwRhKAkEAAhCAAAQgAAEIQAACEIAABCCAaGAMQAACEIAABCAAAQhAAAIQgAAEIGCMAKLBGEoCQQACEIAABCAAAQhAAAIQgAAEIIBoYAxAAAIQgAAEIAABCEAAAhCAAAQgYIwAosEYSgJBAAIQgAAEIAABCEAAAhCAAAQggGhgDEAAAhCAAAQgAAEIQAACEIAABCBgjACiwRhKArlE4J6f/7f47Oe/VUv5gs/8b/F/Pv5Bl7oQm+sHPnGemLHnFPGv//A55/viUgcOfe8Z4kPvP0b8/aXnupS2M7n+3x/8RFz5re/X8v3aFz8jTnjP21vK/5nnVopPnPMFccapJ4q/Pve0lmK4uJMao+rWDrt2+/3Va28WS265W9x6wxfEoQfObjec3j+op/rbZFwjyREEAhCAAAQgUGIC3ouG6AFlUGtfDiyjYzf4QJ7Vh8lGHxTVQe7q19eJZ+5fYvVLKvhg2soY+OSffUk8+fRyfTD/01uvzryfQT3DB0V/ddm14q6fPRLLuV3R0OggLGg3q7GVOcwMG0gqGoLXT3jsqTGlXjd5jKe0CJL2K23cNNsH7+Gmxl0ZRUPwvtXoQDx4/z7isHmZicp2REOj9z01nlT+6mbj6yjNeGdbCEAAAhCAgC8EvBYNwQen6AFlcPCW5QeqogYIoqE5+eDDblohEv7mTLVi6sCnUcaIhub1tGGLpAfkiIb01VIHmE88/byxA8iyiYZA1DQSq1Ehn9XMgCxFQ9CHss1USf+KYg8IQAACEIBAPgS8FQ3Btx+NPjCpb3l8m2JepGjIZ8i230qrBy7Bh2QlGNRpF0VNlS9qRkP75P2NkFQ0xBFgRkPjcaH4qJup9+qyiYYk4ys8W0m9t2V1sJ6laFBjpNmsB3/fgegZBCAAAQhAwD4CXoqG4INk2gPB4ENKUKa4GQ/B1PQ/lufzh8/xrzc7IvhgFS599ENcs3bDH4xVHHWOa3ALx4qexxzdJvwhLJjtobZRB85P/fqFEXGDfcPf2sf1RW0XfFNW7wNts/6pGMG+3/zSn+vzp4Nb2lMUojlG9w+mEIfrkXRmS/i0hCBO0lkRcWzipFD0ICj6bWSUZbROacdnmEN0xkb0dRB3kBD0S42BuNdDdEzWe00mGSNp3z7DY7zReEo79uLGmDr1Icn7TbTmceNR5RoI0riaJGknPG7WvLm+9tpW+/7JaR8a8RoL2ETjBuf0h7k3ez0lyS0cL9r/6P5xNUzSRtwpc8HrPOn7qcqz3ql30ffwNDGD/kf7pvJTp2VFZ0rFjYGks6mSSpWwKDN5CkJ0DKnxo14r0S8A4v7tCr+3NnvfC5gmmb2R9n2E7SEAAQhAAAIQaI2Al6Ih+NCS5hz8uA9X9R5TH5TCB6f1PszFHYyqD0LflQubBd/Oxa1rEG03/EEzTiyEP3Q2mtEQ/rAW/aCnDp7WvLF+xGJ24W/wg4XXGn0jFXcwnZRrvbUP0nxTHMc77rFWvvWKfoBNO8bqHaSrA4vwgVO0fnEfnJvNaEg6PuPeMhodmDTqQ9zrQcVP8jpJ8hpo5e1NxVXvAeFFA+PGY5qxFzdTKo3YjHt91hN0cVPBk4678AFyvYPi8IFcvT40ev2p56LiQT2WVNzFbRv3WJJv5MPjI+59Sz2vYqs+p3k/VRzVIpTh8/7j6pImZpBLlFPcGihxp04lHQOqnWDbRjP7omOyHr80r8F64ynu9ZP2sWZyN82/GWn6xLYQgAAEIAABCKQj4KVoSPtBqd7BedxBV73F9qIfhpOcwlDvoD26WGGjg7/oh6okoqHZB7XwEFLxwwcqaURDGq7NZkM0y7nRN1lRRq2Ihrh90hxUxeUX7B9eCDC6fkQroiHuqhNJD9ZaEQ1xCxnWe51EH0/6Gkj3tlZ/67gDr6RjL80Yq5dBGtHQiM1jTz3b8CoprXyzG3dKUb2DtnqvoaQLN9brW1zeSceuYp7kG/w076f16hg9nSNNzHrs4sZGI/5J1q1Ish5NlG8acdaIT9z7QrTujbhF3yuSvm+bPtXG1HsPcSAAAQhAAAJlI4BokBVv9g1x+MAtqWhI8qGo0Qfo8AF+mg+x7YiGelPnw9+4pxENabgmPdir9wI1lVe9+HEf+JOsAxKOp8bOkYcdoGeNqDqpmS3BqSLBrBTFYa89p9ZmlrgqGurVM/p40tdAq2/M9U73Cc8CSjr2Go2xpN+iphEN4enkzURblE8S0VDvtI1wW/X6Ve99MCpJ0x6Iqu2jbaYRDUkEb5r30yD/ZqfhpIlZj12S2UxBPkkEgtq22Xo0aWbjpXkN1hs30ddQmn+vkvybqnJENKSpFNtCAAIQgAAEsiPgtWhIeupEow+y0anWSUVDkg/HcR9ew6UODvDTfIhN88Et3FZw0BGdZh39wJjmgD4N16QHe/VeCo0+hEZPn0j6gTVoq97aF8HzSRdOC3/oVzkdceg88dfnnqY/GAdyQfEOj1vfRUPS10Dat8CwNAtPG09zoB8dJ43GTRaiQfU5buwlOTWhkWgIYkZPe6g3ayduTYS49RvCNWr2mqj3PhqIhnAfk7yXRg/AG50qkOb9NHi/izKvNwsgrt/RsVFvrETHZrP3HdXnZleHaCYa6om4gGfSf0PDtU8zK6rRvydRkZv0fRvRkPbdku0hAAEIQAAC2RDwUjSknfqZ5pv3pKIhyYeipB+I0nwwbkU0pImfRjSk4dquaDCVV9zLLI0wafQyDU/bVwteBt+qq9zvvu9RLRjUgorhgwffRUPS10Dat79648E10RDtd/CaanYg30g0pHmtNZrREMzOSVsbtX2zmSxhuZFGNJie0ZD0/T7Ne2hS0ZD0NJRG/JvNfEgjfJLWOY1oSPPvVZJ/U4OxpX6bukpJ0n6zHQQgAAEIQAACIwl4KRqCDxtxK3iHu68+uATT2NWCX/VW+w5/qE/6wbPRByj14U99k93o4DjpN0TRD62NPpw2O6867turemtAxH2TFj0g8GGNhmbSKs16IEEs9e1o+Pzleo+rMRB3wNjo4CHp+Gz0RhhdlyPYtt5ikHHnYic9dSLpayDtG3ea8+CTHng3ek23M6Oh3rfOwftTtO9J2mokGuqNkThm4dN9ou+dd/3sEb24Yiu3ItZoCN53TUiBdmY01BtvadZoSMq80WKQcYtaxtW42ayJuFzqjbF21mhoJk2CPJK8PpLyYzsIQAACEIAABFon4K1oUEiCadnRA+jgw1d4OmzSle/THMjFxYx+gxu3jcpdfeh/y/w5esG3NB+M1b5pF3AL9olODw6mR4e/XWyUS9wH6KRckx7sNRrqwSkS4Q/G0dMmArZJD5KaiYRmIiKab8Aj+o10kGd0mnrcAWMrB5FpvhWut20WoiH8Oo0etIZfA2q7eqdDxI2J4DUefu2Hp6K3skZDkKv6Hb4KQVDTJJddjDuYrCcwggP/uKvKNJvS3miMxK0tEjymOYfkQbPTReIuP6vGj7r8b/hqH3E1Uu8vSa5akWbshl/fcZfmDV91IslpDnHvH8Fj4dzTvEc3u2pFXL3jrhzy55/75ohxGMe4UV7N1phpJiIavRc3e/2F36PjxnlcbknWHUmyTesfl9gTAhCAAAQgAIE0BLwWDQpEvfNc465DHv6wrfaNOxc6jWgIf+gNihL3wTzabrBt8IE/zYdYtW/40nbqfvAhtdnU0+h516r9OGkRZRoc9DSTBUG/4rg22zfpN6fRc44b8U4SM+5yiNEXWNzBSL0XYb0P93EfzMO1jB5YRvsZjOe047NenuGxENQrK9EQ9zqJvgbCr+Vmpw0E+0bHqRIBSt5FZy+lHXvRdSXUQZM6FaZV0RDX/+BALBhb4TrFvXdF69jsgCv6nqPG16+WrRBxAi7c3+jrKS6/uNdcvXEW3T+OYVrRUO99P2Ca9v00mqPirxZyjZuVlERexL1HK2ZKzqixGZ1BUG+R3qSvg3r8klw1J8n7X73axr3+pu8xWSy55e5d+hj373Tc+3O9970gh2b/xqX5cMS2EIAABCAAAQi0R8B70dAeHvaGAARsIcBBhC2VII8sCCQ9NSBt282kU9p4tm7fzgwMW/tEXhCAAAQgAAGXCSAaXK4euUOgRATqrR1RIgR01RMCaiyHv7FvNMvCRJebnSZhoo2iY7Qz+6Lo3GkfAhCAAAQg4CMBRIOPVaVPEPCMQPBtZSsL03mGgu54QCDu8qDN1t1ot9tBm0lOvYm21exypuHtk5yS1m5fRrT33Ep96pK68f5gkiyxIAABCEAAAu0RQDS0x4+9IQABCEAAAhCAAAQgAAEIQAACEAgRQDQwHCAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0MAYgAAEIQAACEIAABCAAAQhAAAIQMEYA0WAMJYEgAAEIQAACEIAABCAAAQhAAAIQQDQwBiAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0MAYgAAEIQAACEIAABCAAAQhAAAIQMEYA0WAMJYEgAAEIQAACEIAABCAAAQhAAAIQQDQwBiAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0MAYgAAEIQAACEIAABCAAAQhAAAIQMEYA0WAMJYEgAAEIQAACEIAABCAAAQhAAAIQQDQwBiAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0MAYgAAEIQAACEIAABCAAAQhAAAIQMEYA0WAMJYEgAAEIQAACEIAABCAAAQhAAAIQQDQwBiAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0MAYgAAEIQAACEIAABCAAAQhAAAIQMEYA0WAMJYEgAAEIQAACEIAABCAAAQhAAAIQQDQwBiAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0MAYgAAEIQAACEIAABCAAAQhAAAIQMEYA0WAMJYEgAAEIQAACEIAABCAAAQhAAAIQQDQwBiAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0MAYgAAEIQAACEIAABCAAAQhAAAIQMEYA0WAMJYEgAAEIQAACEIAABCAAAQhAAAIQQDQwBiAAAQhAAAIQgAAEIAABCEAAAhAwRgDRYAwlgSAAAQhAAAIQgAAEIAABCEAAAhBANDAGIAABCEAAAhCAAAQgAAEIQAACEDBGANFgDCWBIAABCEAAAhCAAAQgAAEIQAACEEA0GBgDr67dbiAKIXwmMG330WLT1j7R2z/oczfpW5sERo0SYsbkseK1dbyntInS+93H9HSK3UZ3inWbe73vKx1sj8DEcd1iYGBIbN3R314g9vaewJ6TRsv3lD7RP8BnFe+L3UYHOzpGiT3l59rV63e0EWV415lTxxqJQxD7CCAaDNQE0WAAouchEA2eF9hQ9xANhkCWIAyioQRFNtRFRIMhkCUIg2goQZENdBHRYABiSUIgGgwUGtFgAKLnIRANnhfYUPcQDYZAliAMoqEERTbURUSDIZAlCINoKEGRDXQR0WAAYklCIBoMFBrRYACi5yEQDZ4X2FD3EA2GQJYgDKKhBEU21EVEgyGQJQiDaChBkQ10EdFgAGJJQiAaDBQa0WAAouchEA2eF9hQ9xANhkCWIAyioQRFNtRFRIMhkCUIg2goQZENdBHRYABiSUIgGgwUGtFgAKLnIRANnhfYUPcQDYZAliAMoqEERTbURUSDIZAlCINoKEGRDXQR0WAAYklCIBoMFBrRYACi5yEQDZ4X2FD3EA2GQJYgDKKhBEU21EVEgyGQJQiDaChBkQ10EdFgAGJJQiAaDBQa0WAAouchEA2eF9hQ9xANhkCWIAyioQRFNtRFRIMhkCUIg2goQZENdNFl0bB02Qpx2rmXiZuvvVQcPn+OARqEaEQA0dDm+Fjz6KOid+Zc0Tl2tzYjsbvPBBANPlfXXN8QDeZY+h4J0eB7hc31D9FgjqXvkRANvlfYTP9sFw0nn3GJWL5y1YjOLr7wbLHgxGNFK6LhzPOuFGvXbRK3L1lsBmCJoiAa2iz29w49VEx957vE4V/5ZpuR2N1nAogGn6trrm+IBnMsfY+EaPC9wub6h2gwx9L3SIgG3ytspn8uiIapUyaKG6++QHf4mu/8UFx30x1CyYa5+81MPaMB0dD6uEE0tM5O73n7CSeIratWieknfkTMv/gLbUZjd18JIBp8razZfiEazPL0ORqiwefqmu0bosEsT5+jIRp8rq65vrkmGlTPj1uwSBwwZ2/x2T/9+C6i4aLLbxB33PNwDdBJJ7xLXHHxOfp+9Dn12DFHza9JDHNU/YyEaGizrmufflrc+8dniIEd28Xep35SzPvMZ9uMyO4+EkA0+FhV831CNJhn6mtERIOvlTXfL0SDeaa+RkQ0+FpZs/3ySTQEIuGZ+5fUIB363jNEWDYwo6H18YNoaJ1dbc+nf3Sv+NXf/IW+P+dTfyb2/eQZBqISwicCiAafqpldXxAN2bH1LTKiwbeKZtcfREN2bH2LjGjwraLZ9Mc10RDIhLhTJ5RUWHj6SWLRWafUYAWnWgTyAdHQ+jhCNLTOrranuurEmp/8SCxb/Hn92EF/8zmx10cWGIhMCF8IIBp8qWS2/UA0ZMvXp+iIBp+qmW1fEA3Z8vUpOqLBp2pm1xcXREN0McjgKhPhxSAVobgrUEQXjEQ0tD6WEA2tsxshGtSdl2/5F/HCt76uHz/s8qvEtGPfYyA6IXwggGjwoYrZ9wHRkD1jX1pANPhSyez7gWjInrEvLSAafKlktv1wQTSEF4MM00A0ZDs2otERDQZ4qxkNwW3FddeI337vu2JUd7c48hvXi4mHvcVAC4RwnQCiwfUK5pM/oiEfzj60gmjwoYr59AHRkA9nH1pBNPhQxez74ItoOHz+HMGpE9mOF0SDAb5h0aDCPfuVL4nX/uM2MXqPPcUR37hOjN17XwOtEMJlAogGl6uXX+6IhvxYu94SosH1CuaXP6IhP9aut4RocL2C+eTvk2hIshhkdM2GfCj70QqiwUAdo6JBhXz6ovPEm//1gBg/70ApG64XXRMmGGiJEK4SQDS4Wrl880Y05Mvb5dYQDS5XL9/cEQ358na5NUSDy9XLL3efRIOi1ujylgHVk8+4RATrPnB5y+RjDdGQnFXdLeNEw1Bfr3jiLxaKTU//Skx+2zHirVd/y0BLhHCVAKLB1crlmzeiIV/eLreGaHC5evnmjmjIl7fLrSEaXK5efrnbLhryI0FLzQggGpoRSvB8nGhQu+1843XxpJQN21/5rdjzAx8Uh3x+cYJobOIjAUSDj1U13ydEg3mmvkZENPhaWfP9QjSYZ+prRESDr5U12y9Eg1mePkdDNBiobj3RoEJvWf6cePLPzxH9W7aIvf/gNDHvz//KQIuEcI0AosG1ihWTL6KhGO4utopocLFqxeSMaCiGu4utIhpcrFr+OSMa8mfuaouIBgOVayQaVPj1//1L8dT5f6Zb2v+shWK/Pz7bQKuEcIkAosGlahWXK6KhOPautYxocK1ixeWLaCiOvWstIxpcq1gx+SIaiuHuYquIBgNVayYaVBNr7r1bLLvsc7q1A8+/SMw8+WMGWiaEKwQQDa5Uqtg8EQ3F8nepdUSDS9UqNldEQ7H8XWod0eBStYrLFdFQHHvXWkY0GKhYEtGgmnnlB98Xy6+5Srd46N99RezxnvcbaJ0QLhBANLhQpeJzRDQUXwNXMkA0uFKp4vNENBRfA1cyQDS4Uqli80Q0FMvfpdYRDQaqlVQ0qKZe/M514qXvfluM6ugQb/36tWLSEUcbyIAQthNANNheITvyQzTYUQcXskA0uFAlO3JENNhRBxeyQDS4UKXic0Q0FF8DVzJANBioVBrRoJp79u8vF6/d8UPRPWmyOOKb14txs+cYyIIQNhNANNhcHXtyQzTYUwvbM0E02F4he/JDNNhTC9szQTTYXiE78kM02FEHF7JANBioUlrRoJp85nN/Ld544D4xbv854ohvXK+lAzd/CSAa/K2tyZ4hGkzS9DsWosHv+prsHaLBJE2/YyEa/K6vqd4hGkyR9D8OoqFa40Pfe0at2gtPP0ksOuuU2v2Tz7hELF+5St+fN3uWuH3J4hEjoxXRMDQwIJ76y3PFhqceF5OOfJs+jWKUOsrg5iUBRIOXZTXeKUSDcaTeBkQ0eFta4x1DNBhH6m1ARIO3pTXaMUSDUZxeByu9aFi6bIU47dzLRFQuBFU/87wrxdp1m2pyQUmHqVMmihuvvqA2MFoRDWrn3vXrxJN//imx7aUXxbT3fkAcdtmVXg+2MncO0VDm6ifvO6IhOauyb4loKPsISN5/RENyVmXfEtFQ9hGQrP+IhmSc6m113IJF+qkHb7umvUAO7F160aBEwvRpk8UVF58TWy41GM5feKpYcOKx+vnb7n5IXHXdLSMGR6uiQcXbsuIFObPhU6JvwwYxc8EfiAPPu9CBYUOKaQkgGtISK+f2iIZy1r2VXiMaWqFWzn0QDeWseyu9RjS0Qq18+yAaWq+5Oo7855vvEus2bBpxfNl6RLv3LL1oUKdMTJk0QRZ8c61SN197qTh8/hwRzHYI7qsN4h5rRzSomBue+B/x5F8s1O3PPuNPxewzP2X3qCG71AQQDamRlXIHREMpy95SpxENLWEr5U6IhlKWvaVOIxpawla6nRANrZdcfcF95KEHiCeeeV4HCc+Qbz2qvXuWWjQE0mDxhWfXZixcdPkN4o57HhbP3L8ksWhYv6W37Qqv/ul/iicu/hsdZ/75F4jZnzit7ZgEsIfAhLHdYvvOftE/OGRPUmRiHQG1Ssvu43rEhq3tv6dY1zkSMkqgu6tDjJY/W3b0G41LMP8IjB3dKQYHhdjZN+Bf5+iRUQITd+sWW+V7ygCfVYxy9S2YWlNu99265GeVPiNdmzy+x0icaJAfb9osBoby/9z94d0nio46PVJfcKsvsF946dVdZshnAqHgoHVFgwJRb92CgnM21nzc7AQVXPVdyYe5+83U6zc0m9GwfaeZf7xfvPVm8eSXL9f9e/vlV4q9T/yQsb4SqFgCo3s6RF//kPywl/8bXrE9p/VUBKRpGNvTKaWUmfeUVG2zsVMEOjtGic7OUaK3Tx5BcoNAA4oqxyoAACAASURBVAJKSg3JD9v9A/z7w0BpTGCM/Kyys29IjxduEKhHQM2+HN3dKXb0mvmsomRoFreeJ5eKvgLGcu8Rh4vumAX+g9MmgosKBMebwen5WTAoOmbDGQ1qfYLglAL1Db+Pt7gihx/Leo2GKNOV/3yDUD/qdviXvyamvus4H7GXrk+cOlG6krfUYU6daAlbKXfi1IlSlr2lTnPqREvYSrkTp06UsuypO+3KqRMLVqwURaj42+bMjp3REJw2EVzZUN1XN59Pn0h06oQyMJd8+dsaxjFHzfcKiCry8yteqS3uqE6deOjRpbX7WV51ot4r+/mvf0Ws+uGt+unDLr9KTDv2PanfBNjBLgKIBrvqYWs2iAZbK2NfXogG+2pia0aIBlsrY19eiAb7amJjRq6IBtvYqS+y426+fpmv+ppINIShqAPvRx5fph8Kr21gWzHT5BPuk1oYMnq5EXVJy+UrV+mQ82bPql3qMmij3cUg43Jd/o2vilf+7Rb91GFf+qqY9u73pekS21pGANFgWUEsTQfRYGlhLEwL0WBhUSxNCdFgaWEsTAvRYGFRLEwJ0ZC+KHFXLVRRfD99IrVoCKMtw6kVSYZSFqJBtbv8mqvEKz/4vk7h0L/7itjjPe9Pkg7bWEgA0WBhUSxMCdFgYVEsTQnRYGlhLEwL0WBhUSxNCdFgaWEsSwvRkL4g6kvrqVMm7nJWgO+nT7QlGgLMwakV4UUT40oQXNEh7rmTTniXuOLic9JXzoI9shINWjb8w9XilVu/V5ENX/yy2ON9x1vQY1JISwDRkJZYObdHNJSz7q30GtHQCrVy7oNoKGfdW+k1oqEVauXbB9FQvpq32mMjoqFZ4+FTE+qdhxKct+LiGhBZigYtG771dfHKLf+iMR/y+cVizw98sBlynreMAKLBsoJYmg6iwdLCWJgWosHColiaEqLB0sJYmBaiwcKiWJgSosHColiaUuaiQQmEuHUP6vEITsdwaWGMrEWDYrXiumvEb7/3XY1t/qVfEtOPP9HSIUVacQQQDYyLJAQQDUkosY0igGhgHCQlgGhISortEA2MgSQEEA1JKLGNIpC5aFCzGdJetqOVfYosZx6iQfXvxev/Qbz0r0t0Vw/+3GVixgn/q8hu03YKAoiGFLBKvCmiocTFT9l1RENKYCXeHNFQ4uKn7DqiISWwkm6OaChp4VvoduaioYWcnNslL9GgZcM//aN46aYbNaP5F39BTD/xI87xKmPCiIYyVj19nxEN6ZmVdQ9EQ1krn77fiIb0zMq6B6KhrJVP129EQzpeZd4a0WCg+nmKBi0bvnOdeOm739aZH3zR58WMD33UQC8IkSUBREOWdP2JjWjwp5ZZ9wTRkDVhf+IjGvypZdY9QTRkTdiP+IgGP+qYRy9yFw3hS2JGO+jSugzh3PMWDVo23Hi9eGnJP+k0Drrgb8VeHz45j/FCGy0SQDS0CK5kuyEaSlbwNrqLaGgDXsl2RTSUrOBtdBfR0Aa8Eu2KaChRsdvsaiLRYOqylPWuIdpmHwrfvQjRoDq98p9v0D/qduBnLxAzf//jhbMggXgCiAZGRhICiIYklNhGEUA0MA6SEkA0JCXFdogGxkASAoiGJJTYRhFoKBpMX5ZSXYFi8YVniwUnHusV/aJEg4KoTqFQp1Ko25yzzxX7/p+zvGLrS2cQDb5UMtt+IBqy5etTdESDT9XMti+Ihmz5+hQd0eBTNbPrC6IhO7a+Ra4rGrK4LCWiIZvhs+rfbhHPf+OrOvg+p/6RmPuZv8ymIaK2TADR0DK6Uu2IaChVudvqLKKhLXyl2hnRUKpyt9VZRENb+EqzM6LBjlJf850filvvvE88eNs1diQUk0Vd0dDKJSab7aNOnTj+uKPForNOsRZIK4kVOaMhyHf1T34kfrP48/quWq9BrdvAzR4CiAZ7amFzJogGm6tjV26IBrvqYXM2iAabq2NXbogGu+phazaIhvYqo9YrVLd2BUFa0aDa/cRH35frcXiiNRrawzm89213PySuuu6WtsGaysdUHBtEg+rL2ocfFM9ceqEY7N0ppr37feLQy64Uozo6THWTOG0QQDS0Aa9EuyIaSlTsNruKaGgTYIl2RzSUqNhtdhXR0CbAkuyOaGi90OpY+J9vvkus27BJnL/w1LaWE0A0ROqgTp1odOOqE60P3GDPjUufkrLhAtG79k2x+xFHi8P+7iuie/fd2w9MhLYIIBrawleanRENpSl12x1FNLSNsDQBEA2lKXXbHUU0tI2wFAEQDa2XWc3+P/LQA8QTzzyvg9x49QWpgqmzA5avXFXbZ8qkCSO+wA8/H34uvO6i2nne7Fni9iWLU7XdysaJZzSEEw8WdFTi4Jij5qeG1EqiNu9jy4yGgNHWlSvEr+XMBvV73NwDxGFf+ooYO2sfmxF6nxuiwfsSG+kgosEIxlIEQTSUosxGOoloMIKxFEEQDaUoc9uddEU0vPrAA2JocLDt/qYNMOvd7xaizoxydex887WXihdeejX1LH8lC9au21QTBNEZDdHn1f3nV7xSExHWnjoRviylSjKY6pF2ykbaQrmyvW2iQXFTMxrUzAY1w2HMjL3EIfI0iokHH+IKUu/yRDR4V9JMOoRoyASrl0ERDV6WNZNOIRoyweplUESDl2U13ilXRMPNb32rGOzvN97/ZgFPe+op0dHVtctmwWkTwUyCtBdJiG4fPQ6PPr902Qpx2rmXabFx+Pw5wlrRENiXIMlANChgl3z52yLpKQ/BqRO+XeLSRtGgRrdaq+Hpv71ArPvFQ6Jr3HhxyBevEFPe8TvNXh88nwEBREMGUD0MiWjwsKgZdQnRkBFYD8MiGjwsakZdQjRkBNazsK6IhgcWLSpkRsN7rpFXgYiZ0RCcNhFcFEHdV7ckp09EpYHaLywa4p5X24Tlg7WiQSX2j1d8tmZD2pnRED1HREGInl/i2uvRVtEQcFz2pUvFmnt+rO8e+oUrxB7v/z3XEDufL6LB+RLm0gFEQy6YvWgE0eBFGXPpBKIhF8xeNIJo8KKMmXfCFdGQOYiUDdRbqzDNF/bhL+u9mdFw0eU3iIceXarP8QhOnZi730w9HeOkE94lrrj4nJSohzdXse+452H9QFLQLTeW0Y62iwbV7ee/8VWx6t9u0QQO+quLxV4n+XWJ0YxKaywsosEYSq8DIRq8Lq/RziEajOL0OhiiwevyGu0cosEoTm+DIRrSl7belRfTnD4RXspAZaDuq6tXBJfJbLZGQ3T/9L1Iv0fixSCD0yTCTSw8/aTU1+IMpnYEcdoVFem7bH4PF0SD6vWLN14vXlryTxrAnE/9mdj3k2eYh0HEWAKIBgZGEgKIhiSU2EYRQDQwDpISQDQkJcV2iAbGQBICiIYklEZuU+8gP83pEypieFaEuiBDeLFH9Xy9q06o58LH8tZddSI90l33COC4OnOhHgNXRIPK/5VbvyeW/8PVuiv7nPpJMfcznzVRWmI0IYBoYIgkIYBoSEKJbRANjIE0BBANaWiVe1tEQ7nrn7T3iIakpNgu8YwGk6iiNibJIhgm2zcdyyXRoPq+5u7/EMsu/4LGMO3Y94j5F39RdI4fbxoL8UIEEA0MhyQEEA1JKLENooExkIYAoiENrXJvi2god/2T9h7RkJRU8u3qrd8QRAiuHJE8oh1bFiIawl1XC1lcd9Md+iFXZzq4JhoU6/WPPSqWLf686H3zDTF+zlxxkJQNEw482I5R6WEWiAYPi5pBlxANGUD1NCSnTnha2Ay6hWjIAKqnIRENnhbWcLcQDYaBehwukWhQ54+EzwFRC0Ku27BZY0ljWKLrMwRc8zpPJKs6uigaFIsdr72qZcPGXz0hOkaPkTMbviD2eN/xWWEqdVxEQ6nLn7jziIbEqEq/IaKh9EMgMQBEQ2JUpd8Q0VD6IZAIAKIhESY2kgQSiYbgShMLTjx2xDU71WyEex98TNy+ZHEimMG0kPClORLtaPlGroqGAOtvrviiWH3Xnfoui0RmM9gQDdlw9S0qosG3imbXH0RDdmx9i4xo8K2i2fUH0ZAdW58iIxp8qma2fUkkGsKX3givjhmsXunqKQ+m0LouGhSHl777bfHid67TSPb6yMnioL/5W1N4iCMJIBoYBkkIIBqSUGIbRQDRwDhISgDRkJQU2yEaGANJCCAaklBiG0UgkWhQl8o4/rij9aUslXQILmupZjTceud9tet3lhWpD6JB1W7NT38ifvOlS8XQwICYdOTbxPzPXSZG77FnWctqtN+IBqM4vQ2GaPC2tMY7hmgwjtTbgIgGb0trvGOIBuNIvQyIaPCyrJl0KpFoCK+tEF5PQUkHdQ3PNFeNCF/DM+iR66dS+CIaVD02L3tGLJOyYdvLL4nR02eI+Zd8UUw64uhMBl+ZgiIaylTt1vuKaGidXdn2RDSUreKt9xfR0Dq7su2JaChbxVvrL6KhNW5l3CuRaDAFJrjCRHgByUBiBLMkTLWVZxyfRIPi1rdxo1wk8lKx7pf/pTEefMHfihkfPjlPpN61hWjwrqSZdAjRkAlWL4MiGrwsayadQjRkgtXLoIgGL8tqvFOIBuNIvQ2Yq2hQi0p+4qPv06dghG+un4Lhm2gIavP8N74qVv3bLfrufqefKfb/0097+0LIumOIhqwJ+xEf0eBHHfPoBaIhD8p+tIFo8KOOefQC0ZAHZffbQDS4X8O8etBQNATrMVx30x0N80m6GGR4UclwQNcXlfRVNKgavfKD74vl11yly7XnB04QB8tLYHZ09+Q1Pr1pB9HgTSkz7QiiIVO8XgVHNHhVzkw7g2jIFK9XwRENXpUzs84gGjJD611gZjQYKKnPokHhWfvwg/pUiv7Nm8X4Aw4SB/3VxWLC/EMNkCtPCERDeWrdTk8RDe3QK9e+iIZy1bud3iIa2qFXrn0RDeWqd6u9RTS0Sq58++UqGlijwd0BtvWlF8Wziz8vNv3m17oTB372AjHz9z/ubodyzhzRkDNwR5tDNDhauALSRjQUAN3RJhENjhaugLQRDQVAd7BJRIODRSso5cSiwdTVIkzFKYhXbLO+z2gId/q5q78sXr3t/+mHZnzoo3J2w0ViFKdSNB2OiIamiNhAEkA0MAySEkA0JCXFdogGxkBSAoiGpKTKvR2iodz1T9P7RKLB15kIaUA12rZMokFxWP3jO8SzV10hhvr6xPg5c8UB510kdn/LEaZwehkH0eBlWY13CtFgHKm3AREN3pbWeMcQDcaRehsQ0eBtaY12DNFgFKfXwRKJBlNXi6i3GKTrhMsmGlS9tr6wXDx39RVi49KndPnm/dl5Yu9P/KHrpcwsf0RDZmi9Coxo8KqcmXYG0ZApXq+CIxq8KmemnUE0ZIrXm+CIBm9KmXlHEokGU1eLQDRkXs/cG1BXpFBXplC36cefKA6Qp1J07TYu9zxsbxDRYHuF7MgP0WBHHVzIAtHgQpXsyBHRYEcdXMgC0eBClYrPEdFQfA1cySCRaDA1o+HkMy4Rxx93tFh01imu8EmUZxlnNITBrPnPu8Tzf3+F6N++Tey2z37iQCkbJh35tkTsyrIRoqEslW6vn4iG9viVaW9EQ5mq3V5fEQ3t8SvT3oiGMlW79b4iGlpnV7Y9E4kGU2s0LF22Qnz6oq+JB2+7xkrOQT8XX3i2WHDisbUclSBZvnKVvj9v9ixx+5LFI/Ivu2hQMLb9dqV4VsqGjU8+ptnMWbhI7PuHf2xlnYtICtFQBHX32kQ0uFezojJGNBRF3r12EQ3u1ayojBENRZF3q11Eg1v1KjLbRKJBJWjiahHq1IlGt2fuX1IYCyUZbr3zPrFuw2YRFg1nnnelWLtuU00uKOkwdcpEcePVF9RyRTQMl+2Fa78pXv7+/9UPTHvvB8TBf3WJ6Jo4sbC62tIwosGWStidB6LB7vrYlB2iwaZq2J0LosHu+tiUHaLBpmrYmwuiwd7a2JZZYtFgW+Im8wkkg5ppEV1HQp02cv7CU2szHJRwueq6W0bMykA0jKzGG/fdK2c3LBb9mzeLMXvNFAeef7GY8o53miyZc7EQDc6VrJCEEQ2FYHeyUUSDk2UrJGlEQyHYnWwU0eBk2XJPGtGQO3JnGyy9aAhLBlXFsGhQp3qcdu5l4uZrLxWHz5+jixz32Gvrtjs7ALJKfPurq8Rz8lSKdf/9S93E/mcvFLP/+OysmrM+7tSJo8XmbX2it3/Q+lxJsDgCSjRMnzRWrF7Pe0pxVXCjZSUaxsqf9Vt63UiYLAsjMGG3bjE4MCS27uwvLAcadoPAHruPlu8pfaJ/gM8qblSsmCyVaNhDfq5ds2GHkQT2mjLWSByC2EcgkWgwecpDsA5CGEX4QD5PRFHJ0KpoGBrKM2u32lp6zTfF09dfr5Pe+/3vF2+/9PNizLRpbnXCQLbqAJJxYgBkCUIwVkpQZENdZKwYAul5GD1OVB/5rOJ5pdvvHu8p7TMsSwSTY0XF4uYngUSioV7Xo6cVNEN00eU3iDvueViE12IIZghEF2BsFsvE82r9hUceXxYbauHpJ4n3vuuIRDMaOHWicTXefPB+ObvhctG7fp3omTRZzPnMX4oZH/ywiRI6E4NTJ5wpVaGJcupEofidapxTJ5wqV6HJcupEofidapxTJ5wqV2HJcupEYeida7gt0aBmBNz74GO7XIUhrZiIm1lQFEnWaMiG/M43XteyYe0vHtIN7PmBD4p5Ujj0TNsjmwYti4posKwglqaDaLC0MBamhWiwsCiWpoRosLQwFqaFaLCwKBamhGiwsCiWptSWaAiuRJH0ahHRg/iASdo4WbKM5shVJ8zSfvXffyCW/+M3xODOHaJrwgQx79NydsOHTzbbiIXREA0WFsXClBANFhbF0pQQDZYWxsK0EA0WFsXSlBANlhbGsrQQDZYVxOJ0chUN6tKQxx93tFh01ikjkNgsGlSiKu/lK1fpnOfNnrXLDA5OnUg3wre/tkq88K2vizcfuE/vuIe8DOZcKRzGzNgrXSCHtkY0OFSsAlNFNBQI37GmEQ2OFazAdBENBcJ3rGlEg2MFKyhdRENB4B1sti3REP22v1n/651qodZuWPPmenHj1Rc0C2Hl84iG1sry6n/cJlZI4dC/dYvoHDNWzJWnUsw8+WOtBbN8L0SD5QWyJD1EgyWFcCANRIMDRbIkRUSDJYVwIA1EgwNFsiBFRIMFRXAkhUSiod5VJ6ZMmiAevO2ahl1tdsWK8M5JT8GwjS2iofWKqLUbXvjHr4vXf3qPDjLt2PfotRvGzNqn9aAW7olosLAoFqaEaLCwKJamhGiwtDAWpoVosLAolqaEaLC0MJalhWiwrCAWp5NINFicvxWpIRraL8Pqu+6UazfI2Q0bN4pR3d167YZZHzu1/cCWREA0WFIIy9NANFheIIvSQzRYVAzLU0E0WF4gi9JDNFhUDItTQTRYXBzLUkM0GCgIosEARBlCXf5Srd2w5p4f64BT3/kuMUcKh3Gz55hpoMAoiIYC4TvUNKLBoWIVnCqioeACONQ8osGhYhWcKqKh4AI40jyiwZFCWZBmItHQzukPah2HtGsvtLJPkSwRDWbpr7n3bi0cete+qQPP+8xnxd6nftJsIzlHQzTkDNzR5hANjhaugLQRDQVAd7RJRIOjhSsgbURDAdAdbBLR4GDRCko5kWhQB/7Tp00WV1x8zog0611FIryRkhRJ1nII9jluwSKxbsNm4dJ6DYgG86O3b9MmvXbD6h/foYNPftsxerHI8XMPMN9YDhERDTlA9qAJRIMHRcypC4iGnEB70AyiwYMi5tQFRENOoB1vBtHgeAFzTD+RaFCyYPGFZ4sFJx47IjV1FYlb77yv6YKQSlQ88vgyvW89gRDMmjjmqPmpZ0DkyCu2KURDdhV44757tXDYsWa1bmT/cz4j9vujP8muwYwiIxoyAutZWESDZwXNsDuIhgzhehYa0eBZQTPsDqIhQ7gehUY0eFTMjLvSlmi47e6HxCVf/nbi2QdKTFx3U+Ub6uht4ekniUVnnZJxd7MJj2jIhmsQdWD7NrFcnkrx2h0/1A+pNRtm/8k5Yo/3HZ9twwajIxoMwvQ4FKLB4+Ia7hqiwTBQj8MhGjwuruGuIRoMA/U0HKLB08Jm0K1EoqHeKRJKNFx13S1NZzRkkLdVIREN+ZRj7cMPipX/fIPY/GxldszU3323mH3mp8SEAw7KJ4E2WkE0tAGvRLsiGkpU7Da7imhoE2CJdkc0lKjYbXYV0dAmwJLsjmgoSaENdDORaAhmLkRPn1CnO5x0wrt2WbvBQF5OhUA05Fuul2/9nli55AYxsGWLblgtFLm/FA6dY3fLN5EUrSEaUsAq8aaIhhIXP2XXEQ0pgZV4c0RDiYufsuuIhpTASro5oqGkhW+h24lEg4q7dNkKcdq5l41owuXTHVpgVXcXRINJmsli9W3YIGc3XC9W/fsP9A49kybr2Q0zF/xBsgA5b4VoyBm4o80hGhwtXAFpIxoKgO5ok4gGRwtXQNqIhgKgO9gkosHBohWUcmLRUFB+TjSLaCiuTJueWaqFw7pHf6mTmHjYW/T6DVPe/s7ikoppGdFgVTmsTQbRYG1prEsM0WBdSaxNCNFgbWmsSwzRYF1JrEwI0WBlWaxMKpFoqHfVCSt7VEBSiIYCoEeaXH3Pj8XKG28QO159RT8z/YMf1qdTjNlrZvHJyQwQDVaUwfokEA3Wl8iaBBEN1pTC+kQQDdaXyJoEEQ3WlMLqRBANVpfHquQQDQbKgWgwANFQCLVYpPpRt1EdHWL2GX8q9pM/Rd8QDUVXwI32EQ1u1MmGLBENNlTBjRwQDW7UyYYsEQ02VMH+HBAN9tfIlgwTiYZ6V51I24l6MyPUZS9vvfM+Z69egWhIOxKy3X77qpf17IY1/3mXbmjsPvvJ9RvOEdM/8MFsG24QHdFQGHqnGkY0OFWuQpNFNBSK36nGEQ1OlavQZBENheJ3pnFEgzOlKjzRRKJBLQT56Yu+1rYIqCcagqtaPHP/ksKBtJIAoqEVatnvs+6RX4gX5foNm3/9tG5syjt/V+x/1kIx4aD52TceaQHRkDtyJxtENDhZtkKSRjQUgt3JRhENTpatkKQRDYVgd65RRINzJSss4USiQQmCRrekgqCeaLjo8hvEQ48ubVtkFEUR0VAU+WTtrvrhrXrByL6NG/UOe//BaXL9hoWic/z4ZAEMbIVoMACxBCEQDSUosqEuIhoMgSxBGERDCYpsqIuIBkMgPQ+DaPC8wAa7l0g0tNNeMFuhWYzFF54tFpx4bLPNrHwe0WBlWUYk1b9li5YNr/zg+/rxrokT5dUpPiX2/tipuSSPaMgFs/ONIBqcL2FuHUA05Iba+YYQDc6XMLcOIBpyQ+10Q4gGp8uXa/KZi4Zwb3y9egWiIdcx21Zjm59dJtdvuF6s/cVDOs6YmXuLfU79pJj1+x9vK26znRENzQjxvCKAaGAcJCWAaEhKiu0QDYyBpAQQDUlJlXs7REO565+m94lEg6lTJ9Ik5tK2iAaXqlXJ9fWf/kS8csu/ik2/+bW+P3bWPlo4zFzwB5l0BtGQCVbvgiIavCtpZh1CNGSG1rvAiAbvSppZhxANmaH1KjCiwatyZtqZRKKhXgbHLVgkzl94qrOnPJgii2gwRTL/OGuUcLj5X4Sa6aCFw977VoTDyR8zmgyiwShOb4MhGrwtrfGOIRqMI/U2IKLB29Ia7xiiwThSLwMiGrwsayadaks0qMtS3vvgY+L2JYsTJxe3ZoPL6zOojiMaEpff2g3VDIeXv3+T2PzcbzIRDogGa0tvVWKIBqvKYXUyiAary2NVcogGq8phdTKIBqvLY01yiAZrSmF9Im2JhrSXpVRi4rqb7hA3X3upOHz+HA1HXTrztHMvEwtPP0ksOusU64HFJYhocLJssUmvufdufUpFbYbDPvuJfeUMh71Oam9sIhr8GSNZ9gTRkCVdv2IjGvyqZ5a9QTRkSdev2IgGv+qZVW8QDVmR9S9urqJBnWrxiY++bxehoATErXfex+Ut/RtfzvZozX/eVREO1RkOu+07W+ytTqn46O+31CdEQ0vYSrcToqF0JW+5w4iGltGVbkdEQ+lK3nKHEQ0toyvVjoiGUpW7rc62JRrOPO9KsXbdpsSnTtS76kTamRFt9TiDnZnRkAFUS0Iq4fCyXMNhy/PP6ox2kzMc9vnfp4u9PrIgVYaIhlS4SrsxoqG0pU/dcURDamSl3QHRUNrSp+44oiE1slLugGgoZdlb6nQi0VDvqhNTJk1INQuBGQ0t1YidLCCw5p4fV4TD8ucqwkHNcDjtj8TMhMIB0WBBER1IAdHgQJEsSRHRYEkhHEgD0eBAkSxJEdFgSSEsTwPRYHmBLEovkWgwlS9rNJgiSZyiCKz+yY/0KRWBcBi33/5i70/INRw+2niGA6KhqIq51S6iwa16FZktoqFI+m61jWhwq15FZotoKJK+O20jGtypVdGZJhIN9U55aGVtBa46UXTJad8EAS0c1AyHF57X4XaTwkFdFrPeKRWIBhPU/Y+BaPC/xqZ6iGgwRdL/OIgG/2tsqoeIBlMk/Y6DaPC7viZ715ZocH1tBVMgWaPBFEn34qyRwuG3N98ktr6wXCc/bvYcOcPhD3cRDogG92pbRMaIhiKou9kmosHNuhWRNaKhCOputolocLNueWeNaMibuLvttSUaLrr8BvHQo0tTrdPgLqr6mSMafKxquj6tvvs/5CkVaoZDRTioNRxmfPgkMfPDC0TXxIkC0ZCOZ1m3RjSUtfLp+41oSM+srHsgGspa+fT9RjSkZ1bGPRANZax6a32uKxriTnGIa2LxhWeLBSceW7f1egtJxu3wzP1LWutFwXshGgougEXNr77rTvHyrf9am+Eg5JHjXh85WRz88Y+J7nmHit7+QYuyJRXbCCAabKuIvfkgGuytjW2ZIRpsq4i9+SAa7K2NMx3/YwAAIABJREFUTZkhGmyqht25tDWjIW3XTj7jEnH8cUeLRWedMmLXeo+njV/U9oiGosjb2+6bD/1crP7R7eLN/3qgluSktx4p9vrwyWL6iR+xN3EyK5QAoqFQ/E41XmbRMCQrNTg0JIbkC2ZI/h4cVbk/KJ8Ykn/LP4VSuvoxdV/+rX7UTW0vhHxQ/ld9oHJfbxNspe7J2KH7wW7BINH3K5tVY1bvRO7r9oK2VMzQ/Ur8+FyG40Zz2zXXcC6VPo7MbfzYbjEggWzf2R/qk8ql1vVKf8O5hp+s9ana9qhQAwFT/VT1+XAfR246nFuNdw3OiNz0hlFuNd5BFcL863Cqxan2bzjNEdWu1SIYFkFtwkCrfayMoaC7I+PW2MfEGeYb5VStRdCt6riujbVwLvpBxSbETfcxFDMut8peI27hPgd92n18j9iyvV/0qwGj44T6F3c/1HYFVYLcgjjh11c0t9DYHOYd7WMkNz1ghnu562s2Jrfq66/WRkwfh9SbyjDuSgvV+9Hcwi++pu8nu8SptDOcy673R76fVF/rI3Jp9n5SaXSo9hqu3o9ya5LbqFEdYvyYTrFpe1+1cpH3Dz0Wak+NTDT6fiLb/sqcvSMjgLu+EEgkGkx11uSikqZyMhEH0WCCop8xtr30onjtR3eINXfdIXo3btSd7Jk8RQsHNdNhzEzeXP2sfGu9QjS0xi3PvQZkY/1Dg6JPfooakB/Y+uSHpH75d588yh2QH6DU4+p+v/w7eFwd3vWr/eSPfn5wUD8/vO2oyLbVmNUPa+pzrjqI1gfOMpY6BOjsHCU6OzrEtr7+2gG2PtDWB9ejagfi+oBcbh/sqw7Ow48F94MDc32grreX26m2VMzqIWD8AX1lG7WtPvDX+wT7qnuVv3XMIF61P5Vtq+3pxyp9Ux9Qa32u9lf1K5x7njWnLQhAAAIQyI7A0JFvyS44kQslYIVocH1RSURDoWPYicanju8Sy279N/HKnbeJTc8sreW8x3ver6XDlHf+rhP9IMlsCfgkGtRBdu3AWx49qgPyAfmjD66rvwfk0WRwoF45EJcH8PLIMzgo1wfq1QP5fnnwGexXeb5ycF85qK8eqMv99f3atkK2WWm7ctA/WM2pKgFUTnLbICcdV20XkgWVv+Xj8hugftle9FvBbEcE0eMIqC/wOmTN1W/9tyyKut+hvszTX1oOiQ75jH6s+sV48IXkKP3Nb9Vu1L4VrtyvPKduUo+ov0PFDnZTz9ZiVDYdcb+SVXBTmiVyPxS39kztm7/h3MK56DaHp2DE5xaTS5Bbh4KgJVQ0l0r+sX0euenIPtbiVHbeJbdqLhVWtfCNudW4VBMawX9kPUJf5ke/3B+RS61WOmQ1Ri23kbWp9GG44CPuR3Kr1SYmbsPc4uLUYgxzGpFrjW9oMGr+VfZBg9Wvj4dzC/W3NjaGR2ZlfIf6W70/urtDnuIZbisaJ3I/yi0UN5zL8OumWosRY3HEhIHq+I7kVn3NDr8uFIJdcwvP9Ai/ZofHQhNuWo1GX8MhbkF/a8M07v2k2scG7wWxue3Sx5j3pUbvJ+H3ttqLb9cY+qnoe0Eobvg1G/8arrzH7ja6S2zbof6FDb2+6r6fhF5fMe+ZX5szaxgyf3lFoK5oOPO8K8WNV1+QqrPN9ql3ioQSDVddd4uzi0oiGlINk1JuHF4McsNTj8vTKu4QagHJ4DZuzlyx1/86WS8g2TVufCkZ0enKh/Lpk8eKFWu3ih3yoHaH/OCxQ36Y2iG/QdcHwfKxkQfm1W/S5XO1g+ngm3Z9gBz65lzvGz7wrsbUB9aVA+zhb+EbH5BXvs2vtqkO9mvfzleFQvVbdB9r2iWL1CU/lHXJznXJfnfL+53yvvqtHtf35YewbrWNfkxuJw97u+VRcOVvtZ/cLnhexgj2qzwvn1Pbqn31B7LKwbM6iNYHznIbdRDd3dkhRnePEjt2DNYOsPWBtj64lgfa8rf8B752QB7sW4lV+Sgd3kbH1ftUD95rB+uVA0k1V6FDfjit5VD9UFs5oK/kpNpTW3aM2Lf6XDXvQAbo35F9aznqPldy1/HVB+NIf3wcW1n1iTUasiLrX1zWaPCvpln0iDUasqDqZ8y6okGd5jBl0oTEB//HLVgk1m3YLBot6BjMXIguIKnaOumEd4krLj7HScqIBifLlmvScVed2LlurV7HQZ1asePVV3Q+o7q7pXA4SV8ec8JB83PNkcbqE1AH4dvVAb882Nouz13dIb853yEPyLbLA3klAWp/y2/Md8gw6rHt6m+5jdq2sk/1cf3csESobDcce6cn35nHHZAPP1Y9IJd91Qfo1QPvTsmoW577qQ7g0x2QD1VjdMiDfhlDH9SrNuQpBuq+OqiXpxloCSBroh6vSQDVthYCsl2Zj86lJgiqfwf3qwfoNrxWyrxGgw38XcoB0eBStYrNFdFQLH9XWkc0uFKp4vNseOqEmqHwyOPLdJb1BEJwVYljjpqfaAbE0mUrxGnnXjai5wtPP2mXBSKLR5M8A0RDclZl3bLZ5S3f+PnPpHS4Taz95cM1RJOPerue4TD99z5UVmyp+t0rDxI3yYP2zYMDYrM8cFe/N8kD/M3yMfW4lgJqhkD1IH/EAb4WBOo5td3wLIJACCjRkNdNfdM8Rh5sj5F/jO3oFGPkQfIYfTA+/E147YC8elBdO5iuHRAHB+yVb8X1gbM6+Jb9qBzUq4P5aszoAbl6Xh6Uhw/I1YG6XBKg9q19TQJUJUGtDZWj/NZbtRWefJoXuzK1g2goU7Xb6yuioT1+Zdob0VCmarfeV0RD6+zKtmeiNRqu+c4PxXU33RHLxnVJEJYpqoPzZs8Sty9ZPKKv6pSP5StX6cfinkc0lO1lk76/zURDEHHrC8vFarlw5Kv/cbsY2LZVP9wzbQ8xU85wmCFnOoyZsVf6xh3YQx3kV6SAlARaDAzLgs1SDGySkmCEQKgKhU3yuS3yOSUS1CyCrG7qoHys/FEH/WPllPUx8kBdiwAlBORB+ZiqHBir/paPq+cr2wXSQO6ntwt+K4lQjSPnhes48mes/Hv2lHHitXXbs+oKcT0hgGjwpJA5dAPRkANkT5pANHhSyIy7gWjIGLBH4ROJhjz7qw7qowf6WbavTvl48LZrak2o+8e+4/DaaRxKRKxdt6mWk8pv6pSJI2ZvIBqyrJAfsZOKhqC3Q3198pQKdVrF7WLzs5VZReq25wdOEDM+9FEx5R2/Yw2YrfIgf4v8plzLgersgZoUqEoAPbsgOttA35eSoLqCf7sdUt/aT5QH6xPkLICJ8ht19XuCfKxyXx7Ea1mgxEBVGGgpoGYLVIRARRIEAkHOJNDbVSSAEg153FQzM+QaDYiGPGi73Qaiwe365Zk9oiFP2m63hWhwu355ZY9oyIu0++2UXjRES3jR5TeIXz/3Uk0sKPFw/sJTxYITj9Wbxi1ciWhw/4WQdQ/SioZwPhse/2/xmpzhsObeu2sPTzjgIHlaRWXxyM7R6nC4tVtlBkHllINgZsDmofCsAjFylkF1toEWC3q7ymr+7d7UAX5YCkyQB/1KDoyXj6vfWhZoiTAsECYqkSBnDQQiQc0WcP2GaHC9gvnlj2jIj7XrLSEaXK9gfvkjGvJj7XJLiAaXq5dv7oiGCG81Y+GQA/fTMxqC9SRuvvZScfj8OXrLuMcQDfkOWhdba0c0BP3d+cbrevHIV+XPzjWr9cMdo0eLMSd+VPQf/3tiu1w8cnhWwfDsghGzDaoSYbM+FUFdw759SbCbFgBKCHRKMSBnFWgxUBUEo0KzCrQUGBYHYbHQ44EkMDEuEQ0mKJYjBqKhHHU20UtEgwmK5YiBaChHndvtJaKhXYLl2R/REKq1ms1wxz0P1xa+TCoadvZld254eYai3z3tliv5DQyoA/v6/VQH/W/2D4g3Bvvl70Hxen+f/C3/HpCPyd/6R/6tHtvnwZ+Lo++7Txy+9Fe1gK/uNVP8z9vfLv7nbe8QL8ypiLFmt0AQ7N4pZwyoHzljYHclA7o6hX5MyoPKb/mY/K2fk8JAP6ZmG8jf6pQFbuYIqOuY855ijqevkdTlITvl//rk+wo3CDQi0CVXclVOeaDRP0AghIAk0CM/q6j3FAPfQcDTYwLqU193V4folZ9VTdzU5x5ufhJANFTrGix42Wz2Qpx8WLtpp5+jg161RUB9/F+rxMBAv9gur6f3yvZe8Xpfv1grT1dQ0kA/J6XCWrkI4psDffp3mpt6o3/ry78V73ngATH/0UfEhLVv1nbfvs8+YuvvHieGjn23GHPQwfK0hMqMg4nyA2dwqoG6z1t7GuLZb6uczeTxo8W6zbynZE/b7RZ6ujuF+nC2eVuf2x0h+8wJ7DamSwyqq+30DmTeFg24TWDS+B75ntIvpVS6zyNu95rs0xIYJSX35HHd8rNKb9pdY7efOnG0kTgEsY8AokHWJDqTIVwm1miwb9DakNEG+Y/wa3LGwWtSFqyWIuE1+bNaygL196vVmQdKKKS9TZUzBqZ1dYkpo7rEVDlzYKqUAdPkrIGpnfK+/Fs9r/9Wj8n74duGJ/5HvPnAfeJ1eanM3jffqD01bvYcMfXd7xN7HPdeMUGeXsHNXgKcOmFvbWzLjFMnbKuIvflw6oS9tbEtM06dsK0idubDqRN21sXGrEovGtSaDOpW70oXXHXCxmGbbU5rpDyoSAQlD+TfWiCo31IoyMfV39sTXkpRywEpBmb0dInd5fyBKfq+/JFrF9SkQvCY/G3qJIT1jz2qpcMbD94/QjqMnzNXTD1OSgcpHsbLBSW52UUA0WBXPWzOBtFgc3Xsyg3RYFc9bM4G0WBzdezJDdFgTy1sz6SuaDj0vWekzn3e7FltX5oyz8tbBqdBxHV08YVn1640oXJavnKV3iyujywGmXqoFLJDrxiqygIlECo/r8nZBxWhUJUKUiQkmTCorn4ws6tbzOhUP53yp0vspX70Y51iekeXnokQiAMTi0G2Cm39/zwi3pTC4Q0pHnpDp1eMmztPTAukw7wDWw3PfgYJIBoMwvQ8FKLB8wIb7B6iwSBMz0MhGjwvsKHuIRoMgSxBmIai4Zn7lyRGoNY4uPfBx5wSDYk712RDRIMpkq3H2axOZajNOAhmIgzPQFAi4c2EpzLsIWcWBMIgEAhKHlQek7MT5N9qnYM0tyJFQzjPdY/+Qs9yWKukw/p1tafGzz1ATJOzHNSP+ptbMQQQDcVwd7FVRIOLVSsmZ0RDMdxdbBXR4GLV8s8Z0ZA/c1dbtEI0BLMn0ogNm4AjGrKthjpN4bdy5sHLcrbBq7X1EIZnICiJoERDs1uXPIqLCgM9CyEyKyGLqyjYIhpGSodfylkOP6tIhw3rh6WDnN2gTq1Qsx3UrAdu+RFANOTH2vWWEA2uVzC//BEN+bF2vSVEg+sVzCd/REM+nH1opTDREFzlIYAYvtqDa2ARDe1XbJWUCL+VwkDJBPX7t7298rf8WwqGNfJ+s9s4eVUFPftALqQYNwthLzkLYU/5fFE3G0XDCOnwyC/kmg4/k7Md7hN9GzYMSwe5joOSDmpdB7W+A7dsCSAasuXrU3REg0/VzLYviIZs+foUHdHgUzWz6wuiITu2vkXOfTFItbjiI48vq3EMr4XgKlxEQ/PK7ZDrIyyX8uAlKRJe1gKh+iMv96iEQl+DizarmQj7ylkH+3Z1ir1rpy8oqdBTmaEgBcLu8moMNt9sFw0jpMMv/0vPdFDrOvRt3Fh7Sl2xQl25QkmHcfvPsRm3s7khGpwtXe6JIxpyR+5sg4gGZ0uXe+KIhtyRO9kgosHJshWSdFuiIc0pD+HFJReefpJYdNYpQj2GaCik7pk1qmYfvNDXK16QIkH9LO/bKe9XpEKj23QpC/btljJBCoV95KyEfdV9KRX27e4RswqciWAKlEuiYYR0+MVDek2HN37+U9G/efMI6aDWc1CzHXbbb39TmEofB9FQ+iGQGACiITGq0m+IaCj9EEgMANGQGFWpN0Q0lLr8qTqfWjS0cspDPSGBaEhVK2s2HpCzD17olzJBCoSKTFBiQd3vFRvrrJWglk6c19MjZuuZCeqnR0qELrGPvt8lxspTH3y+uSoawjV58+EH9SUz1SkW/Vu2DEuHgw+pLCT5O8expkObgxjR0CbAEu2OaChRsdvsKqKhTYAl2h3RUKJit9FVREMb8Eq2a2LR0M4pD0ooTJk0QTx42zUj8CIa7B5t6wcGqjMTevVpD1omVGcqDNU51WGyPIVhXs9oMVeKhLlSIMzrln/LmQrqfplvPoiGEdLhvx6oSof7RP/WYenQM20PMfmtR4lJRx4tdj/iKLHbvrPLXPbUfUc0pEZW2h0QDaUtfeqOIxpSIyvtDoiG0pY+VccRDalwlXrjpqLB1CkP4TjB6RKIBjvGnlo3Qc9M6FWnOQzLhNcbLMI4W4sEKRB6KhJhnjzFYa78UZeG5LYrAd9Ewwjp8NDP5akVPxMbn3xM7FizekTnx8zYSwqHo6V8OFLLhzEz92Z4NCCAaGB4JCWAaEhKiu0QDYyBpAQQDUlJlXs7REO565+m9w1FQxanPLQzMyJNx/Lc1pXFINUVHZZJkfAbuW7Cr5VQkLMU1GkPvXKhxrjbeCkN1KwEPTtBzkrQsxP0312ix/NTHUyPH59FQ5jVtpdelMLhcbFe/myQ4qF37ZsjUI6dtU9ltoMUD5OlgBg9fYZp1E7HQzQ4Xb5ck0c05Irb6cYQDU6XL9fkEQ254na2MUSDs6XLPfGmoiGrUx7Caz3EtZE7iTYatE00bB8alDKhV/xaigQlFZbJmQrL5GkPG+SpEHG3mYFMkDMUhk916Baz5H1uZgiURTREaW19YbkWDmq2w/qnHh9x6Uy17Ti5kKQ6xULJh0nylIueqdPMAHc0CqLB0cIVkDaioQDojjaJaHC0cAWkjWgoALqDTSIaHCxaQSmnOnUiq1Me0ly9oiBODZstUjS81t8vlmqZsEPKBDljQUoFNUsh7rannKEwv2eMmC9PcZgvF2bUpztImTCB0x0yH1ZlFQ1RsJufXaZnPCj5oMTDQGhRSbXt+LnzxCQ500GdbqHEQ/ekSZnXxqYGEA02VcPuXBANdtfHpuwQDTZVw+5cEA1218eW7BANtlTC/jyaioagCz6e8mCqPHmJhp3yFIcndu4QT6ofKRfUb3U6RPQ2Sj6gZMIhUiocrKSCPOXhELlA456drJ9gquZp4yAa4oltemap2CCFg5rxsOEJKR7kmA7fxh94sBQPcsaDEg/yp2v8+LTondoe0eBUuQpNFtFQKH6nGkc0OFWuQpNFNBSK35nGEQ3OlKrwRBOLhiBTn055MEU/K9HwnJyZ8KScqaDlgvz9KzlbIXrbvbNDHNEzVhwsZyYomaBmLKi/O9URCzdrCCAakpViw6+eEBufkNLhqSf0rIchOWMnfJtwyGF6psPk6lUtOseMTRbYka0QDY4UyoI0EQ0WFMGRFBANjhTKgjQRDRYUwYEUEA0OFMmSFFOLhnDerp/yYKoGJkTDG4MDeoaCkgpP9VV+bxwc3CXFt0iZcISUCUeOHiPe2j1GHCRPgeBmPwFEQ/oaDck1RTbK2Q5qYcngdItdRNtbjqieZlFZXHKUXLTU5RuiweXq5Zs7oiFf3i63hmhwuXr55o5oyJe3q60hGlytXP551xUNSiI8c/+SxBmpmQ73PviYuH3J4sT7+LJhWtGglmTUUkHOUgh+r4w5BWJvuUhjIBWC36MFMxVcHDeIhvarNihn9Gx4Us54UOs7yJ9NT/9qRNBRHR3yahbqNIvg52ghHJvZg2hof5yUJQKioSyVbr+fiIb2GZYlAqKhLJVur5+Ihvb4lWlvRIOBajcTDSvkFR/0TAV5oBTIhehchXHycpFHyFkKR8rZCm+VsxbU772kaODmBwFEg/k69m/bWp3pUFnjYdNvfj1SPMj1SSZL6aCvaiFnO0w8+BDrZzwgGsyPE18jIhp8raz5fiEazDP1NSKiwdfKmu0XosEsT5+jIRoMVDcsGjbI0x0qaypsr62tsDbmFAh11QclE44YPVb/PkQeFHHzlwCiIfva9m3aVLmUpjzdYoNc52HL8ud2aXTc/nPEuDkHiPHzDpC/58mrXBwgRu85PfvkEraAaEgIis0EooFBkJQAoiEpKbZDNDAGkhBANCShxDaKQEPRkBbRvNmzSnfqxH9v2yb+8/WNUizIq0DIUyGej7m05IzOruqaCnKmgpy1oE6DGC+neXMrDwFEQ/617l2/TgsHJR82yUUmt6x4ITaJnkmTxW5SOkyoygf9txQQRaz3gGjIf5y42iKiwdXK5Z83oiF/5q62iGhwtXL55o1oyJe3y621tRikyx03lfuoJ0aeJ94j11AIZELwex9OgTCF29k4iIbiSzfU1ydlw3Kx9YXnxVb5e/Py58U2+bt3w/rY5MbPmSt221/OepACQs18UDMgsp79gGgofpy4kgGiwZVKFZ8noqH4GriSAaLBlUoVmyeioVj+LrWOaGizWh954UUxblCur9AtrwahrgQh11fgBoEoAUSDvWNi5+trxJaqfNgi5cPWFfLnxRWxCXfL2Q8V6TBX/zY9+wHRYO84sS0zRINtFbE3H0SDvbWxLTNEg20VsTMfRIOddbExK0SDgao0WwzSQBOEcJwAosGtAg7KU6C2ylMt1DoP2158Qc9+UAKib8OG2I6o2Q9q7YdxcyvrPrQ6+wHR4NY4KTJbREOR9N1qG9HgVr2KzBbRUCR9d9pGNLhTq6IzRTQYqACiwQBEz0MgGvwosJr9oE692Cx/tr2wXJ6K0WD2w+6T5GkXB9ZmP4yTAmK8PP2i0doPiAY/xkkevUA05EHZjzYQDX7UMY9eIBryoOx+G4gG92uYVw8QDQZIIxoMQPQ8BKLB3wKHZz+otR+2SAHRaPaDPu1Czn7YTc5+UItOqtMvxlSvfIFo8HecmO4ZosE0UX/jIRr8ra3pniEaTBP1Mx6iwc+6ZtErRIMBqogGAxA9D4Fo8LzAMd3bsWa1XmwyzeyH8VI+zDz8ENE/Y7+msx/KR5QehwkgGhgPSQkgGpKSYjtEA2MgCQFEQxJKbKMIIBoMjANEgwGInodANHhe4ITdU7Mf1IyHbfLUi8oVMCqnX9Rb+yGY/dC3eZOYceKH5VUvZojR02fUZkAkbJbNPCSAaPCwqBl1CdGQEVgPwyIaPCxqBl1CNGQA1dOQiAYDhUU0GIDoeQhEg+cFbrN7wewHJR0GfrtCvPmbZ+te+UIb4o4OMWb6Xlo6BD9j1f0ZUkJUH+uUV8Hh5i8BRIO/tTXdM0SDaaL+xkM0+Ftbkz1DNJik6XcsRIOB+iIaDED0PASiwfMCG+peeI2GITn7YXN19sPWl1aKHa+vFjvl6Rg7Vr8mete+2bTFHnkpzjEzQjJCzoYYW72vZIS6VCc3dwkgGtytXd6ZIxryJu5ue4gGd2uXZ+aIhjxpu90WosFA/RANBiB6HgLR4HmBDXUv6WKQQ319Ysea1+RPRT5sr/7WIkL/vCbUNo1unWPG6tkQY+UsCHVKhpIPPeq0DCkjxlRP0VAzJ7jZSQDRYGddbMwK0WBjVezMCdFgZ11sywrRYFtF7M0H0WCgNogGAxA9D4Fo8LzAhrqXVDQkaU7NelCzH7R8kLMh1N+BmNgp7/dt2tQ0THAahjpNY/hvdbqGuj9ddO42rmkMNsiGAKIhG64+RkU0+FjVbPqEaMiGq29REQ2+VTS7/iAaDLBFNBiA6HkIRIPnBTbUPZOioVlK/Vu3SAmxRs9+CGZCVH5XhcTra5qFEN27716bDaFnQqj1IYIFK+X9nilTm8Zgg9YIIBpa41bGvRANZax6a31GNLTGrWx7IRrKVvHW+4toaJ1dbU9EgwGInodANHheYEPdy1M0NEt5aGCgMgNCrQ0Rmg1RmR1ROWVjYOeOhmFGdffU1oUIrpZRExLqtA05M0J0dTVLhedjCCAaGBZJCSAakpJiO0QDYyAJAURDEkpsowggGgyMA0SDAYieh0A0eF5gQ92zSTQk6VLvhvXDsyGUjKguWKnExHb507dxQ9MwPdP2qKwLoRaonLi76JI/3RMmyt8TK/dDf6vHRyEmNFNEQ9OhxQZVAogGhkJSAoiGpKTKvR2iodz1T9N7REMaWnW2RTQYgOh5CESD5wU21D3XREOzbg/s2F5dF2KNnhmh5ENvdcHK4L4YHGwWZsTzXXJdCCUhlIBQIqJzwgTRo2WEFBShx/U24+U28vQO9bdvl/tENKQaNqXeGNFQ6vKn6jyiIRWu0m6MaCht6VN3HNGQGtmuOyAaDED0PASiwfMCG+qeb6IhCZZggUq1NkT/5s2if9NG0bd5k/y9SfTKv/vl330bN4oB9Zj8GZSndLRy6+gZXZ0lIeXDhIp8qM2YkLJC/R3MpAjPqugaN76V5jLfB9GQOWJvGkA0eFPKzDuCaMgcsRcNIBq8KGMunUA0GMCMaDAA0fMQiAbPC2yoe2UUDWnRqUUslYSoyAgpIqp/92kpIUWFEhO1x6W0kM+rbQZ7d6ZtSm/f0dlZPX1DncYxQc+c6NGneChhUZlJUZs9oeWFmm1RmV0hVEEzuiEaMgLrYVhEg4dFzahLiIaMwHoWFtHgWUEz7A6iwQBcRIMBiJ6HQDR4XmBD3UM0GAIZE0YtXKmlhJwd0b+lIh8qckL9rkiLXvn3gJQVweNqm/5tW1tOSosJKR16lHzQYqJyqoeePRHIiuo6FFpQqMfHTxCjurubtoloaIqIDaoEEA0MhaQEEA1JSZV7O0RDueufpveIhjS06myLaDAA0fMQiAbPC2yoe4gGQyANhhnq79ezJ4JZEiNnTFQEhRYVmyuzK3qDv6WwaPWm1qFQQqJLSofOMWOEOu2jY/Rouc6E+j1GdPb0iO7dxorR8qd3VJd+rvK4/D2m8rfap1P+rR9T90f3jHhcPZ8x8zLuAAAUF0lEQVTljItW+85+5gkgGswz9TUiosHXyprtF6LBLE+foyEaElT35DMuEctXrtJbzps9S9y+ZPGIvRANCSCWfBNEQ8kHQMLuIxoSgnJgs6GhIT07QgkIJSL0T1VG1GZSVNekqMmK6voU6tKiedwqAmOkgIgXE0pcVLfTUkP+qDUvtASpPl79Wy26WREflW06Qo+PkqehcMufAKIhf+autohocLVy+eaNaMiXt8utIRqaVO/M864Ua9dtqskFJR2mTpkobrz6gtqeiAaXXwL55I5oyIez660gGlyvoJn8g3Uo1O/BHTv0+hIDO3eKQfmjTgEZ7O0Vnf29omOgV2zZtE0/Plh9fKC6vb6/s1dvPyT379+xU//W9+XjKqaSIXne1KVJtYhQcqI6U6MySyOYhbHr4+HtKxIktH1olkdFagzP4OiUAmVUd0+e3bO2LUSDtaWxLjFEg3UlsTIhRIOVZbEyKURDk7Ict2CROH/hqWLBicfqLW+7+yFx1XW3iAdvuwbRYOWQtjMpRIOddbEtK0SDbRWxNx8TazQoGTGgpIOWFFJWSBlRkRrRxytyQ0uOqvCobF95vD/8ePC3fDy8jW4jp5kaQdVGdXRUZ1WMFqO6uoW+L2XH0Cj5W86u6OiSMyw6OoWeaSF/9POdXZW/1fOdHbXn1f1R8jm1jXpexRmlXrDyt4ol5OPqefX3kI6j9pd/V3+Pku3o/VQcuY86bUXvp+PIfdXvag66Hdl2kFdHKEedn24r1Jfqvupx9bx6TrdV3W/ihNFiYGBIbN3Rb++AJjMrCCAarCiD9UkgGqwvkTUJIhoalGLpshXitHMvEzdfe6k4fP4cvWXcY8xosGY8W5sIosHa0liVGKLBqnJYnYwJ0ZB3B4f6+rSo6K9JisosjfBMjWAGR/jxASUtQjJjQM3G0LM7qr93bBeDfXIbKUrUc8FsDvUYN0kgkBpVUaIlRlRwSNkxLE1G1aRJIF2U/KiIjIpQqfwdSJOK9KjImsq+FTGj7ld/B/eD02fUm13opyP0txY4ovq8KmD1Of148Hfo8XAcISfpVHavbKv2UXJIzd0ZsX8QS28/Mhc9Zqr7jmg79PiQzE/FrV1YJmZ7PV+olm987qrtoWqQII9K3CqDEf0M5RrTHx0n0p9a34LclSgLM6xyDrabNmm02LClT/QPVkDWYy6f0c+rNnWmQVxecKUggGgoRZmNdBLR0ABjUtEwmPP0UyOVJ0iuBNSHKMZJrsidbYyx4mzpck288kFfHlfw709d7mqtCyUj+tXMC7mopxgc1L/V40Phv+V9NdtCP65mXaj7aju5TfCYfl4+pmdlBPuq56uP6W2Dv4P4QaxqPL1f5G+1z4hcInnpXEK5hfOq/R3JS+dY3S/IN9fBSWOlJHDYpz8t1A+3chAw+VlFi0ZuXhJANBgQDV6ODDoFAQhAAAIQgID7BKSMCkSJlhpVaRIVHCNESYzg2EWURMVLVYiMECPhtqp/a6AyJy3Jqj/q7+B+9PHY7asxdolT7/GY9nTbOpWRedR9PCbvQcmzXn/SPK77Ecld1Sfu8dR5R/qppVjQ5zq1aIX5YeeeKw5HNLj/fkEPIGCQAKKhCcwkazSsXrfDYEkI5SOBKRN7xJZt/aK3v/qhxMdO0qe2CSipv+ekMWLNet5T2obpeYDRPR1it55OsV5Oc+YGgUYEJozr0ms0bNuRz9VMqIa7BKbt3iNPnegX/QN8VnG3itlnrk6dmCY/176+YaeRxmZMGWMkDkHsI4BoaFITrjph36B1MSPWaHCxavnnzBoN+TN3tUUX12hwlbXreXPVCdcrmF/+LAaZH2uXW2KNBperl2/uiIYEvNUlLZevXKW3nDd7Vu1Sl8GuLAaZAGLJN0E0lHwAJOw+oiEhKDYTiAYGQVICiIakpNgO0cAYSEIA0ZCEEtsoAogGA+MA0WAAouchEA2eF9hQ9xANhkCWIAyioQRFNtRFRIMhkCUIg2goQZENdBHRYABiSUIgGgwUGtFgAKLnIRANnhfYUPcQDYZAliAMoqEERTbURUSDIZAlCINoKEGRDXQR0WAAYklCIBoMFBrRYACi5yEQDZ4X2FD3EA2GQJYgDKKhBEU21EVEgyGQJQiDaChBkQ10EdFgAGJJQiAaDBQa0WAAouchEA2eF9hQ9xANhkCWIAyioQRFNtRFRIMhkCUIg2goQZENdBHRYABiSUIgGgwUGtFgAKLnIRANnhfYUPcQDYZAliAMoqEERTbURSUaBuXlLbfs6DcUkTC+EkA0+FpZs/1CNJjl6XM0RIPP1aVvEIAABCAAAQhAAAIQgAAEIACBnAkgGnIGTnMQgAAEIAABCEAAAhCAAAQgAAGfCSAafK4ufYMABCAAAQhAAAIQgAAEIAABCORMANGQM3CagwAEIAABCEAAAhCAAAQgAAEI+EwA0dBidU8+4xKxfOUqvfe82bPE7UsWtxiJ3XwhkGZMnHneleKRx5fVus4Y8mUUNO9HmnESjnbNd34orrvpDrH4wrPFghOPbd4QWzhPoJWxcuh7z6j1e+HpJ4lFZ53iPAc60JxA2rFy3IJFYt2GzbXAz9y/pHkjbOE9AfXvzK133icevO0a7/tKB5sTSDoe+EzbnGVZt0A0tFB59YJau25TTS6of+CnTpkobrz6ghaisYsPBNKOCfUhL/wPubp/7DsOF1dcfI4POOhDHQJpx0kQJvjHXh0YIBrKMbzSjpWly1aI0869TCAXyjE+wr1MO1ain1mi+5ePID2+7e6HxCVf/rYGMWXSBERDyYdE2vHAZ9qSD5gG3Uc0tDA21Avq/IWn1r5VVC/Iq667hTfmFlj6sku7Y+Kiy28Qv37uJWbG+DIg6vSjlXES/kZBfVuNaPB8kFS7l3asqIPF6dMmIyvLMTxG9DLtWFHbf+Kj76vNdkn6rWUJ0Zauy4yF0pW8YYdbHQ98pmUcBQQQDSnHQvCt0c3XXioOnz9H7x33WMqwbO4wARNjQn3DdMiB+3GQ4PA4aJZ6K+Mk+o88oqEZZT+eb2WsqLGhvokMT4cP/zvlBxl6ESXQylhRBwF33POwOOmEd+l/c/j3h3EVEGj1wBKCfhJodTzwnuLneGilV4iGlNRa+Uc9ZRNs7hiBdsdE8KGPc2QdK3zKdNOOk7h/4BENKaE7unnasRJsH57twvuKo8VPmXbasRL+ciQspvj3JyV4Tzdv9cDSUxyl71Yr44F/e0o/bEYAQDSkHA+t/KOesgk2d4xAO2MiWOCPbx4dK3oL6aYdJ9HFlcJNch5+CwVwaJe0Y6XerDrElENFbzHVtGNFNRMdFxwYtAjfw91aObD0EANdqhJIOx74TMvQiRJANLQwJtKeD9lCE+ziGIFWxgQf7hwrsoF0Wxkn4WY5cDRQBEdCpB0rcWOD8eJIsdtMM81YaUVMtJkeuztEIO2BpUNdI9UWCKQZD3ymbQFwCXZBNLRQ5LQrPLfQBLs4RqDZmFDnq6lbcBnU6H3Huku6LRJIO06izXDg2CJ4B3dLO1bU9s+veKW2KLH60PfQo0tZpNjB2qdNOe1YUe8jxxw1v3alLMZKWuL+bp/mwNJfCvQsIFBvPPCZljGSlACiISmpyHZpr1ndYjPs5hCBRmMi/KYcfKMU1zWuKOBQwVtMNek4iQuPaGgRuqO7pR0r4dNtuESdo0VvMe20Y0W9lwQ3xkqL0D3aLXw5w6BbwWKhHnWTriQk0Gw88Jk2IUg2E4gGBgEEIAABCEAAAhCAAAQgAAEIQAACxgggGoyhJBAEIAABCEAAAhCAAAQgAAEIQAACiAbGAAQgAAEIQAACEIAABCAAAQhAAALGCCAajKEkEAQgAAEIQAACEIAABCAAAQhAAAKIBsYABCAAAQhAAAIQgAAEIAABCEAAAsYIIBqMoSQQBCAAAQhAAAIQgAAEIAABCEAAAogGxgAEIAABCEAAAhCAAAQgAAEIQAACxgggGoyhJBAEIAABCEAAAhCAAAQgAAEIQAACiAbGAAQgAAEIQAACEIAABCAAAQhAAALGCCAajKEkEAQgAAEIQAACEIAABCAAAQhAAAKIBsYABCAAAQhAAAIQgAAEIAABCEAAAsYIIBqMoSQQBCAAAQhAAAIQgAAEIAABCEAAAogGxgAEIAABCEAAAhCAAAQgAAEIQAACxgggGoyhJBAEIAABCEAAAhCAAAQgAAEIQAACiAbGAAQgAAEIQAACEIAABCAAAQhAAALGCCAajKEkEAQgAAEIQAACEIAABCAAAQhAAAKIBsYABCAAAQhAAAIQgAAEIAABCEAAAsYIIBqMoSQQBCAAAQhAAAIQgAAEIAABCEAAAogGxgAEIAABCEAAAhCAAAQgAAEIQAACxgggGoyhJBAEIAABCPhK4Jrv/FBcd9Mdu3Rv4ekniUVnnSKOW7BIP/fgbdfsso16bsqkieL2JYv1c81iHfreMxpinDJpgm7nzPOuFI88vix228UXni0WnHisOPmMS8TylatEcD/Y+La7HxKXfPnbYt7sWbW8ooGS5HHsOw4Xd9zzcG3Xk054l7ji4nNStZukH76OK/oFAQhAAAIQ8JUAosHXytIvCEAAAhAwQiA4EL752kvF4fPn1GIqYXDvg4/VDtTVgfkxR80XN159QW2biy6/QTz06NKagEgaKyoEoqJAPa9irV23qa4oUNsEoiGaV/B4I9EQhheIibg84p5L026SfhgpJEEgAAEIQAACEMiNAKIhN9Q0BAEIQAACLhJQAiH4pr5R/tED7qXLVojTzr1sxGyCpLFMioapUybqmQ+BKAnyUvKhmahIkkc90ZC0XUSDi68KcoYABCAAAQg0JoBoYIRAAAIQgAAEGhCInvrQCJY6aH5+xSt6BoP6Vl8dbIdnOKSJpdppNJMgyQG6yuGQA/cTa95cL6ZPm6xPa1CzLNRNPZalaEjabpJ+MEAhAAEIQAACEHCLAKLBrXqRLQQgAAEI5EwgONgPNxt3CkHwfHhtg2fuXzIi27SxmomGJGs0qAP+Y446RK/JoPJR+anZDV/7px9kLhqStMsaDTkPaJqDAAQgAAEI5EAA0ZADZJqAAAQgAAE/CEQPiuNOqQjkQLBQZL2ep4nVzhoNSjQECzSqXIJZFmlmErSyRkPSdtPk4ccoohcQgAAEIAAB/wkgGvyvMT2EAAQgAIEMCKhTENQVF6KzFuLWZmjWfL1YzWY0NDv1ITh1QomG4GoXgbRIc4Dfjmho1m6aPJpx5HkIQAACEIAABOwggGiwow5kAQEIQAACFhJQ0uB7/36vnhEQvQUH0NGrUdQTDa3EMikaVP5qjYjgEpxpDvDbEQ3N2k2Th4VDhJQgAAEIQAACEIghgGhgWEAAAhCAAATqEAikgXo6OnMh7nKWartGokFdhSJNLNOiIdzNNAf47YqGRu2myYOBCgEIQAACEICAGwQQDW7UiSwhAAEIQKBAAuEFHoM06q3B0OzUiTSxmomGpItBxs3ISHOAXy+P4JSPgEmwZkX4lI1o2aLtshhkgQObpiEAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBEBRENGYAkLAQhAAAIQgAAEIAABCEAAAhAoIwFEQxmrTp8hAAEIQAACEIAABCAAAQhAAAIZEUA0ZASWsBCAAAQgAAEIQAACEIAABCAAgTISQDSUser0GQIQgAAEIAABCEAAAhCAAAQgkBGB/w/8GuYBkClspwAAAABJRU5ErkJggg==", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "PlotlyHelper.combine_plots([p1, p2],\n", " title=\"Concentration of A with time, and its rate of change (A_dot)\",\n", " y_label=\"[A] (turquoise) /
A_dot (brown)\",\n", " legend_title=\"Plot\",\n", " curve_labels=[\"A\", \"A_dot\"]\n", " )" ] }, { "cell_type": "markdown", "id": "22eb0e80-1601-4471-9f53-7d790341632b", "metadata": {}, "source": [ "### Notice how much smoother the lines are, compared to what we had in experiment `react_2_a` !" ] }, { "cell_type": "code", "execution_count": null, "id": "8421106a-66b8-43bc-ad29-d0e18373975e", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }