{ "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. 2, 2026\"\n", "LIFE123_VERSION = \"1.0.0rc7\" # 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) # To check compatibility" ] }, { "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": [ "In equilibrium_constant_from_kinetic_data() : kF=3.0, kR=2.0\n", "add_reaction(): detected reaction type `ReactionUnimolecular`\n", "Number of reactions: 1\n", "0: A <-> B Elementary Unimolecular reaction (kF = 3 / kR = 2 / delta_G = -1,005.1 / K = 1.5 / Temp = 25 C)\n", "Chemicals involved in the above reactions: ['A', 'B']\n" ] } ], "source": [ "# Reaction A <-> B , with 1st-order kinetics in both directions\n", "uc.add_reaction(reactants=\"A\", products=\"B\", kF=3., kR=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": "code", "execution_count": null, "id": "53903d59-906e-4546-9624-d5a820379c4e", "metadata": {}, "outputs": [], "source": [] }, { "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.070 sec\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", " \n", " \n", " \n", " \n", " \n", " \n", " \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 TIMEABstepcaption
00.00000080.00000010.000000Set concentration
10.00640078.59200011.40800011st reaction step
20.00960077.91052812.0894722
30.01344077.10584612.8941543
40.01804876.15876713.8412334
50.02357875.04845814.9515425
60.02910773.96884616.0311546
70.03463772.91908317.0809177
80.04016671.89834418.1016568
90.04569670.90582719.0941739
100.05233269.74773520.25226510
110.05896768.62806721.37193311
120.06560367.54554622.45445412
130.07223866.49894023.50106013
140.07887465.48705824.51294214
150.08550964.50874925.49125115
160.09347263.37372626.62627416
170.10143462.28389327.71610717
180.10939761.23744928.76255118
190.11736060.23266829.76733219
200.12532259.26788930.73211120
210.13487758.15624931.84375121
220.14443357.09771732.90228322
230.15398856.08975833.91024223
240.16354355.12995534.87004524
250.17500954.03321835.96678225
260.18647552.99935737.00064326
270.19794152.02476937.97523127
280.21170150.92231239.07768828last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B step caption\n", "0 0.000000 80.000000 10.000000 Set concentration\n", "1 0.006400 78.592000 11.408000 1 1st reaction step\n", "2 0.009600 77.910528 12.089472 2 \n", "3 0.013440 77.105846 12.894154 3 \n", "4 0.018048 76.158767 13.841233 4 \n", "5 0.023578 75.048458 14.951542 5 \n", "6 0.029107 73.968846 16.031154 6 \n", "7 0.034637 72.919083 17.080917 7 \n", "8 0.040166 71.898344 18.101656 8 \n", "9 0.045696 70.905827 19.094173 9 \n", "10 0.052332 69.747735 20.252265 10 \n", "11 0.058967 68.628067 21.371933 11 \n", "12 0.065603 67.545546 22.454454 12 \n", "13 0.072238 66.498940 23.501060 13 \n", "14 0.078874 65.487058 24.512942 14 \n", "15 0.085509 64.508749 25.491251 15 \n", "16 0.093472 63.373726 26.626274 16 \n", "17 0.101434 62.283893 27.716107 17 \n", "18 0.109397 61.237449 28.762551 18 \n", "19 0.117360 60.232668 29.767332 19 \n", "20 0.125322 59.267889 30.732111 20 \n", "21 0.134877 58.156249 31.843751 21 \n", "22 0.144433 57.097717 32.902283 22 \n", "23 0.153988 56.089758 33.910242 23 \n", "24 0.163543 55.129955 34.870045 24 \n", "25 0.175009 54.033218 35.966782 25 \n", "26 0.186475 52.999357 37.000643 26 \n", "27 0.197941 52.024769 37.975231 27 \n", "28 0.211701 50.922312 39.077688 28 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", "shape": "linear" }, "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": "orange", "dash": "solid", "shape": "linear" }, "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.0001797120417249576, 0.211880497193725 ], "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", "Current 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.055 sec\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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 TIMEABstepcaption
00.00000080.00000010.000000Set concentration
10.00640078.59200011.40800011st reaction step
20.00960077.91052812.0894722
30.01344077.10584612.8941543
40.01804876.15876713.8412334
50.02357875.04845814.9515425
60.02910773.96884616.0311546
70.03463772.91908317.0809177
80.04016671.89834418.1016568
90.04569670.90582719.0941739
100.05233269.74773520.25226510
110.05896768.62806721.37193311
120.06560367.54554622.45445412
130.07223866.49894023.50106013
140.07887465.48705824.51294214
150.08550964.50874925.49125115
160.09347263.37372626.62627416
170.10143462.28389327.71610717
180.10939761.23744928.76255118
190.11736060.23266829.76733219
200.12532259.26788930.73211120
210.13487758.15624931.84375121
220.14443357.09771732.90228322
230.15398856.08975833.91024223
240.16354355.12995534.87004524
250.17500954.03321835.96678225
260.18647552.99935737.00064326
270.19794152.02476937.97523127
280.21170150.92231239.07768828last reaction step
290.22546049.89570040.10430011st reaction step
300.23922048.93971741.0602832
310.25573147.87145942.1285413
320.27224246.89139343.1086074
330.29205645.81240744.1875935
340.31186944.84031445.1596866
350.33564643.78936546.2106357
360.35942242.86335547.1366458
370.38795341.88424548.1157559
380.42219140.87692749.12307310
390.45642940.04205049.95795011
400.49751439.21170450.78829612
410.54681738.41997951.58002113
420.60598037.70411352.29588714
430.67697537.09919152.90080915
440.76217036.63096553.36903516
450.86440436.30843653.69156417
460.98708436.11924153.88075918
471.13430036.03147053.96853019last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B step caption\n", "0 0.000000 80.000000 10.000000 Set concentration\n", "1 0.006400 78.592000 11.408000 1 1st reaction step\n", "2 0.009600 77.910528 12.089472 2 \n", "3 0.013440 77.105846 12.894154 3 \n", "4 0.018048 76.158767 13.841233 4 \n", "5 0.023578 75.048458 14.951542 5 \n", "6 0.029107 73.968846 16.031154 6 \n", "7 0.034637 72.919083 17.080917 7 \n", "8 0.040166 71.898344 18.101656 8 \n", "9 0.045696 70.905827 19.094173 9 \n", "10 0.052332 69.747735 20.252265 10 \n", "11 0.058967 68.628067 21.371933 11 \n", "12 0.065603 67.545546 22.454454 12 \n", "13 0.072238 66.498940 23.501060 13 \n", "14 0.078874 65.487058 24.512942 14 \n", "15 0.085509 64.508749 25.491251 15 \n", "16 0.093472 63.373726 26.626274 16 \n", "17 0.101434 62.283893 27.716107 17 \n", "18 0.109397 61.237449 28.762551 18 \n", "19 0.117360 60.232668 29.767332 19 \n", "20 0.125322 59.267889 30.732111 20 \n", "21 0.134877 58.156249 31.843751 21 \n", "22 0.144433 57.097717 32.902283 22 \n", "23 0.153988 56.089758 33.910242 23 \n", "24 0.163543 55.129955 34.870045 24 \n", "25 0.175009 54.033218 35.966782 25 \n", "26 0.186475 52.999357 37.000643 26 \n", "27 0.197941 52.024769 37.975231 27 \n", "28 0.211701 50.922312 39.077688 28 last reaction step\n", "29 0.225460 49.895700 40.104300 1 1st reaction step\n", "30 0.239220 48.939717 41.060283 2 \n", "31 0.255731 47.871459 42.128541 3 \n", "32 0.272242 46.891393 43.108607 4 \n", "33 0.292056 45.812407 44.187593 5 \n", "34 0.311869 44.840314 45.159686 6 \n", "35 0.335646 43.789365 46.210635 7 \n", "36 0.359422 42.863355 47.136645 8 \n", "37 0.387953 41.884245 48.115755 9 \n", "38 0.422191 40.876927 49.123073 10 \n", "39 0.456429 40.042050 49.957950 11 \n", "40 0.497514 39.211704 50.788296 12 \n", "41 0.546817 38.419979 51.580021 13 \n", "42 0.605980 37.704113 52.295887 14 \n", "43 0.676975 37.099191 52.900809 15 \n", "44 0.762170 36.630965 53.369035 16 \n", "45 0.864404 36.308436 53.691564 17 \n", "46 0.987084 36.119241 53.880759 18 \n", "47 1.134300 36.031470 53.968530 19 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", "shape": "linear" }, "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": "orange", "dash": "solid", "shape": "linear" }, "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.0009629035463372641, 1.1352632811316343 ], "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": "iVBORw0KGgoAAAANSUhEUgAAAvwAAAFoCAYAAAArRy9HAAAgAElEQVR4XuydB5gURf7+382RHAVFQBROQBEREycgJjxE9ERUkgTBAIJ6qP/z7sdx0XCeiTtBRRFERBEVPAERBcMhiCiCSFBQ8sKyxM3pX9UzPdvT2zPTPdMzU7u8/TzzzHR3xU9V97xV/a1vJ1SKDdxIgARIgARIgARIgARIgARqJYEECv5a2a6sFAmQAAmQAAmQAAmQAAloBCj42RFIgARIgARIgARIgARIoBYToOCvxY3LqpEACZAACZAACZAACZAABT/7AAmQAAmQAAmQAAmQAAnUYgIU/LW4cVk1EiABEiABEiABEiABEqDgZx8gARIgARIgARIgARIggVpMgIK/Fjcuq0YCJEACJEACJEACJEACFPzsAyRAAiRAAiRAAiRAAiRQiwlQ8NfixmXVSIAESIAESIAESIAESICCn32ABEiABEiABEiABEiABGoxAQr+Wty4rBoJkAAJkAAJkAAJkAAJUPCzD5AACZAACZAACZAACZBALSZAwV+LG5dVIwESIAESIAESIAESIAEKfvYBEiABEiABEiABEiABEqjFBCj4a3HjsmokQAIkQAIkQAIkQAIkQMHPPkACJEACJEACJEACJEACtZgABX8tblxWjQRIgARIgARIgARIgAQo+NkHSIAESIAESIAESIAESKAWE6Dgr8WNy6qRAAmQAAmQAAmQAAmQAAU/+wAJkAAJkAAJkAAJkAAJ1GICFPy1uHFZNRIgARIgARIgARIgARKg4GcfIAESIAESIAESIAESIIFaTICCvxY3LqtGAiRAAiRAAiRAAiRAAhT87AMkQAIkQAIkQAIkQAIkUIsJUPDX4sZl1UiABEiABEiABEiABEiAgp99gARIgARIgARIgARIgARqMQEK/lrcuKwaCZAACZAACZAACZAACVDwsw+QAAmQAAmQAAmQAAmQQC0mQMFfixuXVSMBEiABEiABEiABEiABCn72ARIgARIgARIgARIgARKoxQQo+Gtx47JqJEACJEACJEACJEACJEDBzz5AAiRAAiRAAiRAAiRAArWYAAV/LW5cVo0ESIAESIAESIAESIAEKPjZB0iABEiABEiABEiABEigFhOg4K/FjcuqkQAJkAAJkAAJkAAJkAAFfy3vAz1vnIDcvKP4w8ShuHVAn1pe2+hUb+67y/HXp2ejccN6WLngmehkwlRJgARIgARIgARIIEoEKPijBFalZAeNnYL9B/MoViNolM/XbMDYB5+sUQOnjr1ux1U9u+GpKeMiqDmjkgAJqECgJt6D3OTGySs3acYmLWqP8Dk/8fwbmDlvCRbPeQytWjYLPyFDTKUF/849Oeg7+CHLiqoyYx2oQ+tl79S+DeZNn+xKY0WSiBR/tw+6BpPuuiVoMnonk4Hc7GiRlN3NuMH6VKgZfJ3N9ytmulmksNKS7WnezOKegr+K0H2Tp+LDlWsx/fEH0KN757CYn+yRovEHZGRaU+6lbvYDq34ZiIMbgj9YG+qCWoX7m5lxoOu3NvaZ2iSSa1NdYq3ponG/rRGC3yxkdBAqzF7WthuOftOXN1w7AwQnf36S1cYtOxyLLr293Rjk6RetVd+RAjmU6HdS32iE1f/4zOU3DmT0P2wKfgp+N/tgNP6AKPirD0Qp+P17rX5vs/o/qm3/v7LmtUkk16a6UPC7+W9ikVYwcaaLx3jPRtSmDm2cQZo2a6HWIm7YrOsiNZKnBsYnD5EI/2B9KtqCJtLLRV9LEKz+sj/qT5Qo+CMlzvhGAtG+PmrTvTSSnhMvwR9JmaMZV///sPqvr419pjbVqTbVJZp93CrtaNxva+QMvz4KlrPF5puALoqMAM1hjALUGC6QCYtx1lsPL8NO+vM0bcbavOnpBBJc+mBFjxdotlke737er7QFo8HCutURjTdWvbNFYgLhhtA31y1S4R9M8OvlVdWUSfZDJ4Mwvf+F6kOBzJzc6Jfmvi5N3OQ1YzVoMV9nVjN6Vteunfayunna5RPq+rIqk7l+0bjm7eQbiqlxkL/mmx80syd9M9bBeN0ZeehhjH/sRnMz2TZDx/9dcxxg3MxP0sx8jPdZab8aq3up1f9HqAmGQDPQVmLH3A/N+8E47NxzwLeOKFhbBeqvTtpQT0Pn3qJ5Y82eWN/0a9PcBwOxCtUPg11jdts+VJ8x9vV3F3/u99+t/8+Zy2l1b7G6Xzr5nzTnYbwWQl0Hso52NI6Te1u491RZllBx9Wtg9nO/9zPPDvQk3dxHzeH0upt5W/UR8/XntCxWfdKcj937Z6j/EHnebKYr6y7vm8Y+aKVFA7G06mc1VvBbiR8rOz8rESePyRuY0Z7dKlwgcSjDShElvd4EG8FadUJ5zGzXH+iY7ARG0eWGDafdG2swYRyq80ZD6AcT/k5utoHqFUl9Q/Fw43w45dNvIKH6kJ62cWAcKD+7aco6W12jVuZZVo9KrfK3eqpndxAUSPBHeo1Z5S//lKQg0xdLR+OaD5WvXab6PUVysBL4xj+bYDNORqFinmCRZf3bw6P91k5YlT/e91KrSQ67kwCyPs2bNPQ9XTOKQuP9yVxHK6ahZvjttFUo0W8lZK3y1a934+DbKDitjhvra7cfBiqv3j8D3eOd9BljXzemZ/y/sjpu7M963a3qHWpgqIs64/9/oPtcICcbdjVOsPu0seyR3FPtxNXDmEVpIIFunsQ152E1uDb2R2NbmfNwUpZA/TGQ4I/kmgymM+UEjFnw27mXmv9z9DxqpOC3ugkHE8PyZty185lBvZXoQIwXrZ3HUU5uOIH+MK3KHmhWw/zH4oaYNM4amP+crJ6iBMrTeOHZmXV1o+xOFxkHW7RrvmjdKJ9baeh9xMm6ikj7kLzO1m3Y5mfWZTdNJ3090DWk96dQT8xkXnYXoxv7pd26hCOe9DhOONgtj51HvXaZBrpvWv2xhhL8TjyBmdtW8or3vTQYs0sv6BTUU4bZ7ETWTzeL7Hflxb7+af4vCkfwm4VlMBv3QBMlTgR/oPVC5nuRVTns9sNQ/ymB/k+c9JlAfT3QrLHV8UDXqNW90lynYBrFeA8LNeAL9HTUqHGClVOKyFDrvOzcUwPlYacu5uslGBtzPmYNJNPau/+Q3/pAJ3oumMmYuQ2DzfAb3Z47uSYDtbed+7xRu+nXSDCWNULwm6FbmRqE+jOSaRi95RhH+8b0jTexQB3aGN7JDcdJWLt//m4JSquy2bEZN+YfjuAP1A5212aEK/it+pBeFhUWgwf6s4im4A/0ODnYrIleTvNN2MmfVqC+bp7d0x9ROmEQTHhHeo25PSFgtzx28rXLNFaCP5A5SbDZb+M1YDVbF2iAYQ5rl6v+xx+OZzVzX5Vt1K1Le60K7y9bpQ2adRFgrHNNFPyyToGY2mUfaubefN0G+j9w8p8aqK/bPR5KsEuTp2D/W4Ge+pjv9eEIQBnHqHECtY95EBPJPdVO3EB1MYvsUPrNeK3rYY2DFnlNPTdjgbDcaKRN7Or1NLaH3bIE01TREPzBBk5WbjlD3UuD9bMaIfiNAkwXJeZRbiC7fL3xjI+UrPz5mkdkdkdoTm44wWbnzY9g7P5JuSH4Q816O/0DrIkmPTpHu4/w3eDuJI1wBiN2+1CgF4tZzXzYTTNQXzf/aYbqe5KR8Vq3smG0Y9IVzIbf/J4Cu0/R7ISLxjUfKl8nTKMt+I1lMc7SWs2eqnAvtfofsTvAlNeGDDuof2/NXlnWV27yt+yju/Ye0NZjGUVIbRb8TvphoHuhWdzZFcdWgxK7wl7PwxzeynbeXJ5QT7YDMXEiTAOxMmocu4JfphXuPdVOXLsiO9gsu9msxzhYlNeUfJImB9RGka/P+hsnee2WJZaCP5jONN8bnNxLA/WzGif4jZ3MaqYk1Mywkz+4k2WGP9joOhIBHA3hbxzd2rGZNF+8gezlzDNKdkSkE8HuRli79up6XnbFuZMbod007Qp+/Y/ZrqgycjTe1EJd99EQ/HZm2p2IWLts7eSri89Qpk5O7odOZuHM15NZCEUq+KPB1eoa1cWQnfuBPss6oG8PnwjR/6+kWc/e/bma6YFRhNRmwR/Jta23hZXpl7GdnPSDSAW/3acSTu71ev2Mk2qhZvhD3eusBjuhrkf9vJN7aqD/VnlcL6Pd/xan9xb9/iavKbnJSRvjE7RHHn0JRlM6GcZuWVQV/IEYBTJJM9ZDD1MjBb9Vp7S7oDUQHCf2hzLsF19t1BbtBrPdM/+BR8Oe18nNJVDYYEIyHNtxcz5uCP9Ihb75hhbIbCeSAY4bbREsDZ1BMHEsy29cLGpVT7MYDyTOI5nhDzRjY3Wd2hGw8pqbt/CTarb6du0coyH4g+Wt27FG45q3k68dprKvORH8wcSX0z9Tq/twvO+lxmtHvw7t/q/I8Hq7SPEmzXn0wZY8Ls165GYWIVZtGYiDk7YKdB9x2oZ2TXf0/JyYXtm5X4YS2U76TKSCP5iQtlMXyf60Fk2rvfjPfO04bX+rvAO1mzGvSO6pduPavS84seHXxbv8Nr/XRx90W73vx25ZYin4ZV6B/n/N94ZA/6nme2mwflYjBb/xj8r4GMtqBbsMa/SaYTXDaxxAGMWUlRmFeTFIsNGV1UUnj1mtWLfy3GNHrNm50QQLY0fQO51ZDpSf/mjOzmyZMQ2944czo28uS7AZfjuCOhzeeh9xY22A3scjefGW1aInszcA4yAtHBv+QJxl/5ebsS31sFamY7Ks0qWb3KRphDmM3b4ZDcGvCwDz9WxemBmNa94qTWO+dphKd5dORGSwx8+B/kyt1gEZTSOM94J430v12Xxjf3cyAWBcj2R8ohHMptaqXwbi4KStAt2nnLZhpILfbj90IrKMYZ30GTcEv56f1YJl6X422HtrrOJa3SeD1cmOxtHvS+Z7pd7X9GsuUNvYuafajetEZOv6wHjtmM159LbX6xLIbacMZ34S4qQsgfpjNGz4Q90jdR6hwuntGqyf1VjBrwt53Ue9GYq5waxchelhZKfR/cRazZ7qIkUPbw5jtvsM5VVE78R6esH8nYdrX2xXmNr5QzPfKOymrWK4UHalTgcjduropuCX+QWqg7lf2jURkWma+7AU5Lqv73AEf6BySr5jH3zS8m3LVrakxj8to6DSudtdXxItwS/LYb6ercoUjWveTr52mdr1/GK2Y7byw2++JsxxjO8XMV9v8b6Xmu/1VsIhlDgN1v5mERLoaY0VB6Mf/nA9gpj/N+V+sDaMVPDrrEL1w2BMg9l3W927Av3/uiH4ndx/repkfFIdSE8Eq5NV++npGK8lfULA/P4Ls2ldJPdUO3Gdimwzn0A+5oNNVJrXQ+p8nJbFqv2iIfit2lTeI/V3X1itfTJqR/09O1Ym7sY6SH2gtOC3I6YYhgRIoOYQCGWTW3NqwpKSAAnEgkCwpxKxyL8m5mFn/WFNrBfLHBkBCv7I+DE2CZBAAAK6OY40HdE3/hGxu5AACTglUJueMjutezjheZ8Nh1rtj0PBX/vbmDUkgbgQsHqMH443nrgUnpmSAAkoRcDKnbZSBVSoMBT8CjWGQkWh4FeoMVgUEiABEiABEiABEiABEnCbAAW/20SZHgmQAAmQAAmQAAmQAAkoRICCX6HGYFFIgARIgARIgARIgARIwG0CFPxuE2V6JEACJEACJEACJEACJKAQAQp+hRqDRSEBEiABEiABEiABEiABtwlQ8LtNlOmRAAmQAAmQAAmQAAmQgEIEKPgVagwWhQRIgARIgARIgARIgATcJkDB7zZRpkcCJEACJEACJEACJEACChGg4FeoMVgUEiABEiABEiABEiABEnCbAAW/20SZHgmQAAmQAAmQAAmQAAkoRICCX6HGYFFIgARIgARIgARIgARIwG0CFPxuE2V6JEACJEACJEACJEACJKAQAQp+hRqDRSEBEiABEiABEiABEiABtwlQ8LtNlOmRAAmQAAmQAAmQAAmQgEIEKPgVagwWhQRIgARIgARIgARIgATcJkDB7zZRpkcCJEACJEACJEACJEACChGg4FeoMVgUEiABEiABEiABEiABEnCbAAW/20SZHgmQAAmQAAmQAAmQAAkoRICCX6HGYFFIgARIgARIgARIgARIwG0CFPxuE2V6JEACJEACJEACJEACJKAQAQp+hRqDRSEBEiABEiABEiABEiABtwlQ8LtNlOmRAAmQAAmQAAmQAAmQgEIEKPgVagwWhQRIgARIgARIgARIgATcJkDB7zZRpkcCJEACJEACJEACJEACChGg4FeoMVgUEiABEiABEiABEiABEnCbAAW/20SZHgmQAAmQAAmQAAmQAAkoRICCX6HGYFFIgARIgARIgARIgARIwG0CFPxuE2V6JEACJEACJEACJEACJKAQAQp+hRqDRSEBEiABEiABEiABEiABtwlQ8LtNlOmRAAmQAAmQAAmQAAmQgEIEKPgVagwWhQRIgARIgARIgARIgATcJkDB7zZRpkcCJEACJEACJEACJEACChGg4FeoMVgUEiABEiABEiABEiABEnCbAAW/20SZHgmQAAmQAAmQAAmQAAkoRICCX6HGYFFIgARIgARIgARIgARIwG0CFPxuE2V6JEACJEACJEACJEACJKAQAQp+hRqDRSEBEiABEiABEiABEiABtwlQ8LtNlOmRAAmQAAmQAAmQAAmQgEIEKPgVagwWhQRIgARIgARIgARIgATcJkDB7zZRpkcCJEACJEACJEACJEACChGg4FeoMVgUEiABEiABEiABEiABEnCbAAW/20SZHgmQAAmQAAmQAAmQAAkoRICCX6HGYFFIgARIgARIgARIgARIwG0CFPxuE2V6JEACJEACJEACJEACJKAQAQp+hRqDRSEBEiABEiABEiABEiABtwlQ8LtNlOmRAAmQAAmQAAmQAAmQgEIEKPgVagwWhQRIgARIgARIgARIgATcJkDB7wLR4wWlOF5Y5kJKTMJNAslJCWhYJw0HjhS5mSzTcolAWkoisjJSkHes2KUUmYybBLLTk5GYmIBj4v7GTT0C9bJSUFpeiYIi/veo1zpA47ppOFZYipLSChWLF9cytWiUEdf8T9bMKfhdaHkKfhcgRiEJCv4oQHUxSQp+F2FGISkK/ihAdTFJCn4XYUYhKQr+wFAp+KPQ4WwkScFvA1KoIBT8oQjF5zwFf3y4282Vgt8u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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", "Current 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,step,caption\n", "0.0,80.0,10.0,,Set concentration\n", "0.006400000000000002,78.592,11.408000000000001,1,1st reaction step\n", "0.009600000000000003,77.910528,12.089472,2,\n", "0.013440000000000004,77.1058458624,12.894154137600001,3,\n", "0.018048000000000005,76.15876717373031,13.841232826269698,4,\n", "0.023577600000000004,75.04845757891101,14.951542421088993,5,\n", "0.029107200000000007,73.96884582376929,16.031154176230725,6,\n", "0.03463680000000001,72.91908317443371,17.080916825566298,7,\n", "0.04016640000000001,71.89834436282696,18.101655637173042,8,\n", "0.045696000000000014,70.90582693788352,19.094173062116482,9,\n", "0.05233152000000001,69.7477353740692,20.252264625930806,10,\n", "0.05896704000000001,68.62806650892247,21.371933491077524,11,\n", "0.06560256000000002,67.54554556951605,22.45445443048395,12,\n", "0.07223808000000002,66.49894007682887,23.501059923171127,13,\n", "0.07887360000000003,65.48705844253587,24.512941557464124,14,\n", "0.08550912000000004,64.50874861235279,25.491251387647203,15,\n", "0.09347174400000004,63.373726382799354,26.62627361720064,16,\n", "0.10143436800000004,62.2838929294738,27.716107070526196,17,\n", "0.10939699200000004,61.237449146205506,28.762550853794487,18,\n", "0.11735961600000004,60.23266755485373,29.767332445146263,19,\n", "0.12532224000000003,59.26788945357223,30.732110546427762,20,\n", "0.13487738880000003,58.15624872361806,31.84375127638193,21,\n", "0.14443253760000002,57.09771745659816,32.90228254340183,22,\n", "0.15398768640000002,56.0897583084074,33.910241691592596,23,\n", "0.16354283520000001,55.12995515844305,34.87004484155694,24,\n", "0.17500901376000003,54.033217749985546,35.96678225001445,25,\n", "0.18647519232000004,52.999357276322066,37.00064272367793,26,\n", "0.19794137088000005,52.02476894664434,37.97523105335565,27,\n", "0.21170078515200005,50.92231177389454,39.07768822610545,28,\n", "0.22546019942400006,49.89570042592975,40.10429957407024,1,1st reaction step\n", "0.23921961369600006,48.93971693212988,41.06028306787011,2,\n", "0.25573091082240007,47.871459377140354,42.12854062285964,3,\n", "0.27224220794880005,46.89139341164059,43.1086065883594,4,\n", "0.29205576450048004,45.81240721519991,44.18759278480008,5,\n", "0.31186932105216003,44.84031378886753,45.15968621113246,6,\n", "0.335645588914176,43.78936544572559,46.2106345542744,7,\n", "0.359421856776192,42.863355249162076,47.13664475083792,8,\n", "0.38795337821061116,41.88424541214457,48.11575458785542,9,\n", "0.42219120393191417,40.87692656753266,49.123073432467336,10,\n", "0.4564290296532172,40.042049758158775,49.95795024184122,11,\n", "0.4975144205187808,39.21170378709872,50.78829621290127,12,\n", "0.5468168895574572,38.41997915447455,51.580020845525446,13,\n", "0.6059798524038689,37.704113470448206,52.29588652955179,14,\n", "0.6769754078195629,37.099191058819024,52.90080894118097,15,\n", "0.7621700743183957,36.630964980446095,53.3690350195539,16,\n", "0.8644036741169949,36.30843587395681,53.69156412604318,17,\n", "0.9870839938753141,36.11924081574702,53.88075918425297,18,\n", "1.1343003775852971,36.031469807322495,53.9685301926775,19,\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.11.9" } }, "nbformat": 4, "nbformat_minor": 5 }