{ "cells": [ { "cell_type": "markdown", "id": "5cbc8640", "metadata": {}, "source": [ "### A minimalist, \"get-stared\", demonstration for the reaction `A <-> B`,\n", "with 1st-order kinetics in both directions, taken to equilibrium.\n", "\n", "\"No frills!\" For advanced graphics, analysis, diagnostics, fine-tuning, etc, please see other experiments.\n", "\n", "LAST REVISED: June 14, 2024 (using v. 1.0 beta33)" ] }, { "cell_type": "code", "execution_count": 1, "id": "3792d78d-7429-4221-a263-57b07d77b5bc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added 'D:\\Docs\\- MY CODE\\BioSimulations\\life123-Win7' to sys.path\n" ] } ], "source": [ "import set_path # Importing this module will add the project's home directory to sys.path" ] }, { "cell_type": "code", "execution_count": 2, "id": "a29db1c7", "metadata": { "tags": [] }, "outputs": [], "source": [ "from src.modules.reactions.uniform_compartment import UniformCompartment" ] }, { "cell_type": "code", "execution_count": null, "id": "ac9eea69-174c-43e5-9eed-443cbc5e2ba7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "e0529a0c", "metadata": {}, "source": [ "## Initialize the System" ] }, { "cell_type": "code", "execution_count": 3, "id": "78077d8c", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 1 (at temp. 25 C)\n", "0: A <-> B (kF = 3 / kR = 2 / delta_G = -1,005.1 / K = 1.5) | 1st order in all reactants & products\n", "Set of chemicals involved in the above reactions: {'A', 'B'}\n" ] } ], "source": [ "# Instantiate the simulator and specify the chemicals\n", "dynamics = UniformCompartment(names=[\"A\", \"B\"]) \n", "\n", "# Reaction A <-> B , with 1st-order kinetics in both directions\n", "dynamics.add_reaction(reactants=\"A\", products=\"B\", \n", " forward_rate=3., reverse_rate=2.)\n", "\n", "dynamics.describe_reactions()" ] }, { "cell_type": "code", "execution_count": 4, "id": "9fc3948d", "metadata": {}, "outputs": [], "source": [ "# Set the initial concentrations of all the chemicals\n", "dynamics.set_conc({\"A\": 80., \"B\": 10.})" ] }, { "cell_type": "markdown", "id": "987af2c5", "metadata": { "tags": [] }, "source": [ "## Run the reaction" ] }, { "cell_type": "code", "execution_count": 5, "id": "43735178-313b-48cf-a583-5181238feac3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Some steps were backtracked and re-done, to prevent negative concentrations or excessively large concentration changes\n", "47 total step(s) taken\n", "Number of step re-do's because of negative concentrations: 0\n", "Number of step re-do's because of elective soft aborts: 3\n", "Norm usage: {'norm_A': 26, 'norm_B': 22, 'norm_C': 22, 'norm_D': 22}\n" ] } ], "source": [ "dynamics.single_compartment_react(initial_step=0.1, target_end_time=1.) # Using defaults for all other parameters" ] }, { "cell_type": "code", "execution_count": 6, "id": "2d5df59c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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 TIMEABcaption
00.00000080.00000010.000000Initialized state
10.00640078.59200011.408000
20.00960077.91052812.089472
30.01344077.10584612.894154
40.01804876.15876713.841233
50.02357875.04845814.951542
60.02910773.96884616.031154
70.03463772.91908317.080917
80.04016671.89834418.101656
90.04569670.90582719.094173
100.05233269.74773520.252265
110.05896768.62806721.371933
120.06560367.54554622.454454
130.07223866.49894023.501060
140.07887465.48705824.512942
150.08550964.50874925.491251
160.09347263.37372626.626274
170.10143462.28389327.716107
180.10939761.23744928.762551
190.11736060.23266829.767332
200.12532259.26788930.732111
210.13487758.15624931.843751
220.14443357.09771732.902283
230.15398856.08975833.910242
240.16354355.12995534.870045
250.17500954.03321835.966782
260.18647552.99935737.000643
270.19794152.02476937.975231
280.21170150.92231239.077688
290.22546049.89570040.104300
300.23922048.93971741.060283
310.25573147.87145942.128541
320.27224246.89139343.108607
330.29205645.81240744.187593
340.31186944.84031445.159686
350.33564643.78936546.210635
360.35942242.86335547.136645
370.38795341.88424548.115755
380.42219140.87692749.123073
390.45642940.04205049.957950
400.49751439.21170450.788296
410.54681738.41997951.580021
420.60598037.70411352.295887
430.67697537.09919152.900809
440.76217036.63096553.369035
450.86440436.30843653.691564
460.98708436.11924153.880759
471.13430036.03147053.968530
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "0 0.000000 80.000000 10.000000 Initialized state\n", "1 0.006400 78.592000 11.408000 \n", "2 0.009600 77.910528 12.089472 \n", "3 0.013440 77.105846 12.894154 \n", "4 0.018048 76.158767 13.841233 \n", "5 0.023578 75.048458 14.951542 \n", "6 0.029107 73.968846 16.031154 \n", "7 0.034637 72.919083 17.080917 \n", "8 0.040166 71.898344 18.101656 \n", "9 0.045696 70.905827 19.094173 \n", "10 0.052332 69.747735 20.252265 \n", "11 0.058967 68.628067 21.371933 \n", "12 0.065603 67.545546 22.454454 \n", "13 0.072238 66.498940 23.501060 \n", "14 0.078874 65.487058 24.512942 \n", "15 0.085509 64.508749 25.491251 \n", "16 0.093472 63.373726 26.626274 \n", "17 0.101434 62.283893 27.716107 \n", "18 0.109397 61.237449 28.762551 \n", "19 0.117360 60.232668 29.767332 \n", "20 0.125322 59.267889 30.732111 \n", "21 0.134877 58.156249 31.843751 \n", "22 0.144433 57.097717 32.902283 \n", "23 0.153988 56.089758 33.910242 \n", "24 0.163543 55.129955 34.870045 \n", "25 0.175009 54.033218 35.966782 \n", "26 0.186475 52.999357 37.000643 \n", "27 0.197941 52.024769 37.975231 \n", "28 0.211701 50.922312 39.077688 \n", "29 0.225460 49.895700 40.104300 \n", "30 0.239220 48.939717 41.060283 \n", "31 0.255731 47.871459 42.128541 \n", "32 0.272242 46.891393 43.108607 \n", "33 0.292056 45.812407 44.187593 \n", "34 0.311869 44.840314 45.159686 \n", "35 0.335646 43.789365 46.210635 \n", "36 0.359422 42.863355 47.136645 \n", "37 0.387953 41.884245 48.115755 \n", "38 0.422191 40.876927 49.123073 \n", "39 0.456429 40.042050 49.957950 \n", "40 0.497514 39.211704 50.788296 \n", "41 0.546817 38.419979 51.580021 \n", "42 0.605980 37.704113 52.295887 \n", "43 0.676975 37.099191 52.900809 \n", "44 0.762170 36.630965 53.369035 \n", "45 0.864404 36.308436 53.691564 \n", "46 0.987084 36.119241 53.880759 \n", "47 1.134300 36.031470 53.968530 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_history() # The system's history, saved during the run of single_compartment_react()" ] }, { "cell_type": "markdown", "id": "03866901", "metadata": { "tags": [] }, "source": [ "## Plots changes of concentration with time \n", "Notice that adaptive variable time steps were automatically taken" ] }, { "cell_type": "code", "execution_count": 7, "id": "6b033cc7-078f-4b94-a466-1aa91e2fca4d", "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": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.006400000000000002, 0.009600000000000003, 0.013440000000000004, 0.018048000000000005, 0.023577600000000004, 0.029107200000000007, 0.03463680000000001, 0.04016640000000001, 0.045696000000000014, 0.05233152000000001, 0.05896704000000001, 0.06560256000000002, 0.07223808000000002, 0.07887360000000003, 0.08550912000000004, 0.09347174400000004, 0.10143436800000004, 0.10939699200000004, 0.11735961600000004, 0.12532224000000003, 0.13487738880000003, 0.14443253760000002, 0.15398768640000002, 0.16354283520000001, 0.17500901376000003, 0.18647519232000004, 0.19794137088000005, 0.21170078515200005, 0.22546019942400006, 0.23921961369600006, 0.25573091082240007, 0.27224220794880005, 0.29205576450048004, 0.31186932105216003, 0.335645588914176, 0.359421856776192, 0.38795337821061116, 0.42219120393191417, 0.4564290296532172, 0.4975144205187808, 0.5468168895574572, 0.6059798524038689, 0.6769754078195629, 0.7621700743183957, 0.8644036741169949, 0.9870839938753141, 1.1343003775852971 ], "xaxis": "x", "y": [ 80, 78.592, 77.910528, 77.1058458624, 76.15876717373031, 75.04845757891101, 73.96884582376929, 72.91908317443371, 71.89834436282696, 70.90582693788352, 69.7477353740692, 68.62806650892247, 67.54554556951605, 66.49894007682887, 65.48705844253587, 64.50874861235279, 63.373726382799354, 62.2838929294738, 61.237449146205506, 60.23266755485373, 59.26788945357223, 58.15624872361806, 57.09771745659816, 56.0897583084074, 55.12995515844305, 54.033217749985546, 52.999357276322066, 52.02476894664434, 50.92231177389454, 49.89570042592975, 48.93971693212988, 47.871459377140354, 46.89139341164059, 45.81240721519991, 44.84031378886753, 43.78936544572559, 42.863355249162076, 41.88424541214457, 40.87692656753266, 40.042049758158775, 39.21170378709872, 38.41997915447455, 37.704113470448206, 37.099191058819024, 36.630964980446095, 36.30843587395681, 36.11924081574702, 36.031469807322495 ], "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.006400000000000002, 0.009600000000000003, 0.013440000000000004, 0.018048000000000005, 0.023577600000000004, 0.029107200000000007, 0.03463680000000001, 0.04016640000000001, 0.045696000000000014, 0.05233152000000001, 0.05896704000000001, 0.06560256000000002, 0.07223808000000002, 0.07887360000000003, 0.08550912000000004, 0.09347174400000004, 0.10143436800000004, 0.10939699200000004, 0.11735961600000004, 0.12532224000000003, 0.13487738880000003, 0.14443253760000002, 0.15398768640000002, 0.16354283520000001, 0.17500901376000003, 0.18647519232000004, 0.19794137088000005, 0.21170078515200005, 0.22546019942400006, 0.23921961369600006, 0.25573091082240007, 0.27224220794880005, 0.29205576450048004, 0.31186932105216003, 0.335645588914176, 0.359421856776192, 0.38795337821061116, 0.42219120393191417, 0.4564290296532172, 0.4975144205187808, 0.5468168895574572, 0.6059798524038689, 0.6769754078195629, 0.7621700743183957, 0.8644036741169949, 0.9870839938753141, 1.1343003775852971 ], "xaxis": "x", "y": [ 10, 11.408000000000001, 12.089472, 12.894154137600001, 13.841232826269698, 14.951542421088993, 16.031154176230725, 17.080916825566298, 18.101655637173042, 19.094173062116482, 20.252264625930806, 21.371933491077524, 22.45445443048395, 23.501059923171127, 24.512941557464124, 25.491251387647203, 26.62627361720064, 27.716107070526196, 28.762550853794487, 29.767332445146263, 30.732110546427762, 31.84375127638193, 32.90228254340183, 33.910241691592596, 34.87004484155694, 35.96678225001445, 37.00064272367793, 37.97523105335565, 39.07768822610545, 40.10429957407024, 41.06028306787011, 42.12854062285964, 43.1086065883594, 44.18759278480008, 45.15968621113246, 46.2106345542744, 47.13664475083792, 48.11575458785542, 49.123073432467336, 49.95795024184122, 50.78829621290127, 51.580020845525446, 52.29588652955179, 52.90080894118097, 53.3690350195539, 53.69156412604318, 53.88075918425297, 53.9685301926775 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Chemical" }, "tracegroupgap": 0 }, "shapes": [ { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0, "x1": 0, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.006400000000000002, "x1": 0.006400000000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.009600000000000003, "x1": 0.009600000000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.013440000000000004, "x1": 0.013440000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.018048000000000005, "x1": 0.018048000000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.023577600000000004, "x1": 0.023577600000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.029107200000000007, "x1": 0.029107200000000007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.03463680000000001, "x1": 0.03463680000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04016640000000001, "x1": 0.04016640000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.045696000000000014, "x1": 0.045696000000000014, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05233152000000001, "x1": 0.05233152000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05896704000000001, "x1": 0.05896704000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.06560256000000002, "x1": 0.06560256000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07223808000000002, "x1": 0.07223808000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07887360000000003, "x1": 0.07887360000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08550912000000004, "x1": 0.08550912000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09347174400000004, "x1": 0.09347174400000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10143436800000004, "x1": 0.10143436800000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10939699200000004, "x1": 0.10939699200000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.11735961600000004, "x1": 0.11735961600000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.12532224000000003, "x1": 0.12532224000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.13487738880000003, "x1": 0.13487738880000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.14443253760000002, "x1": 0.14443253760000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.15398768640000002, "x1": 0.15398768640000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.16354283520000001, "x1": 0.16354283520000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.17500901376000003, "x1": 0.17500901376000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.18647519232000004, "x1": 0.18647519232000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.19794137088000005, "x1": 0.19794137088000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.21170078515200005, "x1": 0.21170078515200005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.22546019942400006, "x1": 0.22546019942400006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.23921961369600006, "x1": 0.23921961369600006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.25573091082240007, "x1": 0.25573091082240007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.27224220794880005, "x1": 0.27224220794880005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.29205576450048004, "x1": 0.29205576450048004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.31186932105216003, "x1": 0.31186932105216003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.335645588914176, "x1": 0.335645588914176, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.359421856776192, "x1": 0.359421856776192, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.38795337821061116, "x1": 0.38795337821061116, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.42219120393191417, "x1": 0.42219120393191417, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.4564290296532172, "x1": 0.4564290296532172, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.4975144205187808, "x1": 0.4975144205187808, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5468168895574572, "x1": 0.5468168895574572, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.6059798524038689, "x1": 0.6059798524038689, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.6769754078195629, "x1": 0.6769754078195629, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7621700743183957, "x1": 0.7621700743183957, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.8644036741169949, "x1": 0.8644036741169949, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.9870839938753141, "x1": 0.9870839938753141, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.1343003775852971, "x1": 1.1343003775852971, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" } ], "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 <-> B` . Changes in concentrations with time (time steps shown in dashed lines)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.0007452696304765421, 1.1350456472157737 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 6.111111111111111, 83.88888888888889 ], "title": { "text": "Concentration" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAA6sAAAFoCAYAAACxAW22AAAgAElEQVR4XuydCZwU1bX/zyzMIMuw77KIgCCroIDKrigqIpC/OsaNuIFPTaJ5L9Fo1ORp9miMScQlCWJUxBfFHTdAQEQERAcFAZF9WASHYR1m+9ep5vZUV9/qqupauqr6V/NpmOm+6/fculW/vvecyqlVDsIBAiAAAiAAAiAAAiAAAiAAAiAAAgEikAOxGiBroCkgAAIgAAIgAAIgAAIgAAIgAAIqAYhVDAQQAAEQAAEQAAEQAAEQAAEQAIHAEYBYDZxJ0CAQAAEQAAEQAAEQAAEQAAEQAAGIVYwBEAABEAABEAABEAABEAABEACBwBGAWA2cSdAgEAABEAABEAABEAABEAABEAABiFWMARAAARAAARAAARAAARAAARAAgcARgFgNnEnQIBAAARAAARAAARAAARAAARAAAYhVjAEQAAEQAAEQAAEQAAEQAAEQAIHAEYBYDZxJ0CAQAAEQAAEQAAEQAAEQAAEQAAGIVYwBEAABEAABEAABEAABEAABEACBwBGAWA2cSdAgEAABEAABEAABEAABEAABEAABiFWMARAAARAAARAAARAAARAAARAAgcARgFgNnEnQIBAAARAAARAAARAAARAAARAAAYhVjAEQAAEQAAEQAAEQAAEQAAEQAIHAEYBYDZxJ0CAQAAEQAAEQAAEQAAEQAAEQAAGIVYwBEAABEAABEAABEAABEAABEACBwBGAWA2cSdAgEAABEAABEAABEAABEAABEAABiFWMARAAARAAARAAARAAARAAARAAgcARgFgNnEnQIBAAARAAARAAARAAARAAARAAAYhVjAEQAAEQAAEQAAEQAAEQAAEQAIHAEYBYDZxJ0CAQAAEQAAEQAAEQAAEQAAEQAAGIVYwBEAABEAABEAABEAABEAABEACBwBGAWA2cSdAgEAABEAABEAABEAABEAABEAABiFWMARAAARAAARAAARAAARAAARAAgcARgFgNnEnQIBAAARAAARAAARAAARAAARAAAYhVjAEQAAEQAAEQAAEQAAEQAAEQAIHAEYBYDZxJ0CAQAAEQAAEQAAEQAAEQAAEQAAGIVYwBEAABEAABEAABEAABEAABEACBwBGAWA2cSdAgEAABEAABEAABEAABEAABEAABiFWMARAAARAAARAA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2qH36TF6Pq3b53w69XIbtO2zI1a1N7yiL/rnrMqiMuvPOa6fDw70pB8HmZxLZWPQ7KZda9NUX54YzbNGwkRrW9EGN8Qqt1dvDyvPWdWuvtkRq9rrln6utHrumq1i6Ocura+wlWA4dkWslfnX6Log83uV3cTL7C/K1PeX39deu7RbebU+eLLrm6wvVl1NZNdSvU3tCkR934zaIlt00I41o0doBW0bsJFN+Zzk66Q+GrB+/PDY4S9J9CuasjHi5P5ANvfrx53sXOf2cxvZhz8TYtXoGs3vyx5noz1vzZ6zbMXNxmgewPuJBEIvVmFQEACBaBGAr0e07InegIDXBOxsI/S6LWEoH7zCYCW0MawEguwqFlamEKthtRzaDQIRIMCTuuwB5lZXVCKAAF0AARBwgYBsC6QLxUayCIjVSJoVnQoAAcxD3hgBYtUbrigVBEDAAgFZyHsrW4EsFI0kIAACWUZAzCfYfpfa8BCrWXZioLu+EDCKF+JL5RGvBGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVsNoNbQZBEAABEAABEAABEAABEAABCJOAGI14gZG90AABEAABEAABEAABEAABEAgjAQgVl2w2oHDlXTgSJULJaGIqBBo1aSQyg5VUmVVTVS6hH64QKBpowI6VllNhyuqXSgNRUSFQMP6+ZSfl0P7lTkDBwgIAoX1cqnRCfVob3kFoIBAnEBuTg61blZIO/cdBRUfCLRvcYIPtaCKVAQgVl0YHxCrLkCMWBEQqxEzqEvdgVh1CWTEioFYjZhBXeoOxKpLICNWDMSqvwaFWPWXt6w2iFUXbACx6gLEiBUBsRoxg7rUHYhVl0BGrBiI1YgZ1KXuQKy6BDJixUCs+mtQiFV/eUOsesD7l7/8Jd3xPz+P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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_history(show_intervals=True)" ] }, { "cell_type": "code", "execution_count": 8, "id": "23c4b3ba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: A <-> B\n", "Final concentrations: [A] = 36.03 ; [B] = 53.97\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 1.49782\n", " Formula used: [B] / [A]\n", "2. Ratio of forward/reverse reaction rates: 1.5\n", "Discrepancy between the two values: 0.1456 %\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": "code", "execution_count": null, "id": "7f59733f", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }