{
"cells": [
{
"cell_type": "markdown",
"id": "54d8ecb1-ea4d-4985-9d5a-e838e264c308",
"metadata": {},
"source": [
"## One-bin `A <-> 2C + D`, with 1st-order kinetics for each species, taken to equilibrium\n",
"\n",
"Diffusion not applicable (just 1 bin)\n",
"\n",
"LAST REVISED: June 4, 2023"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "763e104d-3284-47b9-a3a9-c65dc5b3bad3",
"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": "bb483e13-4c78-42a8-a83c-2c233a3086bf",
"metadata": {},
"outputs": [],
"source": [
"from experiments.get_notebook_info import get_notebook_basename\n",
"\n",
"from src.modules.reactions.reaction_data import ChemData as chem\n",
"from src.modules.reactions.reaction_dynamics import ReactionDynamics\n",
"from src.life_1D.bio_sim_1d import BioSim1D\n",
"\n",
"import plotly.express as px\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": "3c9c6dc0-8c6d-431d-a9d8-0a33780a2441",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-> Output will be LOGGED into the file 'reaction_5.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_cytoscape_1\"],\n",
" extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "6ad40924-3c41-494f-8682-ec8efc540537",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0:\n",
"1 bins and 3 species:\n",
" Species 0 (A). Diff rate: None. Conc: [4.]\n",
" Species 1 (C). Diff rate: None. Conc: [7.]\n",
" Species 2 (D). Diff rate: None. Conc: [2.]\n"
]
}
],
"source": [
"# Initialize the system\n",
"chem_data = chem(names=[\"A\", \"C\", \"D\"]) # NOTE: Diffusion not applicable (just 1 bin)\n",
"\n",
"\n",
"\n",
"# Reaction A <-> 2C + D , with 1st-order kinetics for each species\n",
"chem_data.add_reaction(reactants=[(\"A\")], products=[(2, \"C\") , (\"D\")],\n",
" forward_rate=5., reverse_rate=2.)\n",
"\n",
"bio = BioSim1D(n_bins=1, chem_data=chem_data)\n",
"\n",
"bio.set_all_uniform_concentrations( [4., 7., 2.] )\n",
"\n",
"bio.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e8ec69e3-dc27-4d6e-90d8-c5636dc061c8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" C | \n",
" D | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0 | \n",
" 4.0 | \n",
" 7.0 | \n",
" 2.0 | \n",
" Initial state | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A C D caption\n",
"0 0 4.0 7.0 2.0 Initial state"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at bin 0\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 0), caption=\"Initial state\")\n",
"bio.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "2fec356a-3018-4ac9-9a09-066bd69c2098",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1 (at temp. 25 C)\n",
"0: A <-> 2 C + D (kF = 5 / kR = 2 / Delta_G = -2,271.45 / K = 2.5) | 1st order in all reactants & products\n"
]
}
],
"source": [
"chem_data.describe_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "8c9cea88-b766-4145-843b-9b109334d487",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[GRAPHIC ELEMENT SENT TO LOG FILE `reaction_5.log.htm`]\n"
]
}
],
"source": [
"# Send the plot to the HTML log file\n",
"graph_data = chem_data.prepare_graph_network()\n",
"GraphicLog.export_plot(graph_data, \"vue_cytoscape_1\")"
]
},
{
"cell_type": "markdown",
"id": "39837c2b-aa44-4a5f-b2a2-747b889ca9fc",
"metadata": {
"tags": []
},
"source": [
"### First step"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "8de0fb5d-419d-4976-b57d-b7656f7f0358",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.2:\n",
"1 bins and 3 species:\n",
" Species 0 (A). Diff rate: None. Conc: [5.6]\n",
" Species 1 (C). Diff rate: None. Conc: [3.8]\n",
" Species 2 (D). Diff rate: None. Conc: [0.4]\n"
]
}
],
"source": [
"# First step\n",
"bio.react(time_step=0.2, n_steps=1)\n",
"bio.describe_state()"
]
},
{
"cell_type": "markdown",
"id": "a128c0ed-ed29-4fa9-ac8d-995df08cc60c",
"metadata": {},
"source": [
"--- \n",
" Note: the above values are quite inaccurate because of the large time step 0.2\n",
"\n",
" For example, the value for the concentration of D (0.4) is a wild overshot from the initial 2.0 to the equilibrium value of 1.68941267\n",
" \n",
" A more precise calculation with bio.react(time_step=0.1, n_steps=2) gives conc_D(0.2) = 2.304\n",
" \n",
" An even more precise calculation with bio.react(time_step=0.05, n_steps=4) gives conc_D(0.2) = 1.69037202\n",
" \n",
" I.e. the system is almost at equilibrium already at t=0.2 !\n",
" \n",
" TODO: explore the early dynamics of the system in a separate experiment\n",
"---"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "57bb972b-bf2e-492c-824a-49fe5b4d53a9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" C | \n",
" D | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" 4.0 | \n",
" 7.0 | \n",
" 2.0 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.2 | \n",
" 5.6 | \n",
" 3.8 | \n",
" 0.4 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A C D caption\n",
"0 0.0 4.0 7.0 2.0 Initial state\n",
"1 0.2 5.6 3.8 0.4 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Save the state of the concentrations of all species at bin 0\n",
"bio.add_snapshot(bio.bin_snapshot(bin_address = 0))\n",
"bio.get_history()"
]
},
{
"cell_type": "markdown",
"id": "6d201c6c-1cb7-4902-a3c3-d3f33514ffa7",
"metadata": {},
"source": [
"### Numerous more steps"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "19212806-2baa-43c6-8083-f3cbc4916d89",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 1.7:\n",
"1 bins and 3 species:\n",
" Species 0 (A). Diff rate: None. Conc: [4.31058733]\n",
" Species 1 (C). Diff rate: None. Conc: [6.37882534]\n",
" Species 2 (D). Diff rate: None. Conc: [1.68941267]\n"
]
}
],
"source": [
"# Numerous more steps\n",
"bio.react(time_step=0.05, n_steps=30, snapshots={\"sample_bin\": 0})\n",
"\n",
"bio.describe_state()"
]
},
{
"cell_type": "markdown",
"id": "dd1dfc16-d0e0-446f-a02a-cbd6ec40db7b",
"metadata": {
"tags": []
},
"source": [
"### Equilibrium"
]
},
{
"cell_type": "markdown",
"id": "622e8969-dc8c-44ea-be61-05824b1f8d5c",
"metadata": {},
"source": [
"Consistent with the 5/2 ratio of forward/reverse rates (and the 1st order reactions),\n",
"the systems settles in the following equilibrium: \n",
"[A] = 4.31058733 , [C] = 6.37882534 , [D] = 1.68941267"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "52260eec-31d6-42a0-8ea9-a4122851c328",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A <-> 2 C + D\n",
"Final concentrations: [C] = 6.379 ; [D] = 1.689 ; [A] = 4.311\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 2.5\n",
" Formula used: ([C][D]) / [A]\n",
"2. Ratio of forward/reverse reaction rates: 2.5\n",
"Discrepancy between the two values: 0 %\n",
"Reaction IS in equilibrium (within 1% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the reaction has reached equilibrium\n",
"bio.reaction_dynamics.is_in_equilibrium(rxn_index=0, conc=bio.bin_snapshot(bin_address = 0))"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "9c836591-3896-44ac-8d0b-6fc948411f2a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" C | \n",
" D | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.00 | \n",
" 4.000000 | \n",
" 7.000000 | \n",
" 2.000000 | \n",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.20 | \n",
" 5.600000 | \n",
" 3.800000 | \n",
" 0.400000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.25 | \n",
" 4.352000 | \n",
" 6.296000 | \n",
" 1.648000 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.30 | \n",
" 4.301581 | \n",
" 6.396838 | \n",
" 1.698419 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.35 | \n",
" 4.312637 | \n",
" 6.374726 | \n",
" 1.687363 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.40 | \n",
" 4.310125 | \n",
" 6.379749 | \n",
" 1.689875 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.45 | \n",
" 4.310692 | \n",
" 6.378617 | \n",
" 1.689308 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.50 | \n",
" 4.310564 | \n",
" 6.378872 | \n",
" 1.689436 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.55 | \n",
" 4.310593 | \n",
" 6.378815 | \n",
" 1.689407 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.60 | \n",
" 4.310586 | \n",
" 6.378828 | \n",
" 1.689414 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.65 | \n",
" 4.310588 | \n",
" 6.378825 | \n",
" 1.689412 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.70 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.75 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.80 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.85 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.90 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.95 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 1.00 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 1.05 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 1.10 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 1.15 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 1.20 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 1.25 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 23 | \n",
" 1.30 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 1.35 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 1.40 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 1.45 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 1.50 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 1.55 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 1.60 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 1.65 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 1.70 | \n",
" 4.310587 | \n",
" 6.378825 | \n",
" 1.689413 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A C D caption\n",
"0 0.00 4.000000 7.000000 2.000000 Initial state\n",
"1 0.20 5.600000 3.800000 0.400000 \n",
"2 0.25 4.352000 6.296000 1.648000 \n",
"3 0.30 4.301581 6.396838 1.698419 \n",
"4 0.35 4.312637 6.374726 1.687363 \n",
"5 0.40 4.310125 6.379749 1.689875 \n",
"6 0.45 4.310692 6.378617 1.689308 \n",
"7 0.50 4.310564 6.378872 1.689436 \n",
"8 0.55 4.310593 6.378815 1.689407 \n",
"9 0.60 4.310586 6.378828 1.689414 \n",
"10 0.65 4.310588 6.378825 1.689412 \n",
"11 0.70 4.310587 6.378825 1.689413 \n",
"12 0.75 4.310587 6.378825 1.689413 \n",
"13 0.80 4.310587 6.378825 1.689413 \n",
"14 0.85 4.310587 6.378825 1.689413 \n",
"15 0.90 4.310587 6.378825 1.689413 \n",
"16 0.95 4.310587 6.378825 1.689413 \n",
"17 1.00 4.310587 6.378825 1.689413 \n",
"18 1.05 4.310587 6.378825 1.689413 \n",
"19 1.10 4.310587 6.378825 1.689413 \n",
"20 1.15 4.310587 6.378825 1.689413 \n",
"21 1.20 4.310587 6.378825 1.689413 \n",
"22 1.25 4.310587 6.378825 1.689413 \n",
"23 1.30 4.310587 6.378825 1.689413 \n",
"24 1.35 4.310587 6.378825 1.689413 \n",
"25 1.40 4.310587 6.378825 1.689413 \n",
"26 1.45 4.310587 6.378825 1.689413 \n",
"27 1.50 4.310587 6.378825 1.689413 \n",
"28 1.55 4.310587 6.378825 1.689413 \n",
"29 1.60 4.310587 6.378825 1.689413 \n",
"30 1.65 4.310587 6.378825 1.689413 \n",
"31 1.70 4.310587 6.378825 1.689413 "
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"bio.get_history()"
]
},
{
"cell_type": "markdown",
"id": "16c85241-2b62-4ac8-bd44-f6231f6ef685",
"metadata": {},
"source": [
"C and D get depleted, while A gets produced.\n",
"A wild overshoot is present at t=0.2"
]
},
{
"cell_type": "markdown",
"id": "c8219705-f08b-41c1-b585-9a01ff80f4ab",
"metadata": {
"tags": []
},
"source": [
"# Plots of changes of concentration with time"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "115692eb-8fc8-48b6-8f20-7053a7e9de54",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "navy",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.2,
0.25,
0.3,
0.35,
0.39999999999999997,
0.44999999999999996,
0.49999999999999994,
0.5499999999999999,
0.6,
0.65,
0.7000000000000001,
0.7500000000000001,
0.8000000000000002,
0.8500000000000002,
0.9000000000000002,
0.9500000000000003,
1.0000000000000002,
1.0500000000000003,
1.1000000000000003,
1.1500000000000004,
1.2000000000000004,
1.2500000000000004,
1.3000000000000005,
1.3500000000000005,
1.4000000000000006,
1.4500000000000006,
1.5000000000000007,
1.5500000000000007,
1.6000000000000008,
1.6500000000000008,
1.7000000000000008
],
"xaxis": "x",
"y": [
4,
5.6,
4.351999999999999,
4.3015808,
4.312636915785728,
4.310125447697398,
4.3106916519678125,
4.310563782331762,
4.310592648763124,
4.310586131626044,
4.31058760296257,
4.3105872707859065,
4.310587345779779,
4.310587328848781,
4.310587332671209,
4.310587331808239,
4.310587332003067,
4.3105873319590815,
4.310587331969011,
4.31058733196677,
4.310587331967276,
4.310587331967161,
4.310587331967187,
4.310587331967182,
4.3105873319671835,
4.310587331967183,
4.310587331967183,
4.310587331967183,
4.310587331967183,
4.310587331967183,
4.310587331967183,
4.310587331967183
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=C
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "C",
"line": {
"color": "violet",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "C",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.2,
0.25,
0.3,
0.35,
0.39999999999999997,
0.44999999999999996,
0.49999999999999994,
0.5499999999999999,
0.6,
0.65,
0.7000000000000001,
0.7500000000000001,
0.8000000000000002,
0.8500000000000002,
0.9000000000000002,
0.9500000000000003,
1.0000000000000002,
1.0500000000000003,
1.1000000000000003,
1.1500000000000004,
1.2000000000000004,
1.2500000000000004,
1.3000000000000005,
1.3500000000000005,
1.4000000000000006,
1.4500000000000006,
1.5000000000000007,
1.5500000000000007,
1.6000000000000008,
1.6500000000000008,
1.7000000000000008
],
"xaxis": "x",
"y": [
7,
3.8,
6.296,
6.3968384,
6.374726168428544,
6.379749104605204,
6.378616696064373,
6.378872435336473,
6.37881470247375,
6.378827736747909,
6.378824794074859,
6.378825458428185,
6.378825308440439,
6.378825342302434,
6.378825334657579,
6.37882533638352,
6.378825335993863,
6.378825336081833,
6.378825336061973,
6.378825336066456,
6.378825336065444,
6.378825336065673,
6.3788253360656215,
6.378825336065633,
6.37882533606563,
6.378825336065631,
6.378825336065631,
6.378825336065631,
6.378825336065631,
6.378825336065631,
6.378825336065631,
6.378825336065631
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=D
SYSTEM TIME=%{x}
concentration=%{y}",
"legendgroup": "D",
"line": {
"color": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "D",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.2,
0.25,
0.3,
0.35,
0.39999999999999997,
0.44999999999999996,
0.49999999999999994,
0.5499999999999999,
0.6,
0.65,
0.7000000000000001,
0.7500000000000001,
0.8000000000000002,
0.8500000000000002,
0.9000000000000002,
0.9500000000000003,
1.0000000000000002,
1.0500000000000003,
1.1000000000000003,
1.1500000000000004,
1.2000000000000004,
1.2500000000000004,
1.3000000000000005,
1.3500000000000005,
1.4000000000000006,
1.4500000000000006,
1.5000000000000007,
1.5500000000000007,
1.6000000000000008,
1.6500000000000008,
1.7000000000000008
],
"xaxis": "x",
"y": [
2,
0.3999999999999999,
1.6480000000000001,
1.6984192,
1.687363084214272,
1.6898745523026022,
1.6893083480321869,
1.6894362176682367,
1.6894073512368748,
1.6894138683739546,
1.6894123970374295,
1.6894127292140924,
1.6894126542202195,
1.689412671151217,
1.689412667328789,
1.6894126681917596,
1.689412667996931,
1.6894126680409165,
1.6894126680309862,
1.689412668033228,
1.689412668032722,
1.6894126680328363,
1.6894126680328105,
1.6894126680328163,
1.689412668032815,
1.6894126680328154,
1.6894126680328152,
1.6894126680328152,
1.6894126680328152,
1.6894126680328152,
1.6894126680328152,
1.6894126680328152
],
"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": "Reaction A <-> 2C + D . Changes in concentrations"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
1.7000000000000008
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
0.03333333333333327,
7.366666666666666
],
"title": {
"text": "concentration"
},
"type": "linear"
}
}
},
"image/png": "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zvSmKhIgQIAAAQIECBAgQIAAAQIECBAg0KKAkLNFbEMRIECAAAECBAgQIECAAAECBAgQIJBeQMiZ3lRFAgQIECBAgAABAgQIECBAgAABAgRaFBBytohtKAIECBAgQIAAAQIECBAgQIAAAQIE0gsIOdObqkiAAAECBAgQIECAAAECBAgQIECAQIsCQs4WsQ1FgAABAgQIECBAgAABAgQIECBAgEB6ASFnelMVCRAgQIAAAQIECBAgQIAAAQIECBBoUUDI2SK2oQgQIECAAAECBAgQIECAAAECBAgQSC8g5ExvqiIBAgQIECBAgAABAgQIECBAgAABAi0KCDlbxDYUAQIECBAgQIAAAQIECBAgQIAAAQLpBYSc6U1VJECAAAECBAgQIECAAAECBAgQIECgRQEhZ4vYhiJAgAABAgQIECBAgAABAgQIECBAIL2AkDO9qYoECBAgQIAAAQIECBAgQIAAAQIECLQoIORsEdtQBAgQIECAAAECBAgQIECAAAECBAikFxBypjdVkQABAgQIECBAgAABAgQIECBAgACBFgWEnC1iG4oAAQIECBAgQIAAAQIECBAgQIAAgfQCQs70pioSIECAAAECBAiPX9DvAAAB7UlEQVQQIECAAAECBAgQINCigJCzRWxDESBAgAABAgQIECBAgAABAgQIECCQXkDImd5URQIECBAgQIAAAQIECBAgQIAAAQIEWhQQcraIbSgCBAgQIECAAAECBAgQIECAAAECBNILCDnTm6pIgAABAgQIECBAgAABAgQIECBAgECLAkLOFrENRYAAAQIECBAgQIAAAQIECBAgQIBAegEhZ3pTFQkQIECAAAECBAgQIECAAAECBAgQaFFAyNkitqEIECBAgAABAgQIECBAgAABAgQIEEgvIORMb6oiAQIECBAgQIAAAQIECBAgQIAAAQItCgg5W8Q2FAECBAgQIECAAAECBAgQIECAAAEC6QWEnOlNVSRAgAABAgQIECBAgAABAgQIECBAoEUBIWeL2IYiQIAAAQIECBAgQIAAAQIECBAgQCC9gJAzvamKBAgQIECAAAECBAgQIECAAAECBAi0KCDkbBHbUAQIECBAgAABAgQIECBAgAABAgQIpBcQcqY3VZEAAQIECBAgQIAAAQIECBAgQIAAgRYFhJwtYhuKAAECBAgQIECAAAECBAgQIECAAIH0AkLO9KYqEiBAgAABAgQIECBAgAABAgQIECDQooCQs0VsQxEgQIAAAQIECBAgQIAAAQIECBAgkF7g/wHmEb3jtPQ9vgAAAABJRU5ErkJggg==",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = px.line(data_frame=bio.get_history(), x=\"SYSTEM TIME\", y=[\"A\", \"C\", \"D\"], \n",
" title=\"Reaction A <-> 2C + D . Changes in concentrations\",\n",
" color_discrete_sequence = ['navy', 'violet', 'red'],\n",
" labels={\"value\":\"concentration\", \"variable\":\"Chemical\"})\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "42921718-2075-4098-b55d-60a9df1e5f93",
"metadata": {},
"source": [
"### Notice the **wild overshoot** present at t=0.2 ! (Too large a time step, early in the reaction!)\n",
"Variable, adaptive time steps are explored at length in the _\"reactions_single_compartment\"_ experiments"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7d9e829a-3644-4769-8c4e-5596b678337f",
"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
}