{
"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",
"\n",
"LAST REVISED: June 23, 2024 (using v. 1.0 beta34.1)"
]
},
{
"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 life123 import ChemData as chem\n",
"from life123 import BioSim1D\n",
"\n",
"import plotly.express as px\n",
"from life123 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_2\"],\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",
"chem_data.plot_reaction_network(\"vue_cytoscape_2\")"
]
},
{
"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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0QkgZaMz4wkIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAArEJIGVjo+NBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALRCSBlozPjCQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACsQkgZWOj40EIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAtEJIGWjM+MJCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAKxCSBlY6PjQQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC0QkgZaMz4wkIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAArEJIGVjo+NBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALRCSBlozPjCQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACsQkgZWOj40EIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAtEJIGWjM+MJCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAKxCSBlY6PjQQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC0QkgZaMz4wkIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAArEJIGVjo+NBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALRCSBlozPjCQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACsQkgZWOj40EIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAtEJIGWjM+MJCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAKxCSBlY6PjQQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC0QkgZaMz4wkIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAArEJIGVjo+NBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALRCSBlozPjCQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACsQkgZWOj40EIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAtEJIGWjM+MJCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAAKxCSBlY6PjQQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQAAC0QkgZaMz4wkIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAArEJIGVjo+NBCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAALRCSBlozPjCQhAAAIQgAAE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tL2uGd77JlkFxk6CAFI2JlX9BuOZFzYETx99xCFNyRZzOB7LEYGJ1kbrG9NOvftCDPxqcY4WxCSp9Lpe2ofhG2N/1kh7plHXTOv9+tCv+25b6S88DzOPul60mA0v1ouHC2aClPXO681bd7A+WBb7EJhobfDelwXTTqDX9cJ7X9ZOSCDqmuG9L2vHJQJI2f+/vbt3kasK4wB8/wFDXAULBSWosJE0W7ggEazEKgarNEJQEVOksfEjYBGIH40WKQxGJRAQQdC4lYQUQkJAQZsgKZRgoYXgB/gXyBk44+zsztz3Zs8seWef6TJz8p73POem+XFybqbd0isBAgQIECBAgAABAgQIECBAgAABAukFhLLpt9ACCBAgQIAAAQIECBAgQIAAAQIECBDIJCCUzbRbeiVAgAABAgQIECBAgAABAgQIECBAIL2AUDb9FloAAQIECBAgQIAAAQIECBAgQIAAAQKZBISymXZLrwQIECBAgAABAgQIECBAgAABAgQIpBcQyqbfQgsgQIAAAQIECBAgQIAAAQIECBAgQCCTgFA2027plQABAgQIECBAgAABAgQIECBAgACB9AJC2fRbaAEECBAgQIAAAQIECBAgQIAAAQIECGQSEMpm2i29EiBAgAABAgQIECBAgAABAgQIECCQXkAom34LLYAAAQIECBAgQIAAAQIECBAgQIAAgUwCQtlMu6VXAgQIECBAgAABAgQIECBAgAABAgTSCwhl02+hBRAgQIAAAQIECBAgQIAAAQIECBAgkElAKJtpt/RKgAABAgQIECBAgAABAgQIECBAgEB6AaFs+i20AAIECBAgQIAAAQIECBAgQIAAAQIEMgkIZTPtll4JECBAgAABAgQIECBAgAABAgQIEEgvIJRNv4UWQIAAAQIECBAgQIAAAQIECBAgQIBAJgGhbKbd0isBAgQIECBAgAABAgQIECBAgAABAukFhLLpt9ACCBAgQIAAAQIECBAgQIAAAQIECBDIJCCUzbRbeiVAgAABAgQIECBAgAABAgQIECBAIL2AUDb9FloAAQIECBAgQOB/gbOffNmdu7ixheSV5490J198rnvy6MnRb1cvnd0ypvy2sn9f9/WFM6Pf+mo99tTxufQr++8azfPCq+913/14c9uxZ15/qTv6zOHu2eOnul9+/b2rf66DL31zrTv17sfdww/dP+5rulCkj8OPH+o2Ll8f/9UjTz/RvfPmy4PmjazDs0iAAAECBAgQIEAgIiCUjSgZQ4AAAQIECBBIIFBDw88/fKs7tHpg3HEJV69c/WEcapYQc31ttfv0/dfGY954+6Pu2vc3xmFttNZ0eDodqpbfS62//v53ZqhaxtRQdrqv+v28UHZya2qIu10f2/02ZN7IOhI8JlokQIAAAQIECBC4AwSEsnfAJmiBAAECBAgQINBCoISt9QTovHrT4eSNm7e6YydObzqlGq3VMpS9Z2Xf6ERtDZVrXyWo7Qt1I33MCmWj8wplWzylahAgQIAAAQIECBQBoazngAABAgQIECCwJALl+oFHDjyw6QTsrKWVgPHnW7+NTsaW06IlmJw8OTukVplj3gnVSJhZejj46IPdH3/+0913792jqwXK6d3yKd8tMpSNzhtZx5I8SpZBgAABAgQIECCwYAGh7IKBlSdAgAABAgQI7JZADUbrfPVO11nzT97F+tO3FzYNG1qrL5SN3ClbwtH1tYOjO2RLP6W/cmr2g/NfLDyUjczrTtndepLNQ4AAAQIECBBYfgGh7PLvsRUSIECAAAECe1Cg/tf/uvTtrjWoQWp9CdgspiG1dnKnbAll68u3Si/19O6QE6q3c6dsdN4hfezBR86SCRAgQIAAAQIEBggIZQdgGUqAAAECBAgQyChQrgHYuHx9dPp08rPdXbJ965tVq++kbN/1A/X6ghLKlheTnbu4Mb7jdkgYupNQtm/eIX30OfqdAAECBAgQIEBgbwsIZff2/ls9AQIECBAgsCQCJWD97Ksro5Om058aNtYXaNXfZ4Wyt1OrZShb+it32pb7bstnSBi6k1C2b94hfSzJY2UZBAgQIECAAAECCxIQyi4IVlkCBAgQIECAwG4KTF4xMHkitn6/vra65QVg80LZYydOj9qP1modyk7aDQlDdxrKzpt3SB+7uffmIkCAAAECBAgQyCcglM23ZzomQIAAAQIECMwUmHx5Vx00687YvusLhtTqC2WjL/ra7qTvkDB0Vh/12oVqUu/Ynbw2YRp1el4v+vIPjwABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJWAULaVpDoECBAgQIAAAQIECBAgQIAAAQIECBAICAhlA0iGECBAgAABAgQIECBAgAABAgQIECBAoJXAf2k7u9Q8AVgjAAAAAElFTkSuQmCC",
"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
}