{
"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: Dec. 6, 2023"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "7d9e829a-3644-4769-8c4e-5596b678337f",
"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": "371d264e",
"metadata": {},
"outputs": [],
"source": [
"from experiments.get_notebook_info import get_notebook_basename\n",
"\n",
"from src.modules.chemicals.chem_data import ChemData as chem\n",
"from src.life_1D.bio_sim_1d import BioSim1D\n",
"\n",
"import plotly.express as px\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\", 1) , (\"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.4 / K = 2.5) | 1st order in all reactants & products\n",
"Set of chemicals involved in the above reactions: {'C', 'D', 'A'}\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: [A] = 4.311 ; [C] = 6.379 ; [D] = 1.689\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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IECAAAECBAgQIEAgtYBwIvV4NUeAAAECBAgQIECAAAECBNoXEE60PyMVEiBAgAABAgQIECBAgACB1ALCidTj1RwBAgQIECBAgAABAgQIEGhfQDjR/oxUSIAAAQIECBAgQIAAAQIEUgsIJ1KPV3MECBAgQIAAAQIECBAgQKB9AeFE+zNSIQECBAgQIECAAAECBAgQSC0gnEg9Xs0RIECAAAECBAgQIECAAIH2BYQT7c9IhQQIECBAgAABAgQIECBAILWAcCL1eDVHgAABAgQIECBAgAABAgTaFxBOtD8jFRIgQIAAAQIECBAgQIAAgdQCwonU49UcAQIECBAgQIAAAQIECBBoX0A40f6MVEiAAAECBAgQIECAAAECBFILCCdSj1dzBAgQIECAAAECBAgQIECgfQHhRPszUiEBAgQIECBAgAABAgQIEEgtIJxIPV7NESBAgAABAgQIECBAgACB9gWEE+3PSIUECBAgQIAAAQIECBAgQCC1gHAi9Xg1R4AAAQIECBAgQIAAAQIE2hcQTrQ/IxUSIECAAAECBAgQIECAAIHUAsKJ1OPVHAECBAgQIECAAAECBAgQaF9AONH+jFRIgAABAgQIECBAgAABAgRSCwgnUo9XcwQIECBAgAABAgQIECBAoH0B4UT7M1IhAQIECBAgQIAAAQIECBBILSCcSD1ezREgQIAAAQIECBAgQIAAgfYFhBPtz0iFBAgQIECAAAECBAgQIEAgtYBwIvV4NUeAAAECBAgQIECAAAECBNoXEE60PyMVEiBAgAABAgQIECBAgACB1ALCidTj1RwBAgQIECBAgAABAgQIEGhf4D/oDJPymz3JlgAAAABJRU5ErkJggg==",
"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": "6b46289d",
"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
}