{ "cells": [ { "cell_type": "markdown", "id": "5cbc8640", "metadata": {}, "source": [ "### A MINIMALIST, \"get-started\", 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." ] }, { "cell_type": "markdown", "id": "5a3fe1d4-ffc9-4db9-ac0f-d51d2231d32b", "metadata": {}, "source": [ "### TAGS : \"quick-start\", \"uniform compartment\"" ] }, { "cell_type": "code", "execution_count": 1, "id": "97a57e9a-039b-479a-81dc-81399e22743a", "metadata": {}, "outputs": [], "source": [ "LAST_REVISED = \"Nov. 18, 2024\"\n", "LIFE123_VERSION = \"1.0.0.rc.0\" # Version this experiment is based on" ] }, { "cell_type": "code", "execution_count": 2, "id": "b5b8a8b0-d417-4432-b6a8-c196af57b105", "metadata": {}, "outputs": [], "source": [ "#import set_path # Using MyBinder? Uncomment this before running the next cell!\n", " # Importing this module will add the project's home directory to sys.path" ] }, { "cell_type": "code", "execution_count": 3, "id": "a29db1c7", "metadata": { "tags": [] }, "outputs": [], "source": [ "#import sys\n", "#sys.path.append(\"C:/some_path/my_env_or_install\") # CHANGE to the folder containing your venv or libraries installation!\n", "# NOTE: If any of the imports below can't find a module, uncomment the lines above, or try: import set_path\n", "\n", "import life123" ] }, { "cell_type": "code", "execution_count": 4, "id": "ccd6701b-ae96-4d20-b537-40c2c40df9aa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK\n" ] } ], "source": [ "life123.check_version(LIFE123_VERSION)" ] }, { "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": 5, "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: {'B', 'A'}\n" ] } ], "source": [ "# Instantiate the simulator and specify the chemicals\n", "uc = life123.UniformCompartment() \n", "\n", "# Reaction A <-> B , with 1st-order kinetics in both directions\n", "uc.add_reaction(reactants=\"A\", products=\"B\", \n", " forward_rate=3., reverse_rate=2.)\n", "\n", "uc.describe_reactions()" ] }, { "cell_type": "code", "execution_count": 6, "id": "9fc3948d", "metadata": {}, "outputs": [], "source": [ "# Set the initial concentrations of all the chemicals\n", "uc.set_conc({\"A\": 80., \"B\": 10.})" ] }, { "cell_type": "markdown", "id": "987af2c5", "metadata": { "tags": [] }, "source": [ "## Run the reaction" ] }, { "cell_type": "code", "execution_count": 7, "id": "43735178-313b-48cf-a583-5181238feac3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "47 total step(s) taken in 0.00 min\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", "System Time is now: 1.1343\n" ] } ], "source": [ "uc.single_compartment_react(initial_step=0.1, target_end_time=1.) # Using defaults for all other parameters" ] }, { "cell_type": "code", "execution_count": 8, "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.000000Set concentration
10.00640078.59200011.4080001st reaction step
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.968530last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "0 0.000000 80.000000 10.000000 Set concentration\n", "1 0.006400 78.592000 11.408000 1st reaction step\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 last reaction step" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uc.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": 9, "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": "darkturquoise", "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.0012659602428407334, 1.1355663378281378 ], "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": "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EAABEAABEAABPxOAePNz7eLYQAAEQAAEQAAEfEcA4s13VYoDAgEQAAEQAAEQ8DMBiDc/1y6ODQRAAARAAARAwHcEIN58V6U4IBAAARAAARAAAT8TgHjzc+3i2EAABEAABEAABHxHAOLNd1WKAwIBEAABEAABEPAzAYg3P9cujg0EQAAEQAAEQMB3BCDefFelOCAQAAEQAAEQAAE/E4B483Pt4thAAARAAARAAAR8RwDizXdVigMCARAAARAAARDwMwGINz/XLo4NBEAABEAABEDAdwQg3nxXpTggEAABEAABEAABPxOAePNz7eLYQAAEQAAEQAAEfEcA4s13VYoDAgEQAAEQAAEQ8DMBiDc/1y6ODQRAAARAAARAwHcEIN58V6U4IBAAARAAARAAAT8TgHjzc+3i2EAABEAABEAABHxHAOLNd1WKAwIBEAABEAABEPAzAYg3P9cujg0EQAAEQAAEQMB3BCDefFelOCAQAAEQAAEQAAE/E4B483Pt4thAAARAAARAAAR8RwDizXdVigMCARAAARAAARDwMwGINz/XLo4NBEAABEAABEDAdwQg3nxXpTggEAABEAABEAABPxOAePNz7eLYQAAEQAAEQAAEfEcA4s13VYoDAgEQAAEQAAEQ8DMBiDc/1y6ODQRAAARAAARAwHcEIN58V6U4IBAAARAAARAAAT8TgHjzc+3i2EAABEAABEAABHxHAOLNd1WKAwIBEAABEAABEPAzAYg3P9cujg0EQAAEQAAEQMB3BCDefFelOCAQAAEQAAEQAAE/E4B483Pt4thAAARAAARAAAR8RwDizXdVigMCARAAARAAARDwMwGINz/XLo4NBEAABEAABEDAdwQg3nxXpTggEAABEAABEAABPxOAePNz7eLYQAAEQAAEQAAEfEcA4s13VYoDAgEQAAEQAAEQ8DMBiDc/1y6ODQRAAARAAARAwHcEIN58V6U4IBAAARAAARAAAT8TgHjzc+3i2EAABEAABEAABHxHAOLNd1WKAwIBEAABEAABEPAzAYg3P9cujg0EQAAEQAAEQMB3BCDefFelOCAQAAEQAAEQAAE/E4B4i0Lt5hccofzCkijkVLWyaJlZh7btLaxaBx2Fo60m8mgu2G0HO9c0qwl4zRsKdrnwO7fwwM4tsWPp/cyOr+NY4k8A4i0KzCHe9CBCvOlxg3jT48ZW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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "uc.plot_history(show_intervals=True)" ] }, { "cell_type": "code", "execution_count": 10, "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": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "uc.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.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }