{ "cells": [ { "cell_type": "markdown", "id": "49bcb5b0-f19d-4b96-a5f1-e0ae30f66d8f", "metadata": {}, "source": [ "## `A` up-regulates `B` , \n", "### by being *the limiting reagent* in the reaction `A + X <-> 2B` (mostly forward), where `X` is plentiful\n", "1st-order kinetics. \n", "If [A] is low, [B] remains low, too. Then, if [A] goes high, then so does [B]. However, at that point, A can no longer bring B down to any substantial extent.\n", "\n", "See also the experiment \"1D/reactions/up_regulation_1\"\n", "\n", "LAST REVISED: Feb. 5, 2023" ] }, { "cell_type": "code", "execution_count": 1, "id": "d9efa3fd-e95d-4e1c-878a-81ae932b2709", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added 'D:\\Docs\\- MY CODE\\BioSimulations\\life123-Win7' to sys.path\n" ] } ], "source": [ "# Extend the sys.path variable, to contain the project's root directory\n", "import set_path\n", "set_path.add_ancestor_dir_to_syspath(2) # The number of levels to go up \n", " # to reach the project's home, from the folder containing this notebook" ] }, { "cell_type": "code", "execution_count": 2, "id": "01bae555-3dcf-42c1-bddc-9477a37f49f8", "metadata": { "tags": [] }, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from src.modules.reactions.reaction_data import ReactionData as chem\n", "from src.modules.reactions.reaction_dynamics import ReactionDynamics\n", "\n", "import numpy as np\n", "import plotly.express as px\n", "from src.modules.visualization.graphic_log import GraphicLog" ] }, { "cell_type": "code", "execution_count": 3, "id": "cc53849f-351d-49e0-bfa8-22f8d8e22f8e", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'up_regulate_1.log.htm'\n" ] } ], "source": [ "# Initialize the HTML logging\n", "log_file = get_notebook_basename() + \".log.htm\" # Use the notebook base filename for the log file\n", "\n", "# Set up the use of some specified graphic (Vue) components\n", "GraphicLog.config(filename=log_file,\n", " components=[\"vue_cytoscape_1\"],\n", " extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")" ] }, { "cell_type": "markdown", "id": "d6d3ca49-589d-49b7-8424-37c7b01bcacf", "metadata": {}, "source": [ "### Initialize the system" ] }, { "cell_type": "code", "execution_count": 4, "id": "23c15e66-52e4-495b-aa3d-ecddd8d16942", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 1 (at temp. 25 C)\n", "0: A + X <-> 2 B (kF = 8 / kR = 2 / Delta_G = -3,436.56 / K = 4) | 1st order in all reactants & products\n", "[GRAPHIC ELEMENT SENT TO LOG FILE `up_regulate_1.log.htm`]\n" ] } ], "source": [ "# Initialize the system\n", "chem_data = chem(names=[\"A\", \"X\", \"B\"])\n", "\n", "# Reaction A + X <-> 2B , with 1st-order kinetics for all species\n", "chem_data.add_reaction(reactants=[(\"A\") , (\"X\")], products=[(2, \"B\")],\n", " forward_rate=8., reverse_rate=2.)\n", "\n", "chem_data.describe_reactions()\n", "\n", "# Send the plot of the reaction network 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": "d1d0eabb-b5b1-4e15-846d-5e483a5a24a7", "metadata": {}, "source": [ "### Set the initial concentrations of all the chemicals" ] }, { "cell_type": "code", "execution_count": 5, "id": "e80645d6-eb5b-4c78-8b46-ae126d2cb2cf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "3 species:\n", " Species 0 (A). Conc: 5.0\n", " Species 1 (X). Conc: 100.0\n", " Species 2 (B). Conc: 0.0\n" ] } ], "source": [ "dynamics = ReactionDynamics(reaction_data=chem_data)\n", "dynamics.set_conc(conc={\"A\": 5., \"X\": 100., \"B\": 0.},\n", " snapshot=True) # A is scarce, X is plentiful, B is absent\n", "dynamics.describe_state()" ] }, { "cell_type": "markdown", "id": "0b46b395-3f68-4dbd-b0c5-d67a0e623726", "metadata": { "tags": [] }, "source": [ "### Take the initial system to equilibrium" ] }, { "cell_type": "code", "execution_count": 6, "id": "bcf652b8-e0dc-438e-bdbe-02216c1d52a0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "single_compartment_react(): setting abs_fast_threshold to 300.0\n", "30 total step(s) taken\n" ] }, { "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", " \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 TIMEAXBcaption
00.000005.000000100.0000000.000000Initial state
10.000254.00000099.0000002.000000Interm. step, due to the fast rxns: [0]
20.000503.20900098.2090003.582000
30.000752.58048697.5804864.839029Interm. step, due to the fast rxns: [0]
40.001002.07929597.0792955.841410
50.001251.67850396.6785036.642994Interm. step, due to the fast rxns: [0]
60.001501.35727496.3572747.285452
70.001751.09935096.0993507.801299Interm. step, due to the fast rxns: [0]
80.002000.89195795.8919578.216086
90.002250.72500295.7250028.549996Interm. step, due to the fast rxns: [0]
100.002500.59047695.5904768.819049
110.002750.48199795.4819979.036005Interm. step, due to the fast rxns: [0]
120.003000.39447195.3944719.211058
130.003250.32381695.3238169.352368Interm. step, due to the fast rxns: [0]
140.003500.26675795.2667579.466485
150.003750.22066495.2206649.558671Interm. step, due to the fast rxns: [0]
160.004000.18342095.1834209.633160
170.004500.12321995.1232199.753562
180.005000.08608995.0860899.827823
190.005500.06317395.0631739.873654
200.006000.04902595.0490259.901950
210.006500.04028895.0402889.919424
220.007000.03489195.0348919.930217
230.007500.03155895.0315589.936884
240.008000.02949995.0294999.941002
250.008500.02822795.0282279.943546
260.009000.02744195.0274419.945118
270.009500.02695695.0269569.946089
280.010000.02665695.0266569.946689
290.010500.02647095.0264709.947059
300.011000.02635695.0263569.947288
310.011500.02628595.0262859.947430
320.012000.02624195.0262419.947517
330.012500.02621495.0262149.947571
340.013000.02619895.0261989.947604
350.013500.02618795.0261879.947625
360.014000.02618195.0261819.947638
370.014500.02617795.0261779.947646
380.015000.02617595.0261759.947650
\n", "
" ], "text/plain": [ " SYSTEM TIME A X B \\\n", "0 0.00000 5.000000 100.000000 0.000000 \n", "1 0.00025 4.000000 99.000000 2.000000 \n", "2 0.00050 3.209000 98.209000 3.582000 \n", "3 0.00075 2.580486 97.580486 4.839029 \n", "4 0.00100 2.079295 97.079295 5.841410 \n", "5 0.00125 1.678503 96.678503 6.642994 \n", "6 0.00150 1.357274 96.357274 7.285452 \n", "7 0.00175 1.099350 96.099350 7.801299 \n", "8 0.00200 0.891957 95.891957 8.216086 \n", "9 0.00225 0.725002 95.725002 8.549996 \n", "10 0.00250 0.590476 95.590476 8.819049 \n", "11 0.00275 0.481997 95.481997 9.036005 \n", "12 0.00300 0.394471 95.394471 9.211058 \n", "13 0.00325 0.323816 95.323816 9.352368 \n", "14 0.00350 0.266757 95.266757 9.466485 \n", "15 0.00375 0.220664 95.220664 9.558671 \n", "16 0.00400 0.183420 95.183420 9.633160 \n", "17 0.00450 0.123219 95.123219 9.753562 \n", "18 0.00500 0.086089 95.086089 9.827823 \n", "19 0.00550 0.063173 95.063173 9.873654 \n", "20 0.00600 0.049025 95.049025 9.901950 \n", "21 0.00650 0.040288 95.040288 9.919424 \n", "22 0.00700 0.034891 95.034891 9.930217 \n", "23 0.00750 0.031558 95.031558 9.936884 \n", "24 0.00800 0.029499 95.029499 9.941002 \n", "25 0.00850 0.028227 95.028227 9.943546 \n", "26 0.00900 0.027441 95.027441 9.945118 \n", "27 0.00950 0.026956 95.026956 9.946089 \n", "28 0.01000 0.026656 95.026656 9.946689 \n", "29 0.01050 0.026470 95.026470 9.947059 \n", "30 0.01100 0.026356 95.026356 9.947288 \n", "31 0.01150 0.026285 95.026285 9.947430 \n", "32 0.01200 0.026241 95.026241 9.947517 \n", "33 0.01250 0.026214 95.026214 9.947571 \n", "34 0.01300 0.026198 95.026198 9.947604 \n", "35 0.01350 0.026187 95.026187 9.947625 \n", "36 0.01400 0.026181 95.026181 9.947638 \n", "37 0.01450 0.026177 95.026177 9.947646 \n", "38 0.01500 0.026175 95.026175 9.947650 \n", "\n", " caption \n", "0 Initial state \n", "1 Interm. step, due to the fast rxns: [0] \n", "2 \n", "3 Interm. step, due to the fast rxns: [0] \n", "4 \n", "5 Interm. step, due to the fast rxns: [0] \n", "6 \n", "7 Interm. step, due to the fast rxns: [0] \n", "8 \n", "9 Interm. step, due to the fast rxns: [0] \n", "10 \n", "11 Interm. step, due to the fast rxns: [0] \n", "12 \n", "13 Interm. step, due to the fast rxns: [0] \n", "14 \n", "15 Interm. step, due to the fast rxns: [0] \n", "16 \n", "17 \n", "18 \n", "19 \n", "20 \n", "21 \n", "22 \n", "23 \n", "24 \n", "25 \n", "26 \n", "27 \n", "28 \n", "29 \n", "30 \n", "31 \n", "32 \n", "33 \n", "34 \n", "35 \n", "36 \n", "37 \n", "38 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.set_diagnostics() # To save diagnostic information about the call to single_compartment_react()\n", "\n", "dynamics.single_compartment_react(time_step=0.0005, stop_time=0.015,\n", " dynamic_substeps=2, rel_fast_threshold=15)\n", "\n", "df = dynamics.get_history()\n", "df" ] }, { "cell_type": "markdown", "id": "7dc56592-179d-4e4c-b75a-8eb81dcafe71", "metadata": {}, "source": [ "A, as the scarse limiting reagent, stops the reaction. \n", "When A is low, B is also low." ] }, { "cell_type": "code", "execution_count": 7, "id": "b56d1612-a68c-4da3-be37-a7245b6c1a80", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From time 0 to 0.004, in 16 substeps of 0.00025 (each 1/2 of full step)\n", "From time 0.004 to 0.015, in 22 FULL steps of 0.0005\n" ] } ], "source": [ "dynamics.explain_time_advance()" ] }, { "cell_type": "markdown", "id": "962acf15-3b50-40e4-9daa-3dcca7d3291a", "metadata": {}, "source": [ "### Equilibrium" ] }, { "cell_type": "code", "execution_count": 8, "id": "c3afbcc8-bdae-4938-a3f1-ce00d62816f2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A + X <-> 2 B\n", "Final concentrations: [B] = 9.948 ; [A] = 0.02617 ; [X] = 95.03\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.9994\n", " Formula used: [B] / ([A][X])\n", "2. Ratio of forward/reverse reaction rates: 4.0\n", "Discrepancy between the two values: 0.01508 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "dynamics.is_in_equilibrium()" ] }, { "cell_type": "markdown", "id": "cbf6c9c7-8cec-400f-9e70-49ff1a9f485c", "metadata": { "tags": [] }, "source": [ "## Plots of changes of concentration with time" ] }, { "cell_type": "code", "execution_count": 9, "id": "c388dae7-c4a6-4644-a390-958e3862d102", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001 ], "xaxis": "x", "y": [ 5, 4, 3.209, 2.580485638, 2.0792950688861516, 1.6785027747619081, 1.3572740016526168, 1.0993502819058427, 0.8919572359771739, 0.7250022284839096, 0.5904755463808696, 0.48199739428037597, 0.394471248996638, 0.3238160253057102, 0.26675745083582997, 0.22066445865103357, 0.18342016144206266, 0.123219087948701, 0.08608866457775757, 0.06317314967637905, 0.049025043112642115, 0.04028786282420404, 0.03489140677779433, 0.03155801974760916, 0.0294988725695809, 0.028226822514069487, 0.027440989299657974, 0.02695551935561365, 0.026655604561674307, 0.026470321534096522, 0.02635585599638317, 0.026285140481183588, 0.02624145318293099, 0.02621446361159074, 0.0261977897195533, 0.02618748874993918, 0.026181124909194296, 0.02617719338867603, 0.02617476453238695 ], "yaxis": "y" }, { "hovertemplate": "Chemical=X
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "X", "line": { "color": "darkorange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "X", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001 ], "xaxis": "x", "y": [ 100, 99, 98.209, 97.580485638, 97.07929506888615, 96.67850277476191, 96.35727400165261, 96.09935028190584, 95.89195723597717, 95.72500222848392, 95.59047554638087, 95.48199739428038, 95.39447124899664, 95.3238160253057, 95.26675745083583, 95.22066445865103, 95.18342016144206, 95.1232190879487, 95.08608866457776, 95.06317314967637, 95.04902504311264, 95.0402878628242, 95.03489140677779, 95.0315580197476, 95.02949887256958, 95.02822682251407, 95.02744098929966, 95.02695551935562, 95.02665560456168, 95.0264703215341, 95.02635585599639, 95.02628514048119, 95.02624145318293, 95.0262144636116, 95.02619778971956, 95.02618748874994, 95.0261811249092, 95.02617719338868, 95.02617476453239 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001 ], "xaxis": "x", "y": [ 0, 2, 3.582, 4.839028724, 5.841409862227697, 6.642994450476184, 7.285451996694766, 7.801299436188314, 8.216085528045651, 8.54999554303218, 8.81904890723826, 9.036005211439248, 9.211057502006723, 9.352367949388578, 9.466485098328338, 9.55867108269793, 9.633159677115872, 9.753561824102595, 9.827822670844482, 9.873653700647239, 9.901949913774713, 9.91942427435159, 9.930217186444409, 9.93688396050478, 9.941002254860836, 9.943546354971858, 9.945118021400681, 9.946088961288769, 9.946688790876648, 9.947059356931803, 9.947288288007229, 9.947429719037629, 9.947517093634135, 9.947571072776816, 9.947604420560891, 9.94762502250012, 9.94763775018161, 9.947645613222646, 9.947650470935224 ], "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 + X <-> 2 B . Changes in concentrations with time" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.01500000000000001 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -5.555555555555555, 105.55555555555556 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_curves(colors=['red', 'darkorange', 'green'])" ] }, { "cell_type": "markdown", "id": "448ec7fa-6529-438b-84ba-47888c2cd080", "metadata": { "tags": [] }, "source": [ "# Now, let's suddenly increase [A]" ] }, { "cell_type": "code", "execution_count": 10, "id": "7245be7a-c9db-45f5-b033-d6c521237a9c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.015:\n", "3 species:\n", " Species 0 (A). Conc: 50.0\n", " Species 1 (X). Conc: 95.02617476453239\n", " Species 2 (B). Conc: 9.947650470935224\n" ] } ], "source": [ "dynamics.set_chem_conc(species_name=\"A\", conc=50., snapshot=True)\n", "dynamics.describe_state()" ] }, { "cell_type": "code", "execution_count": 11, "id": "e5ce5d59", "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", "
SYSTEM TIMEAXBcaption
350.01350.02618795.0261879.947625
360.01400.02618195.0261819.947638
370.01450.02617795.0261779.947646
380.01500.02617595.0261759.947650
390.015050.00000095.0261759.947650Set concentration of `A`
\n", "
" ], "text/plain": [ " SYSTEM TIME A X B caption\n", "35 0.0135 0.026187 95.026187 9.947625 \n", "36 0.0140 0.026181 95.026181 9.947638 \n", "37 0.0145 0.026177 95.026177 9.947646 \n", "38 0.0150 0.026175 95.026175 9.947650 \n", "39 0.0150 50.000000 95.026175 9.947650 Set concentration of `A`" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_history(tail=5)" ] }, { "cell_type": "markdown", "id": "24455d58-a0ea-43fa-b6ad-95c42a8b34b2", "metadata": {}, "source": [ "### Again, take the system to equilibrium" ] }, { "cell_type": "code", "execution_count": 12, "id": "c06fd8d8-d550-4e35-a239-7b91bee32be9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "single_compartment_react(): setting abs_fast_threshold to 300.0\n", "40 total step(s) taken\n" ] }, { "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", "
SYSTEM TIMEAXBcaption
00.000005.000000100.0000000.000000Initial state
10.000254.00000099.0000002.000000Interm. step, due to the fast rxns: [0]
20.000503.20900098.2090003.582000
30.000752.58048697.5804864.839029Interm. step, due to the fast rxns: [0]
40.001002.07929597.0792955.841410
..................
970.033000.61235845.638533108.722934
980.033500.60929345.635467108.729065
990.034000.60680045.632975108.734050
1000.034500.60477445.630949108.738103
1010.035000.60312645.629301108.741398
\n", "

102 rows × 5 columns

\n", "
" ], "text/plain": [ " SYSTEM TIME A X B \\\n", "0 0.00000 5.000000 100.000000 0.000000 \n", "1 0.00025 4.000000 99.000000 2.000000 \n", "2 0.00050 3.209000 98.209000 3.582000 \n", "3 0.00075 2.580486 97.580486 4.839029 \n", "4 0.00100 2.079295 97.079295 5.841410 \n", ".. ... ... ... ... \n", "97 0.03300 0.612358 45.638533 108.722934 \n", "98 0.03350 0.609293 45.635467 108.729065 \n", "99 0.03400 0.606800 45.632975 108.734050 \n", "100 0.03450 0.604774 45.630949 108.738103 \n", "101 0.03500 0.603126 45.629301 108.741398 \n", "\n", " caption \n", "0 Initial state \n", "1 Interm. step, due to the fast rxns: [0] \n", "2 \n", "3 Interm. step, due to the fast rxns: [0] \n", "4 \n", ".. ... \n", "97 \n", "98 \n", "99 \n", "100 \n", "101 \n", "\n", "[102 rows x 5 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.single_compartment_react(time_step=0.0005, stop_time=0.035,\n", " dynamic_substeps=2, rel_fast_threshold=15)\n", "\n", "df = dynamics.get_history()\n", "df" ] }, { "cell_type": "code", "execution_count": 13, "id": "6de58fe9-ff1e-40dd-9ac7-83eee458f818", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From time 0 to 0.004, in 16 substeps of 0.00025 (each 1/2 of full step)\n", "From time 0.004 to 0.015, in 22 FULL steps of 0.0005\n", "From time 0.015 to 0.026, in 44 substeps of 0.00025 (each 1/2 of full step)\n", "From time 0.026 to 0.035, in 18 FULL steps of 0.0005\n" ] } ], "source": [ "dynamics.explain_time_advance()" ] }, { "cell_type": "code", "execution_count": 14, "id": "2783a665-fca0-44e5-8d42-af2a96eae392", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A + X <-> 2 B\n", "Final concentrations: [B] = 108.7 ; [A] = 0.6031 ; [X] = 45.63\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.95133\n", " Formula used: [B] / ([A][X])\n", "2. Ratio of forward/reverse reaction rates: 4.0\n", "Discrepancy between the two values: 1.217 %\n", "Reaction IS in equilibrium (within 2% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "dynamics.is_in_equilibrium(tolerance=2)" ] }, { "cell_type": "code", "execution_count": 15, "id": "db4e74d0-3f9d-49dc-9553-bf3cdfe785f2", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001, 0.01500000000000001, 0.01525000000000001, 0.01550000000000001, 0.01575000000000001, 0.01600000000000001, 0.01625000000000001, 0.01650000000000001, 0.01675000000000001, 0.01700000000000001, 0.017250000000000012, 0.017500000000000012, 0.017750000000000012, 0.018000000000000013, 0.018250000000000013, 0.018500000000000013, 0.018750000000000013, 0.019000000000000013, 0.019250000000000014, 0.019500000000000014, 0.019750000000000014, 0.020000000000000014, 0.020250000000000015, 0.020500000000000015, 0.020750000000000015, 0.021000000000000015, 0.021250000000000015, 0.021500000000000016, 0.021750000000000016, 0.022000000000000016, 0.022250000000000016, 0.022500000000000017, 0.022750000000000017, 0.023000000000000017, 0.023250000000000017, 0.023500000000000017, 0.023750000000000018, 0.024000000000000018, 0.024250000000000018, 0.02450000000000002, 0.02475000000000002, 0.02500000000000002, 0.02525000000000002, 0.02550000000000002, 0.02575000000000002, 0.02600000000000002, 0.02650000000000002, 0.02700000000000002, 0.02750000000000002, 0.02800000000000002, 0.028500000000000022, 0.029000000000000022, 0.029500000000000023, 0.030000000000000023, 0.030500000000000024, 0.031000000000000024, 0.03150000000000002, 0.03200000000000002, 0.03250000000000002, 0.03300000000000002, 0.03350000000000002, 0.03400000000000002, 0.034500000000000024, 0.035000000000000024 ], "xaxis": "x", "y": [ 5, 4, 3.209, 2.580485638, 2.0792950688861516, 1.6785027747619081, 1.3572740016526168, 1.0993502819058427, 0.8919572359771739, 0.7250022284839096, 0.5904755463808696, 0.48199739428037597, 0.394471248996638, 0.3238160253057102, 0.26675745083582997, 0.22066445865103357, 0.18342016144206266, 0.123219087948701, 0.08608866457775757, 0.06317314967637905, 0.049025043112642115, 0.04028786282420404, 0.03489140677779433, 0.03155801974760916, 0.0294988725695809, 0.028226822514069487, 0.027440989299657974, 0.02695551935561365, 0.026655604561674307, 0.026470321534096522, 0.02635585599638317, 0.026285140481183588, 0.02624145318293099, 0.02621446361159074, 0.0261977897195533, 0.02618748874993918, 0.026181124909194296, 0.02617719338867603, 0.02617476453238695, 50, 40.50235634878223, 33.58861372739016, 28.32887541106691, 24.199388206497083, 20.87973009922755, 18.161629183362436, 15.903254450989198, 14.004372589037727, 12.391970483135696, 11.011504415677024, 9.821348433022477, 8.789147637801983, 7.88935068785959, 7.101496888154638, 6.409000220445344, 5.798268949825632, 5.258056918349029, 4.778977982098067, 4.353137372609081, 3.9738482022760997, 3.6354108729530124, 3.3329395722722297, 3.062224446229078, 2.8196211037318832, 2.6019612763536077, 2.4064800090261476, 2.2307558832773746, 2.0726616004930998, 1.9303228650046815, 1.8020839653054774, 1.6864787982152054, 1.5822063449685664, 1.4881098112187345, 1.4031588001649924, 1.326434010646093, 1.257114048347776, 1.1944640143940777, 1.137825596127681, 1.086608433307008, 1.0402825718971087, 0.9983718491284206, 0.9604480790988044, 0.9261259291063596, 0.895058394063779, 0.8388071869291409, 0.7931897170691729, 0.7561771931081663, 0.72613420760401, 0.7017403231735928, 0.6819280053513752, 0.6658332584105576, 0.6527562080237219, 0.6421295230057174, 0.6334930486360939, 0.6264733843590552, 0.6207674120981156, 0.6161289910841375, 0.6123581973180895, 0.6092926123033446, 0.6068002650228079, 0.6047739095968444, 0.6031263833355216 ], "yaxis": "y" }, { "hovertemplate": "Chemical=X
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "X", "line": { "color": "darkorange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "X", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001, 0.01500000000000001, 0.01525000000000001, 0.01550000000000001, 0.01575000000000001, 0.01600000000000001, 0.01625000000000001, 0.01650000000000001, 0.01675000000000001, 0.01700000000000001, 0.017250000000000012, 0.017500000000000012, 0.017750000000000012, 0.018000000000000013, 0.018250000000000013, 0.018500000000000013, 0.018750000000000013, 0.019000000000000013, 0.019250000000000014, 0.019500000000000014, 0.019750000000000014, 0.020000000000000014, 0.020250000000000015, 0.020500000000000015, 0.020750000000000015, 0.021000000000000015, 0.021250000000000015, 0.021500000000000016, 0.021750000000000016, 0.022000000000000016, 0.022250000000000016, 0.022500000000000017, 0.022750000000000017, 0.023000000000000017, 0.023250000000000017, 0.023500000000000017, 0.023750000000000018, 0.024000000000000018, 0.024250000000000018, 0.02450000000000002, 0.02475000000000002, 0.02500000000000002, 0.02525000000000002, 0.02550000000000002, 0.02575000000000002, 0.02600000000000002, 0.02650000000000002, 0.02700000000000002, 0.02750000000000002, 0.02800000000000002, 0.028500000000000022, 0.029000000000000022, 0.029500000000000023, 0.030000000000000023, 0.030500000000000024, 0.031000000000000024, 0.03150000000000002, 0.03200000000000002, 0.03250000000000002, 0.03300000000000002, 0.03350000000000002, 0.03400000000000002, 0.034500000000000024, 0.035000000000000024 ], "xaxis": "x", "y": [ 100, 99, 98.209, 97.580485638, 97.07929506888615, 96.67850277476191, 96.35727400165261, 96.09935028190584, 95.89195723597717, 95.72500222848392, 95.59047554638087, 95.48199739428038, 95.39447124899664, 95.3238160253057, 95.26675745083583, 95.22066445865103, 95.18342016144206, 95.1232190879487, 95.08608866457776, 95.06317314967637, 95.04902504311264, 95.0402878628242, 95.03489140677779, 95.0315580197476, 95.02949887256958, 95.02822682251407, 95.02744098929966, 95.02695551935562, 95.02665560456168, 95.0264703215341, 95.02635585599639, 95.02628514048119, 95.02624145318293, 95.0262144636116, 95.02619778971956, 95.02618748874994, 95.0261811249092, 95.02617719338868, 95.02617476453239, 95.02617476453239, 85.52853111331461, 78.61478849192255, 73.3550501755993, 69.22556297102948, 65.90590486375994, 63.18780394789483, 60.929429215521594, 59.03054735357012, 57.418145247668086, 56.037679180209416, 54.84752319755487, 53.815322402334374, 52.91552545239198, 52.12767165268703, 51.435174984977735, 50.82444371435802, 50.28423168288141, 49.805152746630455, 49.37931213714147, 49.00002296680849, 48.6615856374854, 48.359114336804616, 48.088399210761466, 47.84579586826427, 47.62813604088599, 47.43265477355853, 47.25693064780976, 47.098836365025484, 46.95649762953707, 46.82825872983786, 46.71265356274759, 46.608381109500954, 46.51428457575112, 46.42933356469738, 46.35260877517848, 46.283288812880166, 46.220638778926464, 46.16400036066007, 46.1127831978394, 46.066457336429494, 46.0245466136608, 45.98662284363119, 45.95230069363874, 45.921233158596166, 45.86498195146153, 45.81936448160156, 45.78235195764056, 45.752308972136404, 45.72791508770599, 45.70810276988377, 45.69200802294296, 45.678930972556124, 45.66830428753812, 45.6596678131685, 45.65264814889146, 45.64694217663052, 45.64230375561654, 45.63853296185049, 45.63546737683574, 45.632975029555205, 45.63094867412924, 45.62930114786792 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001, 0.01500000000000001, 0.01525000000000001, 0.01550000000000001, 0.01575000000000001, 0.01600000000000001, 0.01625000000000001, 0.01650000000000001, 0.01675000000000001, 0.01700000000000001, 0.017250000000000012, 0.017500000000000012, 0.017750000000000012, 0.018000000000000013, 0.018250000000000013, 0.018500000000000013, 0.018750000000000013, 0.019000000000000013, 0.019250000000000014, 0.019500000000000014, 0.019750000000000014, 0.020000000000000014, 0.020250000000000015, 0.020500000000000015, 0.020750000000000015, 0.021000000000000015, 0.021250000000000015, 0.021500000000000016, 0.021750000000000016, 0.022000000000000016, 0.022250000000000016, 0.022500000000000017, 0.022750000000000017, 0.023000000000000017, 0.023250000000000017, 0.023500000000000017, 0.023750000000000018, 0.024000000000000018, 0.024250000000000018, 0.02450000000000002, 0.02475000000000002, 0.02500000000000002, 0.02525000000000002, 0.02550000000000002, 0.02575000000000002, 0.02600000000000002, 0.02650000000000002, 0.02700000000000002, 0.02750000000000002, 0.02800000000000002, 0.028500000000000022, 0.029000000000000022, 0.029500000000000023, 0.030000000000000023, 0.030500000000000024, 0.031000000000000024, 0.03150000000000002, 0.03200000000000002, 0.03250000000000002, 0.03300000000000002, 0.03350000000000002, 0.03400000000000002, 0.034500000000000024, 0.035000000000000024 ], "xaxis": "x", "y": [ 0, 2, 3.582, 4.839028724, 5.841409862227697, 6.642994450476184, 7.285451996694766, 7.801299436188314, 8.216085528045651, 8.54999554303218, 8.81904890723826, 9.036005211439248, 9.211057502006723, 9.352367949388578, 9.466485098328338, 9.55867108269793, 9.633159677115872, 9.753561824102595, 9.827822670844482, 9.873653700647239, 9.901949913774713, 9.91942427435159, 9.930217186444409, 9.93688396050478, 9.941002254860836, 9.943546354971858, 9.945118021400681, 9.946088961288769, 9.946688790876648, 9.947059356931803, 9.947288288007229, 9.947429719037629, 9.947517093634135, 9.947571072776816, 9.947604420560891, 9.94762502250012, 9.94763775018161, 9.947645613222646, 9.947650470935224, 9.947650470935224, 28.942937773370765, 42.7704230161549, 53.2898996488014, 61.54887405794106, 68.18819027248013, 73.62439210421036, 78.14114156895683, 81.93890529285977, 85.16370950466384, 87.92464163958118, 90.30495360489027, 92.36935519533127, 94.16894909521605, 95.74465669462596, 97.12965003004454, 98.35111257128398, 99.43153663423719, 100.3896945067391, 101.24137572571708, 101.99995406638304, 102.67682872502921, 103.28177132639078, 103.82320157847708, 104.30840826347148, 104.74372791822803, 105.13469045288295, 105.4861387043805, 105.80232726994905, 106.08700474092588, 106.34348254032429, 106.57469287450483, 106.7832377809981, 106.97143084849777, 107.14133287060525, 107.29478244964305, 107.43342237423968, 107.55872244214709, 107.67199927867988, 107.77443360432122, 107.86708532714103, 107.95090677267841, 108.02675431273764, 108.09539861272253, 108.15753368280768, 108.27003609707695, 108.3612710367969, 108.4352960847189, 108.4953820557272, 108.54416982458804, 108.58379446023247, 108.6159839541141, 108.64213805488777, 108.66339142492377, 108.68066437366302, 108.6947037022171, 108.70611564673898, 108.71539248876694, 108.72293407629904, 108.72906524632853, 108.7340499408896, 108.73810265174153, 108.74139770426417 ], "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 + X <-> 2 B . Changes in concentrations with time" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.035000000000000024 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -6.0411887613480095, 114.78258646561218 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_curves(colors=['red', 'darkorange', 'green'])" ] }, { "cell_type": "markdown", "id": "158e3787-f2d5-4a01-aaa9-6066e93e584c", "metadata": {}, "source": [ "**A**, still the limiting reagent, is again stopping the reaction. \n", "The (transiently) high value of [A] led to a high value of [B]" ] }, { "cell_type": "markdown", "id": "f6619731-c5ea-484c-af3e-cea50d685361", "metadata": { "tags": [] }, "source": [ "# Let's again suddenly increase [A]" ] }, { "cell_type": "code", "execution_count": 16, "id": "d3618eba-a673-4ff5-85d0-08f5ea592361", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.035:\n", "3 species:\n", " Species 0 (A). Conc: 30.0\n", " Species 1 (X). Conc: 45.62930114786792\n", " Species 2 (B). Conc: 108.74139770426417\n" ] } ], "source": [ "dynamics.set_chem_conc(species_name=\"A\", conc=30., snapshot=True)\n", "dynamics.describe_state()" ] }, { "cell_type": "code", "execution_count": 17, "id": "61eead55-fcef-41cd-b29e-f2d5ad5c6078", "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", "
SYSTEM TIMEAXBcaption
980.03350.60929345.635467108.729065
990.03400.60680045.632975108.734050
1000.03450.60477445.630949108.738103
1010.03500.60312645.629301108.741398
1020.035030.00000045.629301108.741398Set concentration of `A`
\n", "
" ], "text/plain": [ " SYSTEM TIME A X B caption\n", "98 0.0335 0.609293 45.635467 108.729065 \n", "99 0.0340 0.606800 45.632975 108.734050 \n", "100 0.0345 0.604774 45.630949 108.738103 \n", "101 0.0350 0.603126 45.629301 108.741398 \n", "102 0.0350 30.000000 45.629301 108.741398 Set concentration of `A`" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_history(tail=5)" ] }, { "cell_type": "markdown", "id": "0974480d-ca45-46fe-addd-c8d394780fdb", "metadata": {}, "source": [ "### Yet again, take the system to equilibrium" ] }, { "cell_type": "code", "execution_count": 18, "id": "8fe20f9c-05c4-45a4-b485-a51005440200", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "single_compartment_react(): setting abs_fast_threshold to 300.0\n", "70 total step(s) taken\n" ] }, { "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", "
SYSTEM TIMEAXBcaption
00.000005.000000100.0000000.000000Initial state
10.000254.00000099.0000002.000000Interm. step, due to the fast rxns: [0]
20.000503.20900098.2090003.582000
30.000752.58048697.5804864.839029Interm. step, due to the fast rxns: [0]
40.001002.07929597.0792955.841410
..................
2000.068002.33053517.959837164.080327
2010.068502.32719217.956493164.087015
2020.069002.32412617.953427164.093146
2030.069502.32131517.950616164.098768
2040.070002.31873717.948039164.103923
\n", "

205 rows × 5 columns

\n", "
" ], "text/plain": [ " SYSTEM TIME A X B \\\n", "0 0.00000 5.000000 100.000000 0.000000 \n", "1 0.00025 4.000000 99.000000 2.000000 \n", "2 0.00050 3.209000 98.209000 3.582000 \n", "3 0.00075 2.580486 97.580486 4.839029 \n", "4 0.00100 2.079295 97.079295 5.841410 \n", ".. ... ... ... ... \n", "200 0.06800 2.330535 17.959837 164.080327 \n", "201 0.06850 2.327192 17.956493 164.087015 \n", "202 0.06900 2.324126 17.953427 164.093146 \n", "203 0.06950 2.321315 17.950616 164.098768 \n", "204 0.07000 2.318737 17.948039 164.103923 \n", "\n", " caption \n", "0 Initial state \n", "1 Interm. step, due to the fast rxns: [0] \n", "2 \n", "3 Interm. step, due to the fast rxns: [0] \n", "4 \n", ".. ... \n", "200 \n", "201 \n", "202 \n", "203 \n", "204 \n", "\n", "[205 rows x 5 columns]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.single_compartment_react(time_step=0.0005, stop_time=0.070,\n", " dynamic_substeps=2, rel_fast_threshold=15)\n", "\n", "df = dynamics.history.get()\n", "df" ] }, { "cell_type": "code", "execution_count": 19, "id": "35850ec7-e78e-4b57-976c-bc0ad6c824d5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From time 0 to 0.004, in 16 substeps of 0.00025 (each 1/2 of full step)\n", "From time 0.004 to 0.015, in 22 FULL steps of 0.0005\n", "From time 0.015 to 0.026, in 44 substeps of 0.00025 (each 1/2 of full step)\n", "From time 0.026 to 0.035, in 18 FULL steps of 0.0005\n", "From time 0.035 to 0.051, in 64 substeps of 0.00025 (each 1/2 of full step)\n", "From time 0.051 to 0.07, in 38 FULL steps of 0.0005\n" ] } ], "source": [ "dynamics.explain_time_advance()" ] }, { "cell_type": "code", "execution_count": 20, "id": "aff608b1-5c78-4070-845a-118afe7c2108", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "A + X <-> 2 B\n", "Final concentrations: [B] = 164.1 ; [A] = 2.319 ; [X] = 17.95\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.94321\n", " Formula used: [B] / ([A][X])\n", "2. Ratio of forward/reverse reaction rates: 4.0\n", "Discrepancy between the two values: 1.42 %\n", "Reaction IS in equilibrium (within 2% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "dynamics.is_in_equilibrium(tolerance=2)" ] }, { "cell_type": "code", "execution_count": 21, "id": "5af5d869-16ff-4f1d-ab83-4865b42e6376", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001, 0.01500000000000001, 0.01525000000000001, 0.01550000000000001, 0.01575000000000001, 0.01600000000000001, 0.01625000000000001, 0.01650000000000001, 0.01675000000000001, 0.01700000000000001, 0.017250000000000012, 0.017500000000000012, 0.017750000000000012, 0.018000000000000013, 0.018250000000000013, 0.018500000000000013, 0.018750000000000013, 0.019000000000000013, 0.019250000000000014, 0.019500000000000014, 0.019750000000000014, 0.020000000000000014, 0.020250000000000015, 0.020500000000000015, 0.020750000000000015, 0.021000000000000015, 0.021250000000000015, 0.021500000000000016, 0.021750000000000016, 0.022000000000000016, 0.022250000000000016, 0.022500000000000017, 0.022750000000000017, 0.023000000000000017, 0.023250000000000017, 0.023500000000000017, 0.023750000000000018, 0.024000000000000018, 0.024250000000000018, 0.02450000000000002, 0.02475000000000002, 0.02500000000000002, 0.02525000000000002, 0.02550000000000002, 0.02575000000000002, 0.02600000000000002, 0.02650000000000002, 0.02700000000000002, 0.02750000000000002, 0.02800000000000002, 0.028500000000000022, 0.029000000000000022, 0.029500000000000023, 0.030000000000000023, 0.030500000000000024, 0.031000000000000024, 0.03150000000000002, 0.03200000000000002, 0.03250000000000002, 0.03300000000000002, 0.03350000000000002, 0.03400000000000002, 0.034500000000000024, 0.035000000000000024, 0.035000000000000024, 0.035250000000000024, 0.035500000000000025, 0.035750000000000025, 0.036000000000000025, 0.036250000000000025, 0.036500000000000025, 0.036750000000000026, 0.037000000000000026, 0.037250000000000026, 0.037500000000000026, 0.03775000000000003, 0.03800000000000003, 0.03825000000000003, 0.03850000000000003, 0.03875000000000003, 0.03900000000000003, 0.03925000000000003, 0.03950000000000003, 0.03975000000000003, 0.04000000000000003, 0.04025000000000003, 0.04050000000000003, 0.04075000000000003, 0.04100000000000003, 0.04125000000000003, 0.04150000000000003, 0.04175000000000003, 0.04200000000000003, 0.04225000000000003, 0.04250000000000003, 0.04275000000000003, 0.04300000000000003, 0.04325000000000003, 0.04350000000000003, 0.04375000000000003, 0.04400000000000003, 0.04425000000000003, 0.04450000000000003, 0.04475000000000003, 0.04500000000000003, 0.04525000000000003, 0.045500000000000033, 0.045750000000000034, 0.046000000000000034, 0.046250000000000034, 0.046500000000000034, 0.046750000000000035, 0.047000000000000035, 0.047250000000000035, 0.047500000000000035, 0.047750000000000035, 0.048000000000000036, 0.048250000000000036, 0.048500000000000036, 0.048750000000000036, 0.04900000000000004, 0.04925000000000004, 0.04950000000000004, 0.04975000000000004, 0.05000000000000004, 0.05025000000000004, 0.05050000000000004, 0.05075000000000004, 0.05100000000000004, 0.05150000000000004, 0.05200000000000004, 0.05250000000000004, 0.05300000000000004, 0.05350000000000004, 0.05400000000000004, 0.05450000000000004, 0.05500000000000004, 0.05550000000000004, 0.05600000000000004, 0.05650000000000004, 0.057000000000000044, 0.057500000000000044, 0.058000000000000045, 0.058500000000000045, 0.059000000000000045, 0.059500000000000046, 0.060000000000000046, 0.06050000000000005, 0.06100000000000005, 0.06150000000000005, 0.06200000000000005, 0.06250000000000004, 0.06300000000000004, 0.06350000000000004, 0.06400000000000004, 0.06450000000000004, 0.06500000000000004, 0.06550000000000004, 0.06600000000000004, 0.06650000000000005, 0.06700000000000005, 0.06750000000000005, 0.06800000000000005, 0.06850000000000005, 0.06900000000000005, 0.06950000000000005, 0.07000000000000005 ], "xaxis": "x", "y": [ 5, 4, 3.209, 2.580485638, 2.0792950688861516, 1.6785027747619081, 1.3572740016526168, 1.0993502819058427, 0.8919572359771739, 0.7250022284839096, 0.5904755463808696, 0.48199739428037597, 0.394471248996638, 0.3238160253057102, 0.26675745083582997, 0.22066445865103357, 0.18342016144206266, 0.123219087948701, 0.08608866457775757, 0.06317314967637905, 0.049025043112642115, 0.04028786282420404, 0.03489140677779433, 0.03155801974760916, 0.0294988725695809, 0.028226822514069487, 0.027440989299657974, 0.02695551935561365, 0.026655604561674307, 0.026470321534096522, 0.02635585599638317, 0.026285140481183588, 0.02624145318293099, 0.02621446361159074, 0.0261977897195533, 0.02618748874993918, 0.026181124909194296, 0.02617719338867603, 0.02617476453238695, 50, 40.50235634878223, 33.58861372739016, 28.32887541106691, 24.199388206497083, 20.87973009922755, 18.161629183362436, 15.903254450989198, 14.004372589037727, 12.391970483135696, 11.011504415677024, 9.821348433022477, 8.789147637801983, 7.88935068785959, 7.101496888154638, 6.409000220445344, 5.798268949825632, 5.258056918349029, 4.778977982098067, 4.353137372609081, 3.9738482022760997, 3.6354108729530124, 3.3329395722722297, 3.062224446229078, 2.8196211037318832, 2.6019612763536077, 2.4064800090261476, 2.2307558832773746, 2.0726616004930998, 1.9303228650046815, 1.8020839653054774, 1.6864787982152054, 1.5822063449685664, 1.4881098112187345, 1.4031588001649924, 1.326434010646093, 1.257114048347776, 1.1944640143940777, 1.137825596127681, 1.086608433307008, 1.0402825718971087, 0.9983718491284206, 0.9604480790988044, 0.9261259291063596, 0.895058394063779, 0.8388071869291409, 0.7931897170691729, 0.7561771931081663, 0.72613420760401, 0.7017403231735928, 0.6819280053513752, 0.6658332584105576, 0.6527562080237219, 0.6421295230057174, 0.6334930486360939, 0.6264733843590552, 0.6207674120981156, 0.6161289910841375, 0.6123581973180895, 0.6092926123033446, 0.6068002650228079, 0.6047739095968444, 0.6031263833355216, 30, 27.316612629980057, 25.027392934782213, 23.051674124228125, 21.32967067539666, 19.8160663085904, 18.47584543743488, 17.28149745698735, 16.211090893588036, 15.24691552260354, 14.374505171468506, 13.581921626947087, 12.859221327462615, 12.198052373381948, 11.591345988531057, 11.033077463415223, 10.518078907649555, 10.041891114289568, 9.600645287086254, 9.190967807982936, 8.80990295310968, 8.454849716246997, 8.123509813183858, 7.813844616357196, 7.524039273952436, 7.252472648216682, 6.997691997223028, 6.758391546372691, 6.533394267583359, 6.321636317804898, 6.122153693353502, 5.934070739328289, 5.756590219126962, 5.588984701618858, 5.430589065754656, 5.280793956500849, 5.139040053682463, 5.004813037914291, 4.8776391563228785, 4.757081306010494, 4.642735565819565, 4.534228117421404, 4.431212505473866, 4.33336719388669, 4.2403933813557355, 4.152013044483952, 4.067967181164239, 3.9880142305930293, 3.911928649423901, 3.8394996262486054, 3.770529918883031, 3.704834800899358, 3.642241105533966, 3.582586356555814, 3.5257179769373233, 3.47149256725871, 3.4197752467219753, 3.3704390504731165, 3.3233643776481108, 3.278438485184636, 3.2355550229898826, 3.1946136065358237, 3.1555194233760426, 3.1181828704504104, 3.0825192193721658, 3.014377394991857, 2.9522937052697724, 2.8956972134883308, 2.8440760722261977, 2.796970557286497, 2.7539670561166756, 2.7146928596385833, 2.678811633425847, 2.6460194658448506, 2.6160414082636665, 2.5886284366122214, 2.5635547751289236, 2.5406155325844058, 2.5196246090470145, 2.500412837673624, 2.482826331331345, 2.4667250082858025, 2.4519812748935816, 2.438478846341364, 2.4261116890880294, 2.414783070873922, 2.404404706033074, 2.3948959854359293, 2.386183281748301, 2.3781993218548805, 2.37088261929385, 2.36417696040889, 2.3580309386674974, 2.352397532237878, 2.3472337204755624, 2.3425001354577533, 2.3381607451286612, 2.3341825649914694, 2.330535395609492, 2.3271915834667976, 2.3241258029923486, 2.321314857776098, 2.3187374992042704 ], "yaxis": "y" }, { "hovertemplate": "Chemical=X
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "X", "line": { "color": "darkorange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "X", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001, 0.01500000000000001, 0.01525000000000001, 0.01550000000000001, 0.01575000000000001, 0.01600000000000001, 0.01625000000000001, 0.01650000000000001, 0.01675000000000001, 0.01700000000000001, 0.017250000000000012, 0.017500000000000012, 0.017750000000000012, 0.018000000000000013, 0.018250000000000013, 0.018500000000000013, 0.018750000000000013, 0.019000000000000013, 0.019250000000000014, 0.019500000000000014, 0.019750000000000014, 0.020000000000000014, 0.020250000000000015, 0.020500000000000015, 0.020750000000000015, 0.021000000000000015, 0.021250000000000015, 0.021500000000000016, 0.021750000000000016, 0.022000000000000016, 0.022250000000000016, 0.022500000000000017, 0.022750000000000017, 0.023000000000000017, 0.023250000000000017, 0.023500000000000017, 0.023750000000000018, 0.024000000000000018, 0.024250000000000018, 0.02450000000000002, 0.02475000000000002, 0.02500000000000002, 0.02525000000000002, 0.02550000000000002, 0.02575000000000002, 0.02600000000000002, 0.02650000000000002, 0.02700000000000002, 0.02750000000000002, 0.02800000000000002, 0.028500000000000022, 0.029000000000000022, 0.029500000000000023, 0.030000000000000023, 0.030500000000000024, 0.031000000000000024, 0.03150000000000002, 0.03200000000000002, 0.03250000000000002, 0.03300000000000002, 0.03350000000000002, 0.03400000000000002, 0.034500000000000024, 0.035000000000000024, 0.035000000000000024, 0.035250000000000024, 0.035500000000000025, 0.035750000000000025, 0.036000000000000025, 0.036250000000000025, 0.036500000000000025, 0.036750000000000026, 0.037000000000000026, 0.037250000000000026, 0.037500000000000026, 0.03775000000000003, 0.03800000000000003, 0.03825000000000003, 0.03850000000000003, 0.03875000000000003, 0.03900000000000003, 0.03925000000000003, 0.03950000000000003, 0.03975000000000003, 0.04000000000000003, 0.04025000000000003, 0.04050000000000003, 0.04075000000000003, 0.04100000000000003, 0.04125000000000003, 0.04150000000000003, 0.04175000000000003, 0.04200000000000003, 0.04225000000000003, 0.04250000000000003, 0.04275000000000003, 0.04300000000000003, 0.04325000000000003, 0.04350000000000003, 0.04375000000000003, 0.04400000000000003, 0.04425000000000003, 0.04450000000000003, 0.04475000000000003, 0.04500000000000003, 0.04525000000000003, 0.045500000000000033, 0.045750000000000034, 0.046000000000000034, 0.046250000000000034, 0.046500000000000034, 0.046750000000000035, 0.047000000000000035, 0.047250000000000035, 0.047500000000000035, 0.047750000000000035, 0.048000000000000036, 0.048250000000000036, 0.048500000000000036, 0.048750000000000036, 0.04900000000000004, 0.04925000000000004, 0.04950000000000004, 0.04975000000000004, 0.05000000000000004, 0.05025000000000004, 0.05050000000000004, 0.05075000000000004, 0.05100000000000004, 0.05150000000000004, 0.05200000000000004, 0.05250000000000004, 0.05300000000000004, 0.05350000000000004, 0.05400000000000004, 0.05450000000000004, 0.05500000000000004, 0.05550000000000004, 0.05600000000000004, 0.05650000000000004, 0.057000000000000044, 0.057500000000000044, 0.058000000000000045, 0.058500000000000045, 0.059000000000000045, 0.059500000000000046, 0.060000000000000046, 0.06050000000000005, 0.06100000000000005, 0.06150000000000005, 0.06200000000000005, 0.06250000000000004, 0.06300000000000004, 0.06350000000000004, 0.06400000000000004, 0.06450000000000004, 0.06500000000000004, 0.06550000000000004, 0.06600000000000004, 0.06650000000000005, 0.06700000000000005, 0.06750000000000005, 0.06800000000000005, 0.06850000000000005, 0.06900000000000005, 0.06950000000000005, 0.07000000000000005 ], "xaxis": "x", "y": [ 100, 99, 98.209, 97.580485638, 97.07929506888615, 96.67850277476191, 96.35727400165261, 96.09935028190584, 95.89195723597717, 95.72500222848392, 95.59047554638087, 95.48199739428038, 95.39447124899664, 95.3238160253057, 95.26675745083583, 95.22066445865103, 95.18342016144206, 95.1232190879487, 95.08608866457776, 95.06317314967637, 95.04902504311264, 95.0402878628242, 95.03489140677779, 95.0315580197476, 95.02949887256958, 95.02822682251407, 95.02744098929966, 95.02695551935562, 95.02665560456168, 95.0264703215341, 95.02635585599639, 95.02628514048119, 95.02624145318293, 95.0262144636116, 95.02619778971956, 95.02618748874994, 95.0261811249092, 95.02617719338868, 95.02617476453239, 95.02617476453239, 85.52853111331461, 78.61478849192255, 73.3550501755993, 69.22556297102948, 65.90590486375994, 63.18780394789483, 60.929429215521594, 59.03054735357012, 57.418145247668086, 56.037679180209416, 54.84752319755487, 53.815322402334374, 52.91552545239198, 52.12767165268703, 51.435174984977735, 50.82444371435802, 50.28423168288141, 49.805152746630455, 49.37931213714147, 49.00002296680849, 48.6615856374854, 48.359114336804616, 48.088399210761466, 47.84579586826427, 47.62813604088599, 47.43265477355853, 47.25693064780976, 47.098836365025484, 46.95649762953707, 46.82825872983786, 46.71265356274759, 46.608381109500954, 46.51428457575112, 46.42933356469738, 46.35260877517848, 46.283288812880166, 46.220638778926464, 46.16400036066007, 46.1127831978394, 46.066457336429494, 46.0245466136608, 45.98662284363119, 45.95230069363874, 45.921233158596166, 45.86498195146153, 45.81936448160156, 45.78235195764056, 45.752308972136404, 45.72791508770599, 45.70810276988377, 45.69200802294296, 45.678930972556124, 45.66830428753812, 45.6596678131685, 45.65264814889146, 45.64694217663052, 45.64230375561654, 45.63853296185049, 45.63546737683574, 45.632975029555205, 45.63094867412924, 45.62930114786792, 45.62930114786792, 42.94591377784798, 40.656694082650134, 38.68097527209604, 36.95897182326458, 35.445367456458314, 34.1051465853028, 32.910798604855266, 31.840392041455953, 30.876216670471457, 30.003806319336423, 29.211222774815006, 28.48852247533053, 27.82735352124986, 27.220647136398973, 26.66237861128314, 26.147380055517473, 25.671192262157486, 25.229946434954172, 24.820268955850857, 24.439204100977598, 24.084150864114914, 23.752810961051775, 23.443145764225115, 23.153340421820353, 22.881773796084598, 22.626993145090946, 22.38769269424061, 22.162695415451278, 21.950937465672816, 21.75145484122142, 21.563371887196208, 21.38589136699488, 21.218285849486776, 21.059890213622573, 20.910095104368764, 20.76834120155038, 20.63411418578221, 20.506940304190795, 20.38638245387841, 20.27203671368748, 20.16352926528932, 20.060513653341783, 19.962668341754608, 19.86969452922365, 19.781314192351868, 19.697268329032156, 19.617315378460948, 19.541229797291816, 19.46880077411652, 19.399831066750945, 19.334135948767273, 19.27154225340188, 19.21188750442373, 19.155019124805236, 19.100793715126624, 19.04907639458989, 18.99974019834103, 18.952665525516025, 18.90773963305255, 18.8648561708578, 18.823914754403738, 18.78482057124396, 18.747484018318325, 18.711820367240083, 18.643678542859774, 18.58159485313769, 18.52499836135625, 18.473377220094118, 18.426271705154416, 18.383268203984596, 18.343994007506502, 18.308112781293765, 18.27532061371277, 18.245342556131583, 18.21792958448014, 18.19285592299684, 18.169916680452324, 18.148925756914934, 18.129713985541546, 18.112127479199266, 18.096026156153723, 18.0812824227615, 18.067779994209282, 18.05541283695595, 18.04408421874184, 18.033705853900994, 18.02419713330385, 18.015484429616222, 18.007500469722803, 18.000183767161772, 17.99347810827681, 17.987332086535417, 17.981698680105797, 17.97653486834348, 17.97180128332567, 17.967461892996578, 17.963483712859386, 17.959836543477408, 17.956492731334713, 17.953426950860266, 17.950616005644015, 17.948038647072188 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.00025, 0.0005, 0.00075, 0.001, 0.00125, 0.0015, 0.00175, 0.002, 0.0022500000000000003, 0.0025, 0.00275, 0.003, 0.0032500000000000003, 0.0035, 0.00375, 0.004, 0.0045000000000000005, 0.005000000000000001, 0.005500000000000001, 0.006000000000000002, 0.006500000000000002, 0.007000000000000003, 0.007500000000000003, 0.008000000000000004, 0.008500000000000004, 0.009000000000000005, 0.009500000000000005, 0.010000000000000005, 0.010500000000000006, 0.011000000000000006, 0.011500000000000007, 0.012000000000000007, 0.012500000000000008, 0.013000000000000008, 0.013500000000000009, 0.014000000000000009, 0.01450000000000001, 0.01500000000000001, 0.01500000000000001, 0.01525000000000001, 0.01550000000000001, 0.01575000000000001, 0.01600000000000001, 0.01625000000000001, 0.01650000000000001, 0.01675000000000001, 0.01700000000000001, 0.017250000000000012, 0.017500000000000012, 0.017750000000000012, 0.018000000000000013, 0.018250000000000013, 0.018500000000000013, 0.018750000000000013, 0.019000000000000013, 0.019250000000000014, 0.019500000000000014, 0.019750000000000014, 0.020000000000000014, 0.020250000000000015, 0.020500000000000015, 0.020750000000000015, 0.021000000000000015, 0.021250000000000015, 0.021500000000000016, 0.021750000000000016, 0.022000000000000016, 0.022250000000000016, 0.022500000000000017, 0.022750000000000017, 0.023000000000000017, 0.023250000000000017, 0.023500000000000017, 0.023750000000000018, 0.024000000000000018, 0.024250000000000018, 0.02450000000000002, 0.02475000000000002, 0.02500000000000002, 0.02525000000000002, 0.02550000000000002, 0.02575000000000002, 0.02600000000000002, 0.02650000000000002, 0.02700000000000002, 0.02750000000000002, 0.02800000000000002, 0.028500000000000022, 0.029000000000000022, 0.029500000000000023, 0.030000000000000023, 0.030500000000000024, 0.031000000000000024, 0.03150000000000002, 0.03200000000000002, 0.03250000000000002, 0.03300000000000002, 0.03350000000000002, 0.03400000000000002, 0.034500000000000024, 0.035000000000000024, 0.035000000000000024, 0.035250000000000024, 0.035500000000000025, 0.035750000000000025, 0.036000000000000025, 0.036250000000000025, 0.036500000000000025, 0.036750000000000026, 0.037000000000000026, 0.037250000000000026, 0.037500000000000026, 0.03775000000000003, 0.03800000000000003, 0.03825000000000003, 0.03850000000000003, 0.03875000000000003, 0.03900000000000003, 0.03925000000000003, 0.03950000000000003, 0.03975000000000003, 0.04000000000000003, 0.04025000000000003, 0.04050000000000003, 0.04075000000000003, 0.04100000000000003, 0.04125000000000003, 0.04150000000000003, 0.04175000000000003, 0.04200000000000003, 0.04225000000000003, 0.04250000000000003, 0.04275000000000003, 0.04300000000000003, 0.04325000000000003, 0.04350000000000003, 0.04375000000000003, 0.04400000000000003, 0.04425000000000003, 0.04450000000000003, 0.04475000000000003, 0.04500000000000003, 0.04525000000000003, 0.045500000000000033, 0.045750000000000034, 0.046000000000000034, 0.046250000000000034, 0.046500000000000034, 0.046750000000000035, 0.047000000000000035, 0.047250000000000035, 0.047500000000000035, 0.047750000000000035, 0.048000000000000036, 0.048250000000000036, 0.048500000000000036, 0.048750000000000036, 0.04900000000000004, 0.04925000000000004, 0.04950000000000004, 0.04975000000000004, 0.05000000000000004, 0.05025000000000004, 0.05050000000000004, 0.05075000000000004, 0.05100000000000004, 0.05150000000000004, 0.05200000000000004, 0.05250000000000004, 0.05300000000000004, 0.05350000000000004, 0.05400000000000004, 0.05450000000000004, 0.05500000000000004, 0.05550000000000004, 0.05600000000000004, 0.05650000000000004, 0.057000000000000044, 0.057500000000000044, 0.058000000000000045, 0.058500000000000045, 0.059000000000000045, 0.059500000000000046, 0.060000000000000046, 0.06050000000000005, 0.06100000000000005, 0.06150000000000005, 0.06200000000000005, 0.06250000000000004, 0.06300000000000004, 0.06350000000000004, 0.06400000000000004, 0.06450000000000004, 0.06500000000000004, 0.06550000000000004, 0.06600000000000004, 0.06650000000000005, 0.06700000000000005, 0.06750000000000005, 0.06800000000000005, 0.06850000000000005, 0.06900000000000005, 0.06950000000000005, 0.07000000000000005 ], "xaxis": "x", "y": [ 0, 2, 3.582, 4.839028724, 5.841409862227697, 6.642994450476184, 7.285451996694766, 7.801299436188314, 8.216085528045651, 8.54999554303218, 8.81904890723826, 9.036005211439248, 9.211057502006723, 9.352367949388578, 9.466485098328338, 9.55867108269793, 9.633159677115872, 9.753561824102595, 9.827822670844482, 9.873653700647239, 9.901949913774713, 9.91942427435159, 9.930217186444409, 9.93688396050478, 9.941002254860836, 9.943546354971858, 9.945118021400681, 9.946088961288769, 9.946688790876648, 9.947059356931803, 9.947288288007229, 9.947429719037629, 9.947517093634135, 9.947571072776816, 9.947604420560891, 9.94762502250012, 9.94763775018161, 9.947645613222646, 9.947650470935224, 9.947650470935224, 28.942937773370765, 42.7704230161549, 53.2898996488014, 61.54887405794106, 68.18819027248013, 73.62439210421036, 78.14114156895683, 81.93890529285977, 85.16370950466384, 87.92464163958118, 90.30495360489027, 92.36935519533127, 94.16894909521605, 95.74465669462596, 97.12965003004454, 98.35111257128398, 99.43153663423719, 100.3896945067391, 101.24137572571708, 101.99995406638304, 102.67682872502921, 103.28177132639078, 103.82320157847708, 104.30840826347148, 104.74372791822803, 105.13469045288295, 105.4861387043805, 105.80232726994905, 106.08700474092588, 106.34348254032429, 106.57469287450483, 106.7832377809981, 106.97143084849777, 107.14133287060525, 107.29478244964305, 107.43342237423968, 107.55872244214709, 107.67199927867988, 107.77443360432122, 107.86708532714103, 107.95090677267841, 108.02675431273764, 108.09539861272253, 108.15753368280768, 108.27003609707695, 108.3612710367969, 108.4352960847189, 108.4953820557272, 108.54416982458804, 108.58379446023247, 108.6159839541141, 108.64213805488777, 108.66339142492377, 108.68066437366302, 108.6947037022171, 108.70611564673898, 108.71539248876694, 108.72293407629904, 108.72906524632853, 108.7340499408896, 108.73810265174153, 108.74139770426417, 108.74139770426417, 114.10817244430406, 118.68661183469975, 122.63804945580793, 126.08205635347086, 129.10926508708337, 131.78970682939442, 134.17840279028948, 136.31921591708812, 138.2475666590571, 139.99238736132716, 141.57755445037, 143.02295504933895, 144.34529295750028, 145.55870572720207, 146.67524277743374, 147.70523988896508, 148.65761547568505, 149.54010713009168, 150.35946208829833, 151.12159179804485, 151.83169827177022, 152.4943780778965, 153.1137084715498, 153.69331915635934, 154.23645240783085, 154.74601370981816, 155.22461461151883, 155.6746091690975, 156.0981250686544, 156.49709031755722, 156.87325622560766, 157.2282172660103, 157.5634283010265, 157.8802195727549, 158.1798097912625, 158.4633175968993, 158.73177162843564, 158.98611939161844, 159.2272350922432, 159.45592657262506, 159.67294146942137, 159.87897269331646, 160.0746633164908, 160.26061094155273, 160.43737161529629, 160.60546334193572, 160.76536924307814, 160.9175404054164, 161.06239845176697, 161.20033786649813, 161.3317281024655, 161.45691549319625, 161.57622499115254, 161.68996175038953, 161.79841256974674, 161.90184721082022, 162.00051960331794, 162.09466894896795, 162.18452073389489, 162.27028765828442, 162.35217049119254, 162.4303588575121, 162.50503196336336, 162.57635926551984, 162.71264291428045, 162.83681029372462, 162.95000327728752, 163.05324555981178, 163.1474565896912, 163.23346359203083, 163.312011984987, 163.38377443741248, 163.44935877257447, 163.50931488773685, 163.56414083103974, 163.61428815400635, 163.6601666390954, 163.7021484861702, 163.74057202891697, 163.77574504160154, 163.80794768769263, 163.83743515447708, 163.8644400115815, 163.88917432608818, 163.9118315625164, 163.9325882921981, 163.95160573339237, 163.96903114076764, 163.9849990605545, 163.99963246567654, 164.01304378344645, 164.02533582692922, 164.03660263978847, 164.0469302633131, 164.0563974333487, 164.0650762140069, 164.07303257428129, 164.08032691304524, 164.08701453733062, 164.0931460982795, 164.098767988712, 164.10392270585567 ], "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 + X <-> 2 B . Changes in concentrations with time" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.07000000000000005 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -9.11688459476976, 173.22080730062544 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_curves(colors=['red', 'darkorange', 'green'])" ] }, { "cell_type": "markdown", "id": "81a8be4a-f374-494e-b647-184e35707295", "metadata": {}, "source": [ "`A`, again the scarce limiting reagent, stops the reaction yet again. \n", "And, again, the (transiently) high value of [A] up-regulated [B] \n", "\n", "Notes: \n", "`A` can up-regulate `B`, but it cannot bring it down. \n", "`X` will soon need to be replenished, if `A` is to continue being the limiting reagent." ] }, { "cell_type": "code", "execution_count": 22, "id": "1567b6e0-a70a-43f1-8700-cf1bee62d3b4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Min abs distance found at row: 2\n" ] }, { "data": { "text/plain": [ "(0.0004607037505267594, 3.333333333333333)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Look up the some of the intersections of the [A] and [B] curves\n", "dynamics.curve_intersection(t_start=0, t_end=0.01, var1=\"A\", var2=\"B\")" ] }, { "cell_type": "code", "execution_count": 23, "id": "fafceed2-ade8-425a-b17d-6ae9cded8036", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Min abs distance found at row: 41\n" ] }, { "data": { "text/plain": [ "(0.01538932900514749, 36.64921682364508)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.curve_intersection(t_start=0.0151, t_end=0.02, var1=\"A\", var2=\"B\")" ] }, { "cell_type": "markdown", "id": "b557c5ff-5f72-4c1a-bb82-00b8fde262d5", "metadata": {}, "source": [ "Note: the _curve_intersection()_ function currently cannot location the intersection at t=0.015 (the vertical rise in the red line); this issue will get addressed in future versions..." ] }, { "cell_type": "code", "execution_count": null, "id": "7ddbe0ec-53c3-4d25-825a-cbe3bdf8e50a", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "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 }