{
"cells": [
{
"cell_type": "markdown",
"id": "ef6b822a-73a9-4057-97ea-b55c1661c2bc",
"metadata": {},
"source": [
"### Reaction A + B <-> C, mostly forward and with 1st-order kinetics for each species,\n",
"### taken to equilibrium\n",
"\n",
"Initial concentrations of A and B are spacially separated to the opposite ends of the system;\n",
"as a result, no C is being generated.\n",
"\n",
"But, as soon as A and B, from their respective distant originating points at the edges, \n",
"diffuse into the middle - and into each other - the reaction starts,\n",
"consuming both A and B (the forward reaction is much more substantial than the reverse one),\n",
"until an equilibrium is reached in both diffusion and reactions.\n",
"\n",
"A LOT of plots are sent to the log file from this experiment; the reason is to compare two\n",
"graphic elements, \"vue_curves_3\" and \"vue_curves_4\""
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "4fac097f-7e52-4a45-9e89-b14a5e75dcc5",
"metadata": {},
"outputs": [],
"source": [
"LAST_REVISED = \"Nov. 13, 2024\"\n",
"LIFE123_VERSION = \"1.0.0.rc.0\" # Library version this experiment is based on"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "34e78b1f-5856-4168-b8c8-e9e3081370a4",
"metadata": {},
"outputs": [],
"source": [
"#import set_path # Using MyBinder? Uncomment this before running the next cell!"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "8a51735f",
"metadata": {},
"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",
"from experiments.get_notebook_info import get_notebook_basename\n",
"\n",
"from life123 import BioSim1D, ChemData, GraphicLog, HtmlLog as log\n",
"\n",
"import plotly.express as px"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "6eae381c-b048-4345-904b-939c551ce1ef",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-> Output will be LOGGED into the file 'rd_1.log.htm'\n"
]
}
],
"source": [
"# Initialize the HTML logging\n",
"log_file = get_notebook_basename() + \".log.htm\" # Use the notebook base filename for the log file\n",
"\n",
"# Set up the use of some specified graphic (Vue) components\n",
"GraphicLog.config(filename=log_file,\n",
" components=[\"vue_heatmap_11\", \"vue_curves_3\", \"vue_curves_4\", \"vue_cytoscape_2\"],\n",
" extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "8e1ce9d4-e35c-4840-ae65-9c4f9a8f4542",
"metadata": {},
"outputs": [],
"source": [
"# Initialize the system\n",
"chem_data = ChemData(names=[\"A\", \"B\", \"C\"], diffusion_rates=[50., 50., 1.])\n",
"\n",
"\n",
"\n",
"# Reaction A + B <-> C , with 1st-order kinetics for each species; note that it's mostly in the forward direction\n",
"chem_data.add_reaction(reactants=[\"A\", \"B\"], products=[\"C\"], forward_rate=20., reverse_rate=2.)\n",
"bio = BioSim1D(n_bins=7, chem_data=chem_data)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "d3dfb8b7-f54a-4e56-915b-e1d9b89d2365",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 0:\n",
" A B C\n",
"0 0.0 0.0 0.0\n",
"1 0.0 0.0 0.0\n",
"2 0.0 0.0 0.0\n",
"3 0.0 0.0 0.0\n",
"4 0.0 0.0 0.0\n",
"5 0.0 0.0 0.0\n",
"6 0.0 0.0 0.0\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "dc49e75c-6aa5-414d-831f-805461f04f3a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1 (at temp. 25 C)\n",
"0: A + B <-> C (kF = 20 / kR = 2 / delta_G = -5,708 / K = 10) | 1st order in all reactants & products\n",
"Set of chemicals involved in the above reactions: {'A', 'B', 'C'}\n"
]
}
],
"source": [
"chem_data.describe_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "37eb3a95-3d46-479e-9c93-2e81a2d3202d",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reaction: A + B C\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"# Send a header and a plot to the HTML log file\n",
"log.write(\"Reaction: A + B <-> C\",\n",
" style=log.h2)\n",
"chem_data.plot_reaction_network(\"vue_cytoscape_2\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "433d4426-ca90-4d48-a7e6-b83a98904f5c",
"metadata": {},
"outputs": [],
"source": [
"# Set the heatmap parameters\n",
"heatmap_pars = {\"range\": [0, 20],\n",
" \"outer_width\": 850, \"outer_height\": 100,\n",
" \"margins\": {\"top\": 30, \"right\": 30, \"bottom\": 30, \"left\": 55}\n",
" }\n",
"\n",
"# Set the parameters of the line plots (for now, same for single-curve and multiple-curves)\n",
"lineplot_pars = {\"range\": [0, 20],\n",
" \"outer_width\": 850, \"outer_height\": 200,\n",
" \"margins\": {\"top\": 30, \"right\": 30, \"bottom\": 30, \"left\": 55}\n",
" }"
]
},
{
"cell_type": "markdown",
"id": "3fbf21cc-79ab-4915-ac51-8a963f16dc88",
"metadata": {},
"source": [
"# Inject initial concentrations of A and B at opposite ends of the system"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "f9e1cf26-1df8-4f38-af51-10f162043c7c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0:\n",
"7 bins and 3 species:\n",
" Species 0 (A). Diff rate: 50.0. Conc: [20. 0. 0. 0. 0. 0. 0.]\n",
" Species 1 (B). Diff rate: 50.0. Conc: [ 0. 0. 0. 0. 0. 0. 20.]\n",
" Species 2 (C). Diff rate: 1.0. Conc: [0. 0. 0. 0. 0. 0. 0.]\n"
]
}
],
"source": [
"bio.set_bin_conc(bin_address=0, species_name=\"A\", conc=20.)\n",
"bio.set_bin_conc(bin_address=6, species_name=\"B\", conc=20.)\n",
"\n",
"bio.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "4a7f7fe9-a0f2-4233-a815-09668d44dac2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 0:\n",
" A B C\n",
"0 20.0 0.0 0.0\n",
"1 0.0 0.0 0.0\n",
"2 0.0 0.0 0.0\n",
"3 0.0 0.0 0.0\n",
"4 0.0 0.0 0.0\n",
"5 0.0 0.0 0.0\n",
"6 0.0 20.0 0.0\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "33f4d6c1-5d4b-4128-90dc-cb8789717eed",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0 0.0 0.0 0.0 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "457c42a1-4d83-4445-98ec-b1b2fbbdb784",
"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
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
20,
0,
0,
0,
0,
0,
0
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0,
0,
0,
0,
0,
0,
20
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0,
0,
0,
0,
0,
0,
0
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot at time t=0"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-1.1111111111111112,
21.11111111111111
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"})\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "1fd5d82c-8523-418c-8132-cfc284605b1c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"Initial system state at time t=0:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"Initial system state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "markdown",
"id": "358042af-afda-4935-baec-563b0e0fd370",
"metadata": {
"tags": []
},
"source": [
"### First step"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "a69f25a4-34c2-48d5-bd0a-17cd4f0d3656",
"metadata": {},
"outputs": [],
"source": [
"delta_t = 0.002 # This will be our time \"quantum\" for this experiment"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "f3c1fe2b-61d3-429e-92d2-b922e8a2fad5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.002:\n",
"7 bins and 3 species:\n",
" Species 0 (A). Diff rate: 50.0. Conc: [18. 2. 0. 0. 0. 0. 0.]\n",
" Species 1 (B). Diff rate: 50.0. Conc: [ 0. 0. 0. 0. 0. 2. 18.]\n",
" Species 2 (C). Diff rate: 1.0. Conc: [0. 0. 0. 0. 0. 0. 0.]\n"
]
}
],
"source": [
"# First step\n",
"bio.react_diffuse(time_step=delta_t, n_steps=1)\n",
"bio.describe_state()"
]
},
{
"cell_type": "markdown",
"id": "901b2e59-fea6-4190-af69-fc49f14d9a64",
"metadata": {},
"source": [
"_After the first delta_t time step_:\n",
"\n",
" Species 0 (A). Diff rate: 50.0. Conc: [18. 2. 0. 0. 0. 0. 0.]\n",
" \n",
" Species 1 (B). Diff rate: 50.0. Conc: [ 0. 0. 0. 0. 0. 2. 18.]\n",
" \n",
" Species 2 (C). Diff rate: 1.0. Conc: [0. 0. 0. 0. 0. 0. 0.]\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "0efdf530-d562-4ff5-8629-e1096c42e681",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 0.002:\n",
" A B C\n",
"0 18.0 0.0 0.0\n",
"1 2.0 0.0 0.0\n",
"2 0.0 0.0 0.0\n",
"3 0.0 0.0 0.0\n",
"4 0.0 0.0 0.0\n",
"5 0.0 2.0 0.0\n",
"6 0.0 18.0 0.0\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "13d683c6-4264-4acc-88e7-d9043e0bc125",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.002 | \n",
" 0.0 | \n",
" 0.0 | \n",
" 0.0 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000 0.0 0.0 0.0 \n",
"1 0.002 0.0 0.0 0.0 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "97192492-d8ea-418a-bafc-f0dfd69a64b0",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
18,
2,
0,
0,
0,
0,
0
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0,
0,
0,
0,
0,
2,
18
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0,
0,
0,
0,
0,
0,
0
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot at time t=0.002"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-1,
19
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"})\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "47bca5d0-c1f8-478d-ac9a-acb3a4ffbb3c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"System state at time t=0.002:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"System state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "markdown",
"id": "c2f8bbb7-ccfc-4490-8245-580f2d753e10",
"metadata": {},
"source": [
"### Several more steps"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "a2746d1b-48f9-4d57-980c-9ea807a4e989",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.004:\n",
"[[16.4 3.4 0.2 0. 0. 0. 0. ]\n",
" [ 0. 0. 0. 0. 0.2 3.4 16.4]\n",
" [ 0. 0. 0. 0. 0. 0. 0. ]]\n",
"SYSTEM STATE at Time t = 0.006:\n",
"[[15.1 4.38 0.5 0.02 0. 0. 0. ]\n",
" [ 0. 0. 0. 0.02 0.5 4.38 15.1 ]\n",
" [ 0. 0. 0. 0. 0. 0. 0. ]]\n",
"SYSTEM STATE at Time t = 0.008:\n",
"[[1.4028e+01 5.0640e+00 8.4000e-01 6.5984e-02 2.0000e-03 0.0000e+00\n",
" 0.0000e+00]\n",
" [0.0000e+00 0.0000e+00 2.0000e-03 6.5984e-02 8.4000e-01 5.0640e+00\n",
" 1.4028e+01]\n",
" [0.0000e+00 0.0000e+00 0.0000e+00 1.6000e-05 0.0000e+00 0.0000e+00\n",
" 0.0000e+00]]\n",
"SYSTEM STATE at Time t = 0.01:\n",
"[[1.31316000e+01 5.53800000e+00 1.18493120e+00 1.36813108e-01\n",
" 8.13120000e-03 2.00000000e-04 0.00000000e+00]\n",
" [0.00000000e+00 2.00000000e-04 8.13120000e-03 1.36813108e-01\n",
" 1.18493120e+00 5.53800000e+00 1.31316000e+01]\n",
" [0.00000000e+00 0.00000000e+00 6.72320000e-05 1.90027530e-04\n",
" 6.72320000e-05 0.00000000e+00 0.00000000e+00]]\n",
"SYSTEM STATE at Time t = 0.012:\n",
"[[1.23722400e+01 5.86200882e+00 1.51504114e+00 2.28008774e-01\n",
" 1.98211433e-02 9.28816000e-04 2.00000000e-05]\n",
" [2.00000000e-05 9.28816000e-04 1.98211433e-02 2.28008774e-01\n",
" 1.51504114e+00 5.86200882e+00 1.23722400e+01]\n",
" [0.00000000e+00 4.44384640e-05 4.52470702e-04 9.37489304e-04\n",
" 4.52470702e-04 4.44384640e-05 0.00000000e+00]]\n",
"SYSTEM STATE at Time t = 0.014:\n",
"[[1.17212070e+01 6.07811756e+00 1.81983529e+00 3.33817478e-01\n",
" 3.75512896e-02 2.50955578e-03 1.00983808e-04]\n",
" [1.00983808e-04 2.50955578e-03 3.75512896e-02 3.33817478e-01\n",
" 1.81983529e+00 6.07811756e+00 1.17212070e+01]\n",
" [9.98666893e-06 2.62777001e-04 1.65200869e-03 3.01131931e-03\n",
" 1.65200869e-03 2.62777001e-04 9.98666893e-06]]\n",
"SYSTEM STATE at Time t = 0.016:\n",
"[[1.11568507e+01 6.21598919e+00 2.09433486e+00 4.48347321e-01\n",
" 6.09468566e-02 5.16378807e-03 2.94534867e-04]\n",
" [2.94534867e-04 5.16378807e-03 6.09468566e-02 4.48347321e-01\n",
" 2.09433486e+00 6.21598919e+00 1.11568507e+01]\n",
" [5.77983875e-05 8.74133777e-04 4.37882730e-03 7.45120113e-03\n",
" 4.37882730e-03 8.74133777e-04 5.77983875e-05]]\n"
]
}
],
"source": [
"# Continue with several delta_t steps\n",
"for _ in range(7):\n",
" bio.react_diffuse(time_step=delta_t, n_steps=1)\n",
" bio.describe_state(concise=True)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "fa7d3b56-4ff5-4ccb-90ee-493a9e93b32f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 0.016:\n",
" A B C\n",
"0 11.156851 0.000295 0.000058\n",
"1 6.215989 0.005164 0.000874\n",
"2 2.094335 0.060947 0.004379\n",
"3 0.448347 0.448347 0.007451\n",
"4 0.060947 2.094335 0.004379\n",
"5 0.005164 6.215989 0.000874\n",
"6 0.000295 11.156851 0.000058\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "7280ab4a-b2b2-401f-a832-353ff62b9826",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.002 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.016 | \n",
" 0.448347 | \n",
" 0.448347 | \n",
" 0.007451 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000 0.000000 0.000000 0.000000 \n",
"1 0.002 0.000000 0.000000 0.000000 \n",
"2 0.016 0.448347 0.448347 0.007451 "
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "5296418d-635c-4a71-9a1e-430f391fe0a4",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
11.156850734867037,
6.215989188067845,
2.0943348565616033,
0.4483473209623955,
0.060946856561603334,
0.00516378806784531,
0.00029453486703668355
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.00029453486703668355,
0.00516378806784531,
0.060946856561603334,
0.44834732096239543,
2.0943348565616033,
6.215989188067845,
11.156850734867037
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
5.77983875394964e-05,
0.0008741337768494389,
0.004378827295405076,
0.0074512011250459685,
0.004378827295405076,
0.0008741337768494388,
5.7798387539496395e-05
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot (interpolated) at time t=0.016"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-0.6197640314168771,
11.776672564671454
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot (interpolated) at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"},\n",
" line_shape=\"spline\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "b8f59740-166c-4909-bd92-321f6e865479",
"metadata": {},
"source": [
"A is continuing to diffuse from the left. \n",
"B is continuing to diffuse from the right. \n",
"They're finally beginning to overlap in the middle bin"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "9974a579-14c5-447b-9616-b136e356ee90",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"System state at time t=0.016:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"System state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "markdown",
"id": "4dc3b1cd-3ef9-4882-abfe-479cfc0a25cf",
"metadata": {},
"source": [
"### Several group of longer runs"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "bb248152-bda9-4f70-b81d-52d982a2233e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"+ 10 steps later:\n",
"SYSTEM STATE at Time t = 0.036:\n",
"[[7.92576526 5.95824446 3.31917619 1.31581241 0.35918764 0.07038175\n",
" 0.01251229]\n",
" [0.01251229 0.07038175 0.35918764 1.31581241 3.31917619 5.95824446\n",
" 7.92576526]\n",
" [0.01555131 0.07914514 0.24409632 0.36133444 0.24409632 0.07914514\n",
" 0.01555131]]\n",
"\n",
"\n",
"+ 10 steps later:\n",
"SYSTEM STATE at Time t = 0.056:\n",
"[[6.29600683 5.06118233 3.15970431 1.44600532 0.47532616 0.12019317\n",
" 0.03045075]\n",
" [0.03045075 0.12019317 0.47532616 1.44600532 3.15970431 5.06118233\n",
" 6.29600683]\n",
" [0.07498099 0.28735559 0.78250579 1.12144639 0.78250579 0.28735559\n",
" 0.07498099]]\n",
"\n",
"\n",
"+ 10 steps later:\n",
"SYSTEM STATE at Time t = 0.076:\n",
"[[5.13609493 4.21433746 2.7454954 1.35328847 0.4992179 0.14748071\n",
" 0.04559633]\n",
" [0.04559633 0.14748071 0.4992179 1.35328847 2.7454954 4.21433746\n",
" 5.13609493]\n",
" [0.1615343 0.52706799 1.31954666 1.8421909 1.31954666 0.52706799\n",
" 0.1615343 ]]\n",
"\n",
"\n",
"+ 10 steps later:\n",
"SYSTEM STATE at Time t = 0.096:\n",
"[[4.2209458 3.50170661 2.34873485 1.23042685 0.50075376 0.16821567\n",
" 0.0606064 ]\n",
" [0.0606064 0.16821567 0.50075376 1.23042685 2.34873485 3.50170661\n",
" 4.2209458 ]\n",
" [0.25982593 0.75464804 1.76534285 2.40897641 1.76534285 0.75464804\n",
" 0.25982593]]\n"
]
}
],
"source": [
"# Now, do several group of longer runs\n",
"for _ in range(4):\n",
" print(\"\\n\\n+ 10 steps later:\")\n",
" bio.react_diffuse(time_step=delta_t, n_steps=10)\n",
" bio.describe_state(concise=True)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "dfa3d4e1-a187-4231-b9f1-658fbfc7dedc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 0.09600000000000007:\n",
" A B C\n",
"0 4.220946 0.060606 0.259826\n",
"1 3.501707 0.168216 0.754648\n",
"2 2.348735 0.500754 1.765343\n",
"3 1.230427 1.230427 2.408976\n",
"4 0.500754 2.348735 1.765343\n",
"5 0.168216 3.501707 0.754648\n",
"6 0.060606 4.220946 0.259826\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "c962bc0d-b2b9-411c-8c61-f2a0a1fdeb27",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.002 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.016 | \n",
" 0.448347 | \n",
" 0.448347 | \n",
" 0.007451 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.096 | \n",
" 1.230427 | \n",
" 1.230427 | \n",
" 2.408976 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000 0.000000 0.000000 0.000000 \n",
"1 0.002 0.000000 0.000000 0.000000 \n",
"2 0.016 0.448347 0.448347 0.007451 \n",
"3 0.096 1.230427 1.230427 2.408976 "
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "9636c478-844b-4c9f-9777-61c296b1be02",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
4.220945799875002,
3.501706607196435,
2.348734851167281,
1.2304268485314716,
0.5007537562676033,
0.1682156746601824,
0.06060640434340992
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.06060640434340992,
0.1682156746601824,
0.5007537562676033,
1.2304268485314713,
2.34873485116728,
3.5017066071964345,
4.220945799875002
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.2598259315037728,
0.7546480379299466,
1.7653428524886312,
2.4089764141139147,
1.765342852488631,
0.7546480379299465,
0.25982593150377276
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot at time t=0.09600000000000007"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-0.17052356207501188,
4.452075766293424
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAx8AAAFoCAYAAAA2HEb1AAAgAElEQVR4Xuy9B5Rc1bX3uSt0Vwe1WmrlgCSEsshRCERGJCMwBgy2MRiwjecNa5b5Zpb9nmc83+cZPz+vbx5es/jeGNuAwfBMNCaYnEESOSOUEyhndatDVVd1zd7n9q2uqr5VdevWDae6/pd1V4mue/c557dPnXP/d58QSvNBOEAABEAABEAABEAABEAABEDAYwIhiA+PCcM8CIAACIAACIAACIAACICAIgDxgYoAAiAAAiAAAiAAAiAAAiDgCwGID18wIxEQAAEQAAEQAAEQAAEQAAGID9QBEAABEAABEAABEAABEAABXwhAfPiCGYmAAAiAAAiAAAiAAAiAAAhAfKAOgAAIgAAIgAAIgAAIgAAI+EIA4sMXzEgEBEAABEAABEAABEAABEAA4gN1AARAAARAAARAAARAAARAwBcCEB++YEYiIAACIAACIAACIAACIAACEB+oAyAAAiAAAiAAAiAAAiAAAr4QgPjwBTMSAQEQAAEQAAEQAAEQAAEQgPhAHQABEAABEAABEAABEAABEPCFAMSHL5iRCAiAAAiAAAiAAAiAAAiAAMQH6gAIgAAIgAAIgAAIgAAIgIAvBCA+fMGMREAABEAABEAABEAABEAABCA+UAdAAARAAARAAARAAARAAAR8IQDx4QtmJAICIAACIAACIAACIAACIADxgToAAiAAAiAAAiAAAiAAAiDgCwGID18wIxEQAAEQAAEQAAEQAAEQAAGID9QBEAABEAABEAABEAABEAABXwhAfPiCGYmAAAiAAAiAAAiAAAiAAAhAfKAOgAAIgAAIgAAIgAAIgAAI+EIA4sMXzEgEBEAABEAABEAABEAABEAA4gN1AARAAARAAARAAARAAARAwBcCEB++YEYiIAACIAACIAACIAACIAACEB+oAyAAAiAAAiAAAiAAAiAAAr4QgPjwBTMSAQEQAAEQAAEQAAEQAAEQgPhAHQABEAABEAABEAABEAABEPCFAMSHL5iRCAiAAAiAAAiAAAiAAAiAAMQH6gAIgAAIgAAIgAAIgAAIgIAvBCA+fMGMREAABEAABEAABEAABEAABCA+UAdAAARAAARAAARAAARAAAR8IQDx4QtmJAICIAACIAACIAACIAACIADxgToAAiAAAiAAAiAAAiAA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BEAABEAABEAABEAABGqUAMRHjToexQYBEAABEAABEAABEAABvwlAfPhNHOmBAAiAAAiAAAiAAAiAQI0SgPioUcej2CAAAiAAAiAAAiAAAiDgNwGID7+JIz0QAAEQAAEQAAEQAAEQqFECEB816ngUGwRAAARAAARAAARAAAT8JgDx4TdxpAcCIAACIAACIAACIAACNUoA4qNGHY9igwAIgAAIgAAIgAAIgIDfBCA+/CaO9EAABEAABEAABEAABECgRglAfNSo41FsEAABEAABEAABEAABEPCbAMSH38SRHgiAAAiAAAiAAAiAAAjUKAGIjxp1PIoNAiAAAiAAAiAAAiAAAn4TgPjwmzjSAwEQAAEQAAEQAAEQAIEaJQDxUaOOR7FBAARAAARAAARAAARAwG8CEB9+E0d6IAACIAACIAACIAACIFCjBCA+atTxKDYIgAAIgAAIgAAIgAAI+E0A4sNv4kgPBEAABEAABEAABEAABGqUAMRHjToexQYBEAABEAABEAABEAABvwlAfPhNHOmBAAiAAAiAAAiAAAiAQI0SgPioUcej2CAAAiAAAiAAAiAAAiDgNwGID7+JIz0QAAEQAAEQAAEQAAEQqFECEB816ngUGwRAAARAAARAAARAAAT8JgDx4TdxpAcCIAACIAACIAACIAACNUoA4qNGHY9igwAIgAAIgAAIgAAIgIDfBCA+/CaO9EAABEAABEAABEAABECgRglAfNSo41FsEAABEAABEAABEAABEPCbAMSH38SRHgiAAAiAAAiAAAiAAAjUKAGIjxp1PIoNAiAAAiAAAiAAAiAAAn4TgPjwmzjSAwEQAAEQAAEQAAEQAIEaJQDxUaOOR7FBAARAAARAAARAAARAwG8CEB9+E0d6IAACIAACIAACIAACIFCjBCA+atTxKDYIgAAIgAAIgAAIgAAI+E0A4sNv4kgPBEAABEAABEAABEAABGqUAMRHjToexQYBEAABEAABEAABEAABvwlAfPhNHOmBAAiAAAiAAAiAAAiAQI0SgPioUcej2CAAAiAAAiAAAiAAAiDgNwGID7+JIz0QAAEQAAEQAAEQAAEQqFECEB816ngUGwRAAARAAARAAARAAAT8JgDx4TdxpAcCIAACIAACIAACIAACNUoA4qNGHY9igwAIgAAIgAAIgAAIgIDfBCA+/CaO9EAABEAABEAA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IHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoWIHxULU59CCCAAAIIIIAAAghEKkD4iLTh2WwEEEAAAQQQQAABBKoW+B8MXWou5l/lPwAAAABJRU5ErkJggg==",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"},\n",
" line_shape=\"spline\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "461feca1-4016-44d8-ab71-bf36e437e121",
"metadata": {},
"source": [
"A is continuing to diffuse from the left. \n",
"B is continuing to diffuse from the right. \n",
"By now, they're overlapping in the middle bin sufficiently to react and generate C"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "cff27b4b-5cf3-4d70-80a7-8a13e1e3cd99",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"System state at time t=0.09600000000000007:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"System state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(bio.n_species):\n",
" log.write(f\"{bio.chem_data.get_label(i)}:\", also_print=False)\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "c15dfca3-00fc-4b9a-80c4-01f565f30cf8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"+++ 30 steps later:\n",
"SYSTEM STATE at Time t = 0.156:\n",
"[[2.39736516 2.05453684 1.50075745 0.92781069 0.48529917 0.22472198\n",
" 0.11560109]\n",
" [0.11560109 0.22472198 0.48529917 0.92781069 1.50075745 2.05453684\n",
" 2.39736516]\n",
" [0.57202182 1.29674075 2.59761288 3.36115673 2.59761288 1.29674075\n",
" 0.57202182]]\n",
"\n",
"\n",
"+++ 30 steps later:\n",
"SYSTEM STATE at Time t = 0.216:\n",
"[[1.43652347 1.28435794 1.02979899 0.73906751 0.47257834 0.28028088\n",
" 0.18445971]\n",
" [0.18445971 0.28028088 0.47257834 0.73906751 1.02979899 1.28435794\n",
" 1.43652347]\n",
" [0.8597085 1.64384498 2.94653088 3.67276444 2.94653088 1.64384498\n",
" 0.8597085 ]]\n",
"\n",
"\n",
"+++ 30 steps later:\n",
"SYSTEM STATE at Time t = 0.276:\n",
"[[0.94369275 0.88396666 0.77535511 0.63019458 0.46959173 0.33300009\n",
" 0.25664867]\n",
" [0.25664867 0.33300009 0.46959173 0.63019458 0.77535511 0.88396666\n",
" 0.94369275]\n",
" [1.09382006 1.85282552 3.05530325 3.70365274 3.05530325 1.85282552\n",
" 1.09382006]]\n",
"\n",
"\n",
"+++ 30 steps later:\n",
"SYSTEM STATE at Time t = 0.336:\n",
"[[0.69798039 0.68111864 0.64213556 0.57196145 0.47435422 0.37878712\n",
" 0.32097915]\n",
" [0.32097915 0.37878712 0.47435422 0.57196145 0.64213556 0.68111864\n",
" 0.69798039]\n",
" [1.27482053 1.97696102 3.05404907 3.62102222 3.05404907 1.97696102\n",
" 1.27482053]]\n"
]
}
],
"source": [
"# Continue the simulation\n",
"for _ in range(4):\n",
" print(\"\\n\\n+++ 30 steps later:\")\n",
" bio.react_diffuse(time_step=delta_t, n_steps=30)\n",
" bio.describe_state(concise=True)"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "c4ae0ca5-2b98-4db4-b5e0-874ec2117ef0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 0.33600000000000024:\n",
" A B C\n",
"0 0.697980 0.320979 1.274821\n",
"1 0.681119 0.378787 1.976961\n",
"2 0.642136 0.474354 3.054049\n",
"3 0.571961 0.571961 3.621022\n",
"4 0.474354 0.642136 3.054049\n",
"5 0.378787 0.681119 1.976961\n",
"6 0.320979 0.697980 1.274821\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "ea014eb8-5573-4e76-bb05-2dde0d4fedd7",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.002 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.016 | \n",
" 0.448347 | \n",
" 0.448347 | \n",
" 0.007451 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.096 | \n",
" 1.230427 | \n",
" 1.230427 | \n",
" 2.408976 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.336 | \n",
" 0.571961 | \n",
" 0.571961 | \n",
" 3.621022 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000 0.000000 0.000000 0.000000 \n",
"1 0.002 0.000000 0.000000 0.000000 \n",
"2 0.016 0.448347 0.448347 0.007451 \n",
"3 0.096 1.230427 1.230427 2.408976 \n",
"4 0.336 0.571961 0.571961 3.621022 "
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "a7a47fc3-be8f-44b8-85a7-3c39807af45f",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.6979803947540457,
0.6811186419131374,
0.6421355607884652,
0.5719614476422076,
0.4743542231899681,
0.3787871183250772,
0.3209791512733909
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.3209791512733906,
0.3787871183250769,
0.47435422318996767,
0.5719614476422071,
0.6421355607884647,
0.6811186419131368,
0.697980394754045
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
1.2748205305163067,
1.9769610210647641,
3.054049068409041,
3.6210222221334734,
3.0540490684090416,
1.976961021064764,
1.2748205305163067
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot at time t=0.33600000000000024"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
0.13764342511449712,
3.804357948292367
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"},\n",
" line_shape=\"spline\")\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "ba4c44a3-3384-4f1a-b656-783c06eeb4af",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"System state at time t=0.33600000000000024:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"System state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "d7bd2795-9a78-4a2e-834c-477951677878",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"+++++ 50 steps later:\n",
"SYSTEM STATE at Time t = 0.436:\n",
"[[0.53513401 0.5437576 0.54867719 0.53174198 0.48696931 0.43256384\n",
" 0.39647767]\n",
" [0.39647767 0.43256384 0.48696931 0.53174198 0.54867719 0.5437576\n",
" 0.53513401]\n",
" [1.49508439 2.09028492 2.96849022 3.41695934 2.96849022 2.09028492\n",
" 1.49508439]]\n",
"\n",
"+++++ 50 steps later:\n",
"SYSTEM STATE at Time t = 0.536:\n",
"[[0.48751897 0.50165856 0.51768297 0.51798994 0.49498758 0.46076288\n",
" 0.4365229 ]\n",
" [0.4365229 0.46076288 0.49498758 0.51798994 0.51768297 0.50165856\n",
" 0.48751897]\n",
" [1.65797359 2.15520413 2.86719131 3.22213812 2.86719131 2.15520413\n",
" 1.65797359]]\n",
"\n",
"+++++ 50 steps later:\n",
"SYSTEM STATE at Time t = 0.636:\n",
"[[0.47470241 0.48869324 0.50591479 0.51120986 0.49756771 0.47365233\n",
" 0.45594669]\n",
" [0.45594669 0.47365233 0.49756771 0.51120986 0.50591479 0.48869324\n",
" 0.47470241]\n",
" [1.78774781 2.20070508 2.77778668 3.05983384 2.77778668 2.20070508\n",
" 1.78774781]]\n",
"\n",
"+++++ 50 steps later:\n",
"SYSTEM STATE at Time t = 0.736:\n",
"[[0.47257504 0.48488523 0.50040062 0.50652836 0.49733067 0.47935337\n",
" 0.46567693]\n",
" [0.46567693 0.47935337 0.49733067 0.50652836 0.50040062 0.48488523\n",
" 0.47257504]\n",
" [1.89367665 2.23536347 2.70338342 2.9284027 2.70338342 2.23536347\n",
" 1.89367665]]\n"
]
}
],
"source": [
"# Continue the simulation\n",
"for _ in range(4):\n",
" print(\"\\n+++++ 50 steps later:\")\n",
" bio.react_diffuse(time_step=delta_t, n_steps=50)\n",
" bio.describe_state(concise=True)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "9bea764f-c52e-4346-a1e5-8a3e78bfca47",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 0.7360000000000005:\n",
" A B C\n",
"0 0.472575 0.465677 1.893677\n",
"1 0.484885 0.479353 2.235363\n",
"2 0.500401 0.497331 2.703383\n",
"3 0.506528 0.506528 2.928403\n",
"4 0.497331 0.500401 2.703383\n",
"5 0.479353 0.484885 2.235363\n",
"6 0.465677 0.472575 1.893677\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "420d2e10-a6e7-4c90-80ea-5995db2b5ed6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.002 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.016 | \n",
" 0.448347 | \n",
" 0.448347 | \n",
" 0.007451 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.096 | \n",
" 1.230427 | \n",
" 1.230427 | \n",
" 2.408976 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.336 | \n",
" 0.571961 | \n",
" 0.571961 | \n",
" 3.621022 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.736 | \n",
" 0.506528 | \n",
" 0.506528 | \n",
" 2.928403 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000 0.000000 0.000000 0.000000 \n",
"1 0.002 0.000000 0.000000 0.000000 \n",
"2 0.016 0.448347 0.448347 0.007451 \n",
"3 0.096 1.230427 1.230427 2.408976 \n",
"4 0.336 0.571961 0.571961 3.621022 \n",
"5 0.736 0.506528 0.506528 2.928403 "
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "46bc7cfb-b84b-4254-804e-abfccd653840",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.4725750443651417,
0.48488523225546837,
0.5004006196750737,
0.5065283645846138,
0.4973306679836395,
0.47935337045557536,
0.4656769255300913
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.4656769255300909,
0.4793533704555749,
0.497330667983639,
0.5065283645846134,
0.5004006196750732,
0.4848852322554679,
0.47257504436514125
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
1.8936766456371241,
2.2353634669163234,
2.7033834234014043,
2.928402703240674,
2.7033834234014047,
2.2353634669163234,
1.8936766456371241
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot at time t=0.7360000000000005"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
0.32885882676839184,
3.065220802002373
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"},\n",
" line_shape=\"spline\")\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "8ac79f33-0548-49ce-a165-24b9773a7c4c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"System state at time t=0.7360000000000005:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"System state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "b041f211-cc16-42a4-b0ca-2beb4e2c34aa",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"+++++++++++++++ 150 steps later:\n",
"SYSTEM STATE at Time t = 1.036:\n",
"[[0.47744061 0.4845086 0.49346999 0.49747162 0.49331726 0.48423339\n",
" 0.47709743]\n",
" [0.47709743 0.48423339 0.49331726 0.49747162 0.49346999 0.4845086\n",
" 0.47744061]\n",
" [2.11014111 2.3007984 2.55138084 2.66782039 2.55138084 2.3007984\n",
" 2.11014111]]\n",
"\n",
"+++++++++++++++ 150 steps later:\n",
"SYSTEM STATE at Time t = 1.336:\n",
"[[0.48168804 0.48554921 0.49041386 0.49259511 0.49040626 0.48553552\n",
" 0.48167096]\n",
" [0.48167096 0.48553552 0.49040626 0.49259511 0.49041386 0.48554921\n",
" 0.48168804]\n",
" [2.2288825 2.33377315 2.46847456 2.52988061 2.46847456 2.33377315\n",
" 2.2288825 ]]\n",
"\n",
"+++++++++++++++ 150 steps later:\n",
"SYSTEM STATE at Time t = 1.636:\n",
"[[0.48405962 0.48615505 0.48878337 0.48995858 0.48878299 0.48615437\n",
" 0.48405877]\n",
" [0.48405877 0.48615437 0.48878299 0.48995858 0.48878337 0.48615505\n",
" 0.48405962]\n",
" [2.29360822 2.350868 2.42345244 2.45618991 2.42345244 2.350868\n",
" 2.29360822]]\n",
"\n",
"+++++++++++++++ 150 steps later:\n",
"SYSTEM STATE at Time t = 1.936:\n",
"[[0.48534444 0.4864795 0.48789956 0.48853323 0.48789955 0.48647947\n",
" 0.4853444 ]\n",
" [0.4853444 0.48647947 0.48789955 0.48853323 0.48789956 0.4864795\n",
" 0.48534444]\n",
" [2.32876222 2.35988613 2.39905402 2.4166151 2.39905402 2.35988613\n",
" 2.32876222]]\n"
]
}
],
"source": [
"# Continue the simulation\n",
"for _ in range(4):\n",
" print(\"\\n+++++++++++++++ 150 steps later:\")\n",
" bio.react_diffuse(time_step=delta_t, n_steps=150)\n",
" bio.describe_state(concise=True)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "ef8f0e74-c8b0-4228-98a3-8357cc411471",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 1.9360000000000015:\n",
" A B C\n",
"0 0.485344 0.485344 2.328762\n",
"1 0.486480 0.486479 2.359886\n",
"2 0.487900 0.487900 2.399054\n",
"3 0.488533 0.488533 2.416615\n",
"4 0.487900 0.487900 2.399054\n",
"5 0.486479 0.486480 2.359886\n",
"6 0.485344 0.485344 2.328762\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "a32c0374-ffa2-4460-9344-0b6027dd1d39",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.002 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.016 | \n",
" 0.448347 | \n",
" 0.448347 | \n",
" 0.007451 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.096 | \n",
" 1.230427 | \n",
" 1.230427 | \n",
" 2.408976 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.336 | \n",
" 0.571961 | \n",
" 0.571961 | \n",
" 3.621022 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.736 | \n",
" 0.506528 | \n",
" 0.506528 | \n",
" 2.928403 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 1.936 | \n",
" 0.488533 | \n",
" 0.488533 | \n",
" 2.416615 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000 0.000000 0.000000 0.000000 \n",
"1 0.002 0.000000 0.000000 0.000000 \n",
"2 0.016 0.448347 0.448347 0.007451 \n",
"3 0.096 1.230427 1.230427 2.408976 \n",
"4 0.336 0.571961 0.571961 3.621022 \n",
"5 0.736 0.506528 0.506528 2.928403 \n",
"6 1.936 0.488533 0.488533 2.416615 "
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "2c2e193a-2f6a-4fef-a464-aede77db0541",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.4853444442523408,
0.4864795044657281,
0.48789956465607354,
0.48853323167520946,
0.48789954585012646,
0.4864794705785825,
0.4853444019957615
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.4853444019957611,
0.48647947057858204,
0.487899545850126,
0.488533231675209,
0.4878995646560731,
0.4864795044657277,
0.48534444425234047
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
2.3287622221659676,
2.3598861313027153,
2.3990540155447895,
2.416615098499249,
2.3990540155447895,
2.3598861313027157,
2.3287622221659676
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot at time t=1.9360000000000015"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
0.3780515855233451,
2.523907914971665
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"},\n",
" line_shape=\"spline\")\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 45,
"id": "149c2dd1-ae24-42af-9cb7-ea3e3b7bc7ae",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"System state at time t=1.9360000000000015:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"System state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "code",
"execution_count": 46,
"id": "c9a71254-b873-4f84-92e8-55110fd3e9e1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"++++++++++ ... ++++++++++ 1,000 steps later:\n",
"SYSTEM STATE at Time t = 3.936:\n",
"[[0.48683089 0.48684974 0.48687325 0.48688372 0.48687325 0.48684974\n",
" 0.48683089]\n",
" [0.48683089 0.48684974 0.48687325 0.48688372 0.48687325 0.48684974\n",
" 0.48683089]\n",
" [2.36959744 2.37011659 2.37076408 2.37105229 2.37076408 2.37011659\n",
" 2.36959744]]\n",
"\n",
"++++++++++ ... ++++++++++ 1,000 steps later:\n",
"SYSTEM STATE at Time t = 5.936:\n",
"[[0.48685551 0.48685582 0.48685621 0.48685639 0.48685621 0.48685582\n",
" 0.48685551]\n",
" [0.48685551 0.48685582 0.48685621 0.48685639 0.48685621 0.48685582\n",
" 0.48685551]\n",
" [2.37027551 2.37028411 2.37029484 2.37029961 2.37029484 2.37028411\n",
" 2.37027551]]\n"
]
}
],
"source": [
"# Continue the simulation\n",
"for _ in range(2):\n",
" print(\"\\n++++++++++ ... ++++++++++ 1,000 steps later:\")\n",
" bio.react_diffuse(time_step=delta_t, n_steps=1000)\n",
" bio.describe_state(concise=True)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"id": "665df78f-4f5d-4f49-bd1e-7fe92f6f9be1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM SNAPSHOT at time 5.935999999999568:\n",
" A B C\n",
"0 0.486856 0.486856 2.370276\n",
"1 0.486856 0.486856 2.370284\n",
"2 0.486856 0.486856 2.370295\n",
"3 0.486856 0.486856 2.370300\n",
"4 0.486856 0.486856 2.370295\n",
"5 0.486856 0.486856 2.370284\n",
"6 0.486856 0.486856 2.370276\n"
]
}
],
"source": [
"bio.show_system_snapshot()"
]
},
{
"cell_type": "code",
"execution_count": 48,
"id": "123afda8-993f-4d81-823b-dd4bca921727",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" C | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.002 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" 0.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.016 | \n",
" 0.448347 | \n",
" 0.448347 | \n",
" 0.007451 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.096 | \n",
" 1.230427 | \n",
" 1.230427 | \n",
" 2.408976 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.336 | \n",
" 0.571961 | \n",
" 0.571961 | \n",
" 3.621022 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.736 | \n",
" 0.506528 | \n",
" 0.506528 | \n",
" 2.928403 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 1.936 | \n",
" 0.488533 | \n",
" 0.488533 | \n",
" 2.416615 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 5.936 | \n",
" 0.486856 | \n",
" 0.486856 | \n",
" 2.370300 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B C caption\n",
"0 0.000 0.000000 0.000000 0.000000 \n",
"1 0.002 0.000000 0.000000 0.000000 \n",
"2 0.016 0.448347 0.448347 0.007451 \n",
"3 0.096 1.230427 1.230427 2.408976 \n",
"4 0.336 0.571961 0.571961 3.621022 \n",
"5 0.736 0.506528 0.506528 2.928403 \n",
"6 1.936 0.488533 0.488533 2.416615 \n",
"7 5.936 0.486856 0.486856 2.370300 "
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at the middle bin\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 3))\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 49,
"id": "cbb48141-8d21-428e-9ab4-404ff3b8d35f",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
Bin number=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "red",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.48685551153677936,
0.48685582393940047,
0.48685621349957875,
0.48685638687034016,
0.4868562134995788,
0.48685582393940047,
0.48685551153677936
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
Bin number=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "orange",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
0.48685551153677914,
0.48685582393940025,
0.4868562134995785,
0.48685638687033994,
0.4868562134995786,
0.48685582393940025,
0.48685551153677914
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
Bin number=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "green",
"dash": "solid",
"shape": "spline"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
1,
2,
3,
4,
5,
6
],
"xaxis": "x",
"y": [
2.370275505456777,
2.3702841089131943,
2.370294837283766,
2.370299611870659,
2.3702948372837667,
2.3702841089131947,
2.3702755054567777
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "A + B <-> C . System snapshot at time t=5.935999999999568"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
6
],
"title": {
"text": "Bin number"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
0.3822197281848969,
2.4749353952225412
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\", \"B\", \"C\"], \n",
" title= f\"A + B <-> C . System snapshot at time t={bio.system_time}\",\n",
" color_discrete_sequence = ['red', 'orange', 'green'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"},\n",
" line_shape=\"spline\")\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 50,
"id": "ebc287ae-60de-4d52-9b34-6714b3813198",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"\n",
"System state at time t=5.935999999999568:\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `rd_1.log.htm`]\n"
]
}
],
"source": [
"log.write(f\"System state at time t={bio.system_time}:\", blanks_before=2, style=log.bold)\n",
"\n",
"# Output to the log file a heatmap for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_heatmap(species_index=i, heatmap_pars=heatmap_pars, graphic_component=\"vue_heatmap_11\")\n",
"\n",
"# Output to the log file a one-curve line plot for each chemical species\n",
"for i in range(3):\n",
" bio.single_species_line_plot(species_index=i, plot_pars=lineplot_pars, graphic_component=\"vue_curves_3\")\n",
"\n",
"# Output to the log file a line plot for ALL the chemicals together (same color as used for plotly elsewhere)\n",
"bio.line_plot(plot_pars=lineplot_pars, graphic_component=\"vue_curves_4\", color_mapping={0: 'red', 1: 'orange', 2: 'green'})"
]
},
{
"cell_type": "markdown",
"id": "1ede543d-6d62-4ede-bb7b-7b6022c69b09",
"metadata": {
"tags": []
},
"source": [
"### Equilibrium"
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "1678d6bf-434f-476c-a966-998fbfa0e74a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Ratio of equilibrium concentrations ((C_eq) / (A_eq * B_eq)) : 9.999968840509963\n",
"Ratio of forward/reverse rates: 10.0\n"
]
}
],
"source": [
"# Verify equilibrium concentrations (sampled in the 1st bin; at this point, all bins have equilibrated)\n",
"A_eq = bio.bin_concentration(0, 0)\n",
"B_eq = bio.bin_concentration(0, 1)\n",
"C_eq = bio.bin_concentration(0, 2)\n",
"print(f\"\\nRatio of equilibrium concentrations ((C_eq) / (A_eq * B_eq)) : {(C_eq) / (A_eq * B_eq)}\")\n",
"print(f\"Ratio of forward/reverse rates: {chem_data.get_forward_rate(0) / chem_data.get_reverse_rate(0)}\")\n",
"# Both are essentially equal, as expected"
]
},
{
"cell_type": "markdown",
"id": "ee7d1b45-0e56-45fd-bd63-7a97b39eb8f0",
"metadata": {
"tags": []
},
"source": [
"# Plots of changes of concentration with time"
]
},
{
"cell_type": "code",
"execution_count": 52,
"id": "790211a2-8f53-498a-8363-1c6e5f6f5d7e",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "navy",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.002,
0.016,
0.09600000000000007,
0.33600000000000024,
0.7360000000000005,
1.9360000000000015,
5.935999999999568
],
"xaxis": "x",
"y": [
0,
0,
0.4483473209623955,
1.2304268485314716,
0.5719614476422076,
0.5065283645846138,
0.48853323167520946,
0.48685638687034016
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "cyan",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.002,
0.016,
0.09600000000000007,
0.33600000000000024,
0.7360000000000005,
1.9360000000000015,
5.935999999999568
],
"xaxis": "x",
"y": [
0,
0,
0.44834732096239543,
1.2304268485314713,
0.5719614476422071,
0.5065283645846134,
0.488533231675209,
0.48685638687033994
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.002,
0.016,
0.09600000000000007,
0.33600000000000024,
0.7360000000000005,
1.9360000000000015,
5.935999999999568
],
"xaxis": "x",
"y": [
0,
0,
0.0074512011250459685,
2.4089764141139147,
3.6210222221334734,
2.928402703240674,
2.416615098499249,
2.370299611870659
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"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": "Reactions: A + B <-> C . Changes in concentrations in the MIDDLE bin"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
5.935999999999568
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-0.2011679012296374,
3.822190123363111
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAx8AAAFoCAYAAAA2HEb1AAAgAElEQVR4Xu2dB4AdVbn4vy3Z9LbptEBohhBLQFAkFOUBFkLkj4AFRUAMImgCPko0KhqKNCUqoUcQX0CkhCci8qSqgIBCTCJFICghvfdt/zmzO8vs7My9U86ZOXf3d9/D3ew95ztnft/cufObc85MVYvzEl4QgAAEIAABCEAAAhCAAAQME6hCPgwTJjwEIAABCEAAAhCAAAQg4BJAPtgRIAABCEAAAhCAAAQgAIFcCCAfuWCmEQhAAAIQgAAEIAABCEAA+WAfgAAEIAABCEAAAhCAAARyIYB85IKZRiAAAQhAAAIQgAAEIAAB5IN9AAIQgAAEIAABCEAAAhDIhQDykQtmGoEABCAAAQhAAAIQgAAEkA/2AQhAAAIQgAAEIAABCEAgFwLIRy6YaQQCEIAABCAAAQhAAAIQQD7YByAAAQhAAAIQgAAEIACBXAggH7lgphEIQAACEIAABCAAAQhAAPlgH4AABCAAAQhAAAIQgAAEciGAfOSCmUYgAAEIQAACEIAABCAAAeSDfQACEIAABCAAAQhAAAIQyIUA8pELZhqBAAQgAAEIQAACEIAABJAP9gEIQAACEIAABCAAAQhAIBcCyEcumGkEAhCAAAQgAAEIQAACEEA+2AcgAAEIQAACEIAABCAAgVwIIB+5YKYRCEAAAhCAAAQgAAEIQAD5YB+AAAQgAAEIQAACEIAABHIhgHzkgplGIAABCEAAAhCAAAQgAAHkg30AAhCAAAQgAAEIQAACEMiFAPKRC2YagQAEIAABCEAAAhCAAASQD/YBCEAAAhCAAAQgAAEIQCAXAshHLphpBAIQgAAEIAABCEAAAhBAPtgHIAABCEAAAhCAAAQgAIFcCCAfuWCmEQhAAAIQgAAEIAABCEAA+WAfgAAEIAABCEAAAhCAAARyIYB85IKZRiAAAQhAAAIQgAAEIAAB5IN9AAIQgAAEIAABCEAAAhDIhQDykQtmGoEABCAAAQhAAAIQgAAEkA/2AQhAAAIQgAAEIAABCEAgFwLIRy6YaQQCEIAABCAAAQhAAAIQQD7YByAAAQhAAAIQgAAEIACBXAggH7lgphEIQAACEIAABCAAAQhAAPlgH4AABCAAAQhAAAIQgAAEciGAfOSCmUYg0H0J3Pbr38vlP/sfueb7Z8mRh36w+4JgyyHQBQl87IRpMnJ4vdzx0293wa2rvE1a8MqbcsIZ35NTTjxavnXmSZW3AfS4WxCoCPnwTl7CMnLXDd+TcXvtWniyxh12inz8owfKlTPO7NAXr+9d/UCgtl+9whjkmZxS+0rRfTPJ4byLr5Pf/fGZTk0seGyOyWbliuvmypw7H+rUhv9ziXy8i+fhx/8qU7/7s8I/J0Z3CsPBTZ9ceTk6/6zPyhc/c1SHrfE+Z7aKtMfm/fvuoVUGvO0OO57kKR+qraXLV0vU9vmP//5jkPf95E+mty2lvjOivre9fSRsV4/6nvHqlDsX+PzXfyh//8drkZ+icvWTfD5s358NH0oIXyCBipKP4JeB9yEN+5LIm2l3lo/gwTvrCa86IL6zfFWqL0+vL8F9QvdJn3fQTrrveSfrSetF7c/+L8Egd5OfD+8LTvUreAHAY+N9SSIfyIfO43GSk6s07SIfnanZJh9hxx31N09Owt6P+m6I+rv/GBeUzVIi4YlO1HdQOXnwjttpv0eTfD6QjzRHCOroIFDR8qEAqA+67qs8acBGyUeaWJVWRx0s1dWoLzlXCdX0mqwn1ibkQzH1+vl/d12dGrH/Sn/aq5/+GFlZldv/1ReregWv4KYG0FZRfcmrVxRL9eX84sJ/ucP+yEdW2tT3E0hycpWGXCn5SBOvK9SxST7UFC/1ffOBfffsMNPAf4FJjQIHL4oklQ8vb54M+OOVG8UIO6kvVyfYXh7y0RX2TbahMgl0WfkITgdRB6zgiZL/KomXvrBy6j3/VZBg2bAhXS9O1BdZWLyoqyvqBPWlRa93mFZTakqAf1cMHoC9/ugStuCJQLmT4TgfE1PyUe6EuVTfdEhHMH5WCfHqp5WgOLkIKxP1JR4Vzy8fv3BkyD+lINj3qGlcUeXU/n3Ot691T0a8V9hUzLBpEuozoOoFjwtxjh1hn9840/rCTpy99uJuSxTnUscor07YFJPgSY7/RDN4bAs7IYpi618DEKddb/qOuoihpqZ5L/+xKmwbVTmvjH9fe/jx59qPmepq84ihg92LI8GX/1gaNZ3Gy60/V/7pvnG2L2meg99PUd9Nwe0JXgjzfwfF+R4Jxoua0ul9JuPkzR8zzucrah/32jrKWTumcun/rCtJGDV8iIwYNtidCqpLPrx9zv/5jiMSwe/COHXUdusc+VDx/NNig+cNYftz0nym/R6hXvcmUNHyEXZQ8H94gwcmddLj//JUHzL1YfQvgg07QY062VJlr/3hOe6ak6iRjzD5CIsX9jf/F6H/oBF2wAg7YIVti275CPbF+6LKshbHhHwkPWH2DgsmpKOUhCQRiaxfUmkPfUlz7D8x829f2NVUxXvZijUdrmiGSZY/L8HPeVAoonKvPrPBE7qwq5xBzmEnEXH3r1LyofJRblvKCV7w5MJ/jArLW6m/qbaCx8vgwuIoAVZsvbphV4HD2g2bzx/Gq9TIh39fC7JQ7/3eGZELk6IwAQm7wBN27I3LNck+GzxxjfquC9sfouRDlS33PRK1f5Ub+Qiuw4jKUZzPV6njkn99iX87vfbU8UWNuOqUjzAhiCMSwf0iTh2d8qFi+ad4hR2jouQjbj7TfodQDwIVLR+lRCHsJE4drMrNt/Q+oMHFauWuaiaRj6gFesEDfLlRE/+2RLWvDi4m73gR3Ja4B9hSHz0d8hEVP64U+cUviRBkOaREnZyUugqo3ssyjSxNf5NKT9S0qyTTW4Kf3XJXoP05i/psBKfhlZoe5m8/qm11AvT8iy+XnOJWbuQj7Gp6nP2v3LTPUifswc9w1IlmcLvjTH8qlWPVrn/qTNRxMZinOPIRh5m37wf7UarPSRgEtyfuPluu/XLH81IjH/7pl3Hy5zEqJx9hd7tK+/mKKx8eTyW5/u+McpzDpLTcdOE0IhEU87jfjSYXnAdzUmrkI3j3Mh3TltN831CnaxKoKPkIpqDU1KOou3IE54mWm+YR9wQprnwk+eJMIh/eVcNycqVzN47qX5LpTVHTHML6GWd9RKkr0F6u48RJIx9RU0LiCg/y0Zr1KI7+CwDlTjC8k89Sn9/gl2m5Eyzv2OG/up50XrYJ+YhzjColVsHtjisfcdbyROXJu8KrfnonOXnJR9g0Wf/UrnIn//6r6km4xt1nSy10jnP8tlU+4n6+4sqHKudtq1rj4X3my3GuFPlIemzxuJU6xwiyQT7ifKIoY4JARcmH/6DhfYEET+zKXTXwvmSi7tYT/DKJ8wXrPwgGb7Ub/CIr9cUWPHFOIh+qD2FrWJJcAUy6g0XNBfbipG1bx8hHlGAkESO1HTZPu/LynfZLKmm+vfJhUydKxUoy8uHFDkp08ISq3AmGt++V+vwG5SPusUNta9gc/zjrqEzIR5xjVCkJCF7VjSsfpWJ6+0O5Y4R/2ptp+fD6EhzFjhq9jTPtKgnXuPtsKQGP81m3VT6SfL6ijidRo3T+z145zmnkI87Uy2Cf04yWeFIenCKe5FiNfCShRdmiCFSsfPjlwX9AVh/4v/3j1bJTUcodoOJcOfUnreiRj+AOFMVH544Wtc1J5ieH9cekfCSdMuT1z4SE+GPGGY0JsgoO6+vMbRyZiNvnuPJR6kszD/mIe+yI2mfV1ddyI48m5KMSRj7inDSblo+o41UW+TAx8hG2f3ntxBFcW+Ujy+fLYxLMlfd5irOWJWpUvNx6rUpecB6cohe8sMDIR17fmrQTJFCx8uG/+ug/IMe5CqjqRl3dC6sf9aWlyu73vr3dBefBecMe6LATA91rPtTB8cH/e7rT2o44VybTfiTKHbDTnuR7udH9nA//l5f6Pe06CR0SklU6vG3xvhRL3QVH7X9q8aDuW+16I49RJ5X+fTKufJQ6iU4rH6WEJsmcdP/nRB07giOc6v1y6y5UGRPyUapt7xilykQ99djEmg+1j6sTnzhiFHVi6f09bK551Pq9qH0tyZqXsBPa4EUIb8Q9Sdy4F7zUNqjPtP9GKKr9uHPuTciHf31F8DsjrjTG/W4u9Z0U1Za/TjnOSUc+utKtduOsQ4qbz7TnDtSDgCJQ0fKhNsA70PiH0qOmhaiy6uV/9oD/QOSfSuGfMhS2ViC4MD1KZkrd7arcnSjiTrvyvgCDV8VM3u2qnFyUk5NSHz9TIx9en9NOBwuegKor3XGv/gdPXpLWi+LlX5uS5SGD3hSuuOtToqYtqn56n4VyDxkM27+Dd/nxTqzVzzRrPvz98W+b95mOc7cr7zjjHTvC7t4Ud383JR9JjlFhdxzzs4k77crPNux4WepuV6quYqZu/eqJXJKTnqgT8VInuGHHQ2+/Dzt2hi2iDjuxDdsfglNu/N9VUbeADU4V9H8/JBlNNiEf5W4cEGfBuSdQakpRkIH/u9kW+Sh1jCu1eNy7MJPkwYT+bS733Vru1DVqX4m7Tyb5HJbrC+9DIIpAxcuH/wvQfyLhv7rs33j/QS84b1ud3Lx37Bj3/uFRBw5/rGAZ/5oL3c/5KHeXkrCF22FD9F65OMP3UTtN3C/CsBPJOB9FHfIR2Xfnzihd8RU2nzrucwEUj6Ty4TGMmtPvF6G4Ix9ezOCCYBUr7chHVD/Vid3fF7zmvh28q0ucY0cY7zhSa0o+1HaEHQOCfQpbq1LqOR/+z0q5K8pRx1lPNMKeseHvX9KTHv9+Evacj+DIgX8/9/rqPVslePIcvOmB7ud8lLurWdg+WG5Kn//zE/ZMiuAFj1KjNmHHyGCfgs/5iHt3pDifr6hjdNqRj7CbDHj7fdhnwms/inmpG6VE3Rmz3M1VvHrl1saU2w/8I+L+5x+pbQp+1pl21RXPBipjmypCPioDJb2EAAQqiUDUVMlK2gb6CgEIQAACEKg0AshHpWWM/kIAAokIBKf3qMom10Ml6hyFIQABCEAAAt2MAPLRzRLO5kKguxGImlYR5w5M3Y0V2wsBCEAAAhAwTQD5ME2Y+BCAAAQgAAEIQAACEICASwD5YEeAAAQgAAEIQAACEIAABHIhgHzkgplGIAABCEAAAhCAAAQgAAHkg30AAhCAAAQgAAEIQAACEMiFAPKRC2YagQAEIAABCEAAAhCAAASQD/YBCEAAAhCAAAQgAAEIQCAXAshHLphpBAIQgAAEIAABCEAAAhBAPtgHIAABCEAAAhCAAAQgAIFcCCAfuWCmEQhAAAIQgAAEIAABCEAA+WAfgAAEIAABCEAAAhCAAARyIYB85IKZRiAAAQhAAAIQgAAEIAAB5IN9AAIQgAAEIAABCEAAAhDIhQDykQtmGoEABCAAAQhAAAIQgAAEkA/2AQhAAAIQgAAEIAABCEAgFwLIRy6YaQQCEIAABCAAAQhAAAIQQD7YByAAAQhAAAIQgAAEIACBXAggH7lgphEIQAACEIAABCAAAQhAAPlgH4AABCAAAQhAAAIQgAAEciGAfOSCmUYgAAEIQAACEIAABCAAAeSDfQACEIAABCAAAQhAAAIQyIUA8pELZhqBAAQgAAEIQAACEIAABJAP9gEIQAACEIAABCAAAQhAIBcCyEcumGkEAhCAAAQgAAEIQAACEEA+2AcgAAEIQAACEIAABCAAgVwIIB+5YKYRCEAAAhCAAAQgAAEIQAD5YB+AAAQgAAEIQAACEIAABHIhgHzkgplGIAABCEAAAhCAAAQgAAHkg30AAhCAAAQgAAEIQAACEMiFAPKRC2YagQAEIAABCEAAAhCAAASQD/YBCEAAAhCAAAQgAAEIQCAXAshHLphpBAIQgAAEIAABCEAAAhBAPtgHIAABCEAAAhCAAAQgAIFcCCAfuWCmEQhAAAIQgAAEIAABCEAA+WAfgAAEIAABCEAAAhCAAARyIYB85IKZRiAAAQhAAAIQgAAEIAAB5IN9AAIQgAAEIAABCEAAAhDIhQDykQtmGoEABCAAAQhAAAIQgAAEkA/2AQhAAAIQgAAEIAABCEAgFwLIRy6YaQQCEIAABCAAAQhAAAIQQD7YByAAAQhAAAIQgAAEIACBXAggH7lgphEIQAACEIAABCAAAQhAAPlgH4AABCAAAQhAAAIQgAAEciGAfOSCmUYgAAEIQAACEIAABCAAAeSDfQACEIAABCAAAQhAAAIQyIUA8pELZhqBAAQgAAEIQAACEIAABJAP9gEIQAACEIAABCAAAQhAIBcCyEcumGkEAhCAAAQgAAEIQAACEEA+NOwDS1Zt0RCFECYIDBlQJxu3NMm2hiYT4YmpgcDI+l6yfM02aW5p0RCNELoJ1NZUSX3/nrJ87VbdoYmniUDvnjXSq0eNrNm4XVNEwugmMLBvD2lsapFNWxt1hyZeQgI7DOmdsAbFdRNAPjQQRT40QDQUAvkwBFZjWORDI0wDoZAPA1A1h0Q+NAM1EA75MAA1ZUjkIyU4jdWQDw0wkQ8NEA2FQD4MgdUYFvnQCNNAKOTDAFTNIZEPzUANhEM+DEBNGRL5SAlOYzXkQwNM5EMDREMhkA9DYDWGRT40wjQQCvkwAFVzSORDM1AD4ZAPA1BThkQ+UoLTWA350AAT+dAA0VAI5MMQWI1hkQ+NMA2EQj4MQNUcEvnQDNRAOOTDANSUIZGPlOA0VkM+NMBEPjRANBQC+TAEVmNY5EMjTAOhkA8DUDWHRD40AzUQDvkwADVlSOQjJTiN1ZAPDTCRDw0QDYVAPgyB1RgW+dAI00Ao5MMAVM0hkQ/NQA2EQz4MQE0ZEvlICU5jNeRDA0wb5KPu2aeladQO0rTzLhq2qOuEQD7szyXyYXeOkA+786N6h3zYnyPkw54c5SEfx54yXYbUD5Bbrj7fng2P2ZP5i16Xk868WOZeN0PGjx0Ts1ayYshHMl6hpW2Qj8Ff/bL0fPQPsu6Ka2XLscdp2KquEQL5sD+PyIfdOUI+7M4P8mF/flQPkQ978qRDPk6ddrk888KiDhtVP6i/PHnfLPdvRcjHfQ89JdMvu0lmXnC6TD764NTAkY/U6PKtWLR81L7yTxl+0IT2jd749amy/nsz84VgaWvIh6WJ8XUL+bA7R8iH3flBPuzPD/JhV46yyse4w04Rv2h4W6eEZMTQwXLpRWcUIh+6KCMfukgajlO0fAw8f6r0vfl6aZiwn/R44Xl3a7d95BBZd+VPpHHPvQ1vvd3hkQ+786N6h3zYnSPkw+78IB/25wf5sCtHWeRDCcarr/+nfYQjasu8kQ/1vjdCEiUs/hEU/1SniZPPloMPGC9PPTtfVq/d4DY15eRJsvOOw90RDu/l1QmThuAIjap/9mnHSdjIzYLH5rghkQ+79tfI3hQpH9XLl8nIfXZz+7bi8WekevUqGXjeN6T2X69KS+8+svYqZxrWCZ+rEJL6u4l86GeqOyLyoZuo3njIh16eJqKx5sMEVb0xmXall2eWaFnkQ416TDryIHd0o9RLycdrb77tyoI62VcvJRN7jtmpfR2IEoBVq9fL/XNaZ6rMuvkemX37PPEkQJVX0uHJhfd+cHqXqqtiBKUhKErq/Wtu/LXbvnpv6lc+076mQ/U3Kk4W1lF1WfOhgWqR8tH/0oul/1WXyZZJn5Y1t9zhbk3Vpo0y6NxzpPfdc91/bzp9iqy77GoNW1p5IZAP+3OGfNidI+TD7vyo3iEf9ucI+bAnR2nlwzu5j7OmImzNx4WX3CALX1kcKgoeHSUcJxxzuCss3siHJzphIxIqphoZUWtN/O+reGrReJy+euJz1wOPdorDgnN79ttOPSlKPqq2b5MRzqhH9dq1sur+h9ypVv5X3xt+LgMvOs/90/b9PijrrpolDfu+12KS+ruGfOhnqjsi8qGbqN54yIdeniaiIR8mqOqNiXzo5Zklmg3y4S0OD9sOb7QkSj78QqFGQ8Kk4V+Ll7hTs7xRlLB2vJEV/3uqPNOusuxdOdYtSj76/fxaGTDjAtl2yOGy6p7fhm5x3V+fcaZhnSM9FswXqa6WtVdeK5u/eGqOdIptCvkoln+c1pGPOJSKK4N8FMc+bsvIR1xSxZVDPopjH2w5rXyoOEmmXQVvtesf+fDko5wcqDUfwZEPHfKhtuPACWPbp4D5p3whH/bsqyV7UpR8jNhvnNQsfkNW/2KubP3kpOg+NjbKoG+dI31un+OW2XzyKbLWuSWv1NZWCOH03UQ+0rPLqybykRfpdO0gH+m45VkL+ciTdrq2kI903EzUyiIf5RacK8GIuttV2LSrUtOisox8KG5R067CxAf5MLGnGY5ZhHz0ueMXMugbZ0rDe98vK/7451hb2Oe2W2SQMwoizc3SMG5f525Ys2T7Bw+MVbdSCyEf9mcO+bA7R8iH3flRvUM+7M8R8mFPjrLIh9qKsFvteif03mL0cms+VBzvjlP+0Q8lKAdO2Md9TkcW+VBrNVQfVq9d335nLm/BuVpoHhQTtU3qxbQre/bTsj0pQj6GffQg6fHS32XttbNl8+e+WLaPXoEe/3hJBp57ttQ9/1f3T+suuVI2nfG12PUrrSDyYX/GkA+7c4R82J0f5MP+/KgeIh/25CmrfPjFwb9V/lGMOPIRFcd/t6u00668heLeXbe8fnp9VJIz7+F3L1yrdSbenbaYdmXPvlqyJ3nLR6/fzpP6L50kTaN3lWXPL0xFaeCF50rfG69z6245/iT3lrwtffulimVzJeTD5uy09g35sDtHyIfd+UE+7M8P8mFXjnTIh11bVHm94Va7GnKWt3wMOe6T0vOJR2X9xZfJxq8506hSvnrf9StnGtY3pGrzJmncfU/3oYTbJh6WMpqd1ZAPO/Pi7xXyYXeOkA+784N82J8f5MOuHCEfxecD+dCQgzzlo+efnpAhxx4tzYMGybKFb0hLXc9MW1D76svuQwlVXPVaP+MHsvGcczPFtKky8mFTNsL7gnzYnSPkw+78IB/25wf5sCtHyEfx+UA+NOQgT/kYfOrnpfe8e2XDuRfIhgtnaOh9a4gB35su/X56jfv71mMmu7fkbR4yVFv8ogIhH0WRj98u8hGfVRElkY8iqCdrkwXnyXgVUZo1H0VQD28T+Sg+F8iHhhzkJR9qsfiwwz7k9nipM+rRPHyEht6/G0JJzcDzzpbq1aulaced3IcSbj3iKK1t5B0M+cibePL2kI/kzPKsgXzkSTtdW8hHOm551kI+8qRdui3ko/hcIB8acpCXfAyaepbzrI5bZdNpX5V1l7eOUuh+1fz7LfeZID0fedgNveG/p7v/VeoL+bA/c8iH3TlCPuzOj+od8mF/jpAPe3KEfBSfC+RDQw7ykA8lBSM+8B63t8v/8jdp3HNvDT2PDtH/8h9K/ysucQuo0Q81CqJGQyrthXzYnzHkw+4cIR925wf5sD8/qofIhz15Qj6KzwXyoSEHeciHtyZjy/87UdZcf6uGXpcP0evh3znTsM6RmiVvu+s/1DoQtR6kkl7Ih/3ZQj7szhHyYXd+kA/784N82JUj5KP4fCAfGnJgWj6qNqyXkfuMkaotm2Xl7x7N9ank1StXyCDnoYTq2SLqpe6Epe6IVSkv5MP+TCEfducI+bA7P8iH/flBPuzKEfJRfD6QDw05MC0f/X58hQz44Xfd6U+r596rocfJQ/T7yZUy4Aetd9fadvChzjSsa91ng9j+Qj5szxAPGbQ9Q8iH7RlizYf9GWLalU05Qj6KzwbyoSEHpuVjxPg9pOadJa54FHn3KfVgQ/VMkNrXX3Ofhq6eiq6ejm7zC/mwOTutfWPkw+4cIR9254eRD/vzw8iHXTnqyvIxcfLZLuwn75tlF/RAb5APDekxKR9959zkrrvY/sED3SlXRb/UFDD1VPTev7nT7cqmM74m6y65suhuRbaPfFibmvaOIR925wj5sDs/yIf9+UE+7MpRV5WP+x56Sm6d+ztZvXa9nDvlRJl89MF2gff1BvnQkBqT8jF84v5Su2ihrJl9i1WjDH1n/1QGfvu/XXpKjNY5i9Ebxo3XQFNvCORDL08T0ZAPE1T1xUQ+9LE0FYlb7Zoiqy8ud7vSxzJrpK4qH6dOu1w+MG5P+duCV11Et1x9flZUxuojHxrQmpKP3vf+WgZ/5UvubXXV7XVte9U9+7T7UMIeCxeI1NQ4d8OaJZtPPsWqbiIfVqUjtDPIh905Qj7szo/qHfJhf46QD3typEM+Xnlllbz88srcN2rvvYfKXnsNCW133GGnyNzrZsi/Fi+Rq2bfafXUK+SjzK5z4SU3yLyH/9xeao9dd5T758zsUMuUfAz91BFS9/Sf3QcKqgcL2viqamiQgd/6hvT55Ry3e5u/eKp7S16prraiu8iHFWko2Qnkw+4cIR925wf5sD8/qofIhz150iEf06b9Xq655uncN+rqq4+UqVM/3Kldb8qVd36qRGTmBadbO/UK+Siz6xx7yvQOsqH+PaR+QIfhLBPy0fOPj8iQEyZJ87DhsnTRm7nv4Ekb7PuLm921KdLSIg37vtd9KOH2/T6YNIz28siHdqTaAyIf2pFqDYh8aMVpJBgjH0awag2KfGjFmSmYDvmYPfs5efDB1ulNeb6mTNlfPvGJznca9aZcnX3acW531L/Vy9apV8hHwr1GjYQsfGVxByExIR/1nz9eev3+Qdlw4QzZcO4FCXtZTPEeL/3dFZC6F55zO7Du0qtk01fOLKYzba0iH4Xij9U48hELU2GFkI/C0MduGPmIjaqwgshHYeg7NaxDPuzZmtaeqJGOsNeCx+bY1lW3P8hHwrSo25jtOWYnoyMf6uR96JGHSEtdT1m28A1pHjQoYS+LLT7w/KnS9+br3U5sOeFz7i15W3r3KaRTyEch2BM1inwkwpV7YeQjd+SJG0Q+EiPLvQLykb0pRlEAACAASURBVDvyyAa7mnyoKVdhazxsnnqFfMT8PCjpWL12g4St+djW0BQzSrxitad+WWp+ebs0fXOqNP7oiniVLCul+l971tcc+9giLXu/Rxp/+jNpPvTQ3HvZo7ZamppapNmZDsbLTgJ1PWpke0Oz0zlyZGOGqqRK1Odoe6Pe45yN21qpfaqurpLqqippbFKfI142EqitqVazkqWpmRwVnZ+ezndOV3qFLQdQ22fz1CvkI+EeqJK5avX6DtOuVq3fnjBKdPGaf70mgyaMcwusffGf0rTrbtpi5x2o5uV/St9pzt2wnnrCbXrzxZfKlm9My7UbA/rUypbtzdLQyAE/V/AJGqvv30PWbmxwBDFBJYrmRsC5kZ30792aI152EujZo1rqHEHcsKXRzg7SK+nbq8YRjxbZ6nwf8SqWgJoRwatYAshHQv5qeGv6ZTeJfx6dzjUfA6d/S/pe/zPZ/LkvytprZyfsnZ3FB3z3Iun3sx+7ndsy6dPOM0FmSXN9fS6dZdpVLpgzNcK0q0z4jFdm2pVxxJkbYNpVZoTGAzDtyjji2A10tWlXsTfcooLIR5lkqOlW/sfUq+Et9fLfbleXfFSvWikj93FGOpqaZMX//Uka3vcBi3aVbF3pfd9vnFvyniPVa9ZIS7/+zgMJ95WGffaVRuc/9VP9W/1d9wv50E1UfzzkQz9TnRGRD500zcRCPsxw1RkV+dBJM1ss5CMbPx21kY8yFJVsvPbm2+2lTD7no/+PZor6b+snJ8nqX8zVkV+rYtS8tVgGOQ8lVLcRDns17ra7NLZJiSsmzu/qb1leyEcWevnURT7y4Zy2FeQjLbn86iEf+bFO2xLykZac/nrIh36mSSMiH0mJhZTXMvLR2Cgjx+0m1atWyap7fivbDjlcQ8/sDKFGeHos/IfULviH+9P93fmvanvntTMt/Qc4IyPjWkdJxo2XhrHO7wlGSZAPO/cBf6+QD7tzhHzYnR/VO+TD/hwhH/bkCPkoPhfIh4Yc6JAPtc5DrffY9pFDZNX9D2noVeWFqF200BGR+c5/CxwxcX4uWiA1b/8nfJRkzB6toySujIxvHSXZdUynssiH/fsB8mF3jpAPu/ODfNifH9VD5MOePCEfxefCOvnwbmkbhsbWh6XokI/hB7xXal9/Tdbccoe7KJtXKwF3lESJiDNKUuvIiPrdHSVp6HznHXeUJLCWpP+HJsjGmt6i+3bI5EcfAeRDH0sTkZAPE1T1xmTkQy9PE9GQDxNU08VEPtJx01nLKvmIulexzg02ESurfPS58w4ZdNZX3Cv4Kx5/xkQXu1xMd3RkkTNlS0lJ29StmiXvrs3xb3DT7nu0Lmpv+y9qlKTLQaqQDUI+7E4U8mF3flTvkA/7c4R82JMj5KP4XFglHzY/jbFUqrLKh3qauXqq+dprnFvsnvzl4veKCu1B9coVraMkSkyUkLRN3ZKQUZLmAQOcO205a0ic9STuWhJXTMZJS99+Fbr1ldtt5MPu3CEfducH+bA/P6qHyIc9eUI+is8F8qEhB1nko9fvH5T6zx8vTTvtLMv+/rKG3hDCT0Ct+djy3IvS8tKLrpSoNSVqoXvNO0tCQTXuvqc7dauxbS2J+r1pdOU+6LES9gbkw+4sIR925wf5sD8/yIddOUI+is+HVfKhpl0dMXE/Ofu044onk6AHWeRjyGcmSc9HH5H135spG78+NUGrFI1DIGrBefWK5a132vJN21L/FueuY8FX+yiJkhL/c0n69I3TBcqUIYB82L2LIB925wf5sD8/yIddOeqK8hG2XtrWddJqb7BKPtTTw6+afWeHh/rZtcuG9yatfNQ9/ScZ+qn/ErVQeunC16Wld59K2NyK6mPSu121LmxvlRJ3lMQZLYkcJdljr9ZpW+5DEluncDFKknz3QD6SM8uzBvKRJ+10bbHmIx23PGsx7SpP2qXb6qryccIxh7dfvD912uWyavX6Dg/EticDlsmHWvNR6mWrxaWVj8Ff+aL0vvdu2fjNb8n6b3/fpv2iy/QlqXyEbbg7SuKuJVGL21vvuOWOkjhPog++mgcObF9L4t4C2FtLwihJ5D6FfNj9cUM+7M4PIx/254eRD7ty1B3kY9bN98hdDzxq7cV8q0Y+7No94/cmjXyoZ1oMn7i/28iy+a9J06gd4jdIydgEdMhHaGMtLW0L21tvA9zDGS1x15IsfSe0eKMaJfGvJXGkpGn0rrG3oysXRD7szi7yYXd+kA/784N82JUjHfLxirNJRazS3dtpd68QnGralX/kQy1j2Gev0XLpRWfYBb+tN8iHhrSkkY+B550jfefcJJtOOV3WXXmthl4QIoyAMfmIwF29fFn7XbbcJ7h7d9wKGyUZNMhZ2K6mbLVO22pd5L5vt5t+h3zY/dlFPuzOD/Jhf36QD7typEM+pjmbdE0Bm3W102bY6uCwNR+TjjwI+YibI7XuY/plN3UoPvOC02Xy0QfHDZF7uaTyodYQjBi/h9vP5U8+55x07pN7n7tLg3nLRyhXd5REjYy03ga4/Y5by5aGFm/cc++Oa0kcKenKoyTIh92fRuTD7vwgH/bnB/mwK0c65GO2s0kPFrBZU5w2PxHSbnDkQxVRSxmmnDzJyps4WTXyoeaozb59nsy9boaMHzvGxTt/0ety0pkXWwtQ9TGpfAz44Xel34+vkC2fPl7W3HhbAbtv92nSCvmIwF3jyIf3gMQOa0mamzvVaFajJG3PJemwlqQL3KQA+bD784h82J0f5MP+/CAfduVIh3zYtUUiYfJh89Qrq+QjDJ5KsO0LZ5LIR9XmTTJynzFStXGDrPzfP8j2D33Etn24S/XHZvkIBe2IR+vCdu+OW62/K1EJe7mjJP5bAKu1JLuMrqgcIh92pwv5sDs/yIf9+UE+7MpRd5AP2y/cWyUfUU8496ZidYW7XfWbdbUM+P63ZdtHj5BVd82z6xPZBXtTcfJRapSkbWG7eztgby1J2CjJ4MHvriVxRksanVsAu2tJevW2MsPIh5Vpae8U8mF3fpAP+/ODfNiVo64qH6vXbugA2tYpV6qTVslHdxj5GPH+vaXmP/+W1XfcLVuPCpu5Z9eHtNJ701XkIzQPziL2Hotab/3rLm5v+10teg8dJdnrPZ3XklgwSoJ82P0pQz7szg/yYX9+kA+7ctQV5cMuwuV7Y5V8dPU1H31uv1UGTT1Ltk/YX1Y+/ET57FAiM4EuLR9RoyTO7X5bZaTjE9zFWfgefDU7oyQNanRE3XHLufOW+9MZKclzlAT5yLybGw2AfBjFqyU4DxnUgtFoEB4yaBRvouDIRyJcRgpbJR9qC7vy3a6GHXqge5V67c9ulM0nft5IQgnakUB3lI/IURJ3HUnrU9vVuhL1u3qAYuQoiSsijpC4D0p01pLsvIuR3Qv5MIJVW1DkQxtKY4GQD2NotQVGPrShzBwI+ciMMHMA6+Qj8xYVECDOgvPe8+6Vwad+XhrH7CHLn32pgF52zyaRj9J5V7d9bpWR1tsA16qfzqhJ2Ku5vt43OtImJWotSc9emXYu5CMTPuOVkQ/jiDM3gHxkRmg8APJhHHHsBpCP2KiMFUQ+NKCNIx9DJx0ldX9+UtbNvEI2ffUsDa0SIg4B5CMOpUCZxsbWkZHAXbciR0n2HutO1XJHSZyHJTao55IkGCVBPlLkKMcqyEeOsFM2hXykBJdjNeQjR9hlmkI+is+FFfLhPQhFPeOj1KtS73bV84lHZchxn5TmIUNk6YI3RGpri898N+kB8qEv0e4oSYe1JK2jJWEvd5SkfS2JutvWeGkeNty5xUVV63/V1e7PFue/4fW9ZeW6BnGfbuJ7r/V9529tZTvUldY4LcH39G0ukdoIIB/27wrIh/05Qj7syRHyUXwurJCP4jFk60G5kY/6L54ovR58QDb893T3P175EUA+zLKuamiQWu+OW+5oSevdt6pXrjDbcFR0n4wosZGqVskJSk+ruPj+HlK2k9j4RceRnw7vd5Agefe9NkkKClRo3Sihao/dKmct/m0KEbPW7fb+67z97e8H+qxYdajb9n6187Nnz1rZ0tDsez+ca6fYAaF03y8lk1Hvt22Py83lFCaqIbF9rErmswPXzrE7iK5qPLANkbE75LREXG8/Cdn+jrHD8inSu1et9OxRK2u3NHbc3/059fpczCez27eKfNizCyAfxefCKvmIes5HpT9kcNTOQ6Vqy2ZZ9veXpWmnnYvPejfqAfJRTLJrlrz97loS9VwS585b1evXO2flzh231H/q+STOT+cAJM4pr/PP1n/732t93+m//z2vrlPHfT/4XjGbS6sQqBwCvtHHdlkMESolWO7IY2C00jU/38hlcLSy/d9K0IN12+XKE+noCwThkvyufIWL7Lvi7RwdOkpiKWGMJZQujPAR17DYAaHsWVfjjO5WyXY1xNvhAkHHiyClJTn8AoE/Rx1zWiJ2u4y+OxoddvGhQ+z2iymBCzfB/SHiok9oztrKvpvvUrFLXEzyi3vIRR//xSZ1TsarWAIVIR+V/JBB9UTzUbsMk5befeSdf68sNtvdsHXkw/6ka13z4ZMRJTbS4pMan/S0ikub7HjSEyjbSWz8ouPIT4f3O0iQc27h/btNkoICFVo3SqjaYzu5dIUsXNQ8cWvdbu+/ztvf4f0OsZ1TI3/dtveqHQPs65w4bdi0/d33VV9DhLG9fvv2t/bZL5tBwXTf87Y9kKPOMurltGNcT2Q7iaqPldu3MJFt2+Z3uXaO3UF0Q3Iaua90yGlb3E774bvb34lNmGB32k/bRNxpq6UpkG+nbKec2n9IoIcQMEsg5LbzZhskepBARcjHhZfcIE89O1+evG+WlRksNe1KPVBQPViwacedZNmLr1jZ/67cKeTD/uxqlQ/7N7fiesiaD/tTlmjNh08wO0hyiJi5I4/BEUmffHWSTX9ZJegho5mtgtUmTCUuEETWbZOvcJl8V7ydcZfSshm4mFDyAoHX57IXCHwjsh6nNtns1aNamh05bNjuTI3rcIGg40WQkhc9wmQycMGgnZu7/SVih1wgCb8w8e6ItMvUl7+wkezWv4Vf9AnNmT+fZWOXuJjkl/qwCwTeKLoaeNrY8Ung9n/Cu14PC5ePsOd6hGGeecHpMvnog63MQCn56PHS32XYRw+ShvHvkxWP/sXK/nflTiEf9mcX+bA7R8iH3flRvUskH/ZvTpfsIWs+7ElrV17zMXHy2bJ6bUe5svFmTYXLh393jFrzYc8uG96TUvLR89FHZMhnJsm2wz4mq+5+wPZN6XL9Qz7sTynyYXeOkA+784N82J8f1UPkw548dUX5mL/odTnpzItl0pEHyaUXndEOW80cUi//32zIhFXyYQOQNH0oJR+9f3OnDP7ql2XLcSfImhvmpAlPnQwEkI8M8HKqinzkBDplM8hHSnA5VmPkI0fYKZtCPlKCM1CtK8rHsadMlyH1A+SWq883QEx/SORDA9NS8tH3hp/LwIvOk01fOVPWXXqVhtYIkYQA8pGEVjFlkY9iuMdtFfmIS6q4cshHcezjtox8xCVlvpwW+XjFWcP78svmOxtsYe+9Rfbaq1O7lTZzyCr58IaNorJp47w11ddS8tH/sh9I/ysvlQ3nf1s2fOui/HfUbt4i8mH/DoB82J0j5MPu/KjeIR/25wj5sCdHWuRj2jSRa67Jf6Ouvlpk6tQO7XrnznOvmyHjx47Jv08pWrRKPtRCmYMPGC8HTthHrpp9Z/vdrdRw0hET95OzTzsuxSaar1JKPgZ+6xvS99YbZd3l18im075qvjO00IEA8mH/DoF82J0j5MPu/CAf9udH9RD5sCdPWuRj9myRBx/Mf6OmTBH5xCcY+dBJ3hs22n30DvK1C69plw91Ryy/jOhsU0esUvIx+PSTpfd9v5E1N94mWz59vI7miJGAAPKRAFZBRZGPgsDHbBb5iAmqwGKMfBQIP2bTyEdMUDkU0yIfOfQzSROs+UhCK1DWP2dN/e5Ns6rkhwwO+fQnpOeTj8mqe34r2w45PAMdqqYhgHykoZZvHeQjX95JW0M+khLLvzzykT/zpC0iH0mJmSvfFeXDO08O3u1q1s33yJJlK7nbVandSZnbPnuNdiH5f6/khwwOO/QA6bHgH7Li8WekYdx4c58mIocSQD7s3zGQD7tzhHzYnR/VO+TD/hwhH/bkqCvKh0dXXbj3v+oH9bfyAd1WrfkI7pp+iDYvpCk17WrEvrtLzdJ3ZNn816Rp1A72fPq6SU+QD/sTjXzYnSPkw+78IB/250f1EPmwJ09dWT7soVy6J1bLR6VALCUfo3YYJFXbt8s7S9ZIS13PStmkLtNP5MP+VCIfducI+bA7P8iH/flBPuzKEfJRfD6skg8b71N86rTL5ZkXFrVnao9dd5T758zskLko+ajasF5G7TZSWvr1l3feXFZ8trthD5AP+5OOfNidI+TD7vwgH/bnB/mwK0fIR/H5QD7K5EDd/vfJ+2a1l/JuB+x/VH2UfNQsfkNG7DdOmkbvKsueX1h8trthD5AP+5OOfNidI+TD7vwgH/bnB/mwK0fIR/H5sEo+bH+eh0qXWvy+8JXFHUY/ouSj7oXnZOiRh0jDB/aTFX94svhsd8MeIB/2Jx35sDtHyIfd+UE+7M8P8mFXjpCP4vNhlXyopzT6n+9RPJ7OPfDfhct7N0o+ej3ye6k/6dOy7YgjZdXc+2zcnC7fJ+TD/hQjH3bnCPmwOz/Ih/35QT7syhHyUXw+rJKP4C3Cgni8534UhU2Nesx7+M/tzx/x+tES1aHbbpOqL31J5AtfkJbbby+q29263aq2rY/MUbemY8fGkyM78hDVC/Jjd35U78gRObKfgD099D4v9vSo+/XEKvmwGb96UMvs2+dJ2C1/31m1JbTrfa+bJQO+c75smvJ1Wf/DH9m8eV22b/UD6mTjlibZ3tDUZbex0jdsRH0vWb5mm7S0oIg25rKmpkrq+/eUFWu32tg9+uQQ6NWzRnr1qJG1G7fDw1ICA/r2kMamFtm8tdHSHnafbo0a0rv7bKylW2qVfETd7Uqd+N/1wKOFPSglasTDy2nUtKsBM78n/a75kWy46LuyYdr5lu4CXbtbTLuyP79Mu7I7R0y7sjs/qnc8ZND+HPGcD3tyxLSr4nNREfLhPTa+iGlXao2HegVvr+tPXZR8DJr2delz2y2y7qpZsulLpxWf7W7YA+TD/qQjH3bnCPmwOz/Ih/35UT1EPuzJE/JRfC4qQj7UyMNTz87PfeRDLYA/6cyLQ7M084LTZfLRB7vvRclH/SmflV7/e7+svvVXsvWYycVnuxv2APmwP+nIh905Qj7szg/yYX9+kA+7coR8FJ+PwuXDG9Uoh8J/sl+ubN7vR8nH0GOOlLq/PCUr5/1eth80Me9u0Z5DAPmwfzdAPuzOEfJhd36QD/vzg3zYlSPko/h8FC4ffgQ2PuE8Toqi5GP4R/aT2pcXyfInn5PGsfvECUUZzQSQD81ADYRDPgxA1RgS+dAI01Ao1nwYAqsxLNOuNMLMGAr5yAhQQ3Wr5EPD9hQSIko+Rr5ntFSvXCFLF74hzcNHFNK37t4o8mH/HoB82J0j5MPu/DDyYX9+GPmwK0fIR/H5QD405CBKPnYY0V+kqUmWLF0vUluroSVCJCWAfCQlln955CN/5klaRD6S0CqmLCMfxXBP0iojH0lomS2LfJjlGye6dfIxcfLZsnrthtC+F3G3qzgQw+Sjes0aGbnnjtI8aJAsfW1JnDCUMUAA+TAAVXNI5EMzUM3hkA/NQA2EQz4MQNUcEvnQDDRDOOQjAzxNVa2SD3Vb2yH1A+SWqyvrmRhh8lH7r1dl+IHvk8bddpflf52vKV2ESUoA+UhKLP/yyEf+zJO0iHwkoVVMWeSjGO5JWkU+ktAyWxb5MMs3TnSr5KMrLTive/ZpGfqJj8r2/Q+QlQ89FicXlDFAAPkwAFVzSORDM1DN4ZAPzUANhEM+DEDVHBL50Aw0QzjkIwM8TVWRDw0gw0Y+ev3+Qan//PGy9ciPy+pf/UZDK4RIQwD5SEMt3zrIR768k7aGfCQlln955CN/5klbRD6SEjNXHvkwxzZuZKvkQ027OmLifnL2acfF7b8V5cLko8+vbpNB50yRzZ89WdbOut6KfnbHTiAf9mcd+bA7R8iH3flRvUM+7M8R8mFPjpCP4nNhlXyoBw5eNfvO3J9knjUNYfLR76fXyIDvTZeNZ31T1n//kqxNUD8lAeQjJbgcqyEfOcJO0RTykQJazlWQj5yBp2gO+UgBzVAV5MMQ2ARhrZIPteaj1KuS7nY14Pvfln6zrpb1M34gG885N0FKKKqTAPKhk6aZWMiHGa66oiIfukiai4N8mGOrKzLyoYtk9jjIR3aGWSNYJR9ZN6ao+mEjH4O+cab0ueMXsvbHP5fNXygtVUX1uzu0i3zYn2Xkw+4cIR9250f1DvmwP0fIhz05Qj6KzwXyoSEHYfJR/4XPSK+Hfiurb7tTtn7iGA2tECINAeQjDbV86yAf+fJO2hrykZRY/uWRj/yZJ20R+UhKzFx55MMc27iRrZMPtej8tTffdvs/84LTZfLRB4uajnXghLHWPv8jTD7UbXbV7XZX/u8jsv1DB8XNB+U0E0A+NAM1EA75MABVY0jkQyNMQ6GQD0NgNYZFPjTCzBgK+cgIUEN1q+TD/5BB9aTzc6ec6MrHrJvvkbseeNTahehh8jH8Q++X2tdekeV/+Zs07rm3hlQRIg0B5CMNtXzrIB/58k7aGvKRlFj+5ZGP/JknbRH5SErMXHnkwxzbuJGtkg81wjH3uhkyfuwY8cuHugvW9MtukkpacD5yr52kevVqWfryv6V5yJC4+aCcZgLIh2agBsIhHwagagyJfGiEaSgU8mEIrMawyIdGmBlDIR8ZAWqobpV8KOH4+aVTO8lHxY18NDfLDsP7uelZsnKzhjQRIi0B5CMtufzqIR/5sU7TEvKRhlq+dZCPfHmnaQ35SEPNTB3kwwzXJFGtko8LL7lBnnp2vju9yhv52H30DnLSmRfLpCMPkksvOiPJtuVWNjjtqnrVShm59y7uiIca+eBVHAHkozj2cVtGPuKSKqYc8lEM9yStIh9JaBVTFvkohntYq8hH8bmwSj4UDm+KlR/NlJMnWf3U86B81L7yTxl+0AR3rYda88GrOALIR3Hs47aMfMQlVUw55KMY7klaRT6S0CqmLPJRDHfkwx7u/p5YJx92Yirdq6B81D39Jxn6qf9y73Kl7nbFqzgCyEdx7OO2jHzEJVVMOeSjGO5JWkU+ktAqpizyUQx35MMe7tbKx6nTLpdnXljUaWF5pd1qt9dv50n9l05yn++hnvPBqzgCyEdx7OO2jHzEJVVMOeSjGO5JWkU+ktAqpizyUQx35MMe7tbKh1rnccIxh3eaYlVpC8773H6rDJp6lvtkc/WEc17FEUA+imMft2XkIy6pYsohH8VwT9Iq8pGEVjFlkY9iuCMf9nC3Vj7UCIf3YEF/JyvtVrv9fnyFDPjhd2XjOefK+hk/sDPz3aRXyIf9iUY+7M4R8mF3flTvkA/7c4R82JMjFpwXnwur1nx0lZGPATMukH4/v1bWf/8S2XjWN4vPcjfuAfJhf/KRD7tzhHzYnR/kw/78qB4iH/bkCfkoPhdWyYeaXjX79nntDxpUeOYvet291a7Nd7wKLjgf9PUzpM/cX8raWdfL5s+eXHyWu3EPkA/7k4982J0j5MPu/CAf9ucH+bArR8hH8fmwSj4UjrBb7YZNxSoe3bs9CMpH/WePk15/eEhW/+o3svXIj9vU1W7XF+TD/pQjH3bnCPmwOz/Ih/35QT7syhHyUXw+rJOP4pEk70FQPoYedajUPf9XWfnQY7J9/wOSB6SGNgLIhzaUxgIhH8bQagmMfGjBaDQIaz6M4tUSnGlXWjBqCYJ8aMGYKQjykQlfa+WgfAzff1+pffN1Wf7X+dK42+4aWiBEWgLIR1py+dVDPvJjnaYl5CMNtXzrIB/58k7TGvKRhpqZOsiHGa5JolonH2rR+eq1G0K3YcFjc5JsW25lg/IxcsxIqV6/Xpa+tkSaBw3KrR801JkA8mH/XoF82J0j5MPu/KjeIR/25wj5sCdHyEfxubBKPo49ZboMqR8gt1x9fvFkEvTALx9VDQ0yatRAkdpaWbJ0vRvlrn+tlt+t2ybn7DRQPjC8T4LIFM1KAPnIStB8feTDPOMsLSAfWejlUxf5yIdzllaQjyz09NZFPvTyTBPNKvmIes5Hmg3Ls45fPmqWLZUR48ZI8/ARsnThG/Liik3yifcMdbvT/8VlsnDH/lJdVZVn97p1W8iH/elHPuzOEfJhd35U75AP+3OEfNiTI+Sj+FwgHxpy4JePHgsXyLBDPiiN7xkry596Xr7z0lK55fDdpGrjdmnpVyc7PfWWPDN2mIZWCRGHAPIRh1KxZZCPYvmXax35KEeo+PeRj+JzUK4HyEc5Qvm9j3zkxzqqJavkQ027OmLifnL2accVTyZBD/zy0fOpx2XI5I/L9oMmysp5v5cjXlwqiz66m+zzxzdk0f47SMuAnvL+/3tDfvv+kQlaoGhaAshHWnL51UM+8mOdpiXkIw21fOsgH/nyTtMa8pGGmpk6yIcZrkmiWiUf6hkfV82+U568b1aSbSi8rF8+et9/jww+7Quy9ZjJsvrWX8nuzrSrrc60q4v//G9Z39gsVx4y2u3vJ/7wutw4YVThfe/qHUA+7M8w8mF3jpAPu/Ojeod82J8j5MOeHCEfxefCKvlQaz5KvSrhbld9b71RBn7rG7LpS6fJS9+9Ug7azbnblSMdb6zeKnU1VXL2396Re44Y427m1x5bLNPHDy9+L+jCPUA+7E8u8mF3jpAPu/ODfNifH9VD5MOePCEfxefCKvkoHkd0D2bdfI/c9cCjoaMy/pGP/lddJv0vvVg2TDtfANdIEwAAIABJREFUZkw6U3586GgZ8Ddn6tUuzh2w2l6fdgTkWSUgWxvlmpeWyQm719u86RXdN+TD/vQhH3bnCPmwOz/Ih/35QT7syhHyUXw+kI8yOVBTwaZfdpNbqn5Q/7LyMXD6t6Tv9T+TdT/8kRx+4PHytyN2kw8+8rrc94GOU6w+smC5vOlMwerx5lr5XUOzjK3vXfze0AV7gHzYn1Tkw+4cIR925wf5sD8/yIddOUI+is+HdfLhP9n38My84HSZfPTBhdKKO/IxeMqp0vvuubLmuptll4M+KRvfO0LOe+ItmTqu8x2uxjnisXa/UTLwhXdk4WgeRmgiwciHCap6YyIfennqjoZ86CaqPx5rPvQz1R2RaVe6iaaPh3ykZ6erplXyoU7wZ98+T+ZeN0PGj21dFzF/0ety0pkXy5STJxV6F6y48jHkhEnS84+PyNt3/EZ2+lzrXbuee2udjOpb1ylnr6zZKkfWiDTsNlhGP7FY/jyO9R+6dmwvDvKhm6j+eMiHfqY6IyIfOmmaiYV8mOGqMyryoZNmtljIRzZ+OmpbJR8TJ58tJxxzeCfJKHXirwNCnBil+rBy/bb2EIMOPUhq//6C3Hjz/8oZp35S+ixYIYt3HhDZxG+cp59P2ct5CGHfHnKAugXvB3eI0x3KxCQwsE8P2bKtSbY3NcesQbG8CdT3r5O1GxqkWVrybpr2YhCoqa6SAc7naI3zrCJedhLo2aNa6mprZMOWBjs7SK+kX69aaWpukS3bm6BRMIGhziMPeBVLwCr5iHrCuTcVq8i7XZWSj+3Omg3v1WOPMVL11mL53B1PyP98bqK8/7E35ZmP7FIyyzOeWyKXf3gnt8wJzh2wbv/IzsXuFV2o9draKueAL9LiHPR52Umgzjlx2u7cEQ73sDM/VVUitTXV0qByxMtKAtWOIDr/L41NHOesTJDTqRrnbpctTnqa+S4qPEXqO4dXsQSsko9KHfnw3+1q1C7DpGrzJtnl8Zfl34fsJVMefVO+46z7KPea4twB64G2W/BOdaZgnccUrHLIYr3PtKtYmAotxLSrQvGXbZxpV2URFV6AaVeFp6BsB5h2VRZRbgWYdpUb6siGrJKPSl/zUbV1i4zaaYi01PWU6jUbRJypCo+8ujr2nawmObfkfd65O1aVM73h5y+vkkm7sgg960cE+chK0Hx95MM84ywtIB9Z6OVTF/nIh3OWVpCPLPT01kU+9PJME80q+VAbYNvdrsL6M+nIg+TSi85o5+2NfNS8/R8Z8b69ZOOwkdJ/+TtS99pqeWNwslvofmjhCvn3xF3cuo848x12H9QrTV6p00YA+bB/V0A+7M4R8mF3flTvkA/7c4R82JMj5KP4XFgnH8UjSd4DTz56zH9Rhh3+YXl9zFjZ/V8LZU9nvcdj48tPuQq2ONa5O9b6D4yUwc5akH84d8LilZ4A8pGeXV41kY+8SKdrB/lIxy3PWshHnrTTtYV8pONmohbyYYJqsphWycep0y6XZ15YJMGF5Woh+oETxsotV5+fbOtyKu3JR8/H/yhD/t+n5Mn9D5ZD/vqkfMG5e9Xl7x+ZuBcvrdwkx/TuIY3OU9HHPL5YntyXW/AmhsjIR1pkuddDPnJHnqhB5CMRrkIKIx+FYE/UKPKRCJfRwsiHUbyxglslHzYvOC9F05OP3vf+WgZ/5Uty16ePlxPv+bX8+h/L5aBR/WMlIlhorjPt6lxn9EPqauTDzhPS7w48IT1V0G5YiZEP+5OOfNidI+TD7vyo3iEf9ucI+bAnR8hH8bmwSj5svtVuHPnoe9NsGXjBNPnZWWfJNy+4RBY7oxdZXj94aZnMPnxXN8Txj7whP1EywisRAeQjEa5CCiMfhWCP3SjyERtVYQWRj8LQx24Y+YiNynhB5MM44rINWCUflT7y0f9HM0X9d/GMGXLTEafJ0/sMK5uAcgVOe+Edeei/Wp/2/t9PvCXfGJc9Zrk2u9L7yIf92UQ+7M4R8mF3flTvkA/7c4R82JMj5KP4XFglHzbfardUqrxpVwPPnyp9b75ezrn2WvnP2E/KTzVNlfr435fKSx9zbsG7Zqvc/OY6OWqX6CemF79L2dUD5MOufIT1BvmwO0fIh935QT7sz4/qIfJhT56Qj+JzYZV8KBy23Wo3Too8+Rj8lS9K73vvls/96lfysb0Pl4+PHhineqwyH/znSlniPPm85yur5KmetbJDv7pY9bp7IeTD/j0A+bA7R8iH3flBPuzPD/JhV46Qj+LzYZ18FI8keQ88+aj95FEy/Jkn5ai7H5BbD/tY8kAlamxvapbxSzfKRudp6UOfeVte3KNea/yuGgz5sD+zyIfdOUI+7M4P8mF/fpAPu3KEfBSfD+RDQw48+Wg4cH8Z7Tzf47/m/E5+8alDNUTuGOK5ZZvkuIE9pWnH/rLno84zRBwR4VWaAPJh/x6CfNidI+TD7vwgH/bnB/mwK0fIR/H5QD405MCTj+qxY2TkiqXy+TuekiuOmqAhcucQtznTri780E4iVSKH/OF1+Z8Jo4y001WCIh/2ZxL5sDtHyIfd+UE+7M8P8mFXjpCP4vOBfGjIgScf9TsOll7btsm1j70qx++7o4bI4SG+89JSueXw3dw3P+c8yPCKFA8yNNY5ywIjH5YlJKQ7yIfdOUI+7M4P8mF/fpAPu3KEfBSfD+RDQw6UfLz81go5fMJo2dS3r6xbvEJD1NIhvuTcgveRtlvwfuept2TKWG7BG0YM+TC+K2ZuAPnIjNBoAOTDKF4twbnVrhaMRoNwtyujeBMFRz4S4TJSGPnQgFXJx88efl5mfm6i/HvUTlIz/xUNUcuHOPLFpbLgo7tJ9YrN8st3NsihO3IL3iA15KP8flR0CeSj6AyUbh/5sDs/jHzYnx9GPuzKEfJRfD6QDw05UPIx7a4/yNyvHSsv77mv9P/Lsxqixgux38srZelBO0vvhSvk2YG9pL5XbbyK3aQU8mF/opEPu3OEfNidH+TD/vwgH3blCPkoPh/Ih4YcKPn42m/myX1fPUn+dcAh0vvBhzREjRdiY0OTfMBpf7Pz5PPat9bJB50F6YNbROqrRYb3qJGRdc4zQXrXys7Oc0F26d9T6mqclerd6IV82J9s5MPuHCEfducH+bA/P8iHXTlCPorPB/KhIQfPLV4nP3nyAbn95JNlw3GfkQ03/EJD1PghnlqyQT47vK80j+hbtlLV+m1S4/zXY8N26bm5QfpsbZR+25tkgPMckUGOtAxx3GRYbbWMqKuRUc4oyo59ezjSUieDevYoG9vGAsiHjVnp2Cfkw+4cIR925wf5sD8/yIddOUI+is8H8qEhB996YrE0vnCvXDN1qmw642uy7pIrNURNFuImZ/rV05saZK0jD+uqq2SDM+qxuWeNbO3TQ7b3rZPGAT2lZXAvEee9VK8tjVKzbqvUOuLS02mntyMtfR1p6d/oSEtziyMtVTLEiT28rrpVWnr3kJ0daRnltF3kC/kokn68tpGPeJyKKoV8FEU+frssOI/PqqiSLDgvinzndpGP4nOBfGjIwQGPvCHHPnazTJ85UzZc8B3ZcN6FGqKaCfG2M+Lx1qZt8vbmRlnmCMSyhmZZ2dwsa5xRj7VKWpxRj02OtGxxBGK7M1WrwZmq1TzIkRbnb6lejpxUO9KiRlvqNm6X3k67PRubpMppz/3PCershG0/HTdSjTj/Vj9b3+/4nlu+7T2vjPuzrVzr706ctth1tc47zU5IR5DUe+3vB3536zj/o7ayyv0/9Xtr2+rv6i+qrpq11l62xfmr8w83ZlvdaucXtx33p2rT+emWaXHqVrf+3qFOlfP31jIqtqrntu39zYvlvq/KtvWz7X3VVm2104rzd2dT2+tVO3/z+lvrBHd/d/5W4/zS+rtqs8WpWyW16i+qvvo9rZym2jlaKyEfGeDlUBX5yAFyxiaQj4wAc6iOfOQAOWYTyEdMUAaLIR8a4A78+1L50ezvyVevv17WXfET2fTlr2iIaleIVVsa5D+OPPzHGfV4Z1ujLHVGPVY0tjjS0uKMtlTJeufMd6MzVWuzIy3bnNGWBmfUo9lZAN/iCAyvCiPgiJs4sqYk0P3p/t76NyWK7X/v8Le2OqqM2ty2Om5573c3SNhL1Yh4L6pKFqQmYkZuW/qOKvnW/kobs0SK3P1B8yvl+Gx0L/R3sfVzYMnL4xXWo9L7UcptSFmtCFxmPkfJAagLROoVtdto3+fdxkwQ1x/UTI6it33j+OEmwBAzAQHkIwGssKJbnSv7vZ2jyq9POkGOv/tuWXPzL2XLscdljNp1qm91RlbeVNKycZsscaZuLXcWyK93pKXZOSo6AxLuf+75qfrd/an+XuX+VJfjm9rKtZdpO5669drqe797/3Z/Okdy9bPGudTf4ARudgK4bTi5Un93/2sr0x4r5L0W528qlnccV/XVy/2beq8tjvu+v6yKpeK7/7mFO/7bbdv5mzPooMq477cNobh9axuBcH+q+m1x3DLqH6qe+7Otnvc3t+y7Qytu261DN21DLu/Gai0X8n7X2f3YEghAAAIQgEAHAvr1CcBJCSAfSYkFyl/74jL5xvtGyOMHHiyHPPsnWXXvg7Jt4mEZo1JdFwHWfCQnqSSw0ZmK1zro0SKNStyc35uc//F+d952/6b+3eS9r35Xouc06f+pBNIbAAnrzWBnlGztxganTPhXglM7xkYku26otkv3K17MZP2Mt+3JtkTlrfSrYx9rnLmI/Xv1kLXOqGfUy4Z+ltsq9X68HMWJ5C9TDmiynKfpZ12PaudOhjWycWupHJXaruR9dPsZ67OZlGepPKXrp+pBMfvou9vep2etNDsfvq3OBbhSr3J7U1Kapff5tDx197L1+0T3KyrkuQfuqLsp4iUkgHwkBBYsPuVP/5brP7Kz/HPMe2TvN16WFY8/Kw3j9s0Yleq6CCAfukiai8OaD3NsdURmzYcOimZjsObDLF8d0VnzoYOinhis+dDDMUsU5CMLPafupx9fLPcdOlpWDBkuQ1evkGX/+Jc0jRyVMSrVdRFAPnSRNBcH+TDHVkdk5EMHRbMxkA+zfHVERz50UNQTA/nQwzFLFOQjCz2n7iGPvSlPHrarNNbWSk1Tk7yzZK201LHIOiNWbdWRD20ojQVCPoyh1RIY+dCC0WgQ5MMoXi3BkQ8tGLUEQT60YMwUBPnIhE9kvPOMj/+8d6CsGTxYWvoPkHfeWJoxItV1EkA+dNI0Ewv5MMNVV1TkQxdJc3GQD3NsdUVGPnSRzB4H+cjOMGsE5CMjwdF/+bfUDdsmr+65pzSN3k2WPb8gY0Sq6ySAfOikaSYW8mGGq66oyIcukubiIB/m2OqKjHzoIpk9DvKRnWHWCMhHRoJDX3hH9ty+WP7y4Q/L9gn7y8qHn8gYkeo6CSAfOmmaiYV8mOGqKyryoYukuTjIhzm2uiIjH7pIZo+DfGRnmDUC8pGRYN9/rpSPvva0PHDMMbL1iKNk9dx7M0akuk4CyIdOmmZiIR9muOqKinzoImkuDvJhjq2uyMiHLpLZ4yAf2RlmjYB8ZCTY4+318oU/3CO3fvnLsvnEz8van92YMSLVdRJAPnTSNBML+TDDVVdU5EMXSXNxkA9zbHVFRj50kcweB/nIzjBrBOQjI8Fq5+nd066fJVeed55s/No5sv7iyzJGpLpOAsiHTppmYiEfZrjqiop86CJpLg7yYY6trsjIhy6S2eMgH9kZZo2AfGQkqJ4Peun5F8gFP7pc1k//nmyc+t8ZI1JdJwHkQydNM7GQDzNcdUVFPnSRNBcH+TDHVldk5EMXyexxkI/sDLNGQD4yElTycdMXviyn3TFH1l79U9n8xVMzRqS6TgLIh06aZmIhH2a46oqKfOgiaS4O8mGOra7IyIcuktnjIB/ZGWaNgHxkJKjk4/4jPymT/vCgrJ7zP7L1U8dmjEh1nQSQD500zcRCPsxw1RUV+dBF0lwc5MMcW12RkQ9dJLPHQT6yM8waAfnISFDJx58nHCgf/tuzsvKBh2X7hw/OGJHqOgkgHzppmomFfJjhqisq8qGLpLk4yIc5troiIx+6SGaPg3xkZ5g1AvKRkaCSj1d33VP2WPyaLP/T89K499iMEamukwDyoZOmmVjIhxmuuqIiH7pImouDfJhjqysy8qGLZPY4yEd2hlkjIB8ZCSr5WD1oiAxet1qW/nOxNA8dljEi1XUSQD500jQTC/kww1VXVORDF0lzcZAPc2x1RUY+dJHMHgf5yM4wawTkIwbBY0+ZLq+9+bZbco9dd5T758xsr6Xko7m6WhyQsmT5RhHnd172EEA+7MlFVE+QD7tzhHzYnR/VO+TD/hwhH/bkCPkoPhfIR5kcnDrtclm1en27cCgRGVI/QG65+ny35rCVK2XFsGHSPHiwLH21VVB42UMA+bAnF8iH/bkI6yHyYX/ekA/7c4R82JMj5KP4XCAfZXIwcfLZcu6UE2Xy0a0Lye976Cm5avad8uR9s9x/j/3nP2XR2LHSuPuesvyZF4vPKD3oQAD5sH+HYOTD7hwhH3bnR/UO+bA/R8iHPTlCPorPBfJRIgfzF70uJ515scy9boaMHzvGLRn822fuvlt+/ZnPyPYDPiQrH/xj8RmlB8hHhe0DyIfdCUM+7M4P8mF/flQPkQ978oR8FJ8L5COjfEiVWvXhvI45RmTevOIzSg8gAAEIQAACEIAABCBgKQHkI6N8/G3CBNmh32AZcfCBIpdcYmma6RYEIAABCEAAAhCAAASKJ4B8lMlBuTUfqvqSVVuKzyQ9CCXAmg/7dwymXdmdI6Zd2Z0f1TvWfNifI6Zd2ZMjpl0Vnwvko0wOyt3tCvkoficu1QPkw+78qN4hH3bnCPmwOz/Ih/35UT1EPuzJE/JRfC6Qjxg5KPWcD+QjBsACiyAfBcKP2TTyERNUQcWQj4LAJ2iWkY8EsAoqinwUBD6kWeSj+FwgHxpywLQrDRANhUA+DIHVGBb50AjTQCjkwwBUzSGRD81ADYRDPgxATRkS+UgJTmM15EMDTORDA0RDIZAPQ2A1hkU+NMI0EAr5MABVc0jkQzNQA+GQDwNQU4ZEPlKC01gN+dAAE/nQANFQCOTDEFiNYZEPjTANhEI+DEDVHBL50AzUQDjkwwDUlCGRj5TgNFZDPjTARD40QDQUAvkwBFZjWORDI0wDoZAPA1A1h0Q+NAM1EA75MAA1ZUjkIyU4jdWQDw0wkQ8NEA2FQD4MgdUYFvnQCNNAKOTDAFTNIZEPzUANhEM+DEBNGRL5SAlOYzXkQyNMQkEAAhCAAAQgAAEIQAAC0QSQD/YOCEAAAhCAAAQgAAEIQCAXAshHLphpBAIQgAAEIAABCEAAAhBAPtgHIAABCEAAAhCAAAQgAIFcCCAfKTGXe+p5yrBU00xg1s33yF0PPCpP3jdLc2TCZSVw6rTL5ZkXFrWH2WPXHeX+OTOzhqW+JgIXXnKDzHv4z+RHE0/TYdSxbvbt82TmBafL5KMPNt0c8WMSCH6OvGoLHpsTMwLFIND1CCAfKXKqTppWrV7ffqKkRGRI/QC55erzU0SjigkC9z30lEy/7CY3dP2g/siHCcgZY06cfHaHvKh/H3zAeLn0ojMyRqa6DgLquOaXQY5zOqiaieFdZFm9dgPyYQZx6qhKPha+spgLK6kJUrErEkA+UmRVnSSdO+XE9qtL6kT3qtl3coKbgqXpKox8mCasLz5f0vpYmohEfkxQzR7Tf4wbd9gpyEd2pFoj8LnRipNgXYQA8pEwkfMXvS4nnXmxzL1uhowfO8atHfa3hGEpbogA8mEIrIGw6sr6PnuNZuTDAFsdIdVFlz3H7MQIrw6YmmIEj2/IhyawGsMEp10xEq8RLqEqlgDykTB1yEdCYAUXRz4KTkDM5r0vaOZBxwSWYzElHWo6D2tycoQeo6mwYxvyEQNcwUXURRb1Yn1bwYmg+UIJIB8J8SMfCYEVXBz5KDgBMZr3Fsr6RxNjVKNIzgSCa91ybp7mAgSCN2zwvz3l5Ely9mnHwcxCAt56RC60WJgcupQbAeQjBWrWfKSAVlAV5KMg8DGbZcQjJigLinHSZEESynSBkQ/7c8TnyP4c0UPzBJCPFIy521UKaAVVQT4KAh+jWaYfxIBUYJHg3cjIV4HJiNk08hETVI7Fwu7qx9qpHBNAU1YSQD5SpoXnfKQEl1M1/612vSYnHXkQi5lz4l+uGW/6Ylg5nlNQjl4+7/uPcapF1nzkwz1LK8hHFnpm6gY/RwdOGMtNG8ygJmoFEUA+KihZdBUCEIAABCAAAQhAAAKVTAD5qOTs0XcIQAACEIAABCAAAQhUEAHko4KSRVchAAEIQAACEIAABCBQyQSQj0rOHn2HAAQgAAEIQAACEIBABRFAPiooWXQVAhCAAAQgAAEIQAAClUwA+ajk7NF3CEAAAhCAAAQgAAEIVBAB5KOCkkVXIQABCEAAAhCAAAQgUMkEkI9Kzh59hwAEIAABCEAAAhCAQAURQD4qKFl0FQIQgAAEIAABCEAAApVMAPmo5OzRdwhAAAIQgAAEIAABCFQQAeSjgpJFVyEAAQhAAAIQgAAEIFDJBJCPSs4efYcABCAAAQhAAAIQgEAFEUA+KihZdBUCEIAABCAAAQhAAAKVTAD5qOTs0XcIQAACEIAABCAAAQhUEAHko4KSRVchAAEIQAACEIAABCBQyQSQj0rOHn2HAAQgAAEIQAACEIBABRFAPiooWXQVAhCAAAQgAAEIQAAClUwA+ajk7NF3CEAAAhCAAAQgAAEIVBAB5KOCkkVXIQABCEAAAhCAAAQgUMkEkI9Kzh59hwAErCcw6+Z7ZPbt8zr1c8rJk+Ts046TiZPPdt978r5Zncqo9+oHDZD758x03ysXa9xhp5TkUT+ov9vOqdMul2deWBRaduYFp8vkow+WY0+ZLq+9+bZ4//YK3/fQUzL9sptkj113bO9XMFCcfhx8wHiZ9/Cf26tOOvIgufSiMxK1G2c7rN9B6CAEIACBbkYA+ehmCWdzIQCB/Ah4J8dzr5sh48eOaW9YScQjTz7ffvKuTtYPnDBWbrn6/PYyF15ygzz17Px2KYkbKygJQXlQ76tYq1avj5QHVcaTj2C/vL+Xkg8/YU9WwvoR9l6SduNsR37ZpiUIQAACEIhDAPmIQ4kyEIAABFIQUFLhXdEvVT14Ej5/0ety0pkXdxh1iBtLp3wMqR/gjpB48uT1SwlJOXmJ048o+YjbLvKRYqekCgQgAIGCCSAfBSeA5iEAga5LIDhtqtSWqhPpV1//jzvSoa7+qxNw/0hIkliqnVIjDnFO2lUf9tlrtCxbuUZGDB3sTolSozHqpf5mUj7ithtnO7ru3sWWQQACEKhMAshHZeaNXkMAAhVAwBMAf1fDph957/vXSix4bE6HLUwaq5x8xFnzoSTgwAn7uGs8VH9U/9QoyDU3/tq4fMRplzUfFfAhoIsQgAAEAgSQD3YJCEAAAjkQCJ4oh03H8oTBW4we1a0ksbKs+VDy4S0CV33xRmOSjDikWfMRt90k/cghxTQBAQhAAAIxCCAfMSBRBAIQgIBOAmr6krrTU3B0I2ytR7l2o2KVG/koN23Km3al5MO7y5YnMklO+rPIR7l2k/SjHEfehwAEIACBfAggH/lwphUIQKCbEVAi8at7H3FHDoIv76Q6eBesKPlIE0unfKj+qzUn3u2Ak5z0Z5GPcu0m6Uc32/3YXAhAAALWEkA+rE0NHYMABCqZgCcSahuCIxxht9ZV5UrJh7r7VZJYuuXDn4skJ/1Z5aNUu0n6Ucn7En2HAAQg0JUIIB9dKZtsCwQgYB2BsAfuRa3pKDftKkmscvIRd8F52MhNkpP+qH5408W8hPkfMuit+QgmM9guC86t293pEAQgAIGyBJCPsogoAAEIQAACEIAABCAAAQjoIIB86KBIDAhAAAIQgAAEIAABCECgLAHkoywiCkAAAhCAAAQgAAEIQAACOgggHzooEgMCEIAABCAAAQhAAAIQKEsA+SiLiAIQgAAEIAABCEAAAhCAgA4CyIcOisSAAAQgAAEIQAACEIAABMoSQD7KIqIABCAAAQhAAAIQgAAEIKCDAPKhgyIxIAABCEAAAhCAAAQgAIGyBJCPsogoAAEIQAACEIAABCAAAQjoIIB86KBIDAhAAAIQgAAEIAABCECgLAHkoywiCkAAAhCAAAQgAAEIQAACOgggHzooEgMCEIAABCAAAQhAAAIQKEsA+SiLiAIQgAAEIAABCEAAAhCAgA4CyIcOisSAAAQgAAEIQAACEIAABMoSQD7KIqIABCAAAQhAAAIQgAAEIKCDAPKhgyIxIAABCEAAAhCAAAQgAIGyBJCPsogoAAEIQAACEIAABCAAAQjoIIB86KBIDAhAAAIQgAAEIAABCECgLAHkoywiCkAAAhCAAAQgAAEIQAACOgggHzooEgMCEIAABCAAAQhAAAIQKEsA+SiLiAIQgAAEIAABCEAAAhCAgA4CyIcOisSAAAQgAAEIQAACEIAABMoSQD7KIqIABCAAAQhAAAIQgAAEIKCDAPKhgyIxIAABCEAAAhCAAAQgAIGyBJCPsogoAAEIQAACEIAABCAAAQjoIIB86KBIDAhAAAIQgAAEIAABCECgLAHkoywiCkAAAhCAAAQgAAEIQAACOgggHzooEgMCEIAABCAAAQhAAAIQKEsA+SiLiAIQgAAEIAABCEAAAhCAgA4CyIcOisSAAAQgAAEIQAACEIAABMoSQD7KIqIABCAAAQhAAAIQgAAEIKCDAPKhgyIxIAABCEAAAhCAAAQgAIGyBJCPsogoAAEIQAACEIAABCAAAQjoIIB86KBIDAhAAAIQgAAEIAABCECgLAHkoywiCkAAAhCAAAQgAAEIQAACOgggHzooEgMCEIAABCAAAQhAAAIQKEsA+SiLiAIQgAAEIAABCEAAAhD3T9QTAAAAH0lEQVSAgA4CyIcOisSAAAQgAAEIQAACEIAABMoS+P8oRpN69uVnuQAAAABJRU5ErkJggg==",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"B\", \"C\"], \n",
" title=\"Reactions: A + B <-> C . Changes in concentrations in the MIDDLE bin\",\n",
" color_discrete_sequence = ['navy', 'cyan', 'red'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "4dbf45ff-5161-4265-a278-aca3121b8e37",
"metadata": {},
"source": [
"A and B overlap on the plot, due to the symmetry of the system. \n",
"Initially, in the middle bin, neither A nor B are present; over time they diffuse there... but then they react and get consumed (producing C), to an equilibrium value.\n",
"C gradually diffuses away."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "146f8c63",
"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
}