{ "cells": [ { "cell_type": "markdown", "id": "5cbc8640", "metadata": {}, "source": [ "### Demonstration of file storage of system concentration history, and stop-restart of simulation, for the reaction `A <-> B`,\n", "with 1st-order kinetics in both directions, taken to equilibrium.\n", "\n", "Same as experiment `react_1_a`, but with CSV file storage of the concentration history, and reaction stop-restart." ] }, { "cell_type": "markdown", "id": "5a3fe1d4-ffc9-4db9-ac0f-d51d2231d32b", "metadata": {}, "source": [ "### TAGS : \"basic\", \"uniform compartment\"" ] }, { "cell_type": "code", "execution_count": 1, "id": "97a57e9a-039b-479a-81dc-81399e22743a", "metadata": {}, "outputs": [], "source": [ "LAST_REVISED = \"Jan. 9, 2025\"\n", "LIFE123_VERSION = \"1.0.0rc2\" # Library 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 ipynbname\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": 5, "id": "e244883f-4075-4b46-9f1a-d42ed4a42402", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Initialize logging (for the system state)\n", "csv_log_file = ipynbname.name() + \"_system_log.csv\" # Use the notebook base filename \n", " # IN CASE OF PROBLEMS, set manually to any desired name" ] }, { "cell_type": "code", "execution_count": null, "id": "ac9eea69-174c-43e5-9eed-443cbc5e2ba7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "2c2d4ca4-cbfe-4733-a20c-e2d5a1c35e7d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "e0529a0c", "metadata": {}, "source": [ "## Initialize the Uniform-Compartment Simulation" ] }, { "cell_type": "code", "execution_count": 6, "id": "4aac8eed-932a-4aae-9cad-bb76fc4dccb4", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Instantiate the simulator and specify the chemicals\n", "uc = life123.UniformCompartment() " ] }, { "cell_type": "code", "execution_count": 7, "id": "e59bd726-e9fb-48f4-8e31-cc39e4c3677d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> CSV-format output will be LOGGED into the file 'react_1_b_system_log.csv' . An existing file by that name was over-written\n" ] } ], "source": [ "# We're now requesting that all System Concentration Data get logged in our previously-specified CSV file\n", "uc.start_csv_log(csv_log_file)" ] }, { "cell_type": "code", "execution_count": 8, "id": "62181bcb-ef36-4e3b-bf3f-a7c429c7bba6", "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": [ "# 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": 9, "id": "9fc3948d", "metadata": {}, "outputs": [], "source": [ "# Set the initial concentrations of all the chemicals\n", "uc.set_conc({\"A\": 80., \"B\": 10.})" ] }, { "cell_type": "code", "execution_count": null, "id": "2ed62975-8865-427d-9734-74a0849e292d", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "53d9d004-2e43-4e6f-8113-3c26e51364df", "metadata": { "tags": [] }, "source": [ "#### This time (contrasted to experiment `react_1_a`) we'll be running the simulation in two parts" ] }, { "cell_type": "markdown", "id": "ff4f04a1-7723-4116-a906-1cad31c94662", "metadata": {}, "source": [ "## Part 1 (early run)" ] }, { "cell_type": "code", "execution_count": 10, "id": "43735178-313b-48cf-a583-5181238feac3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "28 total variable 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': 12, 'norm_B': 8, 'norm_C': 8, 'norm_D': 8}\n", "System Time is now: 0.2117\n" ] } ], "source": [ "uc.single_compartment_react(initial_step=0.1, target_end_time=0.2) # The first part of our run" ] }, { "cell_type": "code", "execution_count": 11, "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", "
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.077688last 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 last reaction step" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uc.get_history() # The system's concentrations history, saved during the run of single_compartment_react()" ] }, { "cell_type": "code", "execution_count": 12, "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 ], "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 ], "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 ], "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 ], "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" } ], "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.00018156156531046316, 0.21188234671731052 ], "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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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "uc.plot_history(show_intervals=True)" ] }, { "cell_type": "code", "execution_count": 13, "id": "23c4b3ba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: A <-> B\n", "Final concentrations: [A] = 50.92 ; [B] = 39.08\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 0.767398\n", " Formula used: [B] / [A]\n", "2. Ratio of forward/reverse reaction rates: 1.5\n", "Discrepancy between the two values: 48.84 %\n", "Reaction is NOT in equilibrium (not within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "{False: [0]}" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# We're nowhere near equilibrium yet!\n", "uc.is_in_equilibrium()" ] }, { "cell_type": "code", "execution_count": null, "id": "33e46694-c5c0-4ced-bb59-e665e8aea022", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "7f59733f", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "236f3df9-ca09-48fe-9afe-b4b9748dd1d9", "metadata": {}, "source": [ "## Part 2 (late run)" ] }, { "cell_type": "code", "execution_count": 14, "id": "a2299384-404b-4cb6-a709-04803cab93d2", "metadata": {}, "outputs": [], "source": [ "initial_step = 0.013759414272 # We're choosing this value simply FOR DEMONSTRATION PURPOSES,\n", " # to remain in exact lockstep with the time course of experiment `react_1_a`\n", "\n", "'''\n", "If you run experiment `react_1_a`, you can determine what the next time step would have been, had we not stopped early this time.\n", "\n", " In experiment `react_1_a`, after running the simulation, you can issue:\n", "\n", " list(uc.get_history(t_start=0.21, t_end=0.23, columns=\"SYSTEM TIME\"))\n", "\n", " and you will get: [0.211700785152, 0.225460199424]\n", "\n", " Their difference is the initial_step we're using here.\n", "''';" ] }, { "cell_type": "code", "execution_count": 15, "id": "16970ff9-f064-4620-b232-12af11dfed3f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "19 total variable step(s) taken in 0.00 min\n", "Norm usage: {'norm_A': 14, 'norm_B': 14, 'norm_C': 14, 'norm_D': 14}\n", "System Time is now: 1.1343\n" ] } ], "source": [ "uc.single_compartment_react(initial_step=0.013759414272, target_end_time=1.0) # The 2nd part of our run, to the final target end time" ] }, { "cell_type": "code", "execution_count": 16, "id": "3adf0b32-3f63-4350-a853-4461014e418e", "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.077688last reaction step
290.22546049.89570040.1043001st reaction step
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 last reaction step\n", "29 0.225460 49.895700 40.104300 1st reaction step\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": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "uc.get_history() # The cumulative system's history" ] }, { "cell_type": "code", "execution_count": 17, "id": "b65f092f-f5ab-4849-8df7-eb225f8758cb", "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": "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.0009728133598501691, 1.1352731909451472 ], "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": "iVBORw0KGgoAAAANSUhEUgAAAvkAAAFoCAYAAADNbuQDAAAgAElEQVR4XuydB5wU5f3/v9fh6KBUaSpWUI4mxRINRgQUROwIEjE2YkNjEmP8R38mliDGoChBIUpAULABNuz0LmA0YqHeASJwHNcL/+/32Z29ubmZ3Zndmd255TO8lt2bferneZ7Z9/PM9/lOyhE+CAcUgAJQAApAASgABaAAFIACSaNACiA/adoSFYECUAAKQAEoAAWgABSAAkoBQD46AhSAAlAACkABKAAFoAAUSDIFAPlJ1qCoDhSAAlAACkABKAAFoAAUAOSjD0ABKAAFoAAUgAJQAApAgSRTAJCfZA2K6kABKAAFoAAUgAJQAApAAUA++gAUgAJQAApAASgABaAAFEgyBQD5SdagqA4UgAJQAApAASgABaAAFADkow9AASgABaAAFIACUAAKQIEkUwCQn2QNiupAASgABaAAFIACUAAKQAFAPvoAFIACUAAKQAEoAAWgABRIMgUA+UnWoKgOFIACUAAKQAEoAAWgABQA5KMPQAEoAAWgABSAAlAACkCBJFMAkJ9kDYrqQAEoAAWgABSAAlAACkABQD76ABSAAlAACkABKAAFoAAUSDIFAPlJ1qCoDhSAAlAACkABKAAFoAAUAOSjD0ABKAAFoAAUgAJQAApAgSRTAJCfZA2K6kABKAAFoAAUgAJQAApAAUA++gAUgAJQAApAASgABaAAFEgyBQD5SdagqA4UgAJQAApAASgABaAAFADkow9AASgABaAAFIACUAAKQIEkUwCQn2QNiupAASgABaAAFIACUAAKQAFAPvoAFIACUAAKQAEoAAWgABRIMgUA+UnWoKgOFIACUAAKQAEoAAWgABQA5KMPQAEoAAWgABSAAlAACkCBJFMAkJ9kDYrqQAEoAAWgABSAAlAACkABQD76ABSAAlAACkABKAAFoAAUSDIFAPlJ1qCoDhSAAlAACkABKAAFoAAUAOSjD0ABKAAFoAAUgAJQAApAgSRTAJCfZA2K6kABKAAFoAAUgAJQAApAAUA++gAUgAJQAApAASgABaAAFEgyBQD5SdagqA4UgAJQAApAASgABaAAFADkow9AASgABaAAFIACUAAKQIEkUwCQn2QNiupAASgABaAAFIACUAAKQAFAPvoAFIACUAAKQAEoAAWgABRIMgUA+UnWoKgO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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "uc.plot_history(show_intervals=True)" ] }, { "cell_type": "code", "execution_count": 18, "id": "4eac2789-754e-4cc6-92a6-7c087997b923", "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": 18, "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": "59fce89c-186f-4f41-a60a-955820ffde73", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "fec11ec2-e464-49ec-9722-41273fd87ba9", "metadata": {}, "source": [ "#### As we requested, a log of the concentration data, in CSV format, has ben saved in the following file:" ] }, { "cell_type": "code", "execution_count": 19, "id": "58117fc0-250f-4136-93cc-63c9899dd9bb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'react_1_b_system_log.csv'" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "csv_log_file" ] }, { "cell_type": "code", "execution_count": 20, "id": "1d0f4922-ea2d-4493-9114-ecc66b1784cd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM TIME,A,B,caption\n", "0.0,80.0,10.0,Set concentration\n", "0.006400000000000002,78.592,11.408000000000001,1st reaction step\n", "0.009600000000000003,77.910528,12.089472,\n", "0.013440000000000004,77.1058458624,12.894154137600001,\n", "0.018048000000000005,76.15876717373031,13.841232826269698,\n", "0.023577600000000004,75.04845757891101,14.951542421088993,\n", "0.029107200000000007,73.96884582376929,16.031154176230725,\n", "0.03463680000000001,72.91908317443371,17.080916825566298,\n", "0.04016640000000001,71.89834436282696,18.101655637173042,\n", "0.045696000000000014,70.90582693788352,19.094173062116482,\n", "0.05233152000000001,69.7477353740692,20.252264625930806,\n", "0.05896704000000001,68.62806650892247,21.371933491077524,\n", "0.06560256000000002,67.54554556951605,22.45445443048395,\n", "0.07223808000000002,66.49894007682887,23.501059923171127,\n", "0.07887360000000003,65.48705844253587,24.512941557464124,\n", "0.08550912000000004,64.50874861235279,25.491251387647203,\n", "0.09347174400000004,63.373726382799354,26.62627361720064,\n", "0.10143436800000004,62.2838929294738,27.716107070526196,\n", "0.10939699200000004,61.237449146205506,28.762550853794487,\n", "0.11735961600000004,60.23266755485373,29.767332445146263,\n", "0.12532224000000003,59.26788945357223,30.732110546427762,\n", "0.13487738880000003,58.15624872361806,31.84375127638193,\n", "0.14443253760000002,57.09771745659816,32.90228254340183,\n", "0.15398768640000002,56.0897583084074,33.910241691592596,\n", "0.16354283520000001,55.12995515844305,34.87004484155694,\n", "0.17500901376000003,54.033217749985546,35.96678225001445,\n", "0.18647519232000004,52.999357276322066,37.00064272367793,\n", "0.19794137088000005,52.02476894664434,37.97523105335565,\n", "0.21170078515200005,50.92231177389454,39.07768822610545,\n", "0.22546019942400006,49.89570042592975,40.10429957407024,1st reaction step\n", "0.23921961369600006,48.93971693212988,41.06028306787011,\n", "0.25573091082240007,47.871459377140354,42.12854062285964,\n", "0.27224220794880005,46.89139341164059,43.1086065883594,\n", "0.29205576450048004,45.81240721519991,44.18759278480008,\n", "0.31186932105216003,44.84031378886753,45.15968621113246,\n", "0.335645588914176,43.78936544572559,46.2106345542744,\n", "0.359421856776192,42.863355249162076,47.13664475083792,\n", "0.38795337821061116,41.88424541214457,48.11575458785542,\n", "0.42219120393191417,40.87692656753266,49.123073432467336,\n", "0.4564290296532172,40.042049758158775,49.95795024184122,\n", "0.4975144205187808,39.21170378709872,50.78829621290127,\n", "0.5468168895574572,38.41997915447455,51.580020845525446,\n", "0.6059798524038689,37.704113470448206,52.29588652955179,\n", "0.6769754078195629,37.099191058819024,52.90080894118097,\n", "0.7621700743183957,36.630964980446095,53.3690350195539,\n", "0.8644036741169949,36.30843587395681,53.69156412604318,\n", "0.9870839938753141,36.11924081574702,53.88075918425297,\n", "1.1343003775852971,36.031469807322495,53.9685301926775,\n", "\n" ] } ], "source": [ "# Here's dump of the contents of that log file\n", "with open(csv_log_file, 'r', encoding='utf8') as fh:\n", " file_contents = fh.read()\n", " print(file_contents)" ] }, { "cell_type": "code", "execution_count": null, "id": "c8f058df-f310-43eb-9b5c-a68a9918423b", "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 }