{
"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\"\n",
"\n",
"LAST REVISED: June 14, 2024 (using v. 1.0 beta33)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "434f6178-c89b-49ac-879d-ec05f0590fa0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Added 'D:\\Docs\\- MY CODE\\BioSimulations\\life123-Win7' to sys.path\n"
]
}
],
"source": [
"import set_path # Importing this module will add the project's home directory to sys.path"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "8a51735f",
"metadata": {},
"outputs": [],
"source": [
"from experiments.get_notebook_info import get_notebook_basename\n",
"\n",
"from src.life_1D.bio_sim_1d import BioSim1D\n",
"\n",
"import plotly.express as px\n",
"from src.modules.chemicals.chem_data import ChemData as chem\n",
"from src.modules.html_log.html_log import HtmlLog as log\n",
"from src.modules.visualization.graphic_log import GraphicLog"
]
},
{
"cell_type": "code",
"execution_count": 3,
"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": 4,
"id": "8e1ce9d4-e35c-4840-ae65-9c4f9a8f4542",
"metadata": {},
"outputs": [],
"source": [
"# Initialize the system\n",
"chem_data = chem(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": 5,
"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": 6,
"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: {'C', 'A', 'B'}\n"
]
}
],
"source": [
"chem_data.describe_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"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": 8,
"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": 9,
"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": 10,
"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": 11,
"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": 11,
"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": 12,
"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": "iVBORw0KGgoAAAANSUhEUgAAA2kAAAFoCAYAAADNS7MqAAAgAElEQVR4Xu2dCZgdRbmwv5nMviWETVkEwhowLvgjXAUFQcUFyEUF3CMgshhMghJCIEAgkLCEaJRwETDKVQEVA3gVvGhQ4gJ63SKEJcSg7EtIZsmsyfxdfejx5OScmV6quqp73vM8PMpM11dfv1/P4bynqr+uGvRewgsCEIAABCAAAQhAAAIQgAAEnCBQhaQ5UQeSgAAEIAABCEAAAhCAAAQg4BNA0rgQIAABCEAAAhCAAAQgAAEIOEQASXOoGKQCAQhAAAIQgAAEIAABCEAASeMagAAEIAABCEAAAhCAAAQg4BABJM2hYpAKBCAAAQhAAAIQgAAEIAABJI1rAAIQgAAEIAABCEAAAhCAgEMEkDSHikEqEIAABCAAAQhAAAIQgAAEkDSuAQhAAAIQgAAEIAABCEAAAg4RQNIcKgapQAACEIAABCAAAQhAAAIQQNK4BiAAAQhAAAIQgAAEIAABCDhEAElzqBikAgEIQAACEIAABCAAAQhAAEnjGoAABCAAAQhAAAIQgAAEIOAQASTNoWKQCgQgAAEIQAACEIAABCAAASSNawACEIAABCAAAQhAAAIQgIBDBJA0h4pBKhCAAAQgAAEIQAACEIAABJA0rgEIQAACEIAABCAAAQhAAAIOEUDSHCoGqUAAAhCAAAQgAAEIQAACEEDSuAYgAAEIQAACEIAABCAAAQg4RABJc6gYpAIBCEAAAhCAAAQgAAEIQABJ4xqAAAQgAAEIQAACEIAABCDgEAEkzaFikAoEIAABCEAAAhCAAAQgAAEkjWsAAhCAAAQgAAEIQAACEICAQwSQNIeKQSoQgAAEIAABCEAAAhCAAASQNK4BCEAAAhCAAAQgAAEIQAACDhFA0hwqBqlAAAIQgAAEIAABCEAAAhBA0rgGIAABCEAAAhCAAAQgAAEIOEQASXOoGKQCAQhAAAIQgAAEIAABCEAASeMagAAEIAABCEAAAhCAAAQg4BABJM2hYpAKBCAAAQhAAAIQgAAEIAABJI1rAAIQgAAEIAABCEAAAhCAgEMEkDSHikEqEIAABCAAAQhAAAIQgAAEkDSuAQhAAAIQgAAEIAABCEAAAg4RQNIcKgapQAACEIAABCAAAQhAAAIQQNK4BiAAAQhAAAIQgAAEIAABCDhEAElzqBikAgEIQAACEIAABCAAAQhAAEnjGoAABCAAAQhAAAIQgAAEIOAQASTNoWKQCgRGK4Gf/+oPMv2ib8jMsz4un/nY+0crBs4bAhCAAAQgAAEI+AQyL2lHnjBDnn9xnbzljXvJd79+gbWyBh8yyyVgOzeTUL7zg3tlwTe+v9UU115ylrzv3QcZmbrSnCY/4Kvr7HU7jLd6jRmB6UhQE5JmImaAK07sL89dIj/75YPy8P1Lt6J+wOFT/OvrF7cvdKQiIsPlmyTJcu+Vt99wsRywz+5JwjIWAhCAAAQgkCsCmZa00v/YJ/0P/VVLbpV7lj8U64NSkMuUE4+Wr5xx0tBF8vDja+WE0y7WJpEqx6W33SOl84x0VQZiE3XccHHVB0v1KhWyIMcPvOdguXrOGSOlFun3n/ziZfKXv6/eas7gA6XO8ytODEmLVKbIB8eRnpEmMRETSRuJ+vC/D96Hir9QCd4vkr5/J8uM0RCAAAQgAAG3CGRa0oIP5koS1FappB/QTUiaKreOb6SLV4/irhgVx0jKKpClcqsC6pyVnH7r1p9plbRyH/CK/5zUnD/9xe+3kGRdf25Imi6S5eOYECoTMU1Jmlm68aLreN8qnbnS35H6+VvfuLfW94t4Z80oCEAAAhCAgBsEMi1paiUnWK1R/5FXryTbhUxJ2khCM9yloEPOSuMnlbVKq4amL+kg7zBbKYMPmOW+nQ++uS+OE2ybDc6heOtZ6e+CY4oFNYhZbnzws+B63XH7bfzV0OAVCHOQc/DzKDJeOlbFKD734g/cwQpoufNQPwuu19J6lgq5Ok5tNf7aZWf7q8XDnXu5LW7FXxQUC9XfVq3xtwWOxKH0PIp5Vdp+PNLqbpittHFil6uPOr/gGiyVl2Ie93r366nV4+BVPEbxD17lrvVgJb+4llH+fkqvgTBjK70PBLmU+4LIhBCafj8iPgQgAAEIQMAkgcxKWukH9nIfvKOCMyFpcYXGhJyV8og7hw7WUWujjg9Yhrl3J/hAWO5DebHcq7jq34vvGyw3driVtEBqij8klxPzQCqKP6RWEuYoQlpurtIvLYoloVi2yp2Xivd+737C4gYe5eYIflZaj1Kew21xCz70F4vPSFvhyv1NDfezKLKrclVSVHx/a7n846zSDScilSStWOTU/y+uY7EwlYtdbovzSKvRxX+Xw+VbSWZL/66L//6GY8aWxzjviIyBAAQgAIE8E8ispAXf4gcrZ8N9KA9bQB2SVmmusN9AF3/zHeXDZdhzLHdc8QeuMHkOt0qVJI8wY0tXrIIx5VYRhvvgGhw/0gfH4P7CSpI2nEwpWSkWslI5VLlXWl0YbtWhlFO5uOoYxSrIv9IH7rAfjgNOxddH6d9gkFcpk0pzq5jqpRrMVKpDOQ6V5i09lzgiVekaLN2OFyd2HEkrfQ+odL2V+3ml60Ll8ee/PzHirgPdq1vDCWLY6zDMewTHQAACEIAABPJAIJOSVukDbJRtheW2AVUqaJj7t4ZbMYvStCOupJVu/VLnEka41HFZkrSgRpXqV3zO5T5Iq2tEvYKVkuI4w/GqJGkjffAuvs+m0ofmqD8vvU6D7ZjDXadRJS3Mtr9KslT69xl8AB9uBTSKpFXiVRojjkgFbMv9PRWvtsaJPdK1Utw9tFL8sD8f6csHtd220v2kAQMkLQ//ieccIAABCEAgqwQyKWmVVlOCIsRdgdKxklbpg3IUgSwVp7jnM9JFGXe7Y3HDFlNt9kfKvfT3gRiUikCxSJRbDVJxKgnfSNsC1dhK928F+RV/sI8qY5WOL8em3H1zI22HU3HKrWCU69pZSXjVPVGl94GW+xKl3N9smK1wpbGGW2Es/aIkiUiVbpMd7p6xsM91S1PSwmxHHKmbItsdo74LcTwEIAABCEBAH4FMStpw9weV3g8TBZVJSYu7RTCuSA133lltHDJSLcuJcLGY/fxXfwy1zSvgUyxYw62khdk6pnI3KWnFbIqlMxDNsCtplbbTRZG0MHIU1Cr4AsKVlbRKNcqapFX6QmKkv6Hi3+teSaNxSBT6HAsBCEAAAqOdQOYkbaRGHHFlKFhV0P2ctOACi7qSVnph6pC1pHJWnFOwcjPct/GqFjqfk6Yk+oNHHlLxobcjtfdWHQPL3eOjVt9KVwRLt/KVbpMMWERp8GFC0io9dqB0hSyspFW6NyiKpJWbu/Q6KP3AHkXSwt6TFswRdiV6OIkovbaixi5etSy3zTCsBIbd7jjclwJh/6MX1HGkbZFh46njRvob1fl+ESUvjoUABCAAAQi4RiBzkjaShI0kccMVwNRKWpBz2A+LI+WYp4dZV3o4dTkGw93bNFycQKTK3RNV7n7Bck1ohmtsUK67Y/ChXP1v0LzDlKSVe1h6pe6OpR+4KzXbKNceX51L8TU83Mpl8fhyfEo7hEaRtODYctslS7cbR32+XblHeQRfSBSvrA4nHJX+fodbYTQhaZXuhVXX99kXfG3ExiFhVkSj/gdtuE6fI22/jDoXx0MAAhCAAASyTCBzkhZmO2PcZ6bpkLRKF0NeP4BE6bZYjk0USVPjgw+OpbFKP0AX/36kTonlzqHcvYWl958N95y0YP7iupuQtEpMSnmEXUkrF0/F+uzH3u8/ML5U0tQ9acXP6ioVuYBDuXvmitlEkbQg5nDPSQuOKb3fcKTnpAXyVfr8MSU1xY091HFxYpdea2Gek1Z8z1uUlbRyOQZcwjRDUsdWyjfJf/TK/Q3n9f0xCSfGQgACEIDA6CaQOUkb3eXi7OMQ0H1vTZwc8jim0rbDPJ4r5wQBCEAAAhCAAATSJICkpUmbuVInoOP5eaknnZEJkbSMFIo0IQABCEAAAhDIHAEkLXMlI+EoBEa6hzFKLI7dkgCSxhUBAQhAAAIQgAAEzBBA0sxwJSoEIAABCEAAAhCAAAQgAIFYBJC0WNgYBAEIQAACEIAABCAAAQhAwAwBJM0MV6JCAAIQgAAEIAABCEAAAhCIRQBJi4WNQRCAAAQgAAEIQAACEIAABMwQQNLMcCUqBCAAAQhAAAIQgAAEIACBWASQtFjYGAQBCEAAAhCAAAQgAAEIQMAMASTNDFeiQgACEIAABCAAAQhAAAIQiEUASYuFjUEQgAAEIAABCEAAAhCAAATMEEDSzHAlKgQgAAEIQAACEIAABCAAgVgEkLRY2BgEAQhAAAIQgAAEIAABCEDADAEkzQxXokIAAhCAAAQgAAEIQAACEIhFAEmLhY1BEIAABCAAAQhAAAIQgAAEzBBA0sxwJSoEIAABCEAAAhCAAAQgAIFYBJC0WNgYBAEIQAACEIAABCAAAQhAwAwBJM0MV6JCAAIQgAAEIAABCEAAAhCIRQBJi4WNQRCAAAQgAAEIQAACEIAABMwQQNLMcCUqBCAAAQhAAAIQgAAEIACBWASQtFjYGAQBCEAAAhCAAAQgAAEIQMAMASTNDFeiQgACEIAABCAAAQhAAAIQiEUASYuFjUEQgAAEIAABCEAAAhCAAATMEEDSzHAlKgQgAAEIQAACEIAABCAAgVgEkLRY2BgEAQhAAAIQgAAEIAABCEDADAEkzQxXokIAAhCAAAQgAAEIQAACEIhFAEmLhY1BEIAABCAAAQhAAAIQgAAEzBBA0sxwJSoEIAABCEAAAhCAAAQgAIFYBJC0WNgYBAEIQAACEIAABCAAAQhAwAwBJM0MV6JCAAIQgAAEIAABCEAAAhCIRQBJi4WNQRCAAAQgAAEIQAACEIAABMwQQNLMcCUqBCAAAQhAAAIQgAAEIACBWASQtFjYGAQBCEAAAhCAAAQgAAEIQMAMASTNDFeiQgACEIAABCAAAQhAAAIQiEUASYuFjUEQgAAEIAABCEAAAhCAAATMEEDSzHAlKgQgAAEIQAACEIAABCAAgVgEkLRY2BgEAQhAAAIQgAAEIAABCEDADAEkzQxXokIAAhCAAAQgAAEIQAACEIhFAEmLhY1BEIAABCAAAQhAAAIQgAAEzBBA0sxwJSoEIAABCEAAAhCAAAQgAIFYBJC0WNgYBAEIQAACEIAABCAAAQhAwAwBJM0MV6JCAAIQgAAEIAABCEAAAhCIRQBJi4WNQRCAAAQgAAEIQAACEIAABMwQQNLMcCUqBCAAAQhAAAIQgAAEIACBWASQtFjYGAQBCEAAAhCAAAQgAAEIQMAMASTNDFeiQgACEIAABCAAAQhAAAIQiEUASYuFjUEQgAAEIAABCEAAAhCAAATMEEDSzHAlKgQgAAEIQAACEIAABCAAgVgEkLRY2BgEAQhAAAIQgAAEIAABCEDADAEkzQxXokIAAhCAAAQgAAEIQAACEIhFAEmLhW3LQc++0q0hCiFsE2ioGyNN9WNkXUef7VSYXwOBMdVVst3Yennh1R4N0QjhAoGdtm0U3m9dqISeHLb3/j7Xd/VL/8BmPQGJYpXAuJY66evfJBt7N1nNg8n1EVDvubzsEUDSNLDnQ4MGiA6EQNIcKILGFJA0jTAdCYWkOVIITWkgaZpAOhIGSXOkEBrTQNI0wowRCkmLAa10CJKmAaIDIZA0B4qgMQUkTSNMR0IhaY4UQlMaSJomkI6EQdIcKYTGNJA0jTBjhELSYkBD0jRAczAEkuZgURKkhKQlgOfoUCTN0cLETAtJiwnO0WFImqOFSZAWkpYAnoaho17STp6xQB7806otUD58/9It/v24KbNl9dpn/J/ttfvOcufSeVv8npU0DVeiAyGQNAeKoDEFJE0jTEdCIWmOFEJTGkiaJpCOhEHSHCmExjSQNI0wY4Qa9ZJ22OSp8sCyxUPoZl1+g6x4aOXQz5TEvbKufUjMlLBtO75Nbl44c2gMkhbjynNwCJLmYFESpISkJYDn6FAkzdHCxEwLSYsJztFhSJqjhUmQFpKWAJ6GoaNe0koZrly1Rk46Y67cumSOTJo4QZTEnXP6iTL56EP9Q5fds0Kuuf62LcQOSdNwJToQAklzoAgaU0DSNMJ0JBSS5kghNKWBpGkC6UgYJM2RQmhMA0nTCDNGKCStBNrim+6Q2+9e7ktYqbCpQ8v9DEmLceU5OARJc7AoCVJC0hLAc3QokuZoYWKmhaTFBOfoMCTN0cIkSCtNSSu3Uy1B6qkOLecGOhJA0oooBpDnnXeqv3IWStLuuUc6DzxYBltadNSDGBYJ1IypltqaKunmGS8Wq6Bv6qqqKmlqGCNd3QP6ghLJKoHWplrp2NhvNQcm10egqaFGevo2yebNg/qCEskaAfVF5yavljz3zloJ9E28qUdqXvqFNE6YrC1muR4Q48e1Du1MsyFpanfc7Pk3SvC5P+7JImlxyYUcFwA+/dPHytRTjvdHhZI074Ng/0mfkJ6bloacicNcJYCkuVqZeHkhafG4uTwKSXO5OtFzQ9KiM3N5BJLmcnWi5Vb/t2lSt+Y6kU/o+QLlgMOnSLGQBdkocdtxu23kivNPExuSFo1K5aORNF0ky8QJTDq4D634kHL3pCnrHuoAufPOIs89JxsWXCtdJ59mMEtCmybAdkfThNONz3bHdHmnMRvbHdOgnN4cbHdMj3UaM7HdMQ3K5udoeuYWGfvIdBmsrpXqE9YnnlCJ2BNrnt6il0O5oIGkqd8FXdcriV1xV/biz+7qM/uhb5/kNwBct77Dn0Ytvuy68w7+ilnwCsaUk6vSFb9g8Wa4bvBIWuLLpHyAco1Aio8csbvjPK8d/wUXyMB+E31R633nuwxlSljTBJA004TTjY+kpcs7jdmQtDQopzcHkpYe6zRmQtLSoGx2jroNf/QEbZrUtv9JOibMlNZD5ieeUK2iHfu+d/irZcO9gsddFe9oU9K194Rdhjqql34mV30krr/lrqGFE3W8krNAwoLfl26rVHmox2mVylWpUKrfX/vNH/jzq99N//zH/KaC6qXyrRQnMbTXAozqe9KC4pSDWbw/ddjnpK1fL92nni6NP7pNuo873he1zdttr6s+xEmRAJKWIuwUpkLSUoCc8hRIWsrADU+HpBkGnHJ4JC1l4Jqnq9rU6a+gNT37XenZ4VjZsP8i2XGnPRLNUtrrYSRJK33ElXos1iOPP1VWqIJYSsxOOOYI/1alYCUtEMJyK1zFj9oq/r2Kp7q7h70/baRGg4nAIWk68BVivPyz5TL2XO+bh7//TTrOne3/wyt7BJC07NVsuIyRtHzVU50NkpavmiJp+aonkpbterb84xppe/xCGWjexxM0b2fY+CP899wkL52SFtyaVC6fYPWtkqQVi1cluXryqWf9LZFDtzOVmShYqSv+lTqe7Y5JrhLDY1UL/qZblsrYmdNksLXNX03rnvwRw7MSXjcBJE03UbvxkDS7/E3MjqSZoGovJpJmj72JmZE0E1TTidnw0k9l7KrpMqb7X7Jh4jXS9YYz/ImTSpqKEWW743AraYGkjSRR6p600pU0HZKmzuPgAycObb0s3mqJpKVzncaaJXhOWtuFM6VlyWLpe8dhst4TtYGJ+8eKxyA7BJA0O9xNzYqkmSJrLy6SZo+9iZmRNBNU7cVE0uyxTzJzzcY1vqDVv/y/0rXrqZ6kXStSNUabpI3UOERtP6zU3bHcdsfhtiMmWUlTJ1xpu2M5QUTSklx1KY4NJK1mrXehe9se6395n3R97vP+ippUV6eYCVMlIYCkJaHn3lgkzb2aJM0ISUtK0K3xSJpb9UiaDZKWlKCd8W2PnScta78mfdsc6gtaf+sBQ4noWElTwcq14A/EJ2gqUq4Ff7GkqThBh8Xi1TR1zMEH7u8/3ziJpKmGICqHdevbhzpRBo1DVMOQUoFT56RebHe0c92GnjWQNDWg4Z7/8bY9ekvGzzwtG+YvlC6vqQivbBBA0rJRp7BZImlhSWXnOCQtO7UKkymSFoZSdo5B0rJTqyDTpqe9W3VWzZDBmmbZsJ93q87rP7rFSeiStGLBKp6gtEnfcNsdg3HDtcJPKmlqjuJmgerfgxyVDN71898Opa/ugws6S7Ld0eFrv1jSVJotX71a2i6dIwN77ysbrvRuvjzscIezJ7WAAJKWr2sBSctXPdXZIGn5qimSlq96ImnZqmfd+gf9bY617X+Rjj3Pl469LtjqBHRKWrbouJHtqG7Br6sEpZJW1dkh486dLo23f096PnycrL9ykWzeYUdd0xHHEAEkzRBYS2GRNEvgDU6LpBmEayE0kmYBusEpkTSDcDWHrh5o9wWt8dnvS/fr/tPb5uh9Tq3b+vFRSJpm8BHDIWkRgZU7vFTS1DF1//eHQlv+v/5ZOs45TzpmzdEwEyFMEkDSTNJNPzaSlj5z0zMiaaYJpxsfSUuXt+nZkDTThPXFb/nHVV67/YtkoGViod3+Nu8qGxxJ08c8TiQkLQ61kjHlJE0d0vS973iiNl0GGxsKbfmPP0HDbIQwRQBJM0XWTlwkzQ53k7MiaSbpph8bSUufuckZkTSTdPXFbnjxJ95Dq6fJmN5n/QdWd+16WsXgSJo+7nEiIWlxqIWUNHVY20XnS8s3FknfIe/wRa3/gEkaZiSECQJImgmq9mIiafbYm5oZSTNF1k5cJM0Od1OzImmmyOqLW7NxtSdoXrv9V37hPQvtC4V2+8O8kDR97ONEQtLiUIsgaWP++ZS/7bHhvntl42dO9kVtsLZWw6yE0E0ASdNN1G48JM0ufxOzI2kmqNqLiaTZY29iZiTNBFW9Mcc++hVpfuob0jv+3Z6gLfS3OyJpehnrjIakaaBZabtjEFoJmhI1JWwb5l0lXV84S8OshNBNAEnTTdRuPCTNLn8TsyNpJqjai4mk2WNvYmYkzQRVfTGbnr7ZbxYyWLONv4KmGoaM9GIlbSRCZn+PpGngO5KkqSlavn6ttF08Wwb23NtbTVsovYcfqWFmQugkgKTppGk/FpJmvwa6M0DSdBO1Gw9Js8tf9+xImm6i+uLVvfrbQrv9jpVeu/0LvHb754cKjqSFwmTsICRNA9owklbVvdFvItL0/Vuk54PH+NseN71+Jw2zE0IXASRNF0k34iBpbtRBZxZImk6a9mMhafZroDMDJE0nTX2xqvteLbTbf/52/2HVG/ZT7fbHh5oASQuFydhBSJoGtGEkTU1T+5c/+dse6/70R+mcfq60z75Yw+yE0EUASdNF0o04SJobddCZBZKmk6b9WEia/RrozABJ00lTX6zWJ+dL6+q50t96gN/NsW/cO0MHR9JCozJyIJKmAWtYSVNTNd323UJb/jHVssF7yHX3R0/SkAEhdBBA0nRQdCcGkuZOLXRlgqTpIulGHCTNjTroygJJ00VSX5yGF+70V9HG9L1UaLe/yymRgo8GSTvg8Cmy1+47y51L50Vik8bBSJoGylEkTU3XNvdCafnaNdJ30MG+qPVPerOGLAiRlACSlpSgW+ORNLfqoSMbJE0HRXdiIGnu1EJHJkiaDor6YtR0PeYJ2gyv3f5y6drtTG+b49WRg+dd0hbfdIfc98D/ybr17XLdFdNl0sQJkRmZHICkaaAbVdLGPPN0oS3/vT+VjZ+a4oma15a/rl5DJoRIQgBJS0LPvbFImns1SZoRkpaUoFvjkTS36pE0GyQtKUG948c+eo7Xbn+J9G77nkK7/eZ9Ik+Qd0k7bspsOeqwt8mfH35CdtxuG7ni/MoP9o4MT8MAJE0DxKiSpqas/+V9vqjVrF0j7ZcukM4zpmrIhBBJCCBpSei5NxZJc68mSTNC0pISdGs8kuZWPZJmg6QlJahvfPO/bvQeWj1NNtXv6Lfb79nx2FjBtUra/ffHyiHxoMMPLxti5ao1ctIZc+XWJXPkyaeelWuuv00eWLY48XQ6AyBpGmjGkTQ1bcuSxdJ24UwZ2H2Cv+2x9z1HaciGEHEJIGlxybk5Dklzsy5JskLSktBzbyyS5l5NkmSEpCWhp29s3asrZJwnaDWdj3it9i/yWu7PjB1cq6RVVcXOI9HAwcGyw4OtjsG9aOreNCVsLm15RNISVb4wOK6kVfX1Ftry//dS6Xn/Bwtt+XfZVUNGhIhDAEmLQ83dMUiau7WJmxmSFpecm+OQNDfrEjcrJC0uOX3jqvte8e5Dm+a12/+R127/RG8VzWu3Xzs29gRaJe2II2LnkWjg8uVlhwdbHaeecrz/+5NnLHBuyyOSlqjyySRNja5d+ddCW/4/PCidZ58j7XMu1ZARIeIQQNLiUHN3DJLmbm3iZoakxSXn5jgkzc26xM0KSYtLTt+41tXzpPXJeV67/Te91m7/kETBtUpaokz0Dg62OpZGHT+u1aktj0iahrrHXUkLpm784a2+qFVtHvRW0xbKxhM/qSErQkQlgKRFJeb28Uia2/WJkx2SFoeau2OQNHdrEyczJC0ONX1jGp+/w2+3XzWwwV9B27jLlMTB8ypppVsdA1Bqy+O8806VyUcfmpidjgBImgaKSSVNpdA272JpufZK6XvbQf62x/63HKghM0JEIYCkRaHl/rFImvs1ipohkhaVmNvHI2lu1ydqdkhaVGL6jq/pXOULWv26X0vn7lOlfd8FWoLnVdIOmzxVTjjmCAm2Ogaw1JZH9bp5Yfz7+LSAfy0IkqaBpg5JG/P8c4W2/D+9WzZ+4jP+itpgY5OG7AgRlgCSFpZUNo5D0rJRpyhZImlRaLl/LJLmfo2iZIikRaGl91jVybH5XzdI73ZH+d0cB5r21DJBXiVNC5wUgiBpGiDrkDSVRv2vfuk3Eql58glpv+Ry6TxrmobsCBGWAJIWllQ2jkPSslGnKFkiaVFouX8skuZ+jaJkiKRFoaXv2OZ//pe/irapYZdCu/0dPqQtOJKmDWWsQEhaLGxbDtIlaR24vqwAACAASURBVCpq8399Q8bO/opsesNuflv+nqPeryFDQoQhgKSFoZSdY5C07NQqbKZIWlhS2TgOSctGncJmiaSFJaXvuPp1v/IEbYbXbn+VtO89VzonfFlfcC8SkqYVZ+RgSFpkZFsP0ClpMjAg47xtj03fuVl63nt0oS2/J2y8zBNA0swzTnMGJC1N2unMhaSlwzmtWZC0tEinMw+Slg7nYJbqvhf9FbTG538s3Tt9QtZ7q2iDNa1ak0DStOKMHAxJi4zMsKR54Wsf/ruMnem15f/9b6Xzi9Ol/eJ5GrIkxEgEkLSRCGXr90hatuoVJlskLQyl7ByDpGWnVmEyRdLCUNJ3TOuTl0nr6sulv+2thXb7Yw/SF/y1SEiadqSRAiJpkXCVP1jrStprUzT++AeFtvw9vd62x2tl48c/rSFTQgxHAEnL1/WBpOWrnupskLR81RRJy1c9kbT06tn43A/9h1ZXber2BM37jLjzZ4xMjqQZwRo6qBVJU60v163vKJvkw/cvDZ28KweakDR1bq3zL5XWq6/w2/Gr+9P6Dvx/rpxyLvNA0vJVViQtX/VE0vJXTyQtXzVF0tKpZ23Hw6K6Odat/43Xbn+a127/cmMTI2nG0IYKnLqkHTdltmw7vs2ZZxCEojTCQaYkrfqlF/370xruXuY/4FqtqA02t+hImRhlCCBp+boskLR81RNJy189kbR81RRJS6Geg5t8QWt++ibp2e79fjfHTU27G5sYSTOGNlTg1CXNtad5B5RWrlojJ50xV25dMkcmTZwwBG/ZPStk9vwbt4JZvOJnStLUpPUrvM49qi3/449K+5xLpfPsc0IVloOiE0DSojNzeQSS5nJ14uXGdsd43FwdhaS5Wpl4eSFp8bhFGdX81HUy9tEvy6ZGrwO4are//dFRhkc+FkmLjEzrACTNw1m8/bKcpF1z/W3ywLLFFcGblDQ1afNN3jMwZnrPwNhlV7/bY8/7P6j1IiBYgQCSlq8rAUnLVz3V2SBp+aopkpaveiJpZutZv265t4rmfWnf9bi07zNPOveYbnbC195zjU/CBBUJpC5parvjUYe9TaaecrxTZRluJc22pMngoN9EpPlb35TeI9/ri9rA7v9e7XMKZIaTQdIyXLwyqSNp+aonkpa/eiJp+aopkmaunmN6n/e3OTa8eJfXJOTTfrOQweomcxO+FjmvK2nBZ/5SgPPOO1UmH32oca5hJ0hd0tT2wZGkJ2zyOo+Lst2xtLmJ6ZU0dZ41j67y70+r++0D0nnm2dI+d77O0yeWRwBJy9dlgKTlq55IWv7qiaTlq6ZImrl6tj5xibSuWeC12f9/frv9/rYDzU1WFDnvkla8e27W5TfIiodWDrtzLhXoRZOkLmnqnrThXra6O1aStNJcT56xQF5Z1y53LrXw7LIf/EDkrLNEOrzOmF//usgpp6R9vTAfBCAAAQhAAAIQgEBaBNZ+T+SPXxTZ3C9y0DdE9jDTbj+t03FhnnKf+YMeFLY8pByX1CXNheKUyyGspAXHpdU4pDTX1ivnifqn/01v8bc99h10sKtIM5cXK2mZK9mwCbOSlq96qrPhnrR81ZSVtHzVk5U0/fWs7fib9zy06VL36u+8e9DO8e5Fu1T/JMNE1LqS9sL9qeY+NNmOh281b7nP/GoRRr1uXjjTTp5lZkXSXoMSVtLKmXYa2x2D2lW/8orXRGSaNC77kXR/7OO+qG1ua3PmgspyIkhalqu3de5IWr7qiaTlr55IWr5qiqTprWfV5j5f0Jqe/pbXxfGDhXb7jbvqnWSEaFol7XtVqeY+NNknBitKWukvTv/0sU71zLAiaeXa2tu+Wa+SpKnOj8WdHcs95y1NSVMXVN3vVvj3p9WsekTaL7hEOqd9xc6Fn7NZkbR8FRRJy1c9kbT81RNJy1dNkTS99Wx+6uteu/1zZaBpgmzY71rp3f69eicIEU2rpP3iiBAzGjjkyOUVJa34njS2O3qYFt90h1x/y11bPI8sECRbBlvcgl9Vcvy41iExU1K2eu0zQwU++MCJWy2Fpi1pKpnmpTf6HR837fg67yHXi6TnAx82cGWPrpBIWr7qjaTlq55IWv7qiaTlq6ZImr561r98X6HdfveT3hbH+d5Wx7P1BY8QSaukRZjX9KGVFmZU34zSR3GZzmW4+KmvpCkhOuGYI7ZaTlTydvvdy53qqhK2MDYkTeU2dtY50vzNJdJ7+JGeqHlt+SfsFTZljitDAEnL12WBpOWrnkha/uqJpOWrpkiannqO6XnG3+bY8OJPZOMuUwrt9qvq9QSPGGU0SVqwiDSqG4coSy23tdHFZcaw17ItSat54jFvNW261D9wv3R94SzZMO+qsClzHJKW+2sASctfiWkckq+aImn5qieSpqeebU9cJC1rrpK+cQcX2u23vllP4BhR8i5ppUhcEjSVGytpMS7a0iG2JE3l0fCTO/3706peXec3Edn4mZM1nNHoDMFKWr7qjqTlq56spOWvnkhavmqKpCWvZ+Nz35dx3jZH1epCCVr3609KHjRBhLxKWgIkqQ5NXdJcvCctKXGbkqZyb71mvrReMVf6D5hUaMt/yDuSntKoHI+k5avsSFq+6omk5a+eSFq+aoqkJatnbcdfvPvQpknd+oekc8K50r73xckCahiNpGmAmCBE6pKmcnWxu2MChmJb0qrXr/ebiDTecbt0H39CoS3/NtskOaVRORZJy1fZkbR81RNJy189kbR81RRJi1/Pqs09fqOQpme+LT07HFNot9+wU/yAmkYiaZpAxgxjRdJi5ursMNuSpsDUPfg7X9RqH14pHbPmSMc55znLy9XEkDRXKxMvLyQtHjeXR3FPmsvViZ4bkhadmcsjkLT41WlZ+1Vpe2yWDDTv7bXbXyi92x0ZP5jGkUiaRpgxQiFpMaCVDnFB0lROTbd8yxe1zeO39VfTej58nIazGz0hkLR81RpJy1c91dkgafmqKZKWr3oiafHqWf/Sz2Wc181xTPc/PEG7Srp2OyteIAOjkDQDUCOETE3SVFdH9Rw09Yy04V6udVYJw9IVSVO5jr3gXGm+/uvS+64jPFFbKAN77xvmFDjGI4Ck5esyQNLyVU8kLX/1RNLyVVMkLXo9x3T/s9Bu/6Wfee32T5b1XrMQqaqJHsjQCCTNENiQYVOTtJD5ZPIwlyStZs3qQlv++38hXZ8/QzZccU0mmdpIGkmzQd3cnEiaOba2IrOSZou8mXmRNDNcbUVF0qKTb3v8Amn5x0Lp2+Yd3n1oqt3+G6MHMTgCSTMIN0To1CWt0nPSeJh1iGqFPKThZz+RsTO9pfPnn/Mecr1IuqacGnLk6D4MSctX/ZG0fNWTlbT81RNJy1dNkbRo9Wx69r+9VbQZ3oOqawvt9l/3sWgBUjgaSUsB8jBTOCNpPMxa74XQsugqabvsIhmYuL+s90St7z8O1TtBDqMhafkqKpKWr3oiafmrJ5KWr5oiaeHrWbvh//xtjnUb/igde86Sjr0uDD84xSORtBRhl5nKGUmbdfkNsuKhlfLAssV2icSY3aXtjkH6VR3t3kOup0vjD74v3ZM/4t2ftkg2b7ttjLMbPUOQtHzVGknLVz2RtPzVE0nLV02RtHD1rNrU5a+gNT1zi/TsOFnWe+32N9fvGG5wykchaSkDL5kuFUkr91y0cqc977xTZfLR2VvxcVHSFN+6Pz5UaMv/t79Ix7mz/X94VSaApOXr6kDS8lVPJC1/9UTS8lVTJC1cPVvWXuu1258tAy37+c9D6x3/7nADLRw1GiRN3YZV+nKliWEqklZ88pXuSbNw7Wmb0lVJUyfY9N1v+41EBltb/bb83ccdr+288xYISctXRZG0fNUTSctfPZG0fNUUSRu5ng0v3+M9tHqa127/n56gLZSuN5w+8iCLR+RZ0oIFJNV5fuop//5srHb2qdcV559mkXxh6tQlzfoZG0jAZUlTp9s2Z5a0XPdV6X3nu3xRG9hvogEK2Q+JpGW/hsVngKTlq55IWv7qiaTlq6ZI2vD1HNO91nse2jRRz0Xr2vXzfrMQ72O40xdBniXtsMlT5YRjjthC0FwrBpKmoSKuS9qYp/4h47xuj/X3eW8MJ5/mi5pUuf3GoKEskUMgaZGROT0ASXO6PLGSowV/LGzODkLSnC1NrMSQtOGxtT3qfWH+1Fe9dvuH+c9DG2hx/wtznZJ2/9r7Y11XSQcdvvvhW4VYuWqNnHTGXLl1yRyZNHFC0imMjU9d0gIwlc7IlX2gUYi7LmnqXBp+/rNCW/5/eUvsnqR1nfKFKKc4Ko5F0vJVZiQtX/VUZ4Ok5aumSFq+6omkVa5n09PerSeq3f6Y5tfa7Wfj1hOdklZ1iZ3FgcGLBrcqTFY6yqcuaWp58dC3T5KDD9xfrrn+tqFujsdNmS1HHfY2p5cdK/35ZUHSVO4tixdK2yUXyMC+Ez1RWyi9h7p7s6qN/3QhaTaom5sTSTPH1lZkJM0WeTPzImlmuNqKiqSVJ1+33mvi5rXbr23/s9du32vitld2mrjplLQjvn2ElUtz+WeXs5IWlnzQOGTP3XaSM2ddOyRpymqLpS1sPBeOy4qkVW302r56TUSabv1v6T72P/0Vtc3b7+ACQidyQNKcKIO2JJA0bSidCYSkOVMKLYkgaVowOhMESdu6FFUD3uOQvBW0xme/5z2s2nsckmq3X7edMzUbKRGdkjbSXGn/Plg0cqFBSKVzT30lrbi7o/r/wfbGrCw9lgOZFUlTudf++f+856d5bfm9/+34yvnSMfOCtP8unJ0PSXO2NLESQ9JiYXN6EJLmdHkiJ4ekRUbm9AAkbevytPzjaml7fI4MtO4v6/e7VvrGH+Z0DUuTy7OkVeruuPimO+TZF14end0d1bbG/ffZzT/54v/Pw6zT+7tVK2l+W/6Gev8h193/+dH0Jnd4JiTN4eLESA1JiwHN8SFImuMFipgekhYRmOOHI2lbFqjhxf/xtzmO6X3Wvw+ta5dTHa/g1unlWdLU2ZbrkzF+XOvQLj/bBUt9Ja30hIsfIud6l5VKxcrSSlpwDureNHWPWt8h75QNVy6S/v0PsH0tWp8fSbNeAq0JIGlacToRDElzogzakkDStKF0IhCS9u8y1Gx80he0+pfvk67dzpAN+13jRI2iJpF3SYvKI+3jrUta2idsYr4sSprq8qi6Paquj12fPcUXNRkzxgSezMRE0jJTqlCJImmhMGXqICQtU+UaMVkkbUREmToASft3udoemyktaxdL7/jDvVU07/m0zftmqpZBskia3bKlLmnF96TZPXV9s2dR0tTZq+emqeenqeeobbj8auk67Ux9UDIYCUnLYNGGSRlJy1c91dkgafmqKZKWr3oiaYV6Nj291FtFmyaDNdv4z0Pr2fG4zBYaSbNbOiRNA/+sSpo69Zbrviptc2bJwF77FNryv/s9GohkMwSSls26VcoaSctXPZG0/NUTSctXTZE0kbr1v5exj3jN2Tr+5rXan+O13D8v00VG0uyWL3VJy/Lz0CqVKsuSVtXbU2jL/91vS8+HjvXb8m963evtXpWWZkfSLIE3NC2SZgisxbCspFmEb2BqJM0AVIshR7ukVQ9s8AWt8bnbvHb7J/jNQjbXjrNYkeRTI2nJGSaJkLqkqU4qxc9HS5K8K2OzLGmKYe3f/uKJ2jSp++ND0jFjpnScf5EraFPNA0lLFbfxyZA044hTnwBJSx250QmRNKN4Uw8+2iWt9ckF0rr6EulvneQ9D22R9G3zH6nXQPeESJpuotHipS5pxd0cy6UaPDct2mnYPTrrkqboNf7g+97z07y2/GOq/dW07o+caBeqhdmRNAvQDU6JpBmEayk0kmYJvKFpkTRDYC2FHc2S1vDCXX43x+r+l/0VtI07f85SFfROi6Tp5Rk1WuqSFjXBLByfB0lTnNsuu0haFl0lfQf/hy9q/W98Uxbwa8sRSdOG0olASJoTZdCaBJKmFaf1YEia9RJoTWC0SlpN1+OeoM2Q+ld+KV27f1E27HulVq42gyFpNumLpC5plbo7qid83373cmceIBelLHmRtDHPPlNoy/+zn8jGT3/OF7XBurooKDJ9LJKW6fJtlTySlq96qrNB0vJVUyQtX/UcrZI29tEvS/NT10nvtkcW2u037ZWbwiJpdkvpjKQtu2eFzJ5/o7Dd0e4FUb/8Pk/UZkjNmtWy4bIrpev0L9pNKMXZkbQUYacwFZKWAuSUp0DSUgZueDokzTDglMOPRklrfvomf5vjptod/G2OPTt8OGXqZqdD0szyHSm6M5I26/IbZMVDK62tpKmGJiedMVduXTJHJk2csAU31ZFy9dpn/J/ttfvOcufSeVv8Pi8racFJNV//dRl7wbkysMee3kOur5XeI44a6TrKxe+RtFyUcegkkLR81ZOVtPzVE0nLV01Hm6TVvfobX9BqO/4u7XtfIp0TvpKvgnpng6TZLWkqkhasko10qvPOO1UmH33oSIdp//1hk6fKuvUdftxSSTt5xgJ5ZV37kJgpYdt2fJvcvHDmUB55k7Sq/n6/22PTLd+SnqM/5InaItm0087aubsWEElzrSLJ8kHSkvFzcTQraS5WJX5OSFp8di6OHE2SVt23zhe0xud/IN2v/7jXzfFar91+m4tlSZQTkpYIX+LBqUhacZaV7klLfCYJA1RaSVMCd87pJw7JoxLOa66/bYsVv7xJmkJZ+/DKQlv+B38nnV/6srRfODchYfeHI2nu1yhKhkhaFFrZOBZJy0adwmaJpIUllY3jRpOktT55hddu/1Lpb3uLv82xb+zbs1GkiFkiaRGBaT48dUnTnL+2cOUkLezP8ihpCmzjHbf7ola1abOsX7BQuk/4hDbeLgZC0lysSvyckLT47FwdiaS5Wpl4eSFp8bi5Omq0SFrDC8tknPfQ6qqBdr9RyMadP+tqSRLnhaQlRpgoAJL2Gr6wQlbuuI6N/YmK4PLg+rkXS92Cy2XT2w+W3oVflU1vPdDldBPlVuM9I662pkq6ezclisNgNwhUVVVJU8MY6eoecCMhskhMoLWpVvL8fpsYUMYCNDXUSE/fJtm8eTBjmZNuOQLqi85NXi37BzbnFlB156PS8JezZczL90vfXtOl940Lcnuu6sTUey4vewSsSFrxPWClp26ruyOSVv4irHr+OWmY8SWpuXOZ9H9mivR4oiaNjfauWIMzI2kG4VoIjaRZgG54SiTNMOCUwyNpKQM3PN1okLSGv31JatcskYEdj5beN31VNjfvYZiq3fBIml3+qUtaucYbdhEUZo9yT1rpowLyut0xqEv9r5cX2vI/8Zi0z71COs/8kgsl054D2x21I7UakO2OVvEbmZztjkawWgvKdkdr6I1MnPftjs3/vKHQbr9xV79RSM/2HzDC0aWgbHe0W43UJS1rjUNGY3fHcpdk8zeXyNhZ58im3fbw7k/z2vIf9T67V66B2ZE0A1AthkTSLMI3NDWSZgispbBImiXwhqbNs6TVr/u1L2g1naukfZ/LpHOPGYYouhUWSbNbDyTN41+6/XL8uNYtujeOtueklb0kN2/2m4g0L71Ret73AdngidqmXd9g9+rVPDuSphmo5XBImuUCGJgeSTMA1WJIJM0ifANT51XSqvteeq3d/h2ycadPeatoC2WwpsUAQfdCIml2a5K6pCnhOeqwt8nUU463e+YaZ8/7dscAVc2qR2Scasv/uxXSOXWGtF90mUaK9kMhafZroDMDJE0nTTdiIWlu1EFXFkiaLpJuxMmrpLU+Oc9rtz9P+se+TdZ77fb7297mBvAUskDSUoA8zBSpS1q554zZRZB89tEiaYpU47Ifefenea1nu3u8h1x7rWdP+lRygI5EQNIcKYSmNJA0TSAdCoOkOVQMDakgaRogOhQij5LW+Lz3mcfb5li1qbvQbt9bSRtNLyTNbrVTlzR1T9pwL1vdHZOUYTRJmuLUeqX3rZL3T/9bvW+VrvS+VfL+Nw8vJC0PVfz3OSBp+aqnOhskLV81RdLyVc+8SVpNh7d7yBO0ulcf8O9BU/eijbYXkma34qlLmt3TNTP7aJO06pe9/dkzp0vjnd7+bG8lTa2oDTY1m4GbYlQkLUXYKUyFpKUAOeUpkLSUgRueDkkzDDjl8LmStEHvPnxP0Jr/9U2/i6Pq5ripMV/34Ye5PJC0MJTMHYOkaWA72iRNIav/jdfpyBO1mke9TkfevWnqHrWsv5C0rFdwy/yRtHzVk5W0/NUTSctXTfMkac3/vN6TtBmemHkdrT1B690+fx2tw1x9SFoYSuaOsSJpxd0S5513qkw++lBR2yAPPnCi3LxwprmzNRR5NEqaQtl8s/fMEE/UNu3iPTPE6/aouj5m+YWkZbl6W+eOpOWrnkha/uqJpOWrpnmRtPp198vYR7wvobu8Z8Pu6z0bdvd8Phs2zNWHpIWhZO6Y1CWt+GHWqvX9Oaef6Eva4pvukNvvXr5F63tzp6038miVNEVRSVrzTf/lPzdt/YJF3nPUdtcLN8VoSFqKsFOYCklLAXLKU7DdMWXghqdD0gwDTjl8HiStuu8FGffINGl44U7ZuPNn/WYhg9UNKZN0ZzokzW4tUpc0tWJ265I5MmniBP/5ZIGkqa6Ps+ffKDQOsXtBRJ295vFHveenTZf6Fb+SzjO/JO1zr4gawpnjkTRnSqElESRNC0angiBpTpUjcTJIWmKETgXIg6S1PjFXWtfMl75xb/cEzWuM1voWpxinnQySljbxLedLXdKUmF13xfStJI2VNLsXQpLZG+5e5j8/raqjw9v2uFA2fvKzScJZG4ukWUNvZGIkzQhWq0GRNKv4tU+OpGlHajVg1iWt8bnbC+32Bzd5z0O7Vrpf/3GrPF2YHEmzW4XUJW3W5TfIiodW+tsag5W0PXfbSU46Y64c+753yBXnn2aXSIzZR/N2xwBX69VXSOv8S6X/zW/170/r+39vj0HS7hAkzS5/3bMjabqJ2o+HpNmvgc4MkDSdNO3HyrKk1Xas9AWt7tXfSueEr0j73pfYB+pABkia3SKkLmnqdIOtjcWnfvqnj5Wppxxvl0bM2ZE0kep16wpt+X/8A+k+4RPe/WkLZbC1LSZRO8OQNDvcTc2KpJkiay8ukmaPvYmZkTQTVO3FzKqkVW3u9wWt6embpWeHDxfa7TfsbA+kQzMjaXaLYUXS7J6y/tmRtALTut//xhe12of/Lu0XzpXOL31ZP2yDEZE0g3AthEbSLEA3PCWSZhhwyuGRtJSBG54uq5LW/NQ3ZOyjX5GBpr08QVsovdsdZZhUdsIjaXZrlbqknTxjgTz4p1VbNQihBb/dC0HX7M3fvqnQln/H1xXa8h/9IV2hjcdB0owjTnUCJC1V3KlMhqSlgjm1SZC01FCnMlEWJa3+lV/4z0Or6XpCNux7pXTt/sVUWGVlEiTNbqVSlzR1H9oJxxyx1dZGGofYvRB0zj72/C9L8w3XSe97jvJFbWCPPXWGNxYLSTOG1kpgJM0KdqOTImlG8aYeHElLHbnRCbMmaWN6nvW3OTa8eLds3OVzfjfHwapao4yyFhxJs1ux1CVNrZgFD7AuPnVa8Nu9EHTOXvPkE4W2/L/6pXSd/kXZcNmVOsMbi4WkGUNrJTCSZgW70UmRNKN4Uw+OpKWO3OiEWZO0ticulpY1V0rfNv9RaLffMskonywGR9LsVi11SWMlzW7B05q94ad3e6I2zWso8oq3mrZINn56SlpTx54HSYuNzsmBSJqTZUmUFJKWCJ9zg5E050qSKKEsSVrjc7fKWO+h1VJV7Qta9+tOSHTueR2MpNmtbOqSprY1Xn/LXUMPtFanv3LVGr8Ff1Y7PNI4pPxF3HLtldI272Lpf+ObZMOVi6Tv7YfYvdpHmB1Jc7o8kZND0iIjc34AkuZ8iSIliKRFwuX8wVmRtNqOv/qCVrf+QenY8zzp2GuO82xtJYik2SJfmDd1SVOTlmvBX24LpF004WdH0sqzqt6wodCW/4e3SvdHTvRFbfPYseHBpnwkkpYycMPTIWmGAVsIj6RZgG5wSiTNIFwLobMgaVWDvZ6gqXb7S6Vnx+MK7fbrX2eBVjamRNLs1smKpNk9Zf2zI2mVmdY99PtCW/6Vf5WO8y+Sjhkz9RdAU0QkTRNIR8IgaY4UQmMaSJpGmA6EQtIcKILGFLIgaS1rF0vbYzNloHnfQrv9bY/QSCB/oZA0uzVF0jTwR9KGh9h0y1Jf1DaPH19oy/+hYzVQ1x8CSdPP1GZEJM0mfTNzI2lmuNqKiqTZIm9mXtclrf6l//W7OdZ0r5EN+10jXbudYQZEjqIiaXaLaUXSVPOQdes7yp75w/cvtUskxuxI2sjQ2i6cKS1LFkvvu9/jidpCGdhrn5EHpXwEkpYycMPTIWmGAVsIj6RZgG5wSiTNIFwLoV2WtDHd/yq023/pp9K166l+sxCRaguUsjUlkma3XqlL2nFTZsu249vk5oXubnuLWhIkbWRiNWvX+N0e6395n3SddqZsuPzqkQelfASSljJww9MhaYYBWwiPpFmAbnBKJM0gXAuhXZa0tscvlJZ/XOO12z9U1nuCNtCyvwVC2ZsSSbNbs9QlrdJz0uxiSDY7khaOX8O9P/VFbcwLz/vbHrs+e0q4gSkdhaSlBDqlaZC0lECnOA2SliLsFKZC0lKAnOIUrkpa07Pf9VbRZshgdZ13H5pqt/+RFKlkeyokzW79kDQN/JG08BBbvnaNtM29UPoPeKMvan2HvDP8YMNHImmGAaccHklLGXgK0yFpKUBOcQokLUXYKUzloqTVbviTv82xbsMfvFb7s72W+7NTIJGfKZA0u7VMXdLUdsejDnubTD3leLtnrnF2JC08zKrODq+JyAxpuu270v2fH/NFTTUUceGFpLlQBX05IGn6WLoSCUlzpRJ68kDS9HB0JYprkla1aaO/gtb0zHe81bPjYOy7OgAAIABJREFU/Xb7m+u2dwVXJvJA0uyWKXVJU89Iu+b62+SBZYvtnrnG2ZG0aDDr/u8Phbb8f/mTdJx3oXR8eVa0AIaORtIMgbUUFkmzBN7gtEiaQbgWQiNpFqAbnNI1SWtZu8hrt3++d//ZRF/Qese/y+DZ5zM0kma3rqlLmronbbgX3R3tXhBpzd70ve/4K2qDLS2y3nvIdc8xk9OauuI8SJr1EmhNAEnTitOJYEiaE2XQlgSSpg2lE4FckrSGl+/1Hlrt3QPf80+v3b53D/wbTnOCUdaSQNLsVix1SbN7umZmZyUtHte2i86Xlm8skt5D3y0brrxWBvbZL14gTaOQNE0gHQmDpDlSCI1pIGkaYToQCklzoAgaU3BF0sZ0P/Vau/17PDn7gr+KxiseASQtHjddo5A0DSSRtHgQx/zTeyP1uj023HevdJ3ivZF696fZfCFpNunrnxtJ08/UdkQkzXYF9M6PpOnlaTuaK5LW9vhsr92+2t7ofQG8v/cFcLPdL4Bt1yXJ/EhaEnrJx1qRNHVf2uz5N26R/bzzTpXJRx+a/IwsREDS4kNXgua35f+XtyVBteU/2d6WBCQtfh1dHImkuViVZDkhacn4uTYaSXOtIsnycUHSmp65xdvmOF0Ga7xbKbznofXsaP9WimRU7Y5G0uzyT13SFt90h1x/y11y65I5MmniBP/sV65aIyedMVdO//Sxmez6iKQlu4jVlke19XFgP+/mXk/Uet9p5+ZeJC1ZHV0bjaS5VpHk+SBpyRm6FAFJc6kayXOxLWl1G/7o34dW2+41JdvLa0q2pxtNyZKTtRcBSbPHXs2cuqQdNnmqnHDMEVvJmJK32+9ensmuj0hasou4qttrk6va8nvNRLqP89rkqrb826XfJhdJS1ZH10Yjaa5VJHk+SFpyhi5FQNJcqkbyXGxKWtWmTn8FTT24uvt13uN9/Hb7bjzeJzlZexGQNHvsrUia6u5YbmtjsAXSte6O5bZmKnDFeSJpyS9i1Y5fteVX7fk7zvUeOOn9k/YLSUubuNn5kDSzfG1ER9JsUDc3J5Jmjq2NyDYlreUf10jb4xdKf+sbfUHr2+adNhDkbk4kzW5JWUkbgX+Y57ohaXouYvWAa78tf329v5rWPfkjegKHjIKkhQSVkcOQtIwUKkKaSFoEWBk4FEnLQJEipGhL0hpe+qnfzXFM73O+oHXtckqErDl0OAJImt3rI3VJy9o9aUhauhdo29wLpeVr10jfOw6T9Z6oDUzcP7UEkLTUUKcyEZKWCuZUJ0HSUsVtfDIkzTjiVCewIWk1G9f4glb/8v9K125nes9EuzrVc877ZEia3QqnLmnqdLPU3bFcrqVbMllJ03cRj3nm6UJb/nt/Kl2f+3yhLX91tb4JhomEpKWCObVJkLTUUKc2EZKWGupUJkLSUsGc2iQ2JK3tsfOkZe3XpHfb9xTa7Tftndr5joaJkDS7VbYiaXZPOdnsJ89YIK+sa5c7l85LFojRlQnce6/IWWeJPPmkyOLFIl/8IrQgAAEIQAACEIDAvwk8eZPIH73PB6pByEHfENmFdvtcHvkikLqkKcl58E+rtmi8oZCqhiIHHzhRbl4402nCweMCaBxitkwtSxZL24UzZWDvfWXDlV5b/sMONzuhF52VNOOIU52AlbRUcacyGStpqWBObRJW0lJDncpEaa6k1a1/0N/mWNv+F2nf+2LpnHBuKuc42iZhJc1uxVOXtKy34C/XhZLtjvov4qq+Xr/bY9MtS6Xnw8fJ+isXyeYddtQ/UVFEJM0o3tSDI2mpIzc+IZJmHHGqEyBpqeI2PllaklY90O4LWuOz35fu159UaLdfO9b4+Y3GCZA0u1VPXdKy1oJfSeUDy7wtd6+9jpsyW7Yd37bFih+SZuYirl3510Jb/od+Lx3nnCcds+aYmei1qEiaUbypB0fSUkdufEIkzTjiVCdA0lLFbXyytCSt5R9Xee32L/La7b/5tXb7hxg/t9E6AZJmt/KpS1rWVtKUlK1e+8xQlcptyUTSzF3EjT+81Rc11TzEb8t//AnGJkPSjKG1EhhJs4Ld6KRImlG8qQdH0lJHbnTCNCSt4cWfeA+tnibV/a/4grZxlylGz2m0B0fS7F4BqUta1lrwhykPkhaGUvxj2uZdLC3XXil9h7zDF7X+AybFDzbMSCTNCFZrQZE0a+iNTYykGUNrJTCSZgW7sUlNS1rNxtWeoHnt9l/5hXTuPlXa911g7FwIXCCApNm9ElKXNHW6WWrBH6Y8SFoYSvGPGfP8c4W2/D+9WzZ+5mRf1AZra+MHrDASSdOO1GpAJM0qfiOTI2lGsFoLiqRZQ29kYtOSNvbRr0jzU9+Q3u2O8trtL5KBxglGzoOg/yaApNm9GqxImt1T1j87kqafaWnE+l/90hO16VLz5BOyYd5V0vUFr0W/5heSphmo5XBImuUCGJgeSTMA1WJIJM0ifANTm5S0pqdv9puFbK7b0Re0nu0/aOAMCFlKAEmze00gaRr4I2kaIIYI0XzDdTL2/C/LwJ57e6tpC6X38CNDjAp/CJIWnlUWjkTSslClaDkiadF4uX40kuZ6haLlZ0rS6l79baHdfsdKad/nUunc45xoiXF0bAJIWmx0WgYiaRowImkaIIYJMTDgNxFp/vZN0vPBY/xtj5tev1OYkaGOQdJCYcrMQUhaZkoVOlEkLTSqTByIpGWiTKGTNCFp1X2vFtrtP3+7bNzpk16zkIUyWNMaOicOTEYASUvGL+loJC0pQW88kqYBYsgQtQ//vdCW//e/kc7p50r77ItDjhz5MCRtZEZZOgJJy1K1wuWKpIXjlJWjkLSsVCpcniYkrfXJ+dK6eq70tx1YaLc/7qBwyXCUFgJImhaMsYMgabHR/XsgkqYBYoQQjT/+QaEtv7eytsF7yHX3R0+KMLryoUiaFozOBEHSnCmFtkSQNG0onQiEpDlRBm1J6Ja0hhfu9FfR1MOr1Qraxp0/oy1XAoUjgKSF42TqKCRNA1kkTQPEiCFa518qrVdfIX0HHeyLWv+kN0eMsPXhSFpihE4FQNKcKoeWZJA0LRidCYKkOVMKLYnolLSarsc8QZvhtdtf7rXbn+a1279cS44EiUYASYvGS/fRSJoGokiaBogRQ1S/9KKMU235714mGz81xRM1ry1/XX3EKFsejqQlwufcYCTNuZIkTghJS4zQqQBImlPlSJyMTkkb++g5Xrv9JdKz3fv9bo6bGndLnB8BohNA0qIz0zkCSdNAE0nTADFGiPoVv/K2Pc6QmsdWSfvc+dJ55tkxovx7CJKWCJ9zg5E050qSOCEkLTFCpwIgaU6VI3EyuiSt+V83eg+tnuaJ2a6FdvueqPGyQwBJs8M9mBVJ08AfSdMAMWaI5pv+y78/bWD3CX63x94j3xszkgiSFhudkwORNCfLkigpJC0RPucGI2nOlSRRQjokre7VFTLOE7Sazkf8LY5qqyMvewSQNHvs1cxImgb+SJoGiHFDDA4W2vLffIP0vP+Dhbb8u+waKxqSFgubs4OQNGdLEzsxJC02OicHImlOliV2UkklrbrvFe8+tGleu/0f+U1C/Hb7Y5pi58PA5ASQtOQMk0RA0pLQe20skqYBYoIQNY+u8kWt/je/ls6zz5H2OZfGioakxcLm7CAkzdnSxE4MSYuNzsmBSJqTZYmdVFJJa109T1qfnCd9Yw/y2+33jz0wdi4M1EMASdPDMW4UJC0uuaJxSJoGiAlDNN55hy9qVT093mqa16r3xE9GjoikRUbm9AAkzenyxEoOSYuFzdlBSJqzpYmVWBJJa3ze+2+4126/arP333DVbt97cDUv+wSQNLs1QNI08EfSNEDUEKL1Su9bOO+fvrd538J52x773xLtWzgkTUMRHAqBpDlUDE2pIGmaQDoSBklzpBCa0ograTWd3m4YT9Dq13m7YfbwdsPsE283jKbTIEwRASTN7uWApGngj6RpgKghRPUr3n72md5+9mXefvZPePvZvRW1wcbw+9mRNA1FcCgEkuZQMTSlgqRpAulIGCTNkUJoSiOWpKn7yj1Ba/6Xd1/59t595ardfsMumjIiTFICSFpSgsnGI2nJ+PmjkTQNEDWFqPvdCn/bY+0jD0v7JV5nqLPCd4ZC0jQVwZEwSJojhdCYBpKmEaYDoZA0B4qgMYU4ktb8T69DsydpA41eh2ZP0Hq3O0pjRoRKSgBJS0ow2XgkLRk/JE0DP90hmpd6z1jxRG3Tzrt4D7n2nrFyVLhnrCBpuithNx6SZpe/idmRNBNU7cVE0uyxNzFzVEmrX+c963SV96xTb7tj+74LvHb7U02kRcwEBJC0BPA0DEXSNEBkJU0DRM0hxs46R5q/ucQXNCVqm96w24gzIGkjIsrUAUhapsoVKlkkLRSmzByEpGWmVKESjSJp1X0v+itojc//WDbuMsXv5jhYXR9qHg5KjwCSlh7rcjMhaRr4I2kaIGoOUfPEY95q2gyp//Vyf8uj2vo40gtJG4lQtn6PpGWrXmGyRdLCUMrOMUhadmoVJtMoktb65GXSuvpy6dvmkEK7/dY3h5mCY1ImgKSlDLxkOiRNA38kTQNEAyEafnKnv+2xur290JbfayYy3AtJM1AEiyGRNIvwDU2NpBkCaykskmYJvKFpw0pa43M/9B9aLbLJF7Tu159kKCPCJiWApCUlmGw8kpaMnz8aSdMA0VCI1mvmS+sVc/12/Kotv2rPX+mFpBkqgqWwSJol8AanRdIMwrUQGkmzAN3glGEkrbbjYRn7yDSpW/8b6ZxwrrTvfbHBjAidlACSlpRgsvFIWjJ+SJoGfiZDVK9f76+mNf7oNv8B135b/pbWslMiaSYrkX5sJC195qZnRNJME043PpKWLm/Ts40oaYObfEFrfvom6dnhmEK7/frXm06L+AkIIGkJ4GkYiqRpgMhKmgaIBkPUPfi7Qlv+v/9N2udcKp1nn4OkGeTtSmgkzZVK6MsDSdPH0oVISJoLVdCXw0iS1vzUdTL20S/LQNPenqBdK73bvkff5EQyQgBJM4I1dFAkLTSqygciaRogGg7RdMu3fFHbvMOO/rbHnvd/cKsZWUkzXISUwyNpKQNPYTokLQXIKU6BpKUIO4WphpO0+ld+WWi33/W4bNjvauna7cwUMmKKpASQtKQEk41H0pLx80cjaRogphBi7AXnSvP1X5feI9/ri9rA7hO2mBVJS6EIKU6BpKUIO6WpkLSUQKc0DZKWEuiUpqkkaWN6n/Pb7Te8cJd07XKK3yxEqmtSyoppkhBA0pLQSz4WSUvOEEnTwDCNEDVrVhfa8i+/TzrPPFva585H0tIAb2kOJM0SeIPTImkG4VoIjaRZgG5wykqS1vrEJdK6ZoHXbv+dr7Xbf6PBLAitkwCSppNm9FhIWnRmW41gJU0DxJRCNPzsJ4W2/C+/7D3k+lrZ+KkpQzOzkpZSEVKaBklLCXSK0yBpKcJOYSokLQXIKU5RTtIan7vNX0WTqupCu/3XfSzFjJgqKQEkLSnBZOORtGT8/NFImgaIKYZo+erV0nbpHOmf9GZP1BZJ30EH+7MjaSkWIYWpkLQUIKc8BZKWMnDD0yFphgGnHL5U0mo7/uYLWt2rv5OOPWdJx14XppwR0yUlgKQlJZhsPJKWjB+SpoFf2iGqOtplnLftsfH270n3R0/yRW1zWxuSlnYhDM+HpBkGbCE8kmYBusEpkTSDcC2ELpa0qs19vqA1Pf0t6dlxsqz32u1vrtvBQlZMmYQAkpaEXvKxSFpyhqykaWCYdoi6Pz5UaMv/1z9L++yLpXP6uUha2kUwPB+SZhiwhfBImgXoBqdE0gzCtRC6WNKan/q6127/XBlo3q/Qbn/8uy1kxJRJCSBpSQkmG4+kheB33JTZsnrtM/6Re+2+s9y5dN4Wo9juGAKig4c0fffbfiORzdts43d7lMmTpal+jKzr6HMwW1KKSgBJi0rM/eORNPdrFCVDJC0KLfePDSRt0zP3eg+tni413U/696F1veEL7idPhmUJIGl2LwwkbQT+J89YIK+sax8SMyVs245vk5sXzhwaiaTZvYiTzN42Z5a0XPdV6T38SOm59mtSv/++SFoSoA6NRdIcKoamVJA0TSAdCYOkOVIITWkoSRto/6fU/WWqNLz0P9K162mFdvtVVZpmIEzaBJC0tIlvOR+SNgL/wyZPlXNOP1EmH32of+Sye1bINdffJg8sW4yk2b12tcw+5qm13v1p06T+vp9LzxlfFFm0CEnTQtZ+ECTNfg10Z4Ck6SZqNx6SZpe/7tmVpFX/dZY0rL7K2974Ll/QBlom6p6GeCkSQNJShF1mKiRtGP4rV62Rk86YK7cumSOTJhYefFzuZ6yk2b2Ik87e8L/3yNhzp8mY55+T/kVfk5dO/GzSkIx3gACS5kARNKeApGkGajkckma5AJqn327d7VL757NlsLr+tXb7x2uegXBpE0DS0ia+5XxIWkJJq7qEZXy7lzCzQwACEIAABCAAAQjoJjB40aDukMSLQABJQ9IiXC4cCgEIQAACEIAABCAwGgggaXarjKSNwL/cPWmz598oD9+/dGgk2x3tXsS6Zudh1rpIuhGH7Y5u1EFnFmx31EnTfiy2O9qvgc4MSh9mrTM2sewQYLujHe7BrEjaCPzp7mj3Ak1zdiQtTdrm50LSzDNOewYkLW3iZudD0szyTTs6kpY2cfPzIWnmGQ83A5IWgj/PSQsBKQeHIGk5KGLRKSBp+aqnOhskLV81RdLyVU8kLV/1DN5z83dW2TkjJE1DrdjuqAGiAyGQNAeKoDEFJE0jTEdCIWmOFEJTGkiaJpCOhEHSHCmExjRYSdMIM0YoJC0GtNIhSJoGiA6EQNIcKILGFJA0jTAdCYWkOVIITWkgaZpAOhIGSXOkEBrTQNI0wowRCkmLAQ1J0wDNwRBImoNFSZASkpYAnqNDkTRHCxMzLSQtJjhHhyFpjhYmQVpIWgJ4GoYiaRogspKmAaIDIZA0B4qgMQUkTSNMR0IhaY4UQlMaSJomkI6EQdIcKYTGNJA0jTBjhELSYkBjJU0DNAdDIGkOFiVBSkhaAniODkXSHC1MzLSQtJjgHB2GpDlamARpIWkJ4GkYiqRpgEgICEAAAhCAAAQgAAEIQAACugggabpIEgcCEIAABCAAAQhAAAIQgIAGAkiaBoiEgAAEIAABCEAAAhCAAAQgoIsAkqaLJHEgAAEIQAACEIAABCAAAQhoIICkxYR43JTZsnrtM/7ovXbfWe5cOi9mJIa5QmDlqjVy0hlz5dYlc2TSxAmupEUeEQmcPGOBPPinVVuMevj+pRGjcLhLBGZdfoPc9fPfUlOXiqIpl6C2vO9qAmohzLJ7Vsjs+TduNTPvuxaKoXHKAw6fMhTt9E8fK1NPOV5jdEKFIYCkhaFUcoz6EPjKuvYhMVPCtu34Nrl54cwY0RjiAoHDJk+Vdes7/FT4sOBCReLnoGr5wLLFQwHUh8AVD63c4mfxozPSBgH1HnvZzFOGvjxZfNMdcvvdy6mpjWJonFN9uP/WrT/zv/DkfVcj2JRDqTpec/1t/D2mzN3UdMEX1vPOO1UmH32oqWmIG4IAkhYCUukh6kPgOaefOHTx8gYVA6KDQ1hJc7AoGlKirhogOhaCmjpWkJjpqG/qlZyxgyEmQEeG8RnIkUJoSkN9KXbUYW9j5UwTzyRhkLSI9Mp9OOADQ0SIjh5OHR0tTMK0WHVJCNDB4Wo3wxNrnuabewdrEzYl9UHwcyd9QPbcbSckLSw0R48rt92RrY6OFitEWurLk/HjWod2F6khrHSHAGfgECQtIlQkLSKwDB2OpGWoWCFTZdtGSFAZOax4WzIfAjNStDJpqi3IL7z8qn+LAO+72a1jpcxLbwnJ3xnm94zK/TczuG+U99z0646kRWSOpEUElqHD+bCQoWKFSDWoJzc8h4CVsUPU6uj1t9wlfGjIWOG8dEu3xvG+m70ajpRxUFP+Pkci5d7vK/09qtU17lFLv15IWgzm5e5JU52NeEOKAdOhIXxYcKgYCVMJtt+wRSMhSIeHB/cz0YnV4SKVSa1SJ0B1KF+oZKuWlbINasxnomzWs5yQIWl2aomkxeBOd8cY0DIwBEnLQJFCpMhN7CEgZewQOnZmrGAR0uV9NwIsRw8t/fuk47WjhQqZVuk9v3RIDgnOwGFIWkyoPCctJjhHhxXf66JSVDfNFrdxdzRt0iohEHzgKweGrRrZvVyK32+Ds+Bb+uzWszhzJC37dSz9+zz4wIk8kijjZS2uKZ+H7BUTSbPHnpkhAAEIQAACEIAABCAAAQhsRQBJ46KAAAQgAAEIQAACEIAABCDgEAEkzaFikAoEIAABCEAAAhCAAAQgAAEkjWsAAhCAAAQgAAEIQAACEICAQwSQNIeKQSoQgAAEIAABCEAAAhCAAASQNK4BCEAAAhCAAAQgAAEIQAACDhFA0hwqBqlAAAIQgAAEIAABCEAAAhBA0rgGIAABCEAAAhCAAAQgAAEIOEQASXOoGKQCAQhAAAIQgAAEIAABCEAASeMagAAEIAABCEAAAhCAAAQg4BABJM2hYpAKBCAAAQhAAAIQgAAEIAABJI1rAAIQgAAEIAABCEAAAhCAgEMEkDSHikEqEIAABCAAAQhAAAIQgAAEkDSuAQhAAAIQgAAEIAABCEAAAg4RQNIcKgapQAACEIAABCAAAQhAAAIQQNK4BiAAAQhAAAIQgAAEIAABCDhEAElzqBikAgEIQAACEIAABCAAAQhAAEnjGoAABCAAAQhAAAIQgAAEIOAQASTNoWKQCgQgAAEIpEPguCmzZdvxbXLzwpnpTMgsEIAABCAAgQgEkLQIsDgUAhCAQN4JzLr8Brnr57/d6jSPfd875IrzT/N/vuyeFTJ7/o0y77xTZfLRh2YSCZKWybKRNAQgAIFRQwBJGzWl5kQhAAEIjExASdqKh1bKA8sWDx28ctUaOemMuXL6p4+VqaccP3KQDByBpGWgSKQIAQhAYBQTQNJGcfE5dQhAAAKlBMpJmjrmsMlT5dC3T/JX0wJpu3XJHJk0cYIEwqOOe/BPq/yQ48e1biF65UiHGaeO2X+f3YZW8VSck2cskFfWtcudS+f5YYPclFyuW9/h/0wJ5a477+Cv+AWvIF/172HmDuYKzkn9+0gxin/P1QUBCEAAAhCISwBJi0uOcRCAAARySKCcpC2+6Q65/pa7hgSlnKStXvvMFittSpz2nrDLsPd8KVEaaVxYSVNyFghSkG+xKKo46hWIXbm5S48plcEg7sP3L/VjlYuRw0uCU4IABCAAAQsEkDQL0JkSAhCAgKsEKt2TViw8lVbSiptwqDiPPP7UkBSVO99yWw5Lx4WVtGCVT81Tmp/6Wal8lps7uNdOyZ56qS2epStjSj5POOYIf9snWyZdvYrJCwIQgED2CSBp2a8hZwABCEBAG4FK2x3VqpLa9qdWkbIiacWNTdQq2O13Lx/agllOsILzUuPUq3irZDHg4N48JE3bZUcgCEAAAhAoIYCkcUlAAAIQgMAQgUqSpg444PAp/pbGw9/xli1WmcKsiJVDHGZckpU0HZIWbG0Mmz+XEgQgAAEIQEAHASRNB0ViQAACEMgJgUqSVtzhMW1JK32eWaXGIcEjAopXxIJHBIRZSQu2OxavFg73mAFW0nJy0XMaEIAABBwkgKQ5WBRSggAEIGCLQCVJC5pkpL3dsTSfQKT22n3nrbo7JpU0tVJY/Dy44i2eQT1UPgcfuL//fDgkzdZVyrwQgAAE8k8ASct/jTlDCEAAAqEJuNY4RCWumnUErfWVnKmVtXIt+KNKmuosWfwqFrTg54GoFR9X3N2xdJUvNGgOhAAEIAABCAxDAEnj8oAABCAAAQhAAAIQgAAEIOAQASTNoWKQCgQgAAEIQAACEIAABCAAASSNawACEIAABCAAAQhAAAIQgIBDBJA0h4pBKhCAAAQgAAEIQAACEIAABJA0rgEIQAACEIAABCAAAQhAAAIOEUDSHCoGqUAAAhCAAAQgAAEIQAACEEDSuAYgAAEIQAACEIAABCAAAQg4RABJc6gYpAIBCEAAAhCAAAQgAAEIQABJ4xqAAAQgAAEIQAACEIAABCDgEAEkzaFikAoEIAABCEAAAhCAAAQgAAEkjWsAAhCAAAQgAAEIQAACEICAQwSQNIeKQSoQgAAEIAABCEAAAhCAAASQNK4BCEAAAhCAAAQgAAEIQAACDhFA0hwqBqlAAAIQgAAEIAABCEAAAhBA0rgGIAABCEAAAhCAAAQgAAEIOEQASXOoGKQCAQhAAAIQgAAEIAABCEAASeMagAAEIAABCEAAAhCAAAQg4BABJM2hYpAKBCAAAQhAAAIQgAAEIAABJI1rAAIQgAAEIAABCEAAAhCAgEMEkDSHikEqEIAABCAAAQhAAAIQgAAEkDSuAQhAAAIQgAAEIAABCEAAAg4RQNIcKgapQAACEIAABCAAAQhAAAIQQNK4BiAAAQhAAAIQgAAEIAABCDhEAElzqBikAgEIQAACEIAABCAAAQhAAEnjGoAABCAAAQhAAAIQgAAEIOAQASTNoWKQCgQgAAEIQAACEIAABCAAASSNawACEIAABCAAAQhAAAIQgIBDBJA0h4pBKhCAAAQgAAEIQAACEIAABJA0rgEIQAACEIAABCAAAQhAAAIOEUDSHCoGqUAAAhCAAAQgAAEIQAACEEDSuAYgAAEIQAACEIAABCAAAQg4RABJc6gYpAIBCEAAAhCAAAQgAAEIQABJ4xqAAAQgAAEIQAACEIAABCDgEAEkzaFikAoEIAABCEAAAhCAAAQgAAEkjWsAAhCAAAQgAAEIQAACEICAQwSQNIeKQSoQgAAEIAABCEAAAhCAAASQNK4BCEAAAhCAAAQgAAEIQAACDhFA0hwqBqlAAAIQgAAEIAABCECwtAzCAAAACUlEQVQAAhD4/82rWdV7pDIEAAAAAElFTkSuQmCC",
"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": 13,
"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_name(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_name(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": 14,
"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": 15,
"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": 16,
"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": 17,
"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": 17,
"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": 18,
"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": 19,
"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_name(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_name(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": 20,
"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": 21,
"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": 22,
"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": 22,
"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": 23,
"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": 24,
"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_name(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_name(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": 25,
"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": 26,
"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": 27,
"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": 27,
"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": 28,
"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": "iVBORw0KGgoAAAANSUhEUgAAA2kAAAFoCAYAAADNS7MqAAAgAElEQVR4Xuy9CZQU55XveXOvKqiCqmJfBAIkdoRArAIE2iwvsmWNpZaf7bGe5enTnh69c9ozc+xuv+P3nk+73T5v7D6nNf3s02O77bZ7LFseWW2127I2JEDsICTEIolFIHaoAgqoqtwq594vKrKisjIrIzMjMr7I/H+cOJFFRnzL/0Zmxi/u/e4XyHAhFCgABaAAFIACUAAKQAEoAAWgABTQQoEAIE0LO6ATUAAKQAEoAAWgABSAAlAACkABpQAgDRcCFIACUAAKQAEoAAWgABSAAlBAIwUAaRoZA12BAlAACkABKAAFoAAUgAJQAAoA0nANQAEoAAWgABSAAlAACkABKAAFNFIAkKaRMdAVKAAFoAAUgAJQAApAASgABaAAIA3XABSAAlAACkABKAAFoAAUgAJQQCMFAGkaGQNdgQJQAApAASgABaAAFIACUAAKANJwDUABKAAFoAAUgAJQAApAASgABTRSAJCmkTHQFSgABaAAFIACUAAKQAEoAAWgACAN1wAUgAJQAApAASgABaAAFIACUEAjBQBpGhkDXYECUAAKQAEoAAWgABSAAlAACgDScA1AASgABaAAFIACUAAKQAEoAAU0UgCQppEx0BUoAAWgABSAAlAACkABKAAFoAAgDdcAFIACUAAKQAEoAAWgABSAAlBAIwUAaRoZA12BAlAACkABKAAFoAAUgAJQAAoA0nANQAEoAAWgABSAAlAACkABKAAFNFIAkKaRMdAVKAAFoAAUgAJQAApAASgABaAAIA3XABSAAlAACkABKAAFoAAUgAJQQCMFAGkaGQNdgQJQAApAASgABaAAFIACUAAKANJwDUABKAAFoAAUgAJQAApAASgABTRSAJCmkTHQFSgABaAAFIACUAAKQAEoAAWgACAN1wAUgAJQAApAASgABaAAFIACUEAjBQBpGhkDXYECUAAKQAEoAAWgABSAAlAACgDScA1AASgABaAAFIACUAAKQAEoAAU0UgCQppEx0BUoAAWgABSAAlAACkABKAAFoAAgDdcAFIACUAAKQAEoAAWgABSAAlBAIwUAaRoZA12BAlAACkABKAAFoAAUgAJQAAoA0nANQAEoAAWgABSAAlAACkABKAAFNFIAkKaRMdAVKAAFoAAUgAJQAApA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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": "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": 29,
"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_name(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_name(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": 30,
"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": 31,
"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": 32,
"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": 32,
"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": 33,
"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": "iVBORw0KGgoAAAANSUhEUgAAA2kAAAFoCAYAAADNS7MqAAAgAElEQVR4Xu29CbQc1Xmou885moUkNKBZSEhgJotBzCCBZDDINoNMrjHOjW+I4dkmedysOO89D9zle8MKHu57dlYuL9fEDzskzk0wTjAGmxkkEGY0s2WBEUJCSEIjmudzztt/9alWnTrV3dXVu6r+qvOVVq/T6q7a+6/vr+6ur/ZQbd12MSwQgAAEIAABCEAAAhCAAAQgoIJAG5KmIg8EAQEIQAACEIAABCAAAQhAwCOApHEgQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhA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AQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCCApHEMQAACEIAABCAAAQhAAAIQUEQASVOUDEKBAAQgAAEIQAACEIAABCDw/wN1u3/F374iEQAAAABJRU5ErkJggg==",
"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": 34,
"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": 35,
"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": 36,
"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": 37,
"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": 37,
"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": 38,
"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": 39,
"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": 40,
"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": 41,
"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": 42,
"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": 42,
"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": 43,
"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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N3jWd2/aNYyzzqfP/iNpfegxFgIQgAAEIAABCNQTQNI4OiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAACEIAABCAAAQhAAAIQQNI4BiAAAQhAAAIQgAAEIAABCBgigKQZagalQAAC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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": 44,
"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": 45,
"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": 46,
"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": 47,
"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": 47,
"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": 48,
"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": 49,
"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": 50,
"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": 51,
"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": "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",
"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.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}