{ "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: July 14, 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\") , (\"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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEACDcaption
004.07.02.0Initial state
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEACDcaption
00.04.07.02.0Initial state
10.25.63.80.4
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEACDcaption
00.004.0000007.0000002.000000Initial state
10.205.6000003.8000000.400000
20.254.3520006.2960001.648000
30.304.3015816.3968381.698419
40.354.3126376.3747261.687363
50.404.3101256.3797491.689875
60.454.3106926.3786171.689308
70.504.3105646.3788721.689436
80.554.3105936.3788151.689407
90.604.3105866.3788281.689414
100.654.3105886.3788251.689412
110.704.3105876.3788251.689413
120.754.3105876.3788251.689413
130.804.3105876.3788251.689413
140.854.3105876.3788251.689413
150.904.3105876.3788251.689413
160.954.3105876.3788251.689413
171.004.3105876.3788251.689413
181.054.3105876.3788251.689413
191.104.3105876.3788251.689413
201.154.3105876.3788251.689413
211.204.3105876.3788251.689413
221.254.3105876.3788251.689413
231.304.3105876.3788251.689413
241.354.3105876.3788251.689413
251.404.3105876.3788251.689413
261.454.3105876.3788251.689413
271.504.3105876.3788251.689413
281.554.3105876.3788251.689413
291.604.3105876.3788251.689413
301.654.3105876.3788251.689413
311.704.3105876.3788251.689413
\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": "iVBORw0KGgoAAAANSUhEUgAABbMAAAFoCAYAAABtzWbpAAAAAXNSR0IArs4c6QAAIABJREFUeF7svQmUXcV57/udsbsFrZbEIJCsAYFthJknCZBaAnxzbRzHeThgCI5NsDEPfG8uwxJXws+P8BIjAgvwclbgKtiExBCwcMhATCYbawI0MNkChAdAEiBAgIQQUveZ36p9+rROH53us6t771O1a//OWl4W3XWqvu/3r27Er6trJyqVSkV4QQACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQsJpBAZlucDqVBAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICARwCZzUaAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB6wkgs62PiAIhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAmc0egAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAesJILOtj4gCIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAJnNHoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHrCSCzrY+IAiEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQACZzR6AAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB6wkgs62PiAIhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAmc0egAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAesJILOtj4gCIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAJnNHoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHrCSCzrY+IAiEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQACZzR6AAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB6wkgs62PiAIhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAmc0egAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAesJILOtj4gCIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAJnNHoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHrCSCzrY+IAiEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQACZzR6AAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB6wkgs62PiAIhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAmc0egAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAesJILOtj4gCIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAJnNHoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHrCSCzrY+IAiEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQACZzR6AAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB6wkgs62PiAIhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAmc0egAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAesJILOtj4gCIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAJnNHoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHrCSCzrY+IAiEAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAEIQACZzR6AAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAAB6wkgs62PiAIhAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCEAAmc0egAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCAAAesJILOtj4gCIQABCEAAAhCAAAQgAAEIQAACEIAABCAAAQhAAJnNHoAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQgAAHrCSCzrY+IAiEAAV0CdyxbLuuff1nuvuUamdjTrft2xkMAAhCAAAQgAAEIQAACEIAABCAAAQhYSACZ7TOUDc+/LJdefct+ow+ffJAsu/U6OXLGFJ8zhTNs567dcuXiO+X0E4+Wa6+4cMgir2zZJldcf7ucd86c/T4XTjXDz/rIY6vk27feK7ZwC6P/Znvlz66/TM4/r7fpcn39ebnxtnvlJz9bO+Tznzt3rty06DLp6syGUaZWLWrwcbNnGZfDtX2+cdOrQ+r/2sXnDdnbyOx9eGpfc/d9d7GcduLRbdtLLi2kGN71t/8c2vf64eav7ffpUw5t+/cCl/KjFwhAAAIQgAAEIAABCEAAAhBwhwAy22eWNUHZKISUNPvBg4+JaVEUBZldk7Zb33xH3tv5oVz11S8MK3h9xjJkmMriscfXaQunmuwbSTj7rae2T+rnGumHCbXxjeK6xurZF36j3U9tL1z4+YXafGvrqn4bRXptrzeKY79sxjqullPj+rV+1fy1k9jIbGT2WPdb/fuR2UHSZC4IQAACEIAABCAAAQhAAAIQgMDoCSCzfbIbTmbbcnJuJJnts8XQh9Wk7v97zVfkX//rKW+9IE4e1yTrWE5715+mHovUfuFXr0lXZ8d+J/WbyTA/J+b/Y8V6OeqIj2md/A9LZqu8apzaLbSb/ZCgccM+8Mh/yXnnzvWuFUFmh/7lHKsFTMnsWEGmWQhAAAIQgAAEIAABCEAAAhCAgA8CyGwfkOolXuMJ7JFkdu0kaW2J4U7f+r1eotkVC2rOq79xgVz7p38ljVcv1Nbb9s573jUjjSehm83X2F9NuKr3qpe6IqT20j2NXi8Yf/7Ec2P+tf0gJHZj/PVSW7e/kbZSMxk22pPkrbZsmDJbrR1W3cP1NXiif9t239ec1PbazUsulxuW3jP4tTGWr0G/c9b6aPz6P+7oI5r+RkKza2aa/UCl2fU1fvbocHtP3Sneik+rvdbYoxo/3G+v1OYa7mS9uiJp/pzjh1znNNwPlvys2+r7r9/vbc3Wqu+zti/u/NNvyp1//bB3XVDtB2u/ePG3Q75nqvc1/tBtpPmPOmLqsNdH1b7/BcV1tPur1R7h8xCAAAQgAAEIQAACEIAABCAAgSAJILN90hzuZHa9EKndiTycfGs8LarG3Xb3Q3LJ+Z8ePHk73DUPw51M/ev7H5Vz558ikyZ0t7wzu15mN6t7pCsy3nrnfakXS7onFRtPjjdb32cUnkxVV7uM5SR2q7WClNrN9kOYJ/rDltl+Tkm34qvzeT8n2Bvnq+2R+nu+m/32gs7XoN85hxP+zfZ8s96a1dns+4/fr8HhZLb6GmrFR/cHDKqfn61+Rr7x5c9Ls+9lzfZ9/Q/V6kV3s56H+97abN2tDT/8aPz+W2Pv53vbSKxH+n6k3qde9fflN5ur1Z3Z9c9CCIPrWPaXztcyYyEAAQhAAAIQgAAEIAABCEAAAmMlgMz2SVBHrKixS5bes99dx34FbuP7/Vwh4ufO7JrMHule5EapMlzNusK0GT/dqyBqc4QpsRu3QxBrNruaw0+mPrfmfsN0s6mfYKS9URs3Grk82l7U+/x+3dSvMdzeUvt7+aMrWp7wbvY17HfOWr1Ll1w+5IGLzXJRc769fcd+1+00fh0Ot/Zw19rUsxjpZHbtjvHaeL98/Ij04cY05jnc10JtLx526KTBh3v6Wdfv91+d722tZLY65d7Icrg932wf6MjsMLiOZX+N5Wub90IAAhCAAAQgAAEIQAACEIAABHQJILN9Emv2K9jqrc1+zX84QdVMzqg5mv2aeb2wHU6O1ZeuI7NHkp2N0rmV8Kk/MTgSymayZLjT7sPNMxqx3Cy3+tOoreIfzZr1c9b4HTypZ4jsClJmD3dNQWNvfvqOg8y+62//eb8fNLX6GlQsR5LZ9XO2EpO1B3OO9HXY+DVfq6/xmpRW+7f2/aWxZ7+9DDf/cN/j6scPN6Zx77eS2WrO2t36Y1m38fuvzve2scjs+hPg9Xz8/KZLMzZhcB3L/vKzBxkDAQhAAAIQgAAEIAABCEAAAhAIigAy2yfJRvFakwzq7fUn8prdf9u4RO1X6WtzvLdj1xC51niy0I/01ZHZI510bfycjvAZDmWzu7nrx+o+TDAq14wMJ7JV71wz4vMLr+5k9nnnzBk8odvq3X5lrd+vQR2ZPdzajfJ6OMlZ31v9D8uaCXc/DyvVPZndTPbX1+TnBx4jjWn8XH8u1/SKpMZxqoYbb6ve2T/cg2N1vv/qfG8brcyufa+qz2ksJ7PD4NrVmfWYjnZ/tfpa5PMQgAAEIAABCEAAAhCAAAQgAIEgCSCzfdJsJpSHk5V+Tg/W5EEzcdQos6N+Mnu0IqhVNGFI7aDuyh5JZNf6CutBimFfMxJW3cPlPZYHQDa7RsPPKWrda0Ya52x2lUljLkHkpB422OohkEHL7JrYb3Y9Sn2GYZwg9vO91c8YVWfYMrvV/LUT+iP9u6BdJ7Mbv/bqfyjQan+1+j7N5yEAAQhAAAIQgAAEIAABCEAAAkESQGb7pDnc6ejax+t//d/Pva41IdTsrlWdO7Nrd+ZOmXywd2qx/n7ZWmuNUiXIO7NbXTPS6hRnEA8TDEJq10tsP6ddR9o2zfZEs/F+7p72cydy49xBSFI1Z7PTr6O5v9rnl9iIw/zsk1Vrf+E90HBiT7fvK0GGO0U9Fpk93PeKxlxafW3UA/mPFeuld+6JUjtFO5KMbQQZhswe7nuc6mnV2uflvy883Tvp2+yHdbp3ZtfvxbGs28illWyu/9423D3crb6PX3r1Lfv9sKHZ1+dw8zeT2WFwHcv+CuLrmzkgAAEIQAACEIAABCAAAQhAAAJ+CSCzfZIa6aqP2q9n167LqEmqZ1/4TdO7edWS55/XK83mHO6O5mYyr1GADCfmmkmbZiK12Ro6wmckYVt7+GTjGB2h1yqq0Z4YruU3Vomt6qsx9Ht1ynDie6Q91IpDWDK79kMDv72pOoe7jqdVD80+3/h1VhvTbA2/14zofA36nbPZnq4/6Vq/z2pfXycf+/EhPzxQ42+7+yG55PxPy5EzpjSV835/aBaGzG52Wr7xTupmY5pdr6NzZ7bOuq2+/+p8bxvphzitrpWpl+L1Vy412weN3yebsQmDa7Me/O6v0Xwt8x4IQAACEIAABCAAAQhAAAIQgMBoCSCzfZJrdW91TfQ1ntD+9q3VO15rr8aH8DU+oFCJwvlzjpclS+/ZT4Q3u2O3/lfAG++LrdWy7Z335Irrb5fhRMnGTa8O1tf4K+U6wqcZSj+C2SVpUtsHw22rZiJ4uHt+R/Owv3qBXH+Ngc9tLiPdOeznAZKN6wQps+t7q9+z6uONXP2KZ/Vev1+DOnM2clQPdF265HK5fdlyacxlOOb1PTUb4zePMGR2LefG/d5szzaOacxKR2brrNvsDuh6Zrrf2xr3Se175XD7otl+VevfvORyuWHpPfvtg2bzH3XE1Kb3iau5g+Q6lv3l93sL4yAAAQhAAAIQgAAEIAABCEAAAkEQQGYHQZE5IAABCLQg4OfueyBCAAIQgAAEIAABCEAAAhCAAAQgAAEIDE8Amc3ugAAEIBAwAXVqVv2GxWknHj04s98HEwZcCtNBAAIQgAAEIAABCEAAAhCAAAQgAAFnCCCznYmSRiAAAVsINLtuRueucVv6oA4IQAACEIAABCAAAQhAAAIQgAAEIGATAWS2TWlQCwQgAAEIQAACEIAABCAAAQhAAAIQgAAEIAABCDQlgMxmY0AAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgID1BJDZ1kdEgRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIIDMZg9AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICA9QSQ2dZHRIEQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCAzGYPQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAgPUEkNnWR0SBEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQggMxmD0AAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgID1BJDZ1kdEgRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIIDMZg9AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICA9QSQ2dZHRIEQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCAzGYPQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAgPUEkNnWR0SBEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQggMxmD0AAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgID1BJDZ1kdEgRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIIDMZg9AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICA9QSQ2dZHRIEQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCAzGYPQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAgPUEkNnWR0SBEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQggMxmD0AAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgID1BJDZ1kdEgRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIIDMZg9AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICA9QSQ2dZHRIEQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCAzGYPQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAgPUEkNnWR0SBEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQggMxmD0AAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgID1BJDZ1kdEgRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIIDMZg9AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICA9QSQ2dZHRIEQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCAzGYPQAACEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAgPUEkNnWR0SBEIAABCAAAQhAAAIQgAAEIAABCEAAAhCAAAQggMxmD0AAAhCAAAQgAAEIQAACEIAABCAAAQhAAAIQgID1BJDZ1kdEgRCAAAQgAAEIQAACEIAABCAAAQhAAAIQgAAEIIDMZg9AAAIQgAAEIAABCEAAAhCAAAQgAAEIQAACEICA9QSQ2dZHRIEQgAAEIAABCEAAAhCAAAQgAAEIQAACEIAABCCAzGYPQAACEIAABCAAAQhA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ESBAgAABAgQIECBAgAABAgQIECBAgEBtAsLs2qh1RIAAAQIECBAgQIAAAQIECBAgQIAAAQJlBYTZZeVcR4AAAQIECBAgQIAAAQIECBAgQIAAAQK1CQiza6PWEQECBAgQIECAAAECBAgQIECAAAECBAiUFRBml5VzHQECBAgQIECAAAECBAgQIECAAAECBAjUJiDMro1aRwQIECBAgAABAgQIECBAgAABAgQIECBQVkCYXVbOdQQIECBAgAABAgQIECBAgAABAgQIECBQm4AwuzZqHREgQIAAAQIECBAgQIAAAQIECBAgQIBAWQFhdlk51xEgQIAAAQIECBAgQIAAAQIECBAgQIBAbQLC7NqodUSAAAECBAgQIECAAAECBAgQIECAAAECZQWE2WXlXEeAAAECBAgQIECAAAECBAgQIECAAAECtQkIs2uj1hEBAgQIECBAgAABAgQIECBAgAABAgQIlBUQZpeVcx0BAgQIECBAgAABAgQIECBAgAABAgQI1CYgzK6NWkcECBAgQIAAAQIECBAgQIAAAQIECBAgUFZAmF1WznUECBAgQIAAAQIECBAgQIAAAQIECBAgUJuAMLs2ah0RIECAAAECBAgQIECAAAECBAgQIECAQFkBYXZZOdcRIECAAAECBAgQIECAAAECBAgQIECAQG0CwuzaqHVEgAABAgQIECBAgAABAgQIECBAgAABAmUFhNll5VxHgAABAgQIECBAgAABAgQIECBAgAABArUJCLNro9YRAQIECBAgQIAAAQIECBAgQIAAAQIECJQVEGaXlXMdAQIECBAgQIAAAQIECBAgQIAAAQIECNQmIMyujVpHBAgQIECAAAECBAgQIECAAAECBAgQIFBWQJhdVs51BAgQIECAAAECBAgQIECAAAECBAgQIFCbgDC7NmodESBAgAABAgQIECBAgAABAgQIECBAgEBZAWF2WTnXESBAgAABAgQIECBAgAABAgQIECBAgEBtAsLs2qh1RIAAAQIECBAgQIAAAQIECBAgQIAAAQJlBYTZZeVcR4AAAQIECBAgQIAAAQIECBAgQIAAAQK1CQiza6PWEQECBAgQIECAAAECBAgQIECAAAECBAiUFRBml5VzHQECBAgQIECAAAECBAgQIECAAAECBAjUJiDMro1aRwQIECBAgAABAgQIECBAgAABAgQIECBQVuD/A84jMAGElLrSAAAAAElFTkSuQmCC", "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 }