{ "cells": [ { "cell_type": "markdown", "id": "3bbe8002-bdf3-490c-bde0-80dd3713a3d0", "metadata": {}, "source": [ "## A simple `A + B <-> C` reaction whose rate constants are to be estimated from a given time evolution of [A] and [B] \n", "### (values given on a *variable-time* grid.)\n", "\n", "Assume the reaction is known to be 1st order (won't verify that.) \n", "\n", "This is the counterpart of experiment `mystery_reaction_1` for a more complex reaction; we'll also proceed faster. \n", "\n", "In PART 1, a time evolution of [A] and [B] is obtained by simulation \n", "\n", "In PART 2, the time evolutions generated in Part 1 are taken as a _starting point,_ to estimate the rate constants of `A <-> B` \n", "\n", "In PART 3, we'll repeat what we did in Part 2, but this time showing the full details of how the answer is arrived at" ] }, { "cell_type": "markdown", "id": "4118b513-1c98-455d-b58f-37898bb03bdd", "metadata": {}, "source": [ "### TAGS : \"numerical\", \"uniform compartment\", \"under-the-hood\"" ] }, { "cell_type": "code", "execution_count": 1, "id": "e4c76b22-243f-4c4b-b6ca-7d9bf89ec74c", "metadata": {}, "outputs": [], "source": [ "LAST_REVISED = \"Sep. 8, 2024\"\n", "LIFE123_VERSION = \"1.0.0.beta.38\" # Version this experiment is based on" ] }, { "cell_type": "code", "execution_count": 2, "id": "97b7f9e2-99b8-42a1-bede-b9e551b9e024", "metadata": {}, "outputs": [], "source": [ "#import set_path # Using MyBinder? Uncomment this before running the next cell!\n", " # Importing this local file will add the project's home directory to sys.path" ] }, { "cell_type": "code", "execution_count": 3, "id": "3924c013", "metadata": { "lines_to_next_cell": 2, "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 numpy as np\n", "\n", "from life123 import check_version, UniformCompartment, PlotlyHelper, Numerical" ] }, { "cell_type": "code", "execution_count": 4, "id": "8966a716-74bd-4c5d-8f4a-5733b3806973", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK\n" ] } ], "source": [ "check_version(LIFE123_VERSION)" ] }, { "cell_type": "code", "execution_count": null, "id": "b5208e04-e3b8-4769-8937-d61751e55a47", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "9329208b-070f-4902-8f37-0f11ddf75ed6", "metadata": {}, "source": [ "# PART 1 - We'll generate the time evolution of [A] and [B] by simulating a reaction of KNOWN rate constants...\n", "## but pretend you don't see this section! (because we later want to estimate those rate constants)" ] }, { "cell_type": "code", "execution_count": 5, "id": "72b4245c-de4e-480d-a501-3495b7ed8bc4", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 1 (at temp. 25 C)\n", "0: A + B <-> C (kF = 5 / kR = 1 / delta_G = -3,989.7 / K = 5) | 1st order in all reactants & products\n", "Set of chemicals involved in the above reactions: {'C', 'B', 'A'}\n" ] } ], "source": [ "# Instantiate the simulator and specify the accuracy preset\n", "dynamics = UniformCompartment(preset=\"mid\")\n", "\n", "# Reaction A <-> B (mostly in the forward direction)\n", "dynamics.add_reaction(reactants=[\"A\", \"B\"], products=\"C\",\n", " forward_rate=5., reverse_rate=1.) \n", " \n", "dynamics.describe_reactions()" ] }, { "cell_type": "markdown", "id": "98a9fbe5-2090-4d38-9c5f-94fbf7c3eae2", "metadata": {}, "source": [ "### Run the simulation" ] }, { "cell_type": "code", "execution_count": 6, "id": "ae304704-c8d9-4cef-9e0b-2587bb3909ef", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "3 species:\n", " Species 0 (A). Conc: 40.0\n", " Species 1 (B). Conc: 20.0\n", " Species 2 (C). Conc: 5.0\n", "Set of chemicals involved in reactions: {'C', 'B', 'A'}\n" ] } ], "source": [ "dynamics.set_conc({\"A\": 40., \"B\": 20., \"C\": 5.}, snapshot=True) # Set the initial concentrations\n", "dynamics.describe_state()" ] }, { "cell_type": "code", "execution_count": 7, "id": "2502cd11-0df9-4303-8895-98401a1df7b8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Some steps were backtracked and re-done, to prevent negative concentrations or excessively large concentration changes\n", "53 total step(s) taken\n", "Number of step re-do's because of elective soft aborts: 1\n", "Norm usage: {'norm_A': 19, 'norm_B': 17, 'norm_C': 17, 'norm_D': 17}\n" ] } ], "source": [ "dynamics.enable_diagnostics() # To save diagnostic information for the simulation run, below\n", "\n", "dynamics.single_compartment_react(initial_step=0.001, duration=0.05,\n", " snapshots={\"initial_caption\": \"1st reaction step\",\n", " \"final_caption\": \"last reaction step\"},\n", " variable_steps=True)" ] }, { "cell_type": "markdown", "id": "199b6238-f6ed-44a8-8130-a003444d7658", "metadata": {}, "source": [ "### Plots of changes of concentration with time" ] }, { "cell_type": "code", "execution_count": 8, "id": "a2c0e793-5457-46a5-9150-388c9f562cf0", "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.0004, 0.0006000000000000001, 0.0008, 0.001, 0.00124, 0.00148, 0.001768, 0.0021136, 0.00252832, 0.0030259840000000002, 0.0035236480000000003, 0.0041208448000000005, 0.0047180416, 0.0053152384, 0.0059124352, 0.006509632, 0.007106828799999999, 0.00782346496, 0.00854010112, 0.009256737280000002, 0.009973373440000002, 0.010690009600000003, 0.011406645760000004, 0.012123281920000005, 0.012839918080000005, 0.013699881472000006, 0.014559844864000006, 0.015419808256000006, 0.016279771648000006, 0.017139735040000006, 0.017999698432000007, 0.018859661824000007, 0.019719625216000007, 0.020579588608000007, 0.021611544678400006, 0.022643500748800005, 0.023675456819200004, 0.024707412889600003, 0.02573936896, 0.0267713250304, 0.02800967231488, 0.02924801959936, 0.03048636688384, 0.03172471416832, 0.033210730909696, 0.034696747651072, 0.036182764392448004, 0.0379659844820992, 0.0397492045717504, 0.04188906867933184, 0.04445690560842957, 0.047538309923346844, 0.05123599510124757 ], "xaxis": "x", "y": [ 40, 38.402, 37.696645996, 37.03100246737306, 36.40192117248846, 35.687510981489105, 35.0179281143446, 34.263511663973965, 33.42271749333614, 32.497252730456765, 31.492902502752088, 30.598989869880295, 29.63918060253385, 28.79526612547155, 28.048707175099015, 27.38472713457548, 26.791395144516315, 26.25896663689842, 25.683487055854194, 25.174286737413546, 24.72175309147662, 24.318020471214552, 23.956587480875665, 23.632031378726545, 23.339791861743734, 23.076005238665083, 22.78964983818872, 22.535388448216583, 22.30903300667835, 22.107052974126063, 21.926451450251776, 21.764668538942978, 21.619505172421558, 21.489062478878115, 21.37169308790636, 21.244815418709983, 21.13287482561298, 21.033974855175824, 20.946488735644113, 20.869015080564374, 20.80034205804144, 20.72723339658817, 20.66396014719738, 20.609145707398778, 20.561619165932203, 20.512133892765526, 20.470470547206947, 20.43536453411568, 20.399843629231764, 20.37098474212841, 20.342829250419715, 20.31660286937638, 20.293559891591904, 20.274774038325667 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
Concentration=%{y}", "legendgroup": "B", "line": { "color": "violet", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0004, 0.0006000000000000001, 0.0008, 0.001, 0.00124, 0.00148, 0.001768, 0.0021136, 0.00252832, 0.0030259840000000002, 0.0035236480000000003, 0.0041208448000000005, 0.0047180416, 0.0053152384, 0.0059124352, 0.006509632, 0.007106828799999999, 0.00782346496, 0.00854010112, 0.009256737280000002, 0.009973373440000002, 0.010690009600000003, 0.011406645760000004, 0.012123281920000005, 0.012839918080000005, 0.013699881472000006, 0.014559844864000006, 0.015419808256000006, 0.016279771648000006, 0.017139735040000006, 0.017999698432000007, 0.018859661824000007, 0.019719625216000007, 0.020579588608000007, 0.021611544678400006, 0.022643500748800005, 0.023675456819200004, 0.024707412889600003, 0.02573936896, 0.0267713250304, 0.02800967231488, 0.02924801959936, 0.03048636688384, 0.03172471416832, 0.033210730909696, 0.034696747651072, 0.036182764392448004, 0.0379659844820992, 0.0397492045717504, 0.04188906867933184, 0.04445690560842957, 0.047538309923346844, 0.05123599510124757 ], "xaxis": "x", "y": [ 20, 18.402, 17.696645996, 17.031002467373057, 16.401921172488453, 15.687510981489103, 15.017928114344597, 14.263511663973967, 13.422717493336137, 12.497252730456765, 11.492902502752086, 10.598989869880295, 9.639180602533848, 8.79526612547155, 8.048707175099016, 7.384727134575484, 6.7913951445163185, 6.258966636898424, 5.683487055854196, 5.174286737413548, 4.721753091476625, 4.318020471214558, 3.95658748087567, 3.632031378726549, 3.3397918617437363, 3.076005238665084, 2.789649838188722, 2.535388448216585, 2.309033006678355, 2.1070529741260673, 1.92645145025178, 1.7646685389429808, 1.6195051724215623, 1.4890624788781186, 1.3716930879063611, 1.2448154187099867, 1.1328748256129835, 1.0339748551758263, 0.9464887356441157, 0.8690150805643757, 0.800342058041442, 0.7272333965881697, 0.6639601471973792, 0.609145707398778, 0.5616191659322027, 0.5121338927655255, 0.4704705472069466, 0.4353645341156808, 0.3998436292317648, 0.37098474212841237, 0.3428292504197172, 0.3166028693763817, 0.2935598915919072, 0.2747740383256691 ], "yaxis": "y" }, { "hovertemplate": "Chemical=C
SYSTEM TIME=%{x}
Concentration=%{y}", "legendgroup": "C", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "C", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0004, 0.0006000000000000001, 0.0008, 0.001, 0.00124, 0.00148, 0.001768, 0.0021136, 0.00252832, 0.0030259840000000002, 0.0035236480000000003, 0.0041208448000000005, 0.0047180416, 0.0053152384, 0.0059124352, 0.006509632, 0.007106828799999999, 0.00782346496, 0.00854010112, 0.009256737280000002, 0.009973373440000002, 0.010690009600000003, 0.011406645760000004, 0.012123281920000005, 0.012839918080000005, 0.013699881472000006, 0.014559844864000006, 0.015419808256000006, 0.016279771648000006, 0.017139735040000006, 0.017999698432000007, 0.018859661824000007, 0.019719625216000007, 0.020579588608000007, 0.021611544678400006, 0.022643500748800005, 0.023675456819200004, 0.024707412889600003, 0.02573936896, 0.0267713250304, 0.02800967231488, 0.02924801959936, 0.03048636688384, 0.03172471416832, 0.033210730909696, 0.034696747651072, 0.036182764392448004, 0.0379659844820992, 0.0397492045717504, 0.04188906867933184, 0.04445690560842957, 0.047538309923346844, 0.05123599510124757 ], "xaxis": "x", "y": [ 5, 6.598, 7.303354004, 7.968997532626943, 8.598078827511547, 9.312489018510897, 9.982071885655403, 10.736488336026033, 11.577282506663863, 12.502747269543235, 13.507097497247914, 14.401010130119705, 15.360819397466152, 16.20473387452845, 16.951292824900985, 17.61527286542452, 18.208604855483685, 18.74103336310158, 19.316512944145806, 19.825713262586454, 20.27824690852338, 20.681979528785448, 21.043412519124335, 21.367968621273455, 21.660208138256266, 21.923994761334917, 22.21035016181128, 22.464611551783417, 22.69096699332165, 22.892947025873937, 23.073548549748224, 23.235331461057022, 23.380494827578442, 23.510937521121885, 23.62830691209364, 23.755184581290017, 23.86712517438702, 23.966025144824176, 24.053511264355887, 24.130984919435626, 24.19965794195856, 24.27276660341183, 24.33603985280262, 24.390854292601222, 24.438380834067797, 24.487866107234474, 24.529529452793053, 24.56463546588432, 24.600156370768236, 24.62901525787159, 24.657170749580285, 24.68339713062362, 24.706440108408096, 24.725225961674333 ], "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.0004, "x1": 0.0004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0006000000000000001, "x1": 0.0006000000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0008, "x1": 0.0008, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.001, "x1": 0.001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00124, "x1": 0.00124, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00148, "x1": 0.00148, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.001768, "x1": 0.001768, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0021136, "x1": 0.0021136, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00252832, "x1": 0.00252832, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0030259840000000002, "x1": 0.0030259840000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0035236480000000003, "x1": 0.0035236480000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0041208448000000005, "x1": 0.0041208448000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0047180416, "x1": 0.0047180416, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0053152384, "x1": 0.0053152384, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0059124352, "x1": 0.0059124352, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.006509632, "x1": 0.006509632, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.007106828799999999, "x1": 0.007106828799999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00782346496, "x1": 0.00782346496, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00854010112, "x1": 0.00854010112, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.009256737280000002, "x1": 0.009256737280000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.009973373440000002, "x1": 0.009973373440000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.010690009600000003, "x1": 0.010690009600000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.011406645760000004, "x1": 0.011406645760000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.012123281920000005, "x1": 0.012123281920000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.012839918080000005, "x1": 0.012839918080000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.013699881472000006, "x1": 0.013699881472000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.014559844864000006, "x1": 0.014559844864000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.015419808256000006, "x1": 0.015419808256000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.016279771648000006, "x1": 0.016279771648000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.017139735040000006, "x1": 0.017139735040000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.017999698432000007, "x1": 0.017999698432000007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.018859661824000007, "x1": 0.018859661824000007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.019719625216000007, "x1": 0.019719625216000007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.020579588608000007, "x1": 0.020579588608000007, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.021611544678400006, "x1": 0.021611544678400006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.022643500748800005, "x1": 0.022643500748800005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.023675456819200004, "x1": 0.023675456819200004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.024707412889600003, "x1": 0.024707412889600003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.02573936896, "x1": 0.02573936896, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0267713250304, "x1": 0.0267713250304, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.02800967231488, "x1": 0.02800967231488, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.02924801959936, "x1": 0.02924801959936, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.03048636688384, "x1": 0.03048636688384, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.03172471416832, "x1": 0.03172471416832, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.033210730909696, "x1": 0.033210730909696, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.034696747651072, "x1": 0.034696747651072, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.036182764392448004, "x1": 0.036182764392448004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0379659844820992, "x1": 0.0379659844820992, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0397492045717504, "x1": 0.0397492045717504, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04188906867933184, "x1": 0.04188906867933184, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04445690560842957, "x1": 0.04445690560842957, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.047538309923346844, "x1": 0.047538309923346844, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05123599510124757, "x1": 0.05123599510124757, "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 <-> C` . Changes in concentrations with time (time steps shown in dashed lines)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -6.436682801664268e-05, 0.05130036192926422 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -1.932182959545127, 42.2069569978708 ], "title": { "text": "Concentration" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAFoCAYAAAC10eqiAAAgAElEQVR4XuydCZwUxfn+n70XWJYbuUFu5FJEQAVBRQUPFBIVEkXiifFKzGESjZrDxOT3j4kxiRiNIiYRTYKIouKNKAqCch9yuNz3sbuw7L3/envp2Z7e7uljpmd3Z57aD647XVVd9a3q6meq3rcqpUoFMJAACZAACZAACZBAghFIochJsBZldUiABEiABEiABDQCFDnsCCRAAiRAAiRAAglJgCInIZuVlSIBEiABEiABEqDIYR8gARIgARIgARJISAIUOQnZrKwUCZAACZAACZAARQ77AAmQAAmQAAmQQEISoMhJyGZlpUiABEiABEiABChy2AdIgARIgARIgAQSkgBFTkI2KytFAiRAAiRAAiRAkcM+QAIkQAIkQAIkkJAEKHISsllZKRIgARIgARIgAYoc9gESIAESIAESIIGEJECRk5DNykqRAAmQAAmQAAlQ5LAPkAAJkAAJkAAJJCQBipyEbFZWigRIgARIgARIgCKHfYAESIAESIAESCAhCVDkJGSzslIkQAIkQAIkQAIUOewDJEACJEACJEACCUmAIichm5WVIgESIAESIAESoMhhHyABEiABEiABEkhIAhQ5CdmsrBQJkAAJkAAJkABFDvsACZAACZAACZBAQhKgyEnIZmWlSIAESIAESIAEKHLYB0iABEiABEiABBKSAEVOQjYrK0UCJEACJEACJECRwz5AAiRAAiRAAiSQkAQochKyWVkpEiABEiABEiABihz2ARIgARIgARIggYQkQJGTkM3KSpEACZAACZAACVDksA+QAAmQAAmQAAkkJAGKnIRsVlaKBEiABEiABEiAIod9gARIgARIgARIICEJUOQkZLOyUiRAAiRAAiRAAhQ57AMkQAIkQAIkQAIJSYAiJyGblZUiARIgARIgARKgyGmgfeCHv3wSb76/BOMvGI7/9+DtDbQWLLYVgVn/WYDf/fVFtGvbEu+9/BghkQAJkAAJ+CRAkeMTXH1I9n9PzsbMl97Cy39/GP17d6sPRWIZYkTg7YWf4/sP/RX33TEFU6++JEa5BpvNhdfcqwmzf/3lgWBvxNxJgAQCJ7D2qzxcc+vDmHbtOPzo9smB3y+oG9SZyJEBce/+w7XqVV9mJiIJCL3saz+cGVS7uM7323f+Wovr9GLR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nJqJKDDpD+O1nbnpelzV51pdIaf04PGknag+4aKtjvyYLc+8/scA85mc5npo3tfB44i/MXoisCMg5FgNBAgQIECAQEgBISfkWDVFgAABAgQICDnWAAECBAgQIBBSQMgJOVZNESBAgAABAkKONUCAAAECBAiEFBByQo5VUwQIECBAgICQYw0QIECAAAECIQWEnJBj1RQBAgQIECAg5FgDBAgQIECAQEgBISfkWDVFgAABAgQICDnWAAECBAgQIBBSQMgJOVZNESBAgAABAkKONUCAAAECBAiEFBByQo5VUwQIECBAgICQYw0QIECAAAECIQWEnJBj1RQBAgQIECAg5FgDBAgQIECAQEgBISfkWDVFgAABAgQICDnWAAECBAgQIBBSQMgJOVZNESBAgAABAkKONUCAAAECBAiEFBByQo5VUwQIECBAgICQYw0QIECAAAECIQWEnJBj1RQBAgQIECAg5FgDBAgQIECAQEgBISfkWDVFgAABAgQICDnWAAECBAgQIBBSQMgJOVZNESBAgAABAkKONUCAAAECBAiEFBByQo5VUwQIECBAgICQYw0QIECAAAECIQWEnJBj1RQBAgQIECAg5FgDBAgQIECAQEgBISfkWDVFgAABAgQICDnWAAECBAgQIBBSQMgJOVZNESBAgAABAkKONUCAAAECBAiEFBByQo5VUwQIECBAgMB/iTCFQAKVDnkAAAAASUVORK5CYII=", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_history(colors=['darkturquoise', 'violet', 'green'], show_intervals=True)" ] }, { "cell_type": "markdown", "id": "cdcb5bde-65ff-43dc-ad43-897f5dd726a4", "metadata": {}, "source": [ "Notice the variable time steps (vertical dashed lines), more frequent when there's more change" ] }, { "cell_type": "code", "execution_count": null, "id": "f3007827-f052-4d96-8064-47b10a42ad91", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "042a23ff-84de-4273-ae7b-09b73b740b4c", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "1f447754-5017-4b48-a4f5-fc9049b7de64", "metadata": {}, "source": [ "# PART 2 - This is the starting point of fitting the data from part 1 \n", "### We're given the data of the above curves - i.e. the system history, and we want to estimate the rate constants (forward and reverse) of the reaction `A + B <-> C`" ] }, { "cell_type": "markdown", "id": "b5f75cfb-45b4-4fd2-ad4c-c2a2084ca62d", "metadata": {}, "source": [ "Let's start by taking stock of the actual data (saved during the simulation of part 1):" ] }, { "cell_type": "code", "execution_count": 9, "id": "f26c98c3-802c-4c38-a726-06ac4a77211a", "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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 TIMEABCcaption
00.00000040.00000020.0000005.000000Initialized state
10.00040038.40200018.4020006.5980001st reaction step
20.00060037.69664617.6966467.303354
30.00080037.03100217.0310027.968998
40.00100036.40192116.4019218.598079
50.00124035.68751115.6875119.312489
60.00148035.01792815.0179289.982072
70.00176834.26351214.26351210.736488
80.00211433.42271713.42271711.577283
90.00252832.49725312.49725312.502747
100.00302631.49290311.49290313.507097
110.00352430.59899010.59899014.401010
120.00412129.6391819.63918115.360819
130.00471828.7952668.79526616.204734
140.00531528.0487078.04870716.951293
150.00591227.3847277.38472717.615273
160.00651026.7913956.79139518.208605
170.00710726.2589676.25896718.741033
180.00782325.6834875.68348719.316513
190.00854025.1742875.17428719.825713
200.00925724.7217534.72175320.278247
210.00997324.3180204.31802020.681980
220.01069023.9565873.95658721.043413
230.01140723.6320313.63203121.367969
240.01212323.3397923.33979221.660208
250.01284023.0760053.07600521.923995
260.01370022.7896502.78965022.210350
270.01456022.5353882.53538822.464612
280.01542022.3090332.30903322.690967
290.01628022.1070532.10705322.892947
300.01714021.9264511.92645123.073549
310.01800021.7646691.76466923.235331
320.01886021.6195051.61950523.380495
330.01972021.4890621.48906223.510938
340.02058021.3716931.37169323.628307
350.02161221.2448151.24481523.755185
360.02264421.1328751.13287523.867125
370.02367521.0339751.03397523.966025
380.02470720.9464890.94648924.053511
390.02573920.8690150.86901524.130985
400.02677120.8003420.80034224.199658
410.02801020.7272330.72723324.272767
420.02924820.6639600.66396024.336040
430.03048620.6091460.60914624.390854
440.03172520.5616190.56161924.438381
450.03321120.5121340.51213424.487866
460.03469720.4704710.47047124.529529
470.03618320.4353650.43536524.564635
480.03796620.3998440.39984424.600156
490.03974920.3709850.37098524.629015
500.04188920.3428290.34282924.657171
510.04445720.3166030.31660324.683397
520.04753820.2935600.29356024.706440
530.05123620.2747740.27477424.725226last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B C caption\n", "0 0.000000 40.000000 20.000000 5.000000 Initialized state\n", "1 0.000400 38.402000 18.402000 6.598000 1st reaction step\n", "2 0.000600 37.696646 17.696646 7.303354 \n", "3 0.000800 37.031002 17.031002 7.968998 \n", "4 0.001000 36.401921 16.401921 8.598079 \n", "5 0.001240 35.687511 15.687511 9.312489 \n", "6 0.001480 35.017928 15.017928 9.982072 \n", "7 0.001768 34.263512 14.263512 10.736488 \n", "8 0.002114 33.422717 13.422717 11.577283 \n", "9 0.002528 32.497253 12.497253 12.502747 \n", "10 0.003026 31.492903 11.492903 13.507097 \n", "11 0.003524 30.598990 10.598990 14.401010 \n", "12 0.004121 29.639181 9.639181 15.360819 \n", "13 0.004718 28.795266 8.795266 16.204734 \n", "14 0.005315 28.048707 8.048707 16.951293 \n", "15 0.005912 27.384727 7.384727 17.615273 \n", "16 0.006510 26.791395 6.791395 18.208605 \n", "17 0.007107 26.258967 6.258967 18.741033 \n", "18 0.007823 25.683487 5.683487 19.316513 \n", "19 0.008540 25.174287 5.174287 19.825713 \n", "20 0.009257 24.721753 4.721753 20.278247 \n", "21 0.009973 24.318020 4.318020 20.681980 \n", "22 0.010690 23.956587 3.956587 21.043413 \n", "23 0.011407 23.632031 3.632031 21.367969 \n", "24 0.012123 23.339792 3.339792 21.660208 \n", "25 0.012840 23.076005 3.076005 21.923995 \n", "26 0.013700 22.789650 2.789650 22.210350 \n", "27 0.014560 22.535388 2.535388 22.464612 \n", "28 0.015420 22.309033 2.309033 22.690967 \n", "29 0.016280 22.107053 2.107053 22.892947 \n", "30 0.017140 21.926451 1.926451 23.073549 \n", "31 0.018000 21.764669 1.764669 23.235331 \n", "32 0.018860 21.619505 1.619505 23.380495 \n", "33 0.019720 21.489062 1.489062 23.510938 \n", "34 0.020580 21.371693 1.371693 23.628307 \n", "35 0.021612 21.244815 1.244815 23.755185 \n", "36 0.022644 21.132875 1.132875 23.867125 \n", "37 0.023675 21.033975 1.033975 23.966025 \n", "38 0.024707 20.946489 0.946489 24.053511 \n", "39 0.025739 20.869015 0.869015 24.130985 \n", "40 0.026771 20.800342 0.800342 24.199658 \n", "41 0.028010 20.727233 0.727233 24.272767 \n", "42 0.029248 20.663960 0.663960 24.336040 \n", "43 0.030486 20.609146 0.609146 24.390854 \n", "44 0.031725 20.561619 0.561619 24.438381 \n", "45 0.033211 20.512134 0.512134 24.487866 \n", "46 0.034697 20.470471 0.470471 24.529529 \n", "47 0.036183 20.435365 0.435365 24.564635 \n", "48 0.037966 20.399844 0.399844 24.600156 \n", "49 0.039749 20.370985 0.370985 24.629015 \n", "50 0.041889 20.342829 0.342829 24.657171 \n", "51 0.044457 20.316603 0.316603 24.683397 \n", "52 0.047538 20.293560 0.293560 24.706440 \n", "53 0.051236 20.274774 0.274774 24.725226 last reaction step" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = dynamics.get_history() \n", "df" ] }, { "cell_type": "markdown", "id": "fe1139cb-e3d3-4f4f-aa78-89e400a5c008", "metadata": {}, "source": [ "The reaction is mostly forward; the reactants `A` and `B` gets consumed, while the product `C` gets produced" ] }, { "cell_type": "markdown", "id": "543b6f5a-f54c-426e-8dc6-342b62d50078", "metadata": {}, "source": [ "#### Let's extract some columns, as Numpy arrays:" ] }, { "cell_type": "code", "execution_count": 10, "id": "9e3a5eda-d426-4aa3-b1fd-65730a4af8d2", "metadata": {}, "outputs": [], "source": [ "t_arr = df[\"SYSTEM TIME\"].to_numpy() # The independent variable : Time" ] }, { "cell_type": "code", "execution_count": 11, "id": "44a76d0e-5bf0-4d34-b37f-37c11eff9a8f", "metadata": {}, "outputs": [], "source": [ "A_conc = df[\"A\"].to_numpy()" ] }, { "cell_type": "code", "execution_count": 12, "id": "2955b13a-483d-4ad1-962e-f2d968a3d11b", "metadata": {}, "outputs": [], "source": [ "B_conc = df[\"B\"].to_numpy()" ] }, { "cell_type": "code", "execution_count": 13, "id": "0cab8010-6b4d-43e4-854d-e77ff6107fe1", "metadata": {}, "outputs": [], "source": [ "C_conc = df[\"C\"].to_numpy()" ] }, { "cell_type": "code", "execution_count": null, "id": "203c6b9e-112e-48dd-8e40-d6866af6c5c2", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "1d41750e-d6bf-4288-8555-51acfce9e82a", "metadata": {}, "source": [ "### **Here, we take the easy way out,** using a specialized Life123 function!\n", "(in Part 3, we'll do a step-by-step derivation, to see how it works)" ] }, { "cell_type": "code", "execution_count": 14, "id": "344c1ead-1de4-49f7-b3cf-7958513d10b4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Least square fit to C'(t) = kF * A(t) * B(t) + kR * (- C(t) )\n", "\n", "-> ESTIMATED RATE CONSTANTS: kF = 5.233 , kR = 0.8841\n" ] }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "C'(t) :
A(t)=%{x}
value=%{y}", "legendgroup": "wide_variable_0", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "C'(t)", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 40, 38.402, 37.696645996, 37.03100246737306, 36.40192117248846, 35.687510981489105, 35.0179281143446, 34.263511663973965, 33.42271749333614, 32.497252730456765, 31.492902502752088, 30.598989869880295, 29.63918060253385, 28.79526612547155, 28.048707175099015, 27.38472713457548, 26.791395144516315, 26.25896663689842, 25.683487055854194, 25.174286737413546, 24.72175309147662, 24.318020471214552, 23.956587480875665, 23.632031378726545, 23.339791861743734, 23.076005238665083, 22.78964983818872, 22.535388448216583, 22.30903300667835, 22.107052974126063, 21.926451450251776, 21.764668538942978, 21.619505172421558, 21.489062478878115, 21.37169308790636, 21.244815418709983, 21.13287482561298, 21.033974855175824, 20.946488735644113, 20.869015080564374, 20.80034205804144, 20.72723339658817, 20.66396014719738, 20.609145707398778, 20.561619165932203, 20.512133892765526, 20.470470547206947, 20.43536453411568, 20.399843629231764, 20.37098474212841, 20.342829250419715, 20.31660286937638, 20.293559891591904, 20.274774038325667 ], "xaxis": "x", "y": [ 4307.153320000005, 3682.8466799999987, 3427.493831567357, 3236.8120587788653, 3068.725862941632, 2883.3188711330367, 2712.461772504288, 2534.6615361578533, 2341.3479068000415, 2134.5357202038595, 1907.1731736437323, 1710.2961541487148, 1510.158581232139, 1331.6158320296054, 1180.9666351997093, 1052.678137745128, 942.5372822468744, 851.3110575931423, 756.7856326736801, 671.0057474476107, 597.4205001035625, 533.8591975326472, 478.61741478967997, 430.34084348460055, 387.94172768330645, 352.1334554402747, 314.32546750112124, 279.44028547110975, 249.04285349539532, 222.4406061848822, 199.06919199595723, 178.4647350606174, 160.24290256349923, 144.0829265643897, 130.3304210689239, 115.7114479692973, 102.15578433122391, 90.30718230894308, 79.92577365599936, 70.81051306090194, 63.133198153376725, 55.066100016252676, 47.67955268661899, 41.32159958187731, 36.070648586659445, 30.668772493389042, 25.830583368380758, 21.94027948623898, 18.051555262554757, 14.808138536066508, 11.819337539283879, 8.970078732741968, 6.388240059246527, 3.7726321418303996 ], "yaxis": "y" }, { "hovertemplate": "Linear Fit :
A(t)=%{x}
value=%{y}", "legendgroup": "wide_variable_1", "line": { "color": "red", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "Linear Fit", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 40, 38.402, 37.696645996, 37.03100246737306, 36.40192117248846, 35.687510981489105, 35.0179281143446, 34.263511663973965, 33.42271749333614, 32.497252730456765, 31.492902502752088, 30.598989869880295, 29.63918060253385, 28.79526612547155, 28.048707175099015, 27.38472713457548, 26.791395144516315, 26.25896663689842, 25.683487055854194, 25.174286737413546, 24.72175309147662, 24.318020471214552, 23.956587480875665, 23.632031378726545, 23.339791861743734, 23.076005238665083, 22.78964983818872, 22.535388448216583, 22.30903300667835, 22.107052974126063, 21.926451450251776, 21.764668538942978, 21.619505172421558, 21.489062478878115, 21.37169308790636, 21.244815418709983, 21.13287482561298, 21.033974855175824, 20.946488735644113, 20.869015080564374, 20.80034205804144, 20.72723339658817, 20.66396014719738, 20.609145707398778, 20.561619165932203, 20.512133892765526, 20.470470547206947, 20.43536453411568, 20.399843629231764, 20.37098474212841, 20.342829250419715, 20.31660286937638, 20.293559891591904, 20.274774038325667 ], "xaxis": "x", "y": [ 4181.61412222512, 3691.8668699422014, 3484.1946207846886, 3292.9892343651927, 3116.548149680672, 2921.1967256906546, 2742.952067481945, 2547.745755456209, 2337.207203853775, 2114.019934173185, 1881.9502280026256, 1684.2777363179655, 1481.343247651972, 1310.8775556972005, 1166.290128376034, 1042.5965502742336, 935.967571291871, 843.4200076656257, 746.7253956039864, 664.0573519488718, 592.8663644194651, 531.1614850882848, 477.36860383452733, 430.2291760753288, 388.7266754092986, 352.0323917180879, 313.02297193596974, 279.1048870178457, 249.4786630506953, 223.49547593111086, 200.6240121269116, 180.4255872526743, 162.5352432123338, 146.64723066890954, 132.50374706792627, 117.37663159703612, 104.17028776232993, 92.61153878808246, 82.47208515725735, 73.55992678068033, 65.71266205075787, 57.412774728080834, 50.274636361898814, 44.12464393840884, 38.81777938450715, 33.31732039162053, 28.706166541517838, 24.834857440843535, 20.9309232738105, 17.768901575598246, 14.692349409753856, 11.834054136301795, 9.32864423464735, 7.290213358585209 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Curve vs Fit:" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "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": "d/dt C(t) as a function of A(t), alongside its least-square fit" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 20.274774038325667, 40 ], "title": { "text": "A(t)" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -235.3040727391793, 4546.230024881014 ], "title": { "text": "C'(t)" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.estimate_rate_constants_association(t=t_arr, \n", " A_conc=A_conc, B_conc=B_conc, C_conc=C_conc, \n", " reactants=[\"A\", \"B\"], product=\"C\")" ] }, { "cell_type": "markdown", "id": "94af05ee-037a-4223-a1a7-fa681baf5ae1", "metadata": {}, "source": [ "### The least-square fit is good... and the values estimated from the data for kF and kR are in good agreement with the values we used in the simulation to get that data, respectively 12 and 2 (see PART 1, above) " ] }, { "cell_type": "markdown", "id": "4ac5c182-7d13-459e-b073-b946867a9e49", "metadata": {}, "source": [ "Note that our data set is _quite skimpy_ in the number of points:" ] }, { "cell_type": "code", "execution_count": 15, "id": "0cb00de3-91bb-4b6d-8e66-788ea743100b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "54" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(B_conc)" ] }, { "cell_type": "markdown", "id": "703cab8c-1850-4799-809f-a8fd43d61c26", "metadata": {}, "source": [ "and that it uses a _variable_ grid, with more points where there's more change, such as in the early times:" ] }, { "cell_type": "code", "execution_count": 16, "id": "0d1d5afc-4e04-457a-9548-f608a71cce1a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.0004 , 0.0006 , 0.0008 , 0.001 ,\n", " 0.00124 , 0.00148 , 0.001768 , 0.0021136 , 0.00252832,\n", " 0.00302598, 0.00352365, 0.00412084, 0.00471804, 0.00531524,\n", " 0.00591244, 0.00650963, 0.00710683, 0.00782346, 0.0085401 ,\n", " 0.00925674, 0.00997337, 0.01069001, 0.01140665, 0.01212328,\n", " 0.01283992, 0.01369988, 0.01455984, 0.01541981, 0.01627977,\n", " 0.01713974, 0.0179997 , 0.01885966, 0.01971963, 0.02057959,\n", " 0.02161154, 0.0226435 , 0.02367546, 0.02470741, 0.02573937,\n", " 0.02677133, 0.02800967, 0.02924802, 0.03048637, 0.03172471,\n", " 0.03321073, 0.03469675, 0.03618276, 0.03796598, 0.0397492 ,\n", " 0.04188907, 0.04445691, 0.04753831, 0.051236 ])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_arr # Time points in our data set" ] }, { "cell_type": "code", "execution_count": 17, "id": "b8aa3145-e2e7-4ac2-a565-9a20a990bbb4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.0004 , 0.0003 , 0.0002 , 0.0002 , 0.00022 ,\n", " 0.00024 , 0.000264 , 0.0003168 , 0.00038016, 0.00045619,\n", " 0.00049766, 0.00054743, 0.0005972 , 0.0005972 , 0.0005972 ,\n", " 0.0005972 , 0.0005972 , 0.00065692, 0.00071664, 0.00071664,\n", " 0.00071664, 0.00071664, 0.00071664, 0.00071664, 0.00071664,\n", " 0.0007883 , 0.00085996, 0.00085996, 0.00085996, 0.00085996,\n", " 0.00085996, 0.00085996, 0.00085996, 0.00085996, 0.00094596,\n", " 0.00103196, 0.00103196, 0.00103196, 0.00103196, 0.00103196,\n", " 0.00113515, 0.00123835, 0.00123835, 0.00123835, 0.00136218,\n", " 0.00148602, 0.00148602, 0.00163462, 0.00178322, 0.00196154,\n", " 0.00235385, 0.00282462, 0.00338954, 0.00369769])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.gradient(t_arr) # Notice how it gets larger in later times, as bigger steps get taken" ] }, { "cell_type": "markdown", "id": "742366ab-5fb7-4244-9203-6c89689f743c", "metadata": {}, "source": [ "#### The variable time grid, and the skimpy number of data points, are best seen in the plot that was shown at the end of PART 1" ] }, { "cell_type": "code", "execution_count": null, "id": "a14bf79b-ebf8-4696-a92b-ec98e78ecd90", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "81203644-93d4-4e88-b6f0-219458d0fe8e", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "fb02e6dc-feb7-4b5d-9c7c-ee18ca4727bd", "metadata": {}, "source": [ "# PART 3 - investigate how the `estimate_rate_constants()` function used in part 2 works \n", "#### Again, the starting point are the time evolutions of [A], [B] and [C] , that is the system history that was given to us" ] }, { "cell_type": "markdown", "id": "36f3e683-5794-460f-98a6-c0f404a641d7", "metadata": {}, "source": [ "Let's revisit the Numpy arrays that we had set up at the beginning of Part 2" ] }, { "cell_type": "code", "execution_count": 18, "id": "3df1e539-4874-4953-acd7-089fc38518c6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.0004 , 0.0006 , 0.0008 , 0.001 ,\n", " 0.00124 , 0.00148 , 0.001768 , 0.0021136 , 0.00252832,\n", " 0.00302598, 0.00352365, 0.00412084, 0.00471804, 0.00531524,\n", " 0.00591244, 0.00650963, 0.00710683, 0.00782346, 0.0085401 ,\n", " 0.00925674, 0.00997337, 0.01069001, 0.01140665, 0.01212328,\n", " 0.01283992, 0.01369988, 0.01455984, 0.01541981, 0.01627977,\n", " 0.01713974, 0.0179997 , 0.01885966, 0.01971963, 0.02057959,\n", " 0.02161154, 0.0226435 , 0.02367546, 0.02470741, 0.02573937,\n", " 0.02677133, 0.02800967, 0.02924802, 0.03048637, 0.03172471,\n", " 0.03321073, 0.03469675, 0.03618276, 0.03796598, 0.0397492 ,\n", " 0.04188907, 0.04445691, 0.04753831, 0.051236 ])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_arr # The independent variable : Time" ] }, { "cell_type": "code", "execution_count": 19, "id": "d29137a5-5dba-4470-9d74-919f14cd939a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([40. , 38.402 , 37.696646 , 37.03100247, 36.40192117,\n", " 35.68751098, 35.01792811, 34.26351166, 33.42271749, 32.49725273,\n", " 31.4929025 , 30.59898987, 29.6391806 , 28.79526613, 28.04870718,\n", " 27.38472713, 26.79139514, 26.25896664, 25.68348706, 25.17428674,\n", " 24.72175309, 24.31802047, 23.95658748, 23.63203138, 23.33979186,\n", " 23.07600524, 22.78964984, 22.53538845, 22.30903301, 22.10705297,\n", " 21.92645145, 21.76466854, 21.61950517, 21.48906248, 21.37169309,\n", " 21.24481542, 21.13287483, 21.03397486, 20.94648874, 20.86901508,\n", " 20.80034206, 20.7272334 , 20.66396015, 20.60914571, 20.56161917,\n", " 20.51213389, 20.47047055, 20.43536453, 20.39984363, 20.37098474,\n", " 20.34282925, 20.31660287, 20.29355989, 20.27477404])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_conc" ] }, { "cell_type": "code", "execution_count": 20, "id": "ef430e60-6431-44c9-9b50-469e433270fe", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([20. , 18.402 , 17.696646 , 17.03100247, 16.40192117,\n", " 15.68751098, 15.01792811, 14.26351166, 13.42271749, 12.49725273,\n", " 11.4929025 , 10.59898987, 9.6391806 , 8.79526613, 8.04870718,\n", " 7.38472713, 6.79139514, 6.25896664, 5.68348706, 5.17428674,\n", " 4.72175309, 4.31802047, 3.95658748, 3.63203138, 3.33979186,\n", " 3.07600524, 2.78964984, 2.53538845, 2.30903301, 2.10705297,\n", " 1.92645145, 1.76466854, 1.61950517, 1.48906248, 1.37169309,\n", " 1.24481542, 1.13287483, 1.03397486, 0.94648874, 0.86901508,\n", " 0.80034206, 0.7272334 , 0.66396015, 0.60914571, 0.56161917,\n", " 0.51213389, 0.47047055, 0.43536453, 0.39984363, 0.37098474,\n", " 0.34282925, 0.31660287, 0.29355989, 0.27477404])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B_conc" ] }, { "cell_type": "code", "execution_count": 21, "id": "058df8a7-88ec-41af-bc58-b59b3880e39e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 5. , 6.598 , 7.303354 , 7.96899753, 8.59807883,\n", " 9.31248902, 9.98207189, 10.73648834, 11.57728251, 12.50274727,\n", " 13.5070975 , 14.40101013, 15.3608194 , 16.20473387, 16.95129282,\n", " 17.61527287, 18.20860486, 18.74103336, 19.31651294, 19.82571326,\n", " 20.27824691, 20.68197953, 21.04341252, 21.36796862, 21.66020814,\n", " 21.92399476, 22.21035016, 22.46461155, 22.69096699, 22.89294703,\n", " 23.07354855, 23.23533146, 23.38049483, 23.51093752, 23.62830691,\n", " 23.75518458, 23.86712517, 23.96602514, 24.05351126, 24.13098492,\n", " 24.19965794, 24.2727666 , 24.33603985, 24.39085429, 24.43838083,\n", " 24.48786611, 24.52952945, 24.56463547, 24.60015637, 24.62901526,\n", " 24.65717075, 24.68339713, 24.70644011, 24.72522596])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C_conc" ] }, { "cell_type": "markdown", "id": "56744c87-7555-4bfa-a285-a06da3c39ff3", "metadata": {}, "source": [ "#### Let's verify that the stoichiometry is satified. From the reaction `A + B <-> C` we can infer that and any drop in [A] corresponds to an equal drop in [B] , and an equal increase in [C] " ] }, { "cell_type": "code", "execution_count": 22, "id": "e3dcea5d-09c9-41e7-ac1f-6a40350aeef5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20.,\n", " 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20.,\n", " 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20.,\n", " 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20., 20.,\n", " 20., 20.])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_conc - B_conc # Constant differences will show that they change in lockstep" ] }, { "cell_type": "code", "execution_count": 23, "id": "5c2b104b-7f9b-4cd6-9315-68a110351717", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45.,\n", " 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45.,\n", " 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45.,\n", " 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45., 45.,\n", " 45., 45.])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_conc + C_conc # Constant sums will show that any drop in [A] corresponds to an equal increase in [C]" ] }, { "cell_type": "code", "execution_count": null, "id": "61c7d30e-2234-4998-b604-6cc3c83d2ed8", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 24, "id": "db27029c-4c13-40aa-a855-79ec186259f7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Incidentally, there's a function to verify that the stoichiometry \n", "# of a single reaction holds true across the entire simulation run \n", "# (overkill in this case!)\n", "dynamics.diagnostics.stoichiometry_checker_entire_run() " ] }, { "cell_type": "code", "execution_count": null, "id": "dbd5a0eb-5c1e-4249-b219-20010b648c41", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "a723c800-5c7c-4579-88fb-1fe968f0193e", "metadata": {}, "source": [ "### Now, let's investigate the rates of change of [A], [B] and [C]" ] }, { "cell_type": "code", "execution_count": 25, "id": "83278f03-9f66-44ba-88eb-45a2bd9f742b", "metadata": {}, "outputs": [], "source": [ "# The rate of change of [A] with time\n", "Deriv_A = np.gradient(A_conc, t_arr, edge_order=2)\n", "\n", "# The rate of change of [B] with time\n", "Deriv_B = np.gradient(B_conc, t_arr, edge_order=2)\n", "\n", "# The rate of change of [C] with time\n", "Deriv_C = np.gradient(C_conc, t_arr, edge_order=2)" ] }, { "cell_type": "code", "execution_count": 26, "id": "a85508f3-9149-4906-9320-e74dd21a95cf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 8.00355338e-11, -1.81898940e-11, -7.27595761e-12, 7.27595761e-12,\n", " 2.91038305e-11, -7.27595761e-12, -2.54658516e-11, 9.09494702e-12,\n", " 3.63797881e-12, 5.45696821e-12, 0.00000000e+00, -5.45696821e-12,\n", " 0.00000000e+00, 0.00000000e+00, -1.81898940e-12, -1.81898940e-12,\n", " 0.00000000e+00, -1.81898940e-12, 0.00000000e+00, 1.81898940e-12,\n", " 0.00000000e+00, -1.81898940e-12, -1.81898940e-12, 1.81898940e-12,\n", " 0.00000000e+00, -3.63797881e-12, 1.81898940e-12, 0.00000000e+00,\n", " -1.81898940e-12, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 1.81898940e-12, 0.00000000e+00, 0.00000000e+00, 1.81898940e-12,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,\n", " 1.81898940e-12, -9.09494702e-13, 0.00000000e+00, -2.72848411e-12,\n", " 9.09494702e-13, 9.09494702e-13, 0.00000000e+00, 1.36424205e-12,\n", " 9.09494702e-13, -5.45696821e-12])" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# As expected from the stoichiometry, the two derivatives are opposites: \n", "# when [A] increases by a certain amount, [C] decreases by that same amount\n", "Deriv_A + Deriv_C # Will be very close to zero throughout" ] }, { "cell_type": "code", "execution_count": 27, "id": "41e70576-b82e-4ab7-b00f-8d508f125b32", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 4.36557457e-11, -1.09139364e-11, 0.00000000e+00, 0.00000000e+00,\n", " 3.63797881e-12, 0.00000000e+00, -1.45519152e-11, 5.45696821e-12,\n", " 3.63797881e-12, -1.81898940e-12, 0.00000000e+00, -3.63797881e-12,\n", " 2.72848411e-12, 2.72848411e-12, 9.09494702e-13, 9.09494702e-13,\n", " 0.00000000e+00, -4.54747351e-13, -4.54747351e-13, 9.09494702e-13,\n", " 2.27373675e-12, 9.09494702e-13, -9.09494702e-13, -1.81898940e-12,\n", " -2.27373675e-12, -1.13686838e-12, 6.82121026e-13, 6.82121026e-13,\n", " 4.54747351e-13, 0.00000000e+00, -4.54747351e-13, 1.25055521e-12,\n", " 1.36424205e-12, -1.25055521e-12, -1.93267624e-12, 1.02318154e-12,\n", " -5.68434189e-13, -5.68434189e-13, -4.54747351e-13, -6.82121026e-13,\n", " 2.84217094e-13, -6.82121026e-13, -8.52651283e-14, -4.54747351e-13,\n", " 2.27373675e-13, -8.52651283e-14, 0.00000000e+00, -1.81898940e-12,\n", " 1.25055521e-12, 1.35003120e-12, 1.35003120e-13, 5.40012479e-13,\n", " 4.05009359e-13, -3.29691829e-12])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Similarly:\n", "Deriv_B + Deriv_C # Will be very close to zero throughout" ] }, { "cell_type": "code", "execution_count": 28, "id": "248429a0-6788-4b8b-954b-92119b41b488", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 3.63797881e-11, -7.27595761e-12, -7.27595761e-12, 7.27595761e-12,\n", " 2.54658516e-11, -7.27595761e-12, -1.09139364e-11, 3.63797881e-12,\n", " 0.00000000e+00, 7.27595761e-12, 0.00000000e+00, -1.81898940e-12,\n", " -2.72848411e-12, -2.72848411e-12, -2.72848411e-12, -2.72848411e-12,\n", " 0.00000000e+00, -1.36424205e-12, 4.54747351e-13, 9.09494702e-13,\n", " -2.27373675e-12, -2.72848411e-12, -9.09494702e-13, 3.63797881e-12,\n", " 2.27373675e-12, -2.50111043e-12, 1.13686838e-12, -6.82121026e-13,\n", " -2.27373675e-12, 0.00000000e+00, 4.54747351e-13, -1.25055521e-12,\n", " 4.54747351e-13, 1.25055521e-12, 1.93267624e-12, 7.95807864e-13,\n", " 5.68434189e-13, 5.68434189e-13, 4.54747351e-13, 6.82121026e-13,\n", " -2.84217094e-13, 6.82121026e-13, 8.52651283e-14, 4.54747351e-13,\n", " 1.59161573e-12, -8.24229573e-13, 0.00000000e+00, -9.09494702e-13,\n", " -3.41060513e-13, -4.40536496e-13, -1.35003120e-13, 8.24229573e-13,\n", " 5.04485342e-13, -2.16004992e-12])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# As expected from the stoichiometry, [A] and [B] vary in unison in time\n", "Deriv_A - Deriv_B # Will be very close to zero throughout" ] }, { "cell_type": "code", "execution_count": 29, "id": "964ab34f-364c-4a46-945f-f39d4e7149d9", "metadata": { "tags": [] }, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "A'(t) :
t=%{x}
value=%{y}", "legendgroup": "wide_variable_0", "line": { "color": "aqua", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A'(t)", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0004, 0.0006000000000000001, 0.0008, 0.001, 0.00124, 0.00148, 0.001768, 0.0021136, 0.00252832, 0.0030259840000000002, 0.0035236480000000003, 0.0041208448000000005, 0.0047180416, 0.0053152384, 0.0059124352, 0.006509632, 0.007106828799999999, 0.00782346496, 0.00854010112, 0.009256737280000002, 0.009973373440000002, 0.010690009600000003, 0.011406645760000004, 0.012123281920000005, 0.012839918080000005, 0.013699881472000006, 0.014559844864000006, 0.015419808256000006, 0.016279771648000006, 0.017139735040000006, 0.017999698432000007, 0.018859661824000007, 0.019719625216000007, 0.020579588608000007, 0.021611544678400006, 0.022643500748800005, 0.023675456819200004, 0.024707412889600003, 0.02573936896, 0.0267713250304, 0.02800967231488, 0.02924801959936, 0.03048636688384, 0.03172471416832, 0.033210730909696, 0.034696747651072, 0.036182764392448004, 0.0379659844820992, 0.0397492045717504, 0.04188906867933184, 0.04445690560842957, 0.047538309923346844, 0.05123599510124757 ], "xaxis": "x", "y": [ -4307.153319999925, -3682.846680000017, -3427.4938315673644, -3236.812058778858, -3068.725862941603, -2883.318871133044, -2712.4617725043136, -2534.6615361578442, -2341.347906800038, -2134.535720203854, -1907.1731736437323, -1710.2961541487202, -1510.158581232139, -1331.6158320296054, -1180.9666351997112, -1052.6781377451298, -942.5372822468744, -851.3110575931441, -756.7856326736801, -671.0057474476089, -597.4205001035625, -533.859197532649, -478.6174147896818, -430.34084348459874, -387.94172768330645, -352.13345544027834, -314.3254675011194, -279.44028547110975, -249.04285349539714, -222.4406061848822, -199.06919199595723, -178.4647350606174, -160.2429025634974, -144.0829265643897, -130.3304210689239, -115.71144796929548, -102.15578433122391, -90.30718230894308, -79.92577365599936, -70.81051306090194, -63.133198153376725, -55.066100016252676, -47.67955268661899, -41.32159958187731, -36.070648586657626, -30.66877249338995, -25.830583368380758, -21.940279486241707, -18.051555262553848, -14.808138536065599, -11.819337539283879, -8.970078732740603, -6.388240059245618, -3.7726321418358566 ], "yaxis": "y" }, { "hovertemplate": "C'(t) :
t=%{x}
value=%{y}", "legendgroup": "wide_variable_1", "line": { "color": "greenyellow", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "C'(t)", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0004, 0.0006000000000000001, 0.0008, 0.001, 0.00124, 0.00148, 0.001768, 0.0021136, 0.00252832, 0.0030259840000000002, 0.0035236480000000003, 0.0041208448000000005, 0.0047180416, 0.0053152384, 0.0059124352, 0.006509632, 0.007106828799999999, 0.00782346496, 0.00854010112, 0.009256737280000002, 0.009973373440000002, 0.010690009600000003, 0.011406645760000004, 0.012123281920000005, 0.012839918080000005, 0.013699881472000006, 0.014559844864000006, 0.015419808256000006, 0.016279771648000006, 0.017139735040000006, 0.017999698432000007, 0.018859661824000007, 0.019719625216000007, 0.020579588608000007, 0.021611544678400006, 0.022643500748800005, 0.023675456819200004, 0.024707412889600003, 0.02573936896, 0.0267713250304, 0.02800967231488, 0.02924801959936, 0.03048636688384, 0.03172471416832, 0.033210730909696, 0.034696747651072, 0.036182764392448004, 0.0379659844820992, 0.0397492045717504, 0.04188906867933184, 0.04445690560842957, 0.047538309923346844, 0.05123599510124757 ], "xaxis": "x", "y": [ 4307.153320000005, 3682.8466799999987, 3427.493831567357, 3236.8120587788653, 3068.725862941632, 2883.3188711330367, 2712.461772504288, 2534.6615361578533, 2341.3479068000415, 2134.5357202038595, 1907.1731736437323, 1710.2961541487148, 1510.158581232139, 1331.6158320296054, 1180.9666351997093, 1052.678137745128, 942.5372822468744, 851.3110575931423, 756.7856326736801, 671.0057474476107, 597.4205001035625, 533.8591975326472, 478.61741478967997, 430.34084348460055, 387.94172768330645, 352.1334554402747, 314.32546750112124, 279.44028547110975, 249.04285349539532, 222.4406061848822, 199.06919199595723, 178.4647350606174, 160.24290256349923, 144.0829265643897, 130.3304210689239, 115.7114479692973, 102.15578433122391, 90.30718230894308, 79.92577365599936, 70.81051306090194, 63.133198153376725, 55.066100016252676, 47.67955268661899, 41.32159958187731, 36.070648586659445, 30.668772493389042, 25.830583368380758, 21.94027948623898, 18.051555262554757, 14.808138536066508, 11.819337539283879, 8.970078732741968, 6.388240059246527, 3.7726321418303996 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Derivative" }, "tracegroupgap": 0 }, "margin": { "t": 60 }, "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": "d/dt A(t) and d/dt C(t) as a function of time" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.05123599510124757 ], "title": { "text": "t" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -4785.7259111110325, 4785.7259111111125 ], "title": { "text": "Time derivatives" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "PlotlyHelper.plot_curves(x=t_arr, y=[Deriv_A , Deriv_C], title=\"d/dt A(t) and d/dt C(t) as a function of time\",\n", " xlabel=\"t\", ylabel=\"Time derivatives\", curve_labels=[\"A'(t)\", \"C'(t)\"], \n", " legend_title=\"Derivative\", colors=['aqua', 'greenyellow'])" ] }, { "cell_type": "markdown", "id": "0ce1108c-4bb0-49b3-b1bd-cb3effa53878", "metadata": {}, "source": [ "The rate of changes of both [A] and [C] get smaller as the reaction marches towards equilibrium. \n", "B'(t) not shown, because essentially identical to A'(t)" ] }, { "cell_type": "code", "execution_count": null, "id": "1d357e1a-676c-433d-a546-8519047dca15", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "5eb72a33-d5d9-4675-9602-c8b3fa49d286", "metadata": {}, "source": [ "### Now, let's determine what kF and kR rate constants for `A + B <-> C` will yield the above data" ] }, { "cell_type": "markdown", "id": "f38690a4-b17d-4ba3-9fa8-26b597002528", "metadata": {}, "source": [ "Assuming that A + B <-> C is an elementary chemical reaction (i.e. occuring in a single step) \n", "OR THAT IT CAN BE APPROXIMATED AS ONE, \n", "then the rate of change of the reaction product [C] is the difference of the forward rate (producing `C`) and the reverse rate (consuming it): \n", "\n", "`C'(t) = kF * A(t) * B(t) - kR * C(t)`\n", " \n", "We can re-write it as:. \n", "`C'(t) = kF * {A(t) * B(t)} + kR * {- C(t)}`       **(Eqn. 1)** \n", "\n", "`A(t)` and `B(t)` are given to us; `B'(t)` is a gradient we already computed numerically; `kF` and `kR` are the rate constants that we are trying to estimate. \n", "\n", "**If we can do a satisfactory Least Square Fit to express `C'(t)` as a linear function of `{A(t) * B(t)}` and `{- C(t)}`**, as:\n", "\n", "`C'(t) = a * {A(t) * B(t)} + b * {- C(t)}` , for some constants a and b, \n", "\n", "then, comparing with Eqn. 1, it immediately follows that \n", "* `kF = a` \n", "\n", "* `kR = b` \n" ] }, { "cell_type": "markdown", "id": "dff549b8-b9d3-4080-8c99-32a4f56c1b3c", "metadata": {}, "source": [ "#### Let's carry out the least-square fit:" ] }, { "cell_type": "code", "execution_count": 30, "id": "2482a7e9-3c51-4236-a57a-8d0d276e04a2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(5.2325434338059145, 0.8841249639223787)" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a, b = Numerical.two_vector_least_square(V = A_conc * B_conc, W = - C_conc, Y = Deriv_C)\n", "a, b" ] }, { "cell_type": "markdown", "id": "1c8e7ea3-ea2c-4856-9cf7-07d02ca7d827", "metadata": {}, "source": [ "#### **Voila', those are, respectively, our estimated kF and kR!**" ] }, { "cell_type": "markdown", "id": "c9bb3d0f-f964-4111-ba27-7492b78fa22d", "metadata": {}, "source": [ "#### We just obtained the same values of the estimated kF and kR as were computed by a call to `estimate_rate_constants()` in Part 2" ] }, { "cell_type": "code", "execution_count": null, "id": "6180bda0-6349-411c-8f81-92ab5469b247", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }