{ "cells": [ { "cell_type": "markdown", "id": "3bbe8002-bdf3-490c-bde0-80dd3713a3d0", "metadata": {}, "source": [ "## A simple `A <-> B` reaction whose rate constants are to be estimated \n", "## 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", "In PART 1, a time evolution of [A] and [B] is obtained by simulation \n", "In PART 2, the time functions generated in Part 1 are taken as a _starting point,_ to estimate the rate constants of `A <-> B` \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\n", "\n", "LAST REVISED: Dec. 3, 2023" ] }, { "cell_type": "code", "execution_count": 1, "id": "4d9b4808-b2ec-4b90-a604-f7fa69af39b8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added 'D:\\Docs\\- MY CODE\\BioSimulations\\life123-Win7' to sys.path\n" ] } ], "source": [ "import set_path # Importing this module will add the project's home directory to sys.path" ] }, { "cell_type": "code", "execution_count": 2, "id": "3924c013", "metadata": { "tags": [] }, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from src.modules.reactions.reaction_dynamics import ReactionDynamics\n", "from src.modules.visualization.plotly_helper import PlotlyHelper\n", "\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": null, "id": "75411c8b-f0c5-411d-9e12-1eaa423449f9", "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": 3, "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 (kF = 12 / kR = 2 / delta_G = -4,441.7 / K = 6) | 1st order in all reactants & products\n", "Set of chemicals involved in the above reactions: {'B', 'A'}\n" ] } ], "source": [ "# Instantiate the simulator and specify the chemicals\n", "dynamics = ReactionDynamics(names=[\"A\", \"B\"])\n", "\n", "# Reaction A <-> B\n", "dynamics.add_reaction(reactants=\"A\", products=\"B\",\n", " forward_rate=12., reverse_rate=2.) \n", " \n", "dynamics.describe_reactions()" ] }, { "cell_type": "markdown", "id": "98a9fbe5-2090-4d38-9c5f-94fbf7c3eae2", "metadata": {}, "source": [ "### Run the simulation" ] }, { "cell_type": "code", "execution_count": 4, "id": "ae304704-c8d9-4cef-9e0b-2587bb3909ef", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "2 species:\n", " Species 0 (A). Conc: 40.0\n", " Species 1 (B). Conc: 10.0\n", "Set of chemicals involved in reactions: {'B', 'A'}\n" ] } ], "source": [ "dynamics.set_conc([40., 10.], snapshot=True) # Set the initial concentrations of all the chemicals, in their index order\n", "dynamics.describe_state()" ] }, { "cell_type": "code", "execution_count": 5, "id": "2502cd11-0df9-4303-8895-98401a1df7b8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "* INFO: the tentative time step (0.01) leads to a least one norm value > its ABORT threshold:\n", " -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.4 (set to 0.004) [Step started at t=0, and will rewind there]\n", "* INFO: the tentative time step (0.004) leads to a least one norm value > its ABORT threshold:\n", " -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.4 (set to 0.0016) [Step started at t=0, and will rewind there]\n", "39 total step(s) taken\n" ] } ], "source": [ "dynamics.set_diagnostics() # To save diagnostic information about the call to single_compartment_react()\n", "\n", "# These settings can be tweaked to make the time resolution finer or coarser. \n", "# Here we use a \"mid\" heuristic: neither too fast nor too prudent\n", "dynamics.use_adaptive_preset(preset=\"mid\")\n", "\n", "dynamics.single_compartment_react(initial_step=0.01, reaction_duration=0.5,\n", " snapshots={\"initial_caption\": \"1st reaction step\",\n", " \"final_caption\": \"last reaction step\"},\n", " variable_steps=True, explain_variable_steps=False)" ] }, { "cell_type": "markdown", "id": "199b6238-f6ed-44a8-8130-a003444d7658", "metadata": {}, "source": [ "### Plots of changes of concentration with time\n", "Notice the variable time steps (vertical dashed lines)" ] }, { "cell_type": "code", "execution_count": 6, "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": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0016, 0.00352, 0.00544, 0.007744000000000001, 0.0105088, 0.0132736, 0.0160384, 0.018803200000000003, 0.021568000000000004, 0.024885760000000003, 0.028203520000000003, 0.031521280000000006, 0.03483904000000001, 0.03882035200000001, 0.04280166400000001, 0.04678297600000001, 0.05156055040000001, 0.05633812480000001, 0.061115699200000005, 0.06684878848, 0.07258187776000001, 0.07831496704000002, 0.08519467417600002, 0.09207438131200002, 0.10033002987520002, 0.10858567843840003, 0.11849245671424002, 0.130380590645248, 0.14464635136245763, 0.1589121120796672, 0.17603102494031872, 0.19657372037310053, 0.2212249548924387, 0.25080643631564453, 0.2863042140234915, 0.3289015472729079, 0.3800183471722075, 0.4413585070513671, 0.5149666989063586 ], "xaxis": "x", "y": [ 40, 39.264, 38.400583680000004, 37.56037599068161, 36.57922850272618, 35.43982898922546, 34.344532440573715, 33.29163175448994, 32.27948590584255, 31.30651738898792, 30.18414823313308, 29.113911598145645, 28.093385999331552, 27.120262426667562, 26.00675445927339, 24.95531160873677, 23.962474466734328, 22.8374768427134, 21.787725856572635, 20.808188558560524, 19.711364647902297, 18.702575388903462, 17.774754834316262, 16.750734040476118, 15.825342730915095, 14.82182903553432, 13.93430052971745, 12.992361996425823, 12.018806236615541, 11.04497851404361, 10.265644297251626, 9.517222200753451, 8.834360185525007, 8.250593250795292, 7.7918345994122795, 7.469312994549506, 7.274626912668843, 7.180327827281463, 7.148149418454293, 7.14269565072923 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0016, 0.00352, 0.00544, 0.007744000000000001, 0.0105088, 0.0132736, 0.0160384, 0.018803200000000003, 0.021568000000000004, 0.024885760000000003, 0.028203520000000003, 0.031521280000000006, 0.03483904000000001, 0.03882035200000001, 0.04280166400000001, 0.04678297600000001, 0.05156055040000001, 0.05633812480000001, 0.061115699200000005, 0.06684878848, 0.07258187776000001, 0.07831496704000002, 0.08519467417600002, 0.09207438131200002, 0.10033002987520002, 0.10858567843840003, 0.11849245671424002, 0.130380590645248, 0.14464635136245763, 0.1589121120796672, 0.17603102494031872, 0.19657372037310053, 0.2212249548924387, 0.25080643631564453, 0.2863042140234915, 0.3289015472729079, 0.3800183471722075, 0.4413585070513671, 0.5149666989063586 ], "xaxis": "x", "y": [ 10, 10.736, 11.599416320000001, 12.4396240093184, 13.420771497273826, 14.56017101077455, 15.655467559426297, 16.708368245510073, 17.720514094157465, 18.693482611012094, 19.815851766866935, 20.88608840185437, 21.906614000668462, 22.879737573332452, 23.993245540726623, 25.044688391263243, 26.037525533265686, 27.162523157286614, 28.21227414342738, 29.19181144143949, 30.288635352097717, 31.297424611096552, 32.22524516568375, 33.249265959523896, 34.17465726908492, 35.17817096446569, 36.06569947028256, 37.007638003574186, 37.98119376338447, 38.9550214859564, 39.73435570274838, 40.482777799246556, 41.165639814475, 41.74940674920472, 42.20816540058773, 42.5306870054505, 42.725373087331164, 42.81967217271854, 42.85185058154571, 42.85730434927078 ], "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.0016, "x1": 0.0016, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00352, "x1": 0.00352, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00544, "x1": 0.00544, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.007744000000000001, "x1": 0.007744000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0105088, "x1": 0.0105088, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0132736, "x1": 0.0132736, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0160384, "x1": 0.0160384, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.018803200000000003, "x1": 0.018803200000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.021568000000000004, "x1": 0.021568000000000004, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.024885760000000003, "x1": 0.024885760000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.028203520000000003, "x1": 0.028203520000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.031521280000000006, "x1": 0.031521280000000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.03483904000000001, "x1": 0.03483904000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.03882035200000001, "x1": 0.03882035200000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04280166400000001, "x1": 0.04280166400000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04678297600000001, "x1": 0.04678297600000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05156055040000001, "x1": 0.05156055040000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05633812480000001, "x1": 0.05633812480000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.061115699200000005, "x1": 0.061115699200000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.06684878848, "x1": 0.06684878848, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07258187776000001, "x1": 0.07258187776000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07831496704000002, "x1": 0.07831496704000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08519467417600002, "x1": 0.08519467417600002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09207438131200002, "x1": 0.09207438131200002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10033002987520002, "x1": 0.10033002987520002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10858567843840003, "x1": 0.10858567843840003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.11849245671424002, "x1": 0.11849245671424002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.130380590645248, "x1": 0.130380590645248, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.14464635136245763, "x1": 0.14464635136245763, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.1589121120796672, "x1": 0.1589121120796672, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.17603102494031872, "x1": 0.17603102494031872, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.19657372037310053, "x1": 0.19657372037310053, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.2212249548924387, "x1": 0.2212249548924387, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.25080643631564453, "x1": 0.25080643631564453, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.2863042140234915, "x1": 0.2863042140234915, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.3289015472729079, "x1": 0.3289015472729079, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.3800183471722075, "x1": 0.3800183471722075, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.4413585070513671, "x1": 0.4413585070513671, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5149666989063586, "x1": 0.5149666989063586, "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 (time steps shown in dashed lines)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.0004961143534743339, 0.5154628132598329 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 5.158550723032478, 44.84144927696753 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAAx8AAAFoCAYAAAA2HEb1AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQd4VMX6xt/0BBJKQkgIHa8IWGgCEZEmSO+9SRMQ7CKI7Y96VRRUUBGICARpkaYIBAslINIREQTUqyg9IfSWnv8zZzlhs9lyds/Zs2eXd+9zH8zuzDczv2/O2fPuzPeNX35+fj74IgESIAESIAESIAESIAESIAE3E/Cj+HAzYZonARIgARIgARIgARIgARKQCFB8cCKQAAmQAAmQAAmQAAmQAAnoQoDiQxfMbIQESIAESIAESIAESIAESIDig3OABEiABEiABEiABEiABEhAFwIUH7pgZiMkQAIkQAIkQAIkQAIkQAIUH5wDJEACJEACJEACJEACJEACuhCg+NAFMxshARIgARIgARIgARIgARKg+OAcIAESIAESIAESIAESIAES0IUAxYcumNkICZAACZAACZAACZAACZAAxQfnAAmQAAmQAAmQAAmQAAmQgC4EKD50wcxGSIAESIAESIAESIAESIAEKD44B0iABEiABEiABEiABEiABHQhQPGhC2Y2QgIkQAIkQAIkQAIkQAIkQPHBOUACJEACJEACJEACJEACJKALAYoPXTCzERIgARIgARIgARIgARIgAYoPzgESIAESIAESIAESIAESIAFdCFB86IKZjZAACZAACZAACZAACZAACVB8cA6QAAmQAAmQAAmQAAmQAAnoQoDiQxfMbIQESIAESIAESIAESIAESIDig3OABEiABEiABEiABEiABEhAFwIUH7pgZiMkQAIkQAIkQAIkQAIkQAIUH5wDJEACJEACJEACJEACJEACuhCg+NAFMxshARIgARIgARIgARIgARKg+OAcIAESIAESIAESIAESIAES0IUAxYcumNkICZAACZAACZAACZAACZAAxQfnAAmQAAmQAAmQAAmQAAmQgC4EKD50wcxGSIAESIAESIAESIAESIAEKD44B0iABEiABEiABEiABEiABHQhQPGhC2Y2QgIkQAIkQAIkQAIkQAIkQPHBOUACJEACJEACJEACJEACJKALAYoPXTCzERIgARIgARIgARIgARIgAYoPzgESIAESIAESIAESIAESIAFdCFB86IKZjZAACZAACZAACZAACZAACVB8cA6QAAmQAAmQAAmQAAmQAAno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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_history(title=\"Reaction A <-> B\",\n", " colors=['blue', 'green'], show_intervals=True)" ] }, { "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`" ] }, { "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": 7, "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", "
SYSTEM TIMEABcaption
00.00000040.00000010.000000Initial state
10.00160039.26400010.7360001st reaction step
20.00352038.40058411.599416
30.00544037.56037612.439624
40.00774436.57922913.420771
50.01050935.43982914.560171
60.01327434.34453215.655468
70.01603833.29163216.708368
80.01880332.27948617.720514
90.02156831.30651718.693483
100.02488630.18414819.815852
110.02820429.11391220.886088
120.03152128.09338621.906614
130.03483927.12026222.879738
140.03882026.00675423.993246
150.04280224.95531225.044688
160.04678323.96247426.037526
170.05156122.83747727.162523
180.05633821.78772628.212274
190.06111620.80818929.191811
200.06684919.71136530.288635
210.07258218.70257531.297425
220.07831517.77475532.225245
230.08519516.75073433.249266
240.09207415.82534334.174657
250.10033014.82182935.178171
260.10858613.93430136.065699
270.11849212.99236237.007638
280.13038112.01880637.981194
290.14464611.04497938.955021
300.15891210.26564439.734356
310.1760319.51722240.482778
320.1965748.83436041.165640
330.2212258.25059341.749407
340.2508067.79183542.208165
350.2863047.46931342.530687
360.3289027.27462742.725373
370.3800187.18032842.819672
380.4413597.14814942.851851
390.5149677.14269642.857304last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "0 0.000000 40.000000 10.000000 Initial state\n", "1 0.001600 39.264000 10.736000 1st reaction step\n", "2 0.003520 38.400584 11.599416 \n", "3 0.005440 37.560376 12.439624 \n", "4 0.007744 36.579229 13.420771 \n", "5 0.010509 35.439829 14.560171 \n", "6 0.013274 34.344532 15.655468 \n", "7 0.016038 33.291632 16.708368 \n", "8 0.018803 32.279486 17.720514 \n", "9 0.021568 31.306517 18.693483 \n", "10 0.024886 30.184148 19.815852 \n", "11 0.028204 29.113912 20.886088 \n", "12 0.031521 28.093386 21.906614 \n", "13 0.034839 27.120262 22.879738 \n", "14 0.038820 26.006754 23.993246 \n", "15 0.042802 24.955312 25.044688 \n", "16 0.046783 23.962474 26.037526 \n", "17 0.051561 22.837477 27.162523 \n", "18 0.056338 21.787726 28.212274 \n", "19 0.061116 20.808189 29.191811 \n", "20 0.066849 19.711365 30.288635 \n", "21 0.072582 18.702575 31.297425 \n", "22 0.078315 17.774755 32.225245 \n", "23 0.085195 16.750734 33.249266 \n", "24 0.092074 15.825343 34.174657 \n", "25 0.100330 14.821829 35.178171 \n", "26 0.108586 13.934301 36.065699 \n", "27 0.118492 12.992362 37.007638 \n", "28 0.130381 12.018806 37.981194 \n", "29 0.144646 11.044979 38.955021 \n", "30 0.158912 10.265644 39.734356 \n", "31 0.176031 9.517222 40.482778 \n", "32 0.196574 8.834360 41.165640 \n", "33 0.221225 8.250593 41.749407 \n", "34 0.250806 7.791835 42.208165 \n", "35 0.286304 7.469313 42.530687 \n", "36 0.328902 7.274627 42.725373 \n", "37 0.380018 7.180328 42.819672 \n", "38 0.441359 7.148149 42.851851 \n", "39 0.514967 7.142696 42.857304 last reaction step" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = dynamics.get_history() \n", "df" ] }, { "cell_type": "markdown", "id": "543b6f5a-f54c-426e-8dc6-342b62d50078", "metadata": {}, "source": [ "#### Let's extract some columns, as Numpy arrays:" ] }, { "cell_type": "code", "execution_count": 8, "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": 9, "id": "44a76d0e-5bf0-4d34-b37f-37c11eff9a8f", "metadata": {}, "outputs": [], "source": [ "A_conc = df[\"A\"].to_numpy()" ] }, { "cell_type": "code", "execution_count": 10, "id": "2955b13a-483d-4ad1-962e-f2d968a3d11b", "metadata": {}, "outputs": [], "source": [ "B_conc = df[\"B\"].to_numpy()" ] }, { "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": 11, "id": "344c1ead-1de4-49f7-b3cf-7958513d10b4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total REACTANT + PRODUCT has a median of 50, \n", " with standard deviation 5.617e-15 (ideally should be zero)\n", "The sum of the time derivatives of reactant and product has a median of 0 (ideally should be zero)\n", "Least square fit: Y = -96.25 + 14.11 X\n", " where X is the array [A] and Y is the time gradient of B\n", "\n", "-> ESTIMATED RATE CONSTANTS: kF = 12.19, kR = 1.925\n" ] }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "B'(t) :
A(t)=%{x}
value=%{y}", "legendgroup": "wide_variable_0", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B'(t)", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 40, 39.264, 38.400583680000004, 37.56037599068161, 36.57922850272618, 35.43982898922546, 34.344532440573715, 33.29163175448994, 32.27948590584255, 31.30651738898792, 30.18414823313308, 29.113911598145645, 28.093385999331552, 27.120262426667562, 26.00675445927339, 24.95531160873677, 23.962474466734328, 22.8374768427134, 21.787725856572635, 20.808188558560524, 19.711364647902297, 18.702575388903462, 17.774754834316262, 16.750734040476118, 15.825342730915095, 14.82182903553432, 13.93430052971745, 12.992361996425823, 12.018806236615541, 11.04497851404361, 10.265644297251626, 9.517222200753451, 8.834360185525007, 8.250593250795292, 7.7918345994122795, 7.469312994549506, 7.274626912668843, 7.180327827281463, 7.148149418454293, 7.14269565072923 ], "xaxis": "x", "y": [ 464.6836363636344, 455.3163636363638, 443.6520857600003, 432.2613953152463, 419.60159803709917, 404.13340244366145, 388.49053000859385, 373.45314936544537, 358.99782362232736, 345.72118484726616, 330.43465935484755, 315.0864188189512, 300.4510831823404, 287.114799437325, 271.8891182015868, 256.73446247607126, 243.0563079822996, 227.5996591661342, 212.3764188950022, 198.79474282284946, 183.63687244523953, 168.89758025764013, 155.93174282454765, 141.67842212354662, 128.6214227785497, 114.53020236514567, 101.85769782410011, 89.08605311327938, 75.69771311480508, 61.44649325461387, 49.67029963520736, 38.95633409289792, 28.8956252590948, 19.96616210361549, 12.588932275060301, 7.033274179008686, 3.3314704935433497, 1.2446916885349424, 0.3198178894039643, -0.171634172683639 ], "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, 39.264, 38.400583680000004, 37.56037599068161, 36.57922850272618, 35.43982898922546, 34.344532440573715, 33.29163175448994, 32.27948590584255, 31.30651738898792, 30.18414823313308, 29.113911598145645, 28.093385999331552, 27.120262426667562, 26.00675445927339, 24.95531160873677, 23.962474466734328, 22.8374768427134, 21.787725856572635, 20.808188558560524, 19.711364647902297, 18.702575388903462, 17.774754834316262, 16.750734040476118, 15.825342730915095, 14.82182903553432, 13.93430052971745, 12.992361996425823, 12.018806236615541, 11.04497851404361, 10.265644297251626, 9.517222200753451, 8.834360185525007, 8.250593250795292, 7.7918345994122795, 7.469312994549506, 7.274626912668843, 7.180327827281463, 7.148149418454293, 7.14269565072923 ], "xaxis": "x", "y": [ 468.18488295978193, 457.7993252211337, 445.6158197267706, 433.759806860096, 419.9150189711139, 403.83716647811184, 388.3816426371269, 373.5243588485598, 359.24215891505344, 345.5127829508133, 329.67524263531277, 314.5733345284124, 300.17288951448256, 286.4413255868445, 270.72882383709305, 255.89211129206998, 241.88237289079152, 226.00774275477048, 211.19490379041193, 197.37283698923758, 181.89576082990195, 167.6609251023739, 154.5686235524146, 140.11885849806234, 127.06083556832135, 112.90044232796623, 100.37669430913834, 87.08517661381512, 73.34751417454433, 59.60601411983353, 48.608975388587055, 38.048131779807164, 28.41239416202899, 20.17496860965238, 13.701511460137851, 9.150469681246761, 6.403290952601594, 5.072654273264149, 4.618590791182072, 4.541633699331783 ], "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 B(t) as a function of A(t), alongside its least-square fit" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 7.14269565072923, 40 ], "title": { "text": "A(t)" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -26.191440680042838, 494.2046894671411 ], "title": { "text": "B'(t)" }, "type": "linear" } } }, "image/png": "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iQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACegE1m/Mx1PPT8Jfx4/B0OxelmAKCovxl8nT8Ovh43hn0gtoUK8OAZIACZAACZBAXAlQPuKKl42TAAmQgLMEdGFYtGIN3n/rFXTv0qFKgDPnLuDZV95EzsDeFeKhycjrU3KrSIbeXtPGDfHiuBxnO8vWSIAESIAESMBEgPLBKUECJEACCURg9/7D+NPEqYEe33l7R0thmJO3Gms2bMOrL49BVmZGoGwo+dD+prf5twlj0bZV8wSiwa6SAAmQAAkkGgHKR6JljP0lARLwNAFdLAY8eDf+15sfYsprLwUJg76S0aNbp4pVD00uxo1/HUeOnapg98zo7CBxeWNKbuBvXP3w9PTi4EmABEgg7gQoH3FHzAAkQAIk4AwBXSxGDOyNdje0qLK1KtwqRriVD31lZOaCVUGrJc70mq2QAAmQAAmQQCUBygdnAwmQAAkkCAGzQITaXmUlEZHkQ1sdmfz2DEz841gePE+Q+cBukgAJkEAiEqB8JGLW2GcSIAFPEjBvjbI6q6FJRizyoR1Sn/D3qXj5uVE89+HJ2cVBkwAJkIAMAcqHDGdGIQESIAElAvoTrDZv31OlHeP5DcqHEmZWJgESIAESiDMBykecAbN5EiABEnCCQKhtU9rWq9wFqyoeoRtKPiJtq4r0dyfGwDZIgARIgARIgPLBOUACJEACLicQ7rc49CdZTZwwNvCbH6Eem2suZx5yKGlxORp2jwRIgARIIMEIUD4SLGHsLgmQgPcIhBMHs5hYPWpXJ6atkvz5tWmB/7R61G7rlk1D/hq696hzxCRAAiRAAvEgQPmIB1W2SQIkQALVSMDqKVjhusMfGazGZDE0CZAACXiMAOXDYwnncEmABJKfgH44PWdg74grGeG2dCU/KY6QBEiABEhAmgDlQ5o445EACZCAAAHtDMdTz0/CX8ePCSkgunj8evh4xYF1ga4xBAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQT+//brmAYAAIZhGH/WZZGnRlDNu0KAAAECBAgQIFAKiI9S2xYBAgQIECBAgACBYwHxcfx8pxMgQIAAAQIECBAoBcRHqW2LAAECBAgQIECAwLGA+Dh+vtMJECBAgAABAgQIlALio9S2RYAAAQIECBAgQOBYQHwcP9/pBAgQIECAAAECBEoB8VFq2yJAgAABAgQIECBwLCA+jp/vdAIECBAgQIAAAQKlgPgotW0RIECAAAECBAgQOBYQH8fPdzoBAgQIECBAgACBUkB8lNq2CBAgQIAAAQIECBwLiI/j5zudAAECBAgQIECAQCkgPkptWwQIECBAgAABAgSOBcTH8fOdToAAAQIECBAgQKAUEB+lti0CBAgQIECAAAECxwIDm5xXPSZZUY8AAAAASUVORK5CYII=", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.estimate_rate_constants(t=t_arr, reactant_conc=A_conc, product_conc=B_conc, reactant_name=\"A\", product_name=\"B\")" ] }, { "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": 12, "id": "0cb00de3-91bb-4b6d-8e66-788ea743100b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "40" ] }, "execution_count": 12, "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": 13, "id": "0d1d5afc-4e04-457a-9548-f608a71cce1a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.0016 , 0.00352 , 0.00544 , 0.007744 ,\n", " 0.0105088 , 0.0132736 , 0.0160384 , 0.0188032 , 0.021568 ,\n", " 0.02488576, 0.02820352, 0.03152128, 0.03483904, 0.03882035,\n", " 0.04280166, 0.04678298, 0.05156055, 0.05633812, 0.0611157 ,\n", " 0.06684879, 0.07258188, 0.07831497, 0.08519467, 0.09207438,\n", " 0.10033003, 0.10858568, 0.11849246, 0.13038059, 0.14464635,\n", " 0.15891211, 0.17603102, 0.19657372, 0.22122495, 0.25080644,\n", " 0.28630421, 0.32890155, 0.38001835, 0.44135851, 0.5149667 ])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_arr # Time points in our data set" ] }, { "cell_type": "code", "execution_count": 14, "id": "b8aa3145-e2e7-4ac2-a565-9a20a990bbb4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.0016 , 0.00176 , 0.00192 , 0.002112 , 0.0025344 ,\n", " 0.0027648 , 0.0027648 , 0.0027648 , 0.0027648 , 0.00304128,\n", " 0.00331776, 0.00331776, 0.00331776, 0.00364954, 0.00398131,\n", " 0.00398131, 0.00437944, 0.00477757, 0.00477757, 0.00525533,\n", " 0.00573309, 0.00573309, 0.0063064 , 0.00687971, 0.00756768,\n", " 0.00825565, 0.00908121, 0.01089746, 0.01307695, 0.01426576,\n", " 0.01569234, 0.0188308 , 0.02259696, 0.02711636, 0.03253963,\n", " 0.03904756, 0.04685707, 0.05622848, 0.06747418, 0.07360819])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.gradient(t_arr)" ] }, { "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": "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] and [B] , 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": 15, "id": "3df1e539-4874-4953-acd7-089fc38518c6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.0016 , 0.00352 , 0.00544 , 0.007744 ,\n", " 0.0105088 , 0.0132736 , 0.0160384 , 0.0188032 , 0.021568 ,\n", " 0.02488576, 0.02820352, 0.03152128, 0.03483904, 0.03882035,\n", " 0.04280166, 0.04678298, 0.05156055, 0.05633812, 0.0611157 ,\n", " 0.06684879, 0.07258188, 0.07831497, 0.08519467, 0.09207438,\n", " 0.10033003, 0.10858568, 0.11849246, 0.13038059, 0.14464635,\n", " 0.15891211, 0.17603102, 0.19657372, 0.22122495, 0.25080644,\n", " 0.28630421, 0.32890155, 0.38001835, 0.44135851, 0.5149667 ])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "t_arr # The independent variable : Time" ] }, { "cell_type": "code", "execution_count": 16, "id": "d29137a5-5dba-4470-9d74-919f14cd939a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([40. , 39.264 , 38.40058368, 37.56037599, 36.5792285 ,\n", " 35.43982899, 34.34453244, 33.29163175, 32.27948591, 31.30651739,\n", " 30.18414823, 29.1139116 , 28.093386 , 27.12026243, 26.00675446,\n", " 24.95531161, 23.96247447, 22.83747684, 21.78772586, 20.80818856,\n", " 19.71136465, 18.70257539, 17.77475483, 16.75073404, 15.82534273,\n", " 14.82182904, 13.93430053, 12.992362 , 12.01880624, 11.04497851,\n", " 10.2656443 , 9.5172222 , 8.83436019, 8.25059325, 7.7918346 ,\n", " 7.46931299, 7.27462691, 7.18032783, 7.14814942, 7.14269565])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_conc" ] }, { "cell_type": "code", "execution_count": 17, "id": "ef430e60-6431-44c9-9b50-469e433270fe", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([10. , 10.736 , 11.59941632, 12.43962401, 13.4207715 ,\n", " 14.56017101, 15.65546756, 16.70836825, 17.72051409, 18.69348261,\n", " 19.81585177, 20.8860884 , 21.906614 , 22.87973757, 23.99324554,\n", " 25.04468839, 26.03752553, 27.16252316, 28.21227414, 29.19181144,\n", " 30.28863535, 31.29742461, 32.22524517, 33.24926596, 34.17465727,\n", " 35.17817096, 36.06569947, 37.007638 , 37.98119376, 38.95502149,\n", " 39.7343557 , 40.4827778 , 41.16563981, 41.74940675, 42.2081654 ,\n", " 42.53068701, 42.72537309, 42.81967217, 42.85185058, 42.85730435])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B_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` we can infer that any drop in [A] corresponds to an equal increase in [B]. Their sum will remain constants:" ] }, { "cell_type": "code", "execution_count": 18, "id": "5c2b104b-7f9b-4cd6-9315-68a110351717", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50.,\n", " 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50.,\n", " 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50., 50.,\n", " 50.])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_conc + B_conc" ] }, { "cell_type": "markdown", "id": "b61a3b6c-235b-4452-a7fb-38cf174be0f7", "metadata": {}, "source": [ "### Just as expected! We'll call that constant value, \"TOT_conc\"" ] }, { "cell_type": "code", "execution_count": 19, "id": "61c7d30e-2234-4998-b604-6cc3c83d2ed8", "metadata": {}, "outputs": [], "source": [ "TOT_conc = 50." ] }, { "cell_type": "code", "execution_count": 20, "id": "db27029c-4c13-40aa-a855-79ec186259f7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Incidentally, there's a function to verify that the stoichiometry of a single reaction holds true across the entire simulation run \n", "# (overkill in this case!)\n", "dynamics.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] and [B]" ] }, { "cell_type": "code", "execution_count": 21, "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)" ] }, { "cell_type": "code", "execution_count": 22, "id": "a85508f3-9149-4906-9320-e74dd21a95cf", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-6.82121026e-12, 1.36424205e-12, 1.36424205e-12, -4.54747351e-13,\n", " 6.82121026e-13, 4.54747351e-13, 0.00000000e+00, -4.54747351e-13,\n", " 4.54747351e-13, 0.00000000e+00, 4.54747351e-13, 4.54747351e-13,\n", " 4.54747351e-13, -4.54747351e-13, 4.54747351e-13, 0.00000000e+00,\n", " 4.54747351e-13, 4.54747351e-13, 0.00000000e+00, 6.82121026e-13,\n", " -2.27373675e-13, 0.00000000e+00, -4.54747351e-13, 0.00000000e+00,\n", " -3.41060513e-13, -1.13686838e-13, -2.27373675e-13, 0.00000000e+00,\n", " -5.68434189e-14, -1.70530257e-13, 3.97903932e-13, -1.13686838e-13,\n", " 2.27373675e-13, -4.26325641e-14, -4.26325641e-14, -9.94759830e-14,\n", " -5.68434189e-14, -8.52651283e-14, 2.84217094e-14, 1.42108547e-13])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# As expected from the stoichiometry, the two derivatives are opposites: when [A] increases by a certain amount, [B] decreases by that same amount\n", "Deriv_A + Deriv_B" ] }, { "cell_type": "code", "execution_count": 23, "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.0016, 0.00352, 0.00544, 0.007744000000000001, 0.0105088, 0.0132736, 0.0160384, 0.018803200000000003, 0.021568000000000004, 0.024885760000000003, 0.028203520000000003, 0.031521280000000006, 0.03483904000000001, 0.03882035200000001, 0.04280166400000001, 0.04678297600000001, 0.05156055040000001, 0.05633812480000001, 0.061115699200000005, 0.06684878848, 0.07258187776000001, 0.07831496704000002, 0.08519467417600002, 0.09207438131200002, 0.10033002987520002, 0.10858567843840003, 0.11849245671424002, 0.130380590645248, 0.14464635136245763, 0.1589121120796672, 0.17603102494031872, 0.19657372037310053, 0.2212249548924387, 0.25080643631564453, 0.2863042140234915, 0.3289015472729079, 0.3800183471722075, 0.4413585070513671, 0.5149666989063586 ], "xaxis": "x", "y": [ -464.6836363636412, -455.31636363636244, -443.65208575999895, -432.2613953152468, -419.6015980370985, -404.133402443661, -388.49053000859385, -373.4531493654458, -358.9978236223269, -345.72118484726616, -330.4346593548471, -315.08641881895073, -300.45108318233997, -287.1147994373255, -271.88911820158637, -256.73446247607126, -243.05630798229913, -227.59965916613373, -212.3764188950022, -198.79474282284878, -183.63687244523976, -168.89758025764013, -155.9317428245481, -141.67842212354662, -128.62142277855003, -114.53020236514578, -101.85769782410034, -89.08605311327938, -75.69771311480514, -61.44649325461404, -49.67029963520696, -38.95633409289803, -28.895625259094572, -19.96616210361553, -12.588932275060344, -7.033274179008785, -3.3314704935434065, -1.2446916885350277, -0.31981788940393585, 0.17163417268378112 ], "yaxis": "y" }, { "hovertemplate": "B'(t) :
t=%{x}
value=%{y}", "legendgroup": "wide_variable_1", "line": { "color": "greenyellow", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B'(t)", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0016, 0.00352, 0.00544, 0.007744000000000001, 0.0105088, 0.0132736, 0.0160384, 0.018803200000000003, 0.021568000000000004, 0.024885760000000003, 0.028203520000000003, 0.031521280000000006, 0.03483904000000001, 0.03882035200000001, 0.04280166400000001, 0.04678297600000001, 0.05156055040000001, 0.05633812480000001, 0.061115699200000005, 0.06684878848, 0.07258187776000001, 0.07831496704000002, 0.08519467417600002, 0.09207438131200002, 0.10033002987520002, 0.10858567843840003, 0.11849245671424002, 0.130380590645248, 0.14464635136245763, 0.1589121120796672, 0.17603102494031872, 0.19657372037310053, 0.2212249548924387, 0.25080643631564453, 0.2863042140234915, 0.3289015472729079, 0.3800183471722075, 0.4413585070513671, 0.5149666989063586 ], "xaxis": "x", "y": [ 464.6836363636344, 455.3163636363638, 443.6520857600003, 432.2613953152463, 419.60159803709917, 404.13340244366145, 388.49053000859385, 373.45314936544537, 358.99782362232736, 345.72118484726616, 330.43465935484755, 315.0864188189512, 300.4510831823404, 287.114799437325, 271.8891182015868, 256.73446247607126, 243.0563079822996, 227.5996591661342, 212.3764188950022, 198.79474282284946, 183.63687244523953, 168.89758025764013, 155.93174282454765, 141.67842212354662, 128.6214227785497, 114.53020236514567, 101.85769782410011, 89.08605311327938, 75.69771311480508, 61.44649325461387, 49.67029963520736, 38.95633409289792, 28.8956252590948, 19.96616210361549, 12.588932275060301, 7.033274179008686, 3.3314704935433497, 1.2446916885349424, 0.3198178894039643, -0.171634172683639 ], "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 B(t) as a function of time" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 0.5149666989063586 ], "title": { "text": "t" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -516.3151515151565, 516.3151515151496 ], "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_B], title=\"d/dt A(t) and d/dt B(t) as a function of time\",\n", " xlabel=\"t\", ylabel=\"Time derivatives\", curve_labels=[\"A'(t)\", \"B'(t)\"], \n", " legend_title=\"Derivative\", colors=['aqua', 'greenyellow'])" ] }, { "cell_type": "markdown", "id": "5eb72a33-d5d9-4675-9602-c8b3fa49d286", "metadata": {}, "source": [ "### Now, let's determine what kF and kR rate constants for `A <-> B` will yield the above data" ] }, { "cell_type": "markdown", "id": "f38690a4-b17d-4ba3-9fa8-26b597002528", "metadata": {}, "source": [ "Assuming that A <-> B 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 [B] is the difference of the forward rate (producing `B`) and the reverse rate (consuming it): \n", "\n", "`B'(t) = kF * A(t) - kR * B(t)`       **(Eqn. 1)** \n", " \n", "We also know that A(t) + B(t) = TOT_conc (a CONSTANT), i.e. \n", "`B(t) = TOT_conc - A(t)`       **(Eqn. 2)** \n", "\n", "Replacing B(t) from Eqn. 2 into Eqn. 1:\n", "\n", "`B'(t) = kF * A(t) - kR * [TOT_conc - A(t)]`\n", "\n", "Simplifying and rearranging: \n", "\n", "`B'(t) = kF * A(t) - kR * TOT_conc + kR * A(t)`\n", "\n", "`B'(t) = - kR * TOT_conc + kF * A(t) + kR * A(t)`\n", "\n", "`B'(t) = [- kR * TOT_conc] + [kF + kR] * A(t)`       **(Eqn. 3)** \n", "\n", "`TOT_conc` is a known constant; `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 `B'(t)` as a linear function of `A(t)`**, as:\n", "\n", "`B'(t) = a + b * A(t)` , for some constants a, b\n", "\n", "then, comparing with Eqn. 3, we get the following system of equations:\n", "\n", "* `- kR * TOT_conc = a` \n", "\n", "* `kF + kR = b`\n", "\n", "which can be immediately solved as:\n", "\n", "* `kR = - a / TOT_conc`       **(Eqn. 4)**\n", "\n", "* `kF = b - kR` " ] }, { "cell_type": "markdown", "id": "37d4919c-9218-48c8-953e-e065d9a3fca2", "metadata": {}, "source": [ "Let's carry it out! First, let's verify that `B'(t)` is indeed a linear function of `A(t)`. \n", "We already have, from our data, B'(t) as the Numpy array `Deriv_B` , and we also have A(t) as the Numpy array `A_conc` " ] }, { "cell_type": "code", "execution_count": 24, "id": "ed4bb090-6951-46c6-b66a-575ce29bd885", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "A(t)=%{x}
B'(t)=%{y}", "legendgroup": "", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ 40, 39.264, 38.400583680000004, 37.56037599068161, 36.57922850272618, 35.43982898922546, 34.344532440573715, 33.29163175448994, 32.27948590584255, 31.30651738898792, 30.18414823313308, 29.113911598145645, 28.093385999331552, 27.120262426667562, 26.00675445927339, 24.95531160873677, 23.962474466734328, 22.8374768427134, 21.787725856572635, 20.808188558560524, 19.711364647902297, 18.702575388903462, 17.774754834316262, 16.750734040476118, 15.825342730915095, 14.82182903553432, 13.93430052971745, 12.992361996425823, 12.018806236615541, 11.04497851404361, 10.265644297251626, 9.517222200753451, 8.834360185525007, 8.250593250795292, 7.7918345994122795, 7.469312994549506, 7.274626912668843, 7.180327827281463, 7.148149418454293, 7.14269565072923 ], "xaxis": "x", "y": [ 464.6836363636344, 455.3163636363638, 443.6520857600003, 432.2613953152463, 419.60159803709917, 404.13340244366145, 388.49053000859385, 373.45314936544537, 358.99782362232736, 345.72118484726616, 330.43465935484755, 315.0864188189512, 300.4510831823404, 287.114799437325, 271.8891182015868, 256.73446247607126, 243.0563079822996, 227.5996591661342, 212.3764188950022, 198.79474282284946, 183.63687244523953, 168.89758025764013, 155.93174282454765, 141.67842212354662, 128.6214227785497, 114.53020236514567, 101.85769782410011, 89.08605311327938, 75.69771311480508, 61.44649325461387, 49.67029963520736, 38.95633409289792, 28.8956252590948, 19.96616210361549, 12.588932275060301, 7.033274179008686, 3.3314704935433497, 1.2446916885349424, 0.3198178894039643, -0.171634172683639 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "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 B(t) as a function of A(t)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 7.14269565072923, 40 ], "title": { "text": "A(t)" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -25.99692698025686, 490.50892917120757 ], "title": { "text": "B'(t)" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "PlotlyHelper.plot_curves(x=A_conc, y=Deriv_B, title=\"d/dt B(t) as a function of A(t)\",\n", " xlabel=\"A(t)\", ylabel=\"B'(t)\", colors=\"green\")" ] }, { "cell_type": "markdown", "id": "edb3e52a-4a04-48d5-b8c9-2be9df1462de", "metadata": {}, "source": [ "As expected, it appears to be a straight line, and the rate of change in the product B is higher when the concentration of the reactant A is larger. \n", "\n", "If we fit a linear model (least-square fit straight line), we can estimate B'(t) = a + b * A(t) , for some numbers a and b. \n", "I.e. **we want to fit: Y = a + b * X , for some numbers a and b** \n", "where Y is `Deriv_B` and X is `A_conc`, the Numpy arrays we computed earlier:" ] }, { "cell_type": "code", "execution_count": 25, "id": "f0a11a40-5ad2-4b99-bc7c-d2d9039b06df", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 4.64683636e+02, 4.55316364e+02, 4.43652086e+02, 4.32261395e+02,\n", " 4.19601598e+02, 4.04133402e+02, 3.88490530e+02, 3.73453149e+02,\n", " 3.58997824e+02, 3.45721185e+02, 3.30434659e+02, 3.15086419e+02,\n", " 3.00451083e+02, 2.87114799e+02, 2.71889118e+02, 2.56734462e+02,\n", " 2.43056308e+02, 2.27599659e+02, 2.12376419e+02, 1.98794743e+02,\n", " 1.83636872e+02, 1.68897580e+02, 1.55931743e+02, 1.41678422e+02,\n", " 1.28621423e+02, 1.14530202e+02, 1.01857698e+02, 8.90860531e+01,\n", " 7.56977131e+01, 6.14464933e+01, 4.96702996e+01, 3.89563341e+01,\n", " 2.88956253e+01, 1.99661621e+01, 1.25889323e+01, 7.03327418e+00,\n", " 3.33147049e+00, 1.24469169e+00, 3.19817889e-01, -1.71634173e-01])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y = Deriv_B # The dependent variable (the time-gradient of the PRODUCT concentrations)\n", "Y" ] }, { "cell_type": "code", "execution_count": 26, "id": "33eab35f-818e-49e3-95f4-a933e7cdd149", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([40. , 39.264 , 38.40058368, 37.56037599, 36.5792285 ,\n", " 35.43982899, 34.34453244, 33.29163175, 32.27948591, 31.30651739,\n", " 30.18414823, 29.1139116 , 28.093386 , 27.12026243, 26.00675446,\n", " 24.95531161, 23.96247447, 22.83747684, 21.78772586, 20.80818856,\n", " 19.71136465, 18.70257539, 17.77475483, 16.75073404, 15.82534273,\n", " 14.82182904, 13.93430053, 12.992362 , 12.01880624, 11.04497851,\n", " 10.2656443 , 9.5172222 , 8.83436019, 8.25059325, 7.7918346 ,\n", " 7.46931299, 7.27462691, 7.18032783, 7.14814942, 7.14269565])" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = A_conc # The independent variable (the REACTANT concentrations)\n", "X" ] }, { "cell_type": "markdown", "id": "dff549b8-b9d3-4080-8c99-32a4f56c1b3c", "metadata": {}, "source": [ "#### Let's do the least-square fit:" ] }, { "cell_type": "code", "execution_count": 27, "id": "736b2321-53b9-4681-b52a-29652be70dce", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1. , 40. ],\n", " [ 1. , 39.264 ],\n", " [ 1. , 38.40058368],\n", " [ 1. , 37.56037599],\n", " [ 1. , 36.5792285 ],\n", " [ 1. , 35.43982899],\n", " [ 1. , 34.34453244],\n", " [ 1. , 33.29163175],\n", " [ 1. , 32.27948591],\n", " [ 1. , 31.30651739]])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M = np.vstack([np.ones(len(Y)), X]).T\n", "# M is an nx2 matrix , where n is the number of data points. \n", "# The 2nd column contains the values of X\n", "\n", "M[:10, :] # Show the first 10 rows" ] }, { "cell_type": "code", "execution_count": 28, "id": "664d211f-43bc-4bfb-bf12-8f9513276ac4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(-96.24760283632102, 14.110812144902573)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a, b = np.linalg.lstsq(M, Y, rcond=None)[0] # Carry out the least-square fit as: Y = a + b X\n", "a, b" ] }, { "cell_type": "markdown", "id": "b5630424-9ae2-4506-af8e-5683ee1ad5f1", "metadata": {}, "source": [ "#### Visually verify the least-square fit" ] }, { "cell_type": "code", "execution_count": 29, "id": "4f99fd67-b1d7-4421-8c6c-0e648818e9aa", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "B'(t) :
A(t)=%{x}
value=%{y}", "legendgroup": "wide_variable_0", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B'(t)", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 40, 39.264, 38.400583680000004, 37.56037599068161, 36.57922850272618, 35.43982898922546, 34.344532440573715, 33.29163175448994, 32.27948590584255, 31.30651738898792, 30.18414823313308, 29.113911598145645, 28.093385999331552, 27.120262426667562, 26.00675445927339, 24.95531160873677, 23.962474466734328, 22.8374768427134, 21.787725856572635, 20.808188558560524, 19.711364647902297, 18.702575388903462, 17.774754834316262, 16.750734040476118, 15.825342730915095, 14.82182903553432, 13.93430052971745, 12.992361996425823, 12.018806236615541, 11.04497851404361, 10.265644297251626, 9.517222200753451, 8.834360185525007, 8.250593250795292, 7.7918345994122795, 7.469312994549506, 7.274626912668843, 7.180327827281463, 7.148149418454293, 7.14269565072923 ], "xaxis": "x", "y": [ 464.6836363636344, 455.3163636363638, 443.6520857600003, 432.2613953152463, 419.60159803709917, 404.13340244366145, 388.49053000859385, 373.45314936544537, 358.99782362232736, 345.72118484726616, 330.43465935484755, 315.0864188189512, 300.4510831823404, 287.114799437325, 271.8891182015868, 256.73446247607126, 243.0563079822996, 227.5996591661342, 212.3764188950022, 198.79474282284946, 183.63687244523953, 168.89758025764013, 155.93174282454765, 141.67842212354662, 128.6214227785497, 114.53020236514567, 101.85769782410011, 89.08605311327938, 75.69771311480508, 61.44649325461387, 49.67029963520736, 38.95633409289792, 28.8956252590948, 19.96616210361549, 12.588932275060301, 7.033274179008686, 3.3314704935433497, 1.2446916885349424, 0.3198178894039643, -0.171634172683639 ], "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, 39.264, 38.400583680000004, 37.56037599068161, 36.57922850272618, 35.43982898922546, 34.344532440573715, 33.29163175448994, 32.27948590584255, 31.30651738898792, 30.18414823313308, 29.113911598145645, 28.093385999331552, 27.120262426667562, 26.00675445927339, 24.95531160873677, 23.962474466734328, 22.8374768427134, 21.787725856572635, 20.808188558560524, 19.711364647902297, 18.702575388903462, 17.774754834316262, 16.750734040476118, 15.825342730915095, 14.82182903553432, 13.93430052971745, 12.992361996425823, 12.018806236615541, 11.04497851404361, 10.265644297251626, 9.517222200753451, 8.834360185525007, 8.250593250795292, 7.7918345994122795, 7.469312994549506, 7.274626912668843, 7.180327827281463, 7.148149418454293, 7.14269565072923 ], "xaxis": "x", "y": [ 468.18488295978193, 457.7993252211337, 445.6158197267706, 433.759806860096, 419.9150189711139, 403.83716647811184, 388.3816426371269, 373.5243588485598, 359.24215891505344, 345.5127829508133, 329.67524263531277, 314.5733345284124, 300.17288951448256, 286.4413255868445, 270.72882383709305, 255.89211129206998, 241.88237289079152, 226.00774275477048, 211.19490379041193, 197.37283698923758, 181.89576082990195, 167.6609251023739, 154.5686235524146, 140.11885849806234, 127.06083556832135, 112.90044232796623, 100.37669430913834, 87.08517661381512, 73.34751417454433, 59.60601411983353, 48.608975388587055, 38.048131779807164, 28.41239416202899, 20.17496860965238, 13.701511460137851, 9.150469681246761, 6.403290952601594, 5.072654273264149, 4.618590791182072, 4.541633699331783 ], "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 B(t) as a function of A(t), alongside its least-square fit" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 7.14269565072923, 40 ], "title": { "text": "A(t)" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -26.191440680042838, 494.2046894671411 ], "title": { "text": "B'(t)" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAAx8AAAFoCAYAAAA2HEb1AAAAAXNSR0IArs4c6QAAIABJREFUeF7svXmcFEW67/2r3uhmB5FVBFkUUBRBFBeQARVtQPYG1BkVL5ej58xclyNXZj7zmdc7dwaOvC7nnHv0ZbjiLtjsAo2sIm4sosjasiP7vtN71/vJguzOys6qyqrIejqr8lf/zEhHxBPxfaKy8lsRkeXz+/1+8EUCJEACJEACJEACJEACJEACcSbgo3zEmTCbJwESIAESIAESIAESIAESCBCgfHAikAAJkAAJkAAJkAAJkAAJiBCgfIhgZhASIAESIAESIAESIAESIAHKB+cACZAACZAACZAACZAACZCACAHKhwhmBiEBEiABEiABEiABEiABEqB8cA6QAAmQAAmQAAmQAAmQAAmIEKB8iGBmEBIgARIgARIgARIgARIgAcoH5wAJkAAJkAAJkAAJkAAJkIAIAcqHCGYGIQESIAESIAESIAESIAESoHxwDpAACZAACZAACZAACZAACYgQoHyIYGYQEiABEiABEiABEiABEiABygfnAAmQAAmQAAmQAAmQAAmQgAgByocIZgYhARIgARIgARIgARIgARKgfHAOkAAJkAAJkAAJkAAJkAAJiBCgfIhgZhASIAESIAESIAESIAESIAHKB+cACZAACZAACZAACZAACZCACIGElo85eauRu2AV3pn0AhrUq1MF2JlzF/DsK28iZ2BvDM3uFRLo7v2HMW7865g4YSy6d+kgAt4YRBvHn1+bhmdGZ+PFcTlh4+t9bdSwXshxiw/A4YA6D63Zzh3bJO04HcYWtjkJpokyj9+Ykot1G/OTcl7ZveZJzj27sfS+39mlQ8TroN02WU6egPb+end6XiBw/7498OrLY5CVmSHfEUYkARJwLYGklo9IcqJnxUo+or1BKSgsxl8mT8OiFWuqJLtZk2sw5bWX0LZV8yp/02M/9+SgIEHS+v72B/Mt6+kf0tc3b5x0F/Zw466Od1GoeZBIOYiVqT7Gzdv3RBTjRJrH0b63q2PemWNqfc5buTbkdUQvHw/50HOb3eeuCimIdU6FY+kW+Qg1l90wD9zeB6v3ltX8ScT3oNvZs38kkEgEklY+dBlo2rhhxG/RnJQPLfnmb3pC3TjofbSqE+nDff3GfDz1/CS8/9Yr1bJaE49JHk3O4hHfqs1Elw8VptocmzBxKho1qAv4fCFXChJtHifijQ/lQ+odD1A+YmMdSnwpH7HxZC0SSGYCSSsf0Wylird86KLw1/FjglY3wglEJPkId8OXqBNW5UY5XmNOxBtVIwsVptrYjx4/jQEP3h3YvhhKdBNtHid6Tu2sHkTaaqr6fol0fYqlfa58xELNPXWiWXVL5vegezLCnpCAewkkjHwYt4DoOO+7szPOXbhk+Y1suC1Xxj2pWludO9yAk2fOV5z5MP9dKxNu65T293AyEOrmLNQF2Lg/3zh1zDd/+jfTobZ0Geta8dP+bnXORJexI8dOVTRhFierKR1NDHP9UHW1uL+593bLsztWN9bGby21GNpZGv1ldfNstV1OP2fy3ozFFXuX9Tb0edCwfp1An6z2p5vnj5mx8Sar5123Blaw9JcdzkZ24WKFYxruDJTWvpGjzj/UXnzJeRzqUhpq26PVnvNQ/Y2UNy22XvfvE8bijxOnQtuSpr1C7W03v5f1a415m2WVa5LprJNdxqHa1/po7ovd/fjmlYBI1yfV64d5nlnl1vw+iebaE65/Vn8LdZ20mov6tT7cdVufR/q5CKvPIL2MJv/mlXTzZ1ssc//N/+ef8eY/Zga2CRs/2+ywthp3KG7aNbdhg7qBM5X6nI/l89W9t1DsGQmQQCwEEkI+rJZtjTcC5gPnob7t1f/918PHg4TFSg6i/WYmlHyE+vdI3/LZ+WYxmu0BWryJ//EJJvzh8YrD+VZ9sGrT7hYvuzEi3UCat8qF+kYtnHxo4mS8QbHiGWpeaWVbNm8c2M4WaduV8UbJKtdWZ0NCnaWwy1njZzdWrCsfZl7RcDDm1+l5HG7uTH5nBh4f+kDF2apQ7z3zWOyyNN40Gh+EEOq9bLVVyur9Zac/Vvztth/qumf3GmfV51B5Vb1+mIXe6j1qxdvutcdO/6K5rhrno9X718wp2s8gu/IRzdzXpMfqyzS7rEO9ByNtuzIKt925F8tNDeuQAAm4n0BCyIe+/SPSN0A67lArAqH+3cltV1YHzq2+OYv0AWfnpi3WG0vzzaHxiWHhbioKCotwy003RD2r7R78DzWeWOTD/M2yuQ2729aiuem2e0MW6mY1mnzajRVNm3pirdiEmq9umcehJqXVe96cU7ssw33hYZ7jobZ9mudhuC8hlqxah149ugSeFGTus932tT5Huu6Z3ytmltHIh8r1w4pFuGt/qAdyqF7fIs3pUHMt1LViyy97kZVZIyDFkXJhfOJitJ975n7ZmfvGOqqsKR9RfzSyAgl4loDr5SPch3Oom9pQF9FQHw5Oyoc2k8ySpI9B+5u+ShPpTEq85MNqydv4La7+7Z3KI24jxZBY+QglH/pKhd39ydHIR6h5Z57DkeTDag6ZmdmNFYt8WN18hZK16prHoeaQ1ZYg87e85pzaZRlJPow3w6Hev6EkWPvSItyWO7vCZDWvQ43P7tyIRj5Urh+h3idW51dCzbtI1x47/QslH6G2dunbOfW5F247W6hchPoMsrPyob8XYpn7et1w18NI7/FIbdhZ7fPsHRgHTgIeJeB6+Qj3LZSVfET6ltzqxi7e8qF/+2h8OlWkC7rT8qHHM/8+iBVDq33LKr9B4qaVD10+7H67aVc+wq2kmP9WWFRkeV7E7mpMNLG0uac9AtrOU9/C3cTofzPfyEvP41DXaf19f/L0uaDH0Ub69jezRo0AH6vrghXnUPMh2m1qxhtqq332doTJ6rdKwslNKHaR3tvRyIfxWmeMFymGVtYsH3pc49kz8xj0G38nr292rw1WPK0EQJfKcO9bFfmIde4bfxsrGtaR3oNmWaR8ePTuksMmgTAEXC8f4b6RCXXjrD0e1OoQdrTfOkXzQ2SRbhzNT7yK9AHntHyEu2kK90ON+re92j7hSIehVWJocSS2XXHlI/z1MNxKo9WclZ7H4VY8rLbhRJIP7QYsXisfVu8rOytuVjfSVisfdtsPNT67n4zRyoe5XX01ItL1I5qVD6sYVtdrO198mPsXaU7b5WaUSl2Sov0MsrPyEeqzws7cj7RqYXesRnmkfERDjWVJwJsEXC8f4W7qrT5YtIu79rL6pfBIe7uN+23tfGgZp4xd+dA/hMLd5OnfHoaSKD2u3Q/JaBiuXvNz4FfFjd+KReqrURy0/2/3bI75LRdJPkI9Bcf4rX6kLRN6G5G+hdTPt4SaB1ZMIs0vfSuYE9uu7Mayu7VGz0W4Q+9Wh2UjzQ07T2SzO4/DXaJDia+dGzC7LHURD3WTa5SfUBytznxoT8zq1eO2oOFFWkmx277WqJ0vMsKxtcpPqLzGev0w3rzaeY/avfaa3792+mdHEK14Gc/ohLpGR5pr5jMfdoRKZe7r/Yz0+WXn9iiaMx/Rfr7aic8yJEACiUPA9fKh34ibf1DPau9upC0gVjdKxn28xkexRvPkoUg333q/ut7SPujGPNSHhtaenRsyOzd2+lS0+tDTtwgYz3dYlbPLwm6MUG+PcDfKZlbGbxWNWzrsyoeRsfGXm81zKNJNntXTroxPU9Pnl/HX6J2Qj3AiYIwVrXyEm5Oh3ovxmsehttJYzR+rPOn/FmkLk12W0ciH1c2ccc7qqwBWc8HOdi+77RuvTT9u2VllRVh7z2qvcI9ejmbFS+X6YcUi1LVTG7/xCU92rz12+hfrjbjV+8AcT/UzyOqarTL3je8lu6xDXb+jkQ+7nymJcyvFnpIACURDICHkw3jTow9Ou+Fs3bIpzE9qirSFyHxoULvxfmlcTuCXnI3fOmlxjPt37f7OR6inXVltOYh0ATafvTDKUSwfkOb9yFqftJeZmfnQZqSxGyec3RhWkzTcjbJ5X7zWp7f+17/gw9wlQecZopEPrQ9Wh0jNubKaB079zodxhS6WnJpzZd5bH4186OyMMmbOk9XNU7zmsXmrYqQLm/n9orHQfkfFvIIYSpYisYxGPow3/fo1QZuz2jXm9Sm5MG5Nsdpvb86jVZ+t3hNW7Ru/gDD+7o3273YeLBHqPRXq+hTr9SOSlJuvrWZGdq89dvpnvi7YObNidXbHim+sn0FavkJds1Xnvj5HrMag/c3O+KORj2g/XyO99/l3EiCBxCKQMPIRCWs0N1mR2pL6eyw3m3rfIt3wSY2BcUggXvM40ipMIpKPtDqbiGNin9UJcF6oM2QLJEACiUMgaeQjUS/edrZX2fn2OXGmHHuajAScnsex7rt3E1tNnrSVF+3HKvWX6uFvN42PfXGOQKJ+fjlHgC2RAAl4iUDSyEcif6jr2wXsLG1Hsw/eSxOZY61+Ak7OY21lT9uepP8uTvWPLvoeWP3mhJ33ePSRWCPRCVA+Ej2D7D8JkEA0BJJGPqIZNMuSAAmQAAmQAAmQAAmQAAnIE6B8yDNnRBIgARIgARIgARIgARLwJAHKhyfTzkGTAAmQAAmQAAmQAAmQgDwByoc8c0YkARIgARIgARIgARIgAU8SoHx4Mu0cNAmQAAmQAAmQAAmQAAnIE6B8yDNnRBIgARIgARIgARIgARLwJAHKhyfTzkGTAAmQAAmQAAmQAAmQgDwByoc8c0YkARIgARIgARIgARIgAU8SoHx4Mu0cNAmQAAmQAAmQAAmQAAnIE6B8yDNnRBIgARIgARIgARIgARLwJAHKhyfTzkGTAAmQAAmQAAmQAAmQgDwByoc8c0YkARIgARIgARIgARIgAU8SoHx4Mu0cNAmQAAmQAAmQAAmQAAnIE6B8yDNnRBIgARIgARIgARIgARLwJAHKhyfTzkGTAAmQAAmQAAmQAAmQgDwByoc8c0YkARIgARIgARIgARIgAU8SoHx4Mu0cNAmQAAmQAAmQAAmQAAnIE6B8yDNnRBIgARIgARIgARIgARLwJAHKhyfTzkGTAAmQAAmQAAmQAAmQgDwByoc8c0YkARIgARIgARIgARIgAU8SoHx4Mu0cNAmQAAmQAAmQAAmQAAnIE6B8yDNnRBIgARIgARIgARIgARLwJAHKhyfTzkGTAAmQAAmQAAmQAAmQgDwByoc8c0YkARIgARIgARIgARIgAU8SoHx4Mu0cNAmQAAmQAAmQAAmQAAnIE6B8yDNnRBIgARIgARIgARIgARLwJAHKhyfTzkGTAAmQAAmQAAmQAAmQgDwByoci88OnChRbcE/1Zg2zcPRMAfx+9/QpGXvSsE4GLheWorCkPBmH55ox1c5MQ0qKD+cvl7imT8nYkYy0FNStlY6T54qScXiuGlPza7KQTJ85roJr6EyjujVwvqAExbxGxz1F2pzmy3sEKB+KOU+mDwLKh+JksFmd8mETlGIxyociQJvVKR82QTlQjPLhAEQbTVA+bEByqAjlwyGQCdYM5UMxYZQPRYAerE75kEk65UOGM+VDhrMWhfIhw5ryIcNZn9Ny0RjJLQQoH4qZoHwoAvRgdcqHTNIpHzKcKR8ynCkfcpwpH3KsufIhx9pNkSgfitmgfCgC9GB1yodM0ikfMpwpHzKcKR9ynCkfcqwpH3Ks3RSJ8qGYDcqHIkAPVqd8yCSd8iHDmfIhw5nyIceZ8iHHmvIhx9pNkSgfitmgfCgC9GB1yodM0ikfMpwpHzKcKR9ynCkfcqwpH3Ks3RSJ8qGYDcqHIkAPVqd8yCSd8iHDmfIhw5nyIceZ8iHHmvIhx9pNkSgfitmgfCgC9GB1yodM0ikfMpwpHzKcKR9ynCkfcqxV5aOgsBh/mTwNi1asCer0X8ePwdDsXnIDqcZIu/cfxrjxr+PIsVNVevH+W68E/m3CxKmY8tpLaNuqOebkrcaaDdvw6stjkJWZUS09p3woYqd8KAL0YHXKh0zSKR8ynCkfMpwpH3KcKR9yrFXkQ7/pzu5zF14cl1PR6TPnLmDC36fi5edGBW62k/2lc5g4YSy6d+kQcbiUj4iI3F+A8uH+HLmth5QPmYxQPmQ4Uz5kOFM+5DhTPuLIuqwMNVavQub82Ujf8Qsy1n4XUzB9xaNp44ZB4mFuTBORZ195Ey+Ny6m4Mdfr9ujWKbA6sn5jPl6fkhsoo60QaCsIf37+d/hx8w7oZfR2tRv9P02cir9NGFshNm9MycW70/MCRZo1uaZihcFqYHqsdya9gAb16lQU0drQXppEWa3mhFvJiSQfxpi79h7CU89PCuqa3rYeV/tjvFdFuPIR07SvrET5UAToweqUD5mkUz5kOFM+ZDhTPuQ4Uz6cZe0rKUHGN6sDwpGVtwAppw3bg/z+mIJFuuHWG7UrH9oNef++PYJuuq1WCMz/ZpQGLaZ2o2/c4mRHhsx9NLep/f29GYvx7JODLbdJRWJhFp5QKx+Uj5imYvVUonxUD/dEjkr5kMke5UOGM+VDhjPlQ44z5UOdtSYcNb5cjszP5yBz8UKknDtX0eiupjXw6U1FmNMlExvfKogpWKSb/GjlQ1v5MK9GmG/q9ZvzEQN7B1ZRtL9PfnsGJv5xbMUqhnlVxWpwmlwcPX66QnS0scxcsCrw39pLO8NiXnEJBynUmY9nRmcHVlLsykdMiYixElc+YgSnV6N8KAL0YHXKh0zSKR8ynCkfMpwpH3KcKR+xsfYVF6HGqpWWwrG1WRqmdyrF7I5AfiOgZlot9GszAHNGz4gpmIR8aB0zrkKYb+K1/zZvYdIHE2mblL51q3mTRlVkQ1uZ+PNr0wJNmVdjrGA5tfIRUyJirET5iBEc5UMRnIerUz5kkk/5kOFM+ZDhTPmQ40z5sM9aE47MZUuQOX8OMpfmwXfxYkXlzU1T8NnN5ZhxC7C7AdCsdgs8dEN/PNzmUdzToifSUtIR64HzSDfceifsbruyWvnQ2jAKh7b1SXvph9tDnd+IRM+4OnLbze2qnCHR69uVkEgsuPIRKSMJ+HeufCRg0qq5y5QPmQRQPmQ4Uz5kOFM+5DhTPsKzDiccG5r7kHuzH7M7XRGOjtfcgn43DEC/tgNx67W3V2k4VvmIdOB8yap1aHfDdWhYv47tA+fmbVdaZ3V5eXrkw3jvsy+CDq5bHT63O0v1cxe3dmqLTdt2hz3gHUlyopUP4zYvPmrXbsZcVo7y4bKEJEB3KB8ySaJ8yHCmfMhwpnzIcaZ8VGXtK7iMzJXLLVc4fmgOzLwZgRWOww3S0L3ZPXik7UA80mYQmte+LmziYpUPrdFQj9rVtkrlrVwbeOqUvq3J+FQsfUVB3xoV6eZeL2/eAqUL0K+HjwedF9HKt2zeOOxjb3Wp2bx9D7Tf4tAfkav9+8T/+AQT/vB4xTmSSI/GjUU+rA7F88C53DVGORLlQxmh5xqgfMiknPIhw5nyIcOZ8iHHmfJxhXVAOJYuRua8Ochc/gV8BZWHw43CcapRbdx//QN4uM3AwLaqOhl1bSdLRT60IFaPpe3csU2QDBhv9LU6E37/eGC1wfyoXauVD6PkPPfkIMsfLjQ+alcrb44fCoZWb93G/CoH3aNtL1r50PpjjMFH7dqeru4pSPlwTy4SpSeUD5lMUT5kOFM+ZDhTPuQ4e1k+fJcuInP5koBw1Fj+BVKuCoffB3x/HTDrZgQOjRc0a3L1/MZA9LzuN0hPje2XslXlQ25WMJKTBHjgXJEm5UMRoAerUz5kkk75kOFM+ZDhTPmQ4+w1+dCEI2vxosDvcGSsXIaUoqIAbKNwfHYzUOv6m/BQmwF4+IaBuL1pd/jgU04K5UMZYUI2QPlQTBvlQxGgB6tTPmSSTvmQ4Uz5kOFM+ZDj7AX5CBaOpUgpKq4iHDNvSUGzdnfh4baPIrvdIFxfp7XjSaB8OI40IRqkfCimifKhCNCD1SkfMkmnfMhwpnzIcKZ8yHFOVvlIOX8+cIYjY95M1Fi5HKnFV4Sj3Ad83erKofG8mzPR/ua+6NdmYGCFo35mg7iCp3zEFa9rG6d8KKaG8qEI0IPVKR8ySad8yHCmfMhwpnzIcU4m+QgIx6L5SJubi5qrVyGltKyKcCy7vQFuv+XK43Dvv74vMlOzxGBTPsRQuyoQ5UMxHZQPRYAerE75kEk65UOGM+VDhjPlQ45zosuHLhy+OZ+iztffVAhHaQqwqvWVFY4Nd7bGHZ0HoV/bAeje9G6k+FLkABsiUT6qBXu1B6V8KKaA8qEI0IPVKR8ySad8yHCmfMhwpnzIcU5E+Ug5cwaZXyxEycz30fC7tUgtLQ8A04Vj1s0+/HJ/F9zdeQgeumEAbmzYQQ5omEiUD1ekQbwTlA9F5JQPRYAerE75kEk65UOGM+VDhjPlQ45zosiHJhwZn89Cce40XPvDZqSWBQvH3FvScPDBnrj31qF4pO0gXJPZSA6izUiUD5ugkqwY5UMxoZQPRYAerE75kEk65UOGM+VDhjPlQ46zm+Uj5eQJ+D6fGRCO5j9tR2qZPwCmJBVY1gZYdFtNXOz3MO67dRh+0+oh1EyrJQcuhkiUjxigJUEVyodiEikfigA9WJ3yIZN0yocMZ8qHDGfKhxxnt8mHJhyabPhnf4SWm/Yg5YpvVAjHim7XoGjAENx/yzD0aHEfUn2pcrAUI3lNPvRfW39pXA66d7my9U3/lXbt/7/68hhkZVb9wcY5eavx9gfzMeW1l9C2VXNF6tVfnfKhmAPKhyJAD1anfMgknfIhw5nyIcOZ8iHH2Q3yoQnH6U/+HRlzZ6LN1gMVwlGYBixpB6zp0QppA0bi/s7D0OmaznJwHI6UbPKhy8Xm7XsqSHXu2AbvTHoBDerVCYjG5Hdm4PGhD1RIhCYW+w4cxYvjcgJ1du8/jD9NnIq/TRgbJBrmcg6nQrQ5yocibsqHIkAPVqd8yCSd8iHDmfIhw5nyIce5uuTDf/gAjnz6Bmp//jlu3H4kSDiWtkvBzz07IHPwb/Fg55FoXLOpHJA4RkpW+TCubLwxJTdAUJMLs3xosjLh71Px8nOjKkQjlHxYiUscUxPXpikfingpH4oAPVid8iGTdMqHDGfKhwxnyoccZ0n5KD64Gwen/Q3XLF6KDrtOw3d1S5W2wrGifRp++c3tyBzyJPrePAJ1MurIQRCK5AX50FYs1mzYZrmlav3GfMxcsKrib/oWrEUr1lRk4P23XqnYoqW1pb2GZvcSylB8wlA+FLlSPhQBerA65UMm6ZQPGc6UDxnOlA85zvGWj4IDO3HkvYlomLcEHXefqRCOy+nAyo5Z2P/APbh22Dj0aN8PaSnpcgOvhkiq8lFQWoC1B9eK9zwrPQt3tbirSlyrMx3aykfrlk0thcFKJkKtfGjBzLIiPnCHAlI+FEFSPhQBerA65UMm6ZQPGc6UDxnOlA85zvGQj8t7tuLgh/+Ga79Yjk67zwYJx+qb6+DYw33QLOdfcMv198oN1AWRVOVj1+ldaP+f7cVH0q5hO+z8/c6Q8mE886EV+uv4MZbyoYlJz7turVjZ0MqGkw/tb5/MWY6Xnx1leTBdHESMASkfMYLTq1E+FAF6sDrlQybplA8ZzpQPGc6UDznOTsnHpd1bcOT9v6PJ4pW4ad/5igFoKxzfdW6AU9n9cP2oF9Gq6S1yg3NZJFX5OHThEJ6Y84T4qFrUaYGPh34cUj6MZz6sVkP0ipQP8dQlR0DKR3LkUXIUlA8Z2pQPGc6UDxnOlA85zirycT7/Bxz9+P9F0y++RId9Fyo6faEGsK5LE5wb0B/tc/4V11zTWm5ALo6kKh9uG1oo0Qi19SrabVdc+XBbxm32R5sA6zbmVzz2TKtmfjSa8XCP9ndtcvz5tWmBCP379gg6NET5sAmexSoIUD5kJgPlQ4Yz5UOGM+VDjnO08nF++3ocfX8SWixZjfYHLxmEw4cNXZvj8qND0G70eNSu7b5fGJejah3JC/IRbuXD6gxHuPI8cF7dMzaG+Jp4vDs9D+ZnLv9l8jT06NYpsB/PvNdOmxivT8mtkBXjI9O0LlA+YkiEx6tQPmQmAOVDhjPlQ4Yz5UOOsx35OL31e5z44DVct/RrtD94uaJz57J82Nj9BpQMyUG74f8DGVn15DqegJGSVT7MZz7MX2rrqbJ61K75S2+9Lh+1m4ATXP9xFu1gj1EmNNmY/PYMTPzj2IofgDHKiHmpzCwjlI8EnAzV3GXKh0wCKB8ynCkfMpwpH3KcQ8nHqY1f4dgnb+L6Zd/gxiDhSMGWu9oDQx9DmxHPw5+e3E+ocjITySYfsbCx++OBdsvF0gfpOp44cG58xvKW/D1B8mGWCS0B+urGs08OhlFEtL+ZV0YoH9JTNvHjUT5kckj5kOFM+ZDhTPmQ42yUj+M/rcDp919H6xVr0OZoYUUnzmelYPvdHZE2/HdoPuSfKBwxpofygcAPD2r3mtrr1ZfHWD7FSruPffuD+Zjy2ktBv3oeI/Zqr5b08mHeT2eWDav9dmb5GDGwd8Vj0MzyUVBUVu1JdKoDmRmpKCwpA67+yJFT7bKdYAIZ6SkoKytHWTnJxJNAWqoPPh9QUhrHCe2L5wjU2y4r8yM1Nb6dTPEB6akpKCr10ISO45QKl/WsGqlIps8c9RkenxaOrf8C+6dOxnXL1qDtkaKKIGdqp2JPr9vQ4Iln0WzgEwBXOJQToM1pvrxHIOnlw3hY3Jhe/dzHrr2HglZCtDLRrHycvlB5YUr06dOgdg2cvVhE94hzIrVv5ItKylFC+4gr6cz0VPh8PhQUl8YvTjXdhNodkN+PgIDF85WWmoKszFRcuFQSzzDuajvOTEMNtmGdGkimzxw3JfXX1bNx+qP/QtuVP6DViWKDcKRhd89bUf+JZ9Ew+zEglTfLTuZNm9N8eY9A0suHOaXmlQ+e+agk1KxhFo6eKYB2w8JX/Ahw21X82Bpb5rYrGc7cdiXDWYuibVFJpq2+cuSsI/369Uxc+PRttF9rwm6FAAAgAElEQVT1I1qfqJTns7XTsKvnbag9+lnU7TeSwhHHRHHbVRzhurhpz8uHvteOT7sCKB8y71TKhwxnyocMZ8qHDGfKhzOc9341Axenv4Mbv9qIGwzCcapOOnbd3xX1H/tn3DBkFM4Xl6O4xENbCZ3BG3UrlI+okSVFBc/Lh5ZF/s7HlblM+ZB5T1M+ZDhTPmQ4Uz5kOFM+Yue8e9kHKPhsKjqt3oTrTlduwzxVNx177u+Keo/9C2r3HQKkpASC2HnUbuy9YU0jAcqHN+eD5+TD6TQn0xI45cPp2WHdHuVDhjPlQ4Yz5UOGM+XDPmc//Ni59D0UfvZ/cfPqzWh5pvLBMMfrZ2BvnzvR8LHfo1av/hXCYWyd8mGftWpJyocqwcSsT/lQzBvlQxGgB6tTPmSSTvmQ4Uz5kOFM+QjPuay8FDuXvYeiz97FLV9vDRKOE5pw9L0LDR/7A2r2yo74FAbKh+yclovGSG4hQPlQzATlQxGgB6tTPmSSTvmQ4Uz5kOFM+ajKWROOXxa+g9JZH+C2b/LR7HzlGY0T9WtgnyYcj/8BWT0fiSgcXPmQm8fGSF5a+dCfpPriuJzqgW0jqvnnJGxUiakI5SMmbJWVKB+KAD1YnfIhk3TKhwxnyocMZ8rHFc6lpUXIX/QOymZ9iC7f7ggSjqONMvFr33twzW9fQNZdfaISDsqH3DxOZvnQzxC/NC6n4vfh9PG6RT70By0tWrEmKOnPjM7GoIfvw58mTsXfJowN/JhhvPpM+VB8v1E+FAF6sDrlQybplA8ZzpQPGc5elo+SkkLkz/sPYPYnuH3NLjS+WPk8eE04DjxwHxo98QJq9PiNI8ngtitHMNpqJNlWPsLJhy0gAoXMT3kNF5LyIZCQWEJQPmKh5u06lA+Z/FM+ZDhTPmQ4e00+ikouY/vcf0fKnE/Rdc2eIOE42KQmDj/YC9f+9kXU6Haf4wmgfDiONGSDXpIP4428vr1pwIP3YOJ/fhLgo608GLdkab9L99TzkwJ/038Yu0G9OlWe0Nq/bw+8+vIYZGVmwNyusZ6ehHDyYdx2dfrM+Yr4Wl1jHNUZwpUPRYKUD0WAHqxO+ZBJOuVDhjPlQ4azF+TjctF5bJ/3H0idMwN3rN0bJByHNOF46H40/u1LSO96T1yhUz7iijeocWX5KCgA1q6V67AeKSsLuOuuKnHtbrvSbvLHjX8d2X3uCgiHuZ4mHhMmTsWU114KbH+ak7ca+w4cDZTV/qa9unfpUFEvZ2BvDM3uFZAPY7tWYOzKB7ddyU8r2xEpH7ZRseBVApQPmalA+ZDhTPmQ4Zys8nGp8BzyZ72O9Lm56L7+AK65XLml6lCTWjjy0P2BFY54C4cxi5QP2TmtFG3XLqB9e6UmYqrcrh2wc6eSfBjPVuhCMGJg74BUmLc7aVIx+e0ZmPjHsdBWP4wvqxUV/cxGOPkwnvnQV0hOn73AMx8xTQjhSpQPYeBJEI7yIZNEyocMZ8qHDOdkko+Ll09h26w3UGP+LHRffxCNDMLxa4s6OPZQHzT53UtI63yHHFxDJMqHHHbllY9Dh4AnnpDrsB6pRQvg44/jKh/vTs8Lat+4hUoTDuPf9S1bdp5WxZUP+enieETKh+NIk75ByodMiikfMpwpHzKcE10+zl86ifwZ/4asz+firg2HUb+wkpsmHMf79UXjMeOR1qGLHNAQkSgfcilQlg+5rtqKFM22q0grH61bNg1spTK/NPE4evx0xTmPWFc+enTrVKV9s7zwwLmttMsXonzIM0/0iJQPmQxSPmQ4Uz5kOCeifJy5eAz5Myah1ufz0ePHo0HCcaBFXZx4uC+ufXo8UjvcJgfRRiTKhw1IDhWhfFx5pK1525X5zIeG+5M5y5Ddtwfem7E4QF87/6HXa9q4YeC/nV750M6arNmwrUJ0HEo7eOBckSTlQxGgB6tTPmSSTvmQ4Uz5kOGcKPJx6twh5H/2Gmot/Bz3/HgsSDj2XV8fp/v3Q+MnXkTKTZ3lwEUZifIRJTCF4skqH5u37wmi8tfxYwIHxnVpMEuCWT60csanXWn/bdxapR0qP3LsFJo1uQaNGtTFnbd3jIt86Cs52nj4tCuFie50VcqH00STvz3Kh0yOKR8ynCkfMpzdLB/Hz+zHzumTUG/BIty96STqFFUy2deqPk5nP4wmT/1P+NreJAdLIRLlQwFelFWTTT6iHL5ni3PlQzH1lA9FgB6sTvmQSTrlQ4Yz5UOGs9vk4/Cp3dg1499Qf+Fi3LvpVJBw7G7TEOcG9EfTJ14C2twoB8ihSJQPh0DaaIbyYQNSEhahfCgmlfKhCNCD1SkfMkmnfMhwpnzIcHaDfBw6/gt2fjYZDRYtxn2bzwQJx5421+DcwAGBFQ60bC0HJQ6RKB9xgBqiScqHHGs3RaJ8KGaD8qEI0IPVKR8ySad8yHCmfMhwri752H90C/ZOn4xGeUtx35ZzqFlSOd49bRvh/IArwuFv2UoORJwjUT7iDNjQPOVDjrWbIlE+FLNB+VAE6MHqlA+ZpFM+ZDhTPmQ4S8rH7oMbsC/3TTTOW46eW89XCIffB+y6sTEuDRyMJo+/kFTCYcwi5UN2TstFYyS3EKB8KGaC8qEI0IPVKR8ySad8yHCmfMhwjrd85P+6Foc+eR3Nlq7CfdsvIrP0yrg04dh9YxNcfnQwrv3dv8LfrIXcgKspEuVDDjxXPuRYuykS5UMxG5QPRYAerE75kEk65UOGM+VDhnM85GPLvm9xePobaLFkNXrmX6oQjnIfsLNTcxQOGoomjz2P8qbN5QbpgkiUD7kkUD7kWLspEuVDMRuUD0WAHqxO+ZBJOuVDhjPlQ4azU/KxedeXOPTZf+K6ZavRK/9ykHDs6tQChYOH4drfvgh/o8ZyA3NZJMqHXEIoH3Ks3RSJ8qGYDcqHIkAPVqd8yCSd8iHDmfIhwzlW+fDDj407l+P4J/+O65d/h147C5FedqXP2gqHJhzFg0eg0W9fQHmja+UG4+JIlA+55FA+5Fi7KRLlQzEblA9FgB6sTvmQSTrlQ4Yz5UOGczTyUe4vx487luLkp/+B61d8j/t3FlUIR2mKD7s6t0Tp0JFoNPJfKBwW6aN8yM5puWiM5BYClA/FTFA+FAF6sDrlQybplA8ZzpQPGc6R5KPMX4Yfti7Cydz/wg0r1+L+ncUVwlGW4sPOW69H2ZBRuOaxP6C8QQO5TidgJMqHXNK48iHH2k2RKB+K2aB8KAL0YHXKh0zSKR8ynCkfMpyt5KO0vBTrti3AuU//D9qt/AH37ilBWvmV/mjCsevW61E+dDQajP49hSOKNFE+ooClWJTyoQgwQatTPhQTR/lQBOjB6pQPmaRTPmQ4Uz5kOOvysf/4Oaz9eQ7OzpyCG7/cgPv2lFYIR2mqDztvbwMMexwNho+jcMSYGspHjOBiqEb5iAFaElShfCgmkfKhCNCD1SkfMkmnfMhwpnzEn3NxeRG+/2kmimb9A+2W/4R79pUhxX8lbkA4urZFytAnUG/kP6G8bt34dyjJI1A+5BJM+ZBj7aZIlA/FbFA+FAF6sDrlQybplA8ZzpSP+HAuKL2M7zbm4vL0f6DTV5tx7/5K4ShK92HXHTcifcRTqDv4aQqHwymgfDgMNExzlA851m6KRPlQzAblQxGgB6tTPmSSTvmQ4Uz5cI7zpZKL+O6HT3Fp1jR0/moL7t1fXrHCUZSegv133YSUYU+h1tCn4a9V27nAbCmIAOVDbkJQPuRYuykS5UMxG5QPRYAerE75kEk65UOGM+VDjfOF4gv4dv3HKPnsXdz6dT56HCyH7+qWKk049txxEzJGjkHNIU+i2fXXIpk+c9TIxa825SN+bM0tUz7kWLspEuVDMRvJ9EHQrGEWjp4pgP/qB58iGlYPQYDyITM1KB8ynCkf0XM+V3QW3675ACWzPkCXb39BjwP+CuEozEjB7h6dkDVyLLIGjA5a4dBu1JLpMyd6cjI1KB8ynLUolA851m6KRPlQzEYyfRBQPhQng83qlA+boBSLUT4UAdqsTvmwB+ps4Rl88/178Oe+jzu+3Y1uhyu/5dGEY0+Pm1Fz5H9HjUdHw59V07JRyoc91qqlKB+qBO3Xp3zYZ5VMJSkfitmkfCgC9GB1yodM0ikfMpwpH6E5nyw4ERAOX+6HuPO7vVWEY2+PW1Bz1H9HxsBRIYXD2DrlQ2ZOUz5kOHPlQ46z2yJRPhQzQvlQBOjB6pQPmaRTPmQ4Uz6COZ+4fAzffD0VmPMp7vp+H+44XPn3y5mp2HvPbag9+p+Q8fBQW8JB+ZCZx8YolA855lz5kGPtpkiekI85eavx59emVXD/6/gxGJrdq+K/z5y7gGdfeRObt+8J/Nv7b72C7l06VPzdWL9/3x549eUxyMrMCPyd8uGm6ZwYfaF8yOSJ8iHDmfIBHLl4CN+u/gfSZs/AvWsP4LajwcKx794uAeFIzx4Of0aNmBPDlY+Y0UVVkfIRFS6lwpQPJXwJWznp5aOgsBjvfDAPT496BA3q1YEuGi+NywkIhvb3v0yehh7dOgWEZPf+w/jTxKn424SxaNuqOdZvzMfrU3LxzqQXAvXfmJIbSPaL43IoHwk77au345QPGf6UDxnOXpWPAxf249vV/xcZs6ej57rDQcJxsWYa9vfqhrqjnkPaQ48qCQdXPmTmMVc+5DlrESkf1cO9uqMmvXyYAVvJxuS3Z2DiH8cG5ML8d002WrdsWrFSYpYRrnxU9xROvPiUD5mcUT5kOHtJPvaf34PvV05B+vyZ6LX+qIVw3IG6ozXhGAR/errjCeDKh+NILRvkyocMZ8qHHGe3RfKcfGgrG+PGv46JE8YGVj7MMqElSF/dePbJwUGrItrfzCsjlA+3TWn394fyIZMjyocM52SXjx2n87F+1VTUmjMLvTecQKcTlVwv1kzHr/ffgXqjn0PKg4/GRTi48iEzj7nyIc+Z8lE9zN0Q1TPyYTzXYTzzocnHzAWrgs5xmOVjxMDeFWdAzPJx7lKJG/LoSB/q1UrHucslAH/nwxGeoRqplZmG4pIylJQRdDxB10hPgc/nQ2FxWTzDuLrtcj+Q4otvF1NTfMiqkYqLBaXxDSTY+tYTm7Fmyf+HGvPm4jcbTgYJx/k6GTjcpwca/e73SO+TDcRhhSPUUAPX6CT6zBFMaVShtC8uCkrKUMZrdFTcYimszWm+vEfAM/Khp9a8rUp15eNSYfJ84NaskYaColK6R5yvA9pNcWmZH2XanSFfcSOQnqrJB1BcWh63GG5vWPvBUI1BPF+afKSnpSS85G089hPWLXobWfPmo++PZ9D+VCU1TTiO9r0HjZ/8A9IfzAZSU+OJNGTb2hcXyfSZUy0QbQTNzEhFSWk5r9E2WKkW0eY0X94j4Dn50FKsPb1q34GjgUPj2koGz3xcmfj8kUGZCwC3Xclw5rYrGc6JvO1q47Ef8PPSKai7cCEe2nguSDjO1quBQ33vRf3Hfw/ffQ9Um3AYs8gzHzJzmmc+ZDhrUXjgXI61myIlvXxo263em7EY2vkN7fG4+varnIG9A4fI+bSryulI+ZB5a1I+ZDhTPmQ4J5J8+OHHD0fXYPPSqai/KA/9Np6vIhyH+94XEA70fABISZGBaDMK5cMmKMVilA9FgFFUp3xEASuJiia9fGi50s5wvDs9ryJt/J0P6xlM+ZB5Z1M+ZDhTPmQ4u10+yv3lWHfkW2xbPAUN85Yg++dLaH22ks3Zepk40vc+NHjiDyi/r4/rhIMrHzLz2BiF8iHHnPIhx9pNkTwhH/EEzqddxZNucrZN+ZDJK+VDhrNb5ePrX1dix7J30WDRYgzYVBgkHKcb1sSRh+5Hk9++hOLuPVwtHJQPmXlM+ZDnrEWkfFQP9+qOSvlQzADlQxGgB6tTPmSSTvmQ4ewW+SgtL8HqX1dg16J/oOnSVRi4uRAtzlcyON0wC8ce6oOGj/0eZXf3jP9J/Djg57arOEC1aJIrHzKcKR9ynN0WifKhmBHKhyJAD1anfMgknfIhw7k65aOorBAr9i7Gvi+mofnS1Ri0pcQkHDVxvF8fNHrieRTfeXdCCgdXPmTmMVc+5DlTPqqHuRuiUj4Us0D5UAToweqUD5mkUz5kOEvLx6WSi1i+ZxH2fjENrZZ/j8FbS4OE42TjOjj18IOo//gfUNa1e8ILB+VDZh5TPuQ5Uz6qh7kbolI+FLNA+VAE6MHqlA+ZpFM+ZDhLyMe5orNYsvtzHFw0De1XbsDg7WVocrFyfKca18WZ7IdR77F/RokmHEn64rYrmcRy25UMZ8qHHGe3RaJ8KGaE8qEI0IPVKR8ySad8yHCOl3ycLDiBL3bNw+G899Bx1SYM3l4eJBwnmjfA+QEDUHf0cyjpfJvMYKs5CuVDJgGUDxnOlA85zm6LRPlQzAjlQxGgB6tTPmSSTvmQ4eykfBy5eAh5O2fjyOKPcOvX2zBkuz9IOE42b4hLAx9FzVHjPCMcxixSPmTmNOVDhjPlQ46z2yJRPhQzQvlQBOjB6pQPmaRTPmQ4q8qHJhwLfsnF8UUfoOs3OzA4H2h0ubLvp1pcg8JHhyAj5xlPCgflQ2YeG6NQPuSY81G7cqzdFInyoZgNyociQA9Wp3zIJJ3yIcM5Fvk4dOEAFuXn4ljeh+j27c4qwnGiVROUDBqB9BFPoaRjJ5mBJEAUrnzIJInyIcOZKx9ynN0WifKhmBHKhyJAD1anfMgknfIhw9mufGjCsXD7DJxe8AHu+H4PBuUD9Qsr+3iydVOUDR4J38inUdr+RpnOJ1gUyodMwigfMpwpH3Kc3RYprvIxJ281/vzaNMsx/3X8GAzN7uU2HlH3h/IRNTLPV6B8yEwByocM53DyceDCfiza9hnOLPzQUjhOtGsBDH0C/iGjKRw20kX5sAHJgSKUDwcg2myC265sgkqyYnGRjzem5OLd6Xno3LEN3pn0AhrUqxOE7cy5C3j2lTexefsePDM6Gy+Oy0lYrJSPhE1dtXWc8iGDnvIhw9ksHwHh2Dodpxd+hO5r9lZZ4TjR7jpg2OPwj/gtSlu3kelkkkShfMgkkvIhw5krH3Kc3RbJUfnQpeL65o3x6stjkJWZEXa8BYXF+Mvkafj18HFLSXEbLKv+UD4SIUvu6iPlQyYflA8Zzpp8nCz5FR+v/QgX5n2IHmv3Y8AOoE5RZfyT7VoCw55A+YjHKRwKaaF8KMCLoirlIwpYikW58qEIMEGrOy4f2mpGrx7RPXN99ZqfA6sk5hWSRGBK+UiELLmrj5QPmXxQPuLLef/5PVi4dQYufv4ReqypKhzHO9yA1BG/RdmgHAqHQ6mgfDgEMkIzlA8Zzlz5kOPstkiOyodxcNoqyIS/T8XLz41C21bNg8a9fmM+Zi5YZWt1xG3AzP2hfLg9Q+7rH+VDJieUD+c57z23C3lbpuP8go9xz9oDVVY4TnS8AanDf4eSYY+h7LqWznfA4y1SPmQmAOVDhjPlQ46z2yJVi3zs3n8Yk9+egYl/HJuQqx3GJFI+3Dal3d8fyodMjigfznDecTofS7d9hsvzP8Z9aw8heydQs6Sy7VMd26D2E2Nwtv8ICoczyEO2QvmIM+CrzVM+ZDhTPuQ4uy1StciH9hSsNRu2ceXDZbOhWcMsHD1TAL/fZR1Lsu5QPmQSSvmInfOO09uxdPN0XF44vYpw+H3Aic43IX34kyh+dBhSW7dC3VrpOHnOcMgj9tCsGYYA5UNmelA+ZDhTPuQ4uy2S4/KhrWqMG/86jhw7FXKszZpcgymvvVRlO5bb4NjpD1c+7FBiGSMByofMfKB8RMc5//RWLN00HaXzp6Pn+iPotwvILL3ShiYcJzt3QPqIJ1E0JAdlTZtVNG73dz6i6w1LWxGgfMjMC8qHDGfKhxxnt0VyXD70AYY78+E2CCr9oXyo0PNmXcqHTN4pH5E5bz+1JbDCoQlHr/VHTcLhw4muNyMj52kU9R8cJBzGlikfkTk7VYLy4RTJ8O1QPmQ4Uz7kOLstUtzkw20DjVd/KB/xIpu87VI+ZHJL+bDmvO3UZizf+CmKF36G+y2E42TXW5Ce8xQKBw1HeaNrIyaL8hERkWMFKB+OoQzbEOVDhjPlQ46z2yJRPhQzQvlQBOjB6pQPmaRTPio5bzn5M5b//Ckw7zP0/uE4HtwDpJdd+bvf58Opbp2RNkITjmG2hIMrHzJz2ByF8iHDnfIhw5nyIcfZbZEoH4oZoXwoAvRgdcqHTNK9Lh+bT2zEip8+gf/zXPxmw4kg4ShPTcGp7l2QnvM0CrMfjVo4KB8yc5jyUT2cKR9y3Pkjg3Ks3RTJUfnQznnwRwbdlN7o+sKnXUXHK9bSlI9YyUVXz4vy8fPxH/HlT58idV4u+m44id77gLTyK9w04Th95+1IH/E0CgYOQXmDBtEBDVGa264cwWirEa582MKkXIjyoYzQdgOUD9uokqqg4/Lx7Ctv4vrmjW09RregsBh/mTwNvx4+jncmvZCQv/nBlY+kej+IDIbyIYIZXpGPn49vwMqfPkHavJnou+FUFeE4c2fXwJYqJ4WDKx8yc5grH9XDmfIhx53yIcfaTZEclQ99YG9MycW70/PQuWMbS6nQVkg0SdFWSZ4ZnY0Xx+W4iUlUfaF8RIWLhQFQPmSmQTLLx8ZjP2DVho+QsmAOHjAJR1laCs7c2wNpw59E4cMDHFvhCJU1rnzIzGctClc+ZFhTPmQ463NaLhojuYVAXORDH9z6jfl46vlJlmN9/61X0L1LB7dwiLkflI+Y0Xm2IuVDJvXJJh8/Hl2HrzZ8ghrzZ+HBH8+g534g5eoPgmrCcfbeu5E6/Hco7D8I5XXrykAGQPkQQ035EEJN+RACfVWo5aIxklsIxFU+3DLIePaD8hFPusnZNuVDJq/JIB8bjq7Fqh8+Qeb8WXjop7NBwlGakYZzvXpeEY6HHhEVDmMGKR8y85krH3KcKR9yrLntSo61myJRPhSzQflQBOjB6pQPmaQnonz44YcmHF+v/QgZC+daCseF+3vBN+y3KHikP/y1asvADBOF8iGXAm67kmFN+ZDhrAu1XDRGcgsBR+XDeJZDG2CoMx9uGbwT/aB8OEHRW21QPmTynSjyoQnH+iPfB4Sj9ufz0O+nc7j7IOC7uqVKW+G4cP/98A17wjXCwZUPmTlsjkL5kOFO+ZDhTPmQ4+y2SI7Kh9sGJ9EfyocE5eSKQfmQyaeb5UMTjnVHvsP3332IrEXz0e+n80HCUVIjHZf6PgD/sMdQ+EA/V6xwhMoaVz5k5rN+o5ZMnzly5KKLRPmIjpdKaW67UqGXuHUpH4q5S6YPAv7Oh+JksFmd8mETlGIxt8lHQDgOf4vv1nyIuvPm45GNF3DH4cpBltTIwKW+fa8Ix0OPwJ9VU5GATHXKhwxnyoccZ8qHHGvKhxxrN0USkw/98bva4P86fgyGZvdyE4eY+0L5iBmdZytSPmRS7wb5KPeXY21AOD5AvfmfI3vjxSDhKK5ZA5cf7Af/0MdQ2OeBhBEOYwYpHzLzmfIhx5nyIcea8iHH2k2R4iIfu/cfxrjxr+PIsVMB0WjZvDG+Xrsp8Hse+g8L9ujWKSkEhPLhpumcGH2hfMjkqTrl4+sDX+KHbz9ErUULMODnyybhyETBgw+jfOgoFGrikVFDBkicolA+4gTWolme+ZBhTfmQ4awLtVw0RnILAcflwywXc/JW48+vTYPxdz203/+YuWCVrV9BdwuoUP2gfLg9Q+7rH+VDJieS8lFaXoKvD36J9d98gGsXfYEBPxfgtqOV4yyumYmChx5G+ZDkEA6ufMjMYXMUyocMd8qHDGfKhxxnt0VyXD60J15N+PtUvPzcKLRt1Rzm/9YAaCsjk9+egYl/HIsG9erEnYlxy5cWzLzty/yULvMPIOoCpdXt37dHkDRRPuKevqQLQPmQSWm85aO4vAgr9y3Fxq8/wLVLVuDRTUVBwlFUuyYKHxmAsiEjUdS7T8KvcITKGlc+ZOazfqOWTJ85cuSii0T5iI6XSmluu1Khl7h1k14+tJWYdz6Yh6dHPRIQHX1L2MQJYwO/sG5eqdH+/qeJU/G3CWMD8qSt0rw+JRfvTHohUF8TGe2lbSHTXsn0QcAD5zJvZMqHDOd4yMfl0ktYse8L/Lz6I7RcvAqDthSj04nK8RTVqYmiRwaidHAOin7zAPzp6TKDrcYolA85+Fz5kGFN+ZDhzJUPOc5ui5T08mEGbiUbxlUY89812WjdsmnF+RSzjFA+3Dal3d8fyodMjpySjwvFF7Bs7yL8/PWHaP3FNxiytTRIOIrr1AoIR8ngEZ4RDmMGKR8y85krH3KcKR9yrLnyIcfaTZE8Jx/6FquXxuUEVj7MMqElR1/dePbJwfjL5GkwHo43r4wcO1Popnwq9aVx/UycOFcI/9UfN1NqjJVDEqhfOx0FRWUoKiknpTgSqFUjDSkpPlwoKIk6ytnCM8jbMx9bV32E1svXYujWsuAVjvp1UTpgCEqGDEfRffcDrl3h8AGI7xtak4/aNdNw+nxx1JxZIToCTRpkIpk+c6IbvVxp7Quii4WlKOY1Ou7QtTnNl/cIxEU+nn3lTWzevicszer69XPztimrw+9m+RgxsHdAVLSXWT7KyuP7wS45JVNTfEim8UiyiyZWis8Hv1/71Qe+4knAp913a7feNkGfvHwS8/Ln4qfF7+KGZT9g6LZytD9V2cPiBvWQOmQYfDkj4e/TB0hNjWf3HWm7tMyPtNSrIBxp0boRbU6X2wUdx34ke9O8RstkmPNZhrMWRZvTfHmPgOPy4WaEmlQcPX466MC46soHt125OePu7Bu3Xcnkxc62qxOXj2HR7nnY9eXHaP/lBgzfhiDhKLqmAUofHY7CQcNQdPe9CSEcMnQro3DblRxxnvmQYc1tVzKctSjcdiXH2k2RPCMfVuKhJcL85C2e+Siw/U2xmyZyIvWF8iGTrbQjtKcAACAASURBVFDyoQnHgl2zsWPlx+j01c8Yts0fWjjuuQ9ISZHpcIJGoXzIJY7yIcOa8iHDmfIhx9ltkTwhH+atVsYk8GlXlTT4tCuZtyflQ4azUT6OXDyEhbvnYO+yj3DL6i2BFY7WZyv7EbTCQeGIKkGUj6hwKRWmfCjhs12Z8mEblXJBrnwoI0zIBpJePsy/4aFnyfh7HfydjytUKB8y72HKhwzns8VHMHdHLvIXf4jbvt5eRTgKm1yL0kE5KBw0BMXde3CFI8a0UD5iBBdDNcpHDNBiqEL5iAFajFUoHzGCS/BqSS8f8c4Pz3zEm3DytU/5iF9O95/fg4U7ZuPg0o/R9budAeFocb4yXpBw3Hk3oJ9Kj1+Xkr5lyodciikfMqwpHzKctSiUDznWbopE+VDMBuVDEaAHq1M+nE363nO7sGDHbBxa+hHu+H5PFeEoaNEMZYO1FY5hKL69G4XDWfygfDgMNExzlA8Z1pQPGc6UDznObotE+VDMCOVDEaAHq1M+1JP+y6ltWLRzNg4v/xR3rdlvKRwpw0ehfNgInOnURT0gWwhJgPIhNzkoHzKsKR8ynCkfcpzdFonyoZgRyociQA9Wp3zElvStJzdh0Y7ZOLlkOu5ddxBDtwNNLla2VdiiGUr1FY6ud8DOo3Zj6wlrGQlQPuTmA+VDhjXlQ4Yz5UOOs9siUT4UM0L5UAToweqUD/tJ33TiJ+RpwrF0BnquO1xFOC63aomyISMDW6pKOt8W1DDlwz5nlZKUDxV60dWlfETHK9bSlI9YyUVfj2c+omeWDDUoH4pZpHwoAvRgdcpH+KT/dGx9QDjOffEZeq8/hsH5QKPLlXUKWl9fscJhFg5jy5QPmTcX5UOGs/4tcTJ95siRiy4S5SM6XiqlKR8q9BK3LuVDMXfJ9EHAR+0qTgab1SkfwaD88OOHo2uQ98scXFjyGfr8cDJm4aB82JyEDhajfDgIM0JTXPmQYU35kOGsC7VcNEZyCwHKh2ImKB+KAD1YnfIBaMKx7vC3WJw/G+eXzcQDG05XEY7L7dpWPKWqpGOnqGcKVz6iRhZTBcpHTNhiqkT5iAlb1JUoH1Eji7kCVz5iRpfQFSkfiumjfCgC9GB1r8pHmb8Maw59g8W/zELx4ll4cOM5DMoH6hdWToKC9m0DP/xXMGwkStvfqDQ7KB9K+GxXpnzYRqVckPKhjNBWA5QPW5gcKUT5cARjwjVC+VBMGeVDEaAHq3tJPjTh+ObAqoBwlC6Zi34bz1cRjssdb0LZ0NEoGDBYWTiM04nyIfPmonzIcNaiUD5kWFM+ZDjrc1ouGiO5hQDlQzETlA9FgB6snuzyUVpegq8Pfokl22aiePl8PLLxooVwdEDZ0FEoGDIcpa3bxGUWUD7igrVKo5QPGc6UDznOlA851lz5kGPtpkiUD8VsUD4UAXqwejLKR0lZMVYdWI4l22chZcnn6P/zZQzYAdQpqkzw5Y7xFw6ufMi/oSgfcsy58iHDmvIhw5krH3Kc3RaJ8qGYEcqHIkAPVk8W+SguL8LKfUuwbNtMpCzPw4CfC6oIx6Vbb0HZkNEoHDgobiscoaYQVz5k3lyUDxnOXPmQ40z5kGPNlQ851m6KRPlQzAblQxGgB6snsnwUlF7Gyv1LsGzrLGQuXYxHNxUieydQs8SwwnFrZ5QOubKlquy6ltWWYcqHDHrKhwxnyoccZ8qHHGvKhxxrN0WifChmg/KhCNCD1RNNPi6XXsKyvXlYtm0Wai1bikGbilwrHMbpRPmQeXNRPmQ4Uz7kOFM+5FhTPuRYuykS5UMxG5QPRYAerJ4I8nGh+AKW7V2EFVtyUWvlCgzeXBIsHD4fLnXtirIhOYGnVFXnCkeoKUT5kHlzUT5kOFM+5DhTPuRYUz7kWLspEuVDMRuUD0WAHqzuVvm4UHweX+xZgBVbZ6LBspUYuqUU/XYBmaVXk2QUjsHDUda0mauzR/mQSQ/lQ4Yz5UOOM+VDjjXlQ461myJRPhSzQflQBOjB6m6Sj3NFZ5G3Zz5WbJmJa1d8haFbyoKEw5/iw+U770LpkJEo7P+o64XDOJ0oHzJvLsqHDGfKhxxnyocca8qHHGs3RaJ8KGaD8qEI0IPVq1s+TheeQt7uefhycy4ar/ourHAUDBqK8kbXJmSWKB8yaaN8yHCmfMhxpnzIsaZ8yLF2UyTKh2I2KB+KAD1YvTrk42TBCSzaNRerNuei5co1GLq1HA/uAdLLriTAuMKRyMLBlQ/5NxTlQ445f+dDhjXlQ4azLtRy0RjJLQQoH4qZoHwoAvRgdSn5OHH5GBbsmo3VG2ei5ep1GLbVHyQc5akpKLjn3sCWqoLsgQm7whFqCnHlQ+bNRfmQ4cyVDznOlA851lz5kGPtpkiUD8VsUD4UAXqwejzl48jFQ1eE4+eZuHHVjxi+1Y/e+4C08iugrwjHfSjVnlI1cAjKGzRI2gxQPmRSS/mQ4Uz5kONM+ZBjTfmQY+2mSJQPxWxQPhQBerC60/Jx6MIBfL5rNr7+ORc3fbURI7YiWDjSUnG5V++AcBQ+PCCphcM4nSgfMm8uyocMZ8qHHGfKhxxryoccazdFonwoZoPyoQjQg9WdkI/95/dgwc45+O6nXNz07ZbwwtF/EMrr1vUcacqHTMopHzKcKR9ynCkfcqwpH3Ks3RSJ8qGYDcqHIkAPVo9VPvae24X5O2fhux9z0eXb/IBw9NwPpPivQCxPS0XB/b9ByeARKPSocHDlQ/4NRfmQY84D5zKsKR8ynHWhlovGSG4hQPlQzATlQxGgB6tHIx+/nNqGhbvmYN2PM3Hbmp1VhKMsIx2FfR5AyeAcFD70iCdXOEJNIa58yLy5KB8ynLnyIceZ8iHHmisfcqzdFInyoZgNyociQA9WjyQfW09uwsKdc7D+x5no8f1eDN8K3H0Q8F1d4TAKR8Ej/eGvVduDFCMPmfIRmZETJSgfTlC01wZXPuxxUi1F+VAlaL8+5cM+q2QqSflQzCblQxGgB6tbycemEz9hwc7Z2PDjbNyzZj+Fw4F5QflwAKKNJigfNiA5VITy4RDICM1QPmQ466t5ctEYyS0EKB+KmaB8KAL0YHVdPr4/uDawpWrjD7Nw9/pDVYSjNDMDRQ88jOIhI1D4QD+ucEQ5VygfUQKLsTjlI0ZwMVSjfMQALYYqlI8YoMVYhSsfMYJL8GqUD8UEUj4UAXqouh9+/HB0DZbvn491389E77VHAmc47jhcCaE0swaKHuh3RTgeegT+rJoeIuTsUCkfzvIM1RrlQ4az/i1xMn3myJGLLhLlIzpeKqUpHyr0Ercu5UMxd8n0QdCsYRaOnimA/+rZAkU0rH6VwNoj32Lhzrn4af1nePCHU1WEo6RmFkofHojCQUMDh8cpHM5MHcqHMxwjtUL5iETIub9z5cM5luFaonzIcNaFWi4aI7mFAOVDMROUD0WASVr95+M/Yv6Omdi09jP0/OFoVeGolYXih7JRrD0W98F+8GfUSFIS1TcsyocMe8qHDGeufMhxpnzIsebKhxxrN0WifChmg/KhCDCJqm8/tSVwaHzdtx+gz7orwnHb0coB6iscaaNycLH3gyhISU+i0btvKJQPmZxQPmQ4Uz7kOFM+5FhTPuRYuymSp+RjTt5q7DtwFC+OywnKwZlzF/DsK29i8/Y9gX9//61X0L1Lh4oyWr0/vzYt8N/9+/bAqy+PQVZmRuC/KR9ums7yfTlwYT9m/zIdm7/+GN3W7KkiHMV1aqE4+1EUDxqOot59AisckR61Kz+K5IxI+ZDJK+VDhjPlQ44z5UOONeVDjrWbInlCPtZvzMdTz08KcH9mdHaQfBQUFuMvk6ehR7dOGJrdC7v3H8afJk7F3yaMRdtWzaHVfX1KLt6Z9AIa1KuDN6bkBtrRBYby4abpLNOXY5eOYM6Oz7Dp64/Q7avtGL4N6HSiMrYmHCXZg1A0aBiKfvMA/OnBKxyUD5k8UT5kOFM+ZDhTPuQ4Uz7kWFM+5Fi7KZIn5EMHbrXyocnG5LdnYOIfxwbkwiwjmmy0btk0ICbayywjlA83Tef49eVkwQl8vnMmNq7+ELd+uamKcBTVr4vSAUNQOGg4iu/rVUU4jD2jfMQvT8aWKR8ynCkfMpwpH3KcKR9yrCkfcqzdFMnz8mGWCS05+urGs08ODloV0f5mXhmhfLhpOjvbF22FY9Geedj+1Sfo8OVPGLbNH7zCUb8eSgLCMQxFvXoDqam2OkD5sIVJuRDlQxmhrQYoH7YwOVKIT7tyBGPERigfERE5VoDy4RjKhGqI8rExHzMXrAo6x2GWjxEDe1ecATHLR2lZeUIlPFxnU1NSUFaePOOJJTH7z+3D7O2zsW3px7jp6gpH+1OVLZU0rIfUwcPhHzEC/j59bAuHsS8pKb7A44z9fKZxLCmyXSfF5wuULfcw55LScqSnpdhmFktBn8+HFB9QVs5ndMfCL5o6aakpSKbPnGjGLlk2NcUHbTrzGh1/6tqc5st7BCgfpjMd2hSIZuXj2JnCpJk1jetn4sS5Qs/9zse+c3vw+a7Z2LXiU3T5Nj+wpcooHMXXNESptroxeBiK774vJuEwTpL6tdJRUFSKolLerMXzzVOzRio00btYUBrPMK5uW/thSx+uSFi8XumpPtSumY4zF4rjFYLtXiXQpEEmkukzx62JbVA7AxcLS1DCa3TcU6TNab68R8Dz8sEzH5WT3ks/Mrjj9HYs3D0XB5Z/iu7f7wkIR+uzlSyKNOF4dNiVLVX33AekOPftDLddyVxoue1KhjO3Xclw1qJw25UMa267kuGsz2m5aIzkFgKelw8+7co78rHl5M9YtHMuDn45HXevOVBFOLQVjpI4CYfxDU/5kLn8UT5kOFM+ZDhTPuQ4Uz7kWPPMhxxrN0XyhHwYH7Wrwzf+lgd/5+MKlWRc+dh47Acs2jkHB1floue6w1VXOJpci5JBOSgcNATF3Xs4usIR6o1O+ZC5BFI+ZDhTPmQ4Uz7kOFM+5FhTPuRYuymSJ+QjnsD5tKt40o2+bW2P+/oj32PRjrk4uTIXvTecCAhHi/OVbRUZhePOu4GrB5OjjxZbDcpHbNyirUX5iJZYbOUpH7Fxi6UWt13FQi36OpSP6JnFWoPyESu5xK5H+VDMH+VDEaAD1cv8ZVhz6Bvk7dKEYxYe+PF0FeEobNEcpYNHBM5wFN/eTVw4jMOkfDiQdBtNUD5sQHKgCOXDAYg2m6B82ASlWIzyoQgwiuqUjyhgJVFRyodiMikfigBjrF5aXopvDq3Coh2zcfbLeXho47mqKxzXNUfJoKvC0fWOGCM5X43y4TxTqxYpHzKcKR8ynLUolA8Z1pQPGc76nJaLxkhuIUD5UMwE5UMRYBTVS8qKserAcizaORuXV36O/hsvYeh2oMnFykaKrmuBkkHDr6xwuEg4jMOkfESRdIWilA8FeFFUpXxEAUuxKOVDEaDN6pQPm6AcKMaVDwcgJmATlA/FpFE+FAFGqF5UVogV+77A4h1zUbhqIQZsKqgiHIWtW6Hk6paqks63xbdDDrRO+XAAoo0mKB82IDlQhPLhAESbTVA+bIJSLEb5UAQYRXXKRxSwkqgo5UMxmZQPRYAW1S+VXMTyfYuRt2MOfF9+gUc3FWFwPtDocmXhRBMO4zApH87PGasWKR8ynCkfMpy1KJQPGdaUDxnO+pyWi8ZIbiFA+VDMBOVDEeDV6heKz2PJnoXI2zEbqauWY8iWkirCUdC+HUqvnuEo6djJmcDV0ArlQwY65UOGM+VDhjPlQ44z5UOONVc+5Fi7KRLlQzEblI/YAZ4tPIPFe+bji1/mIP3rVRi6pTSkcBQMG4nS9jfGHsxFNSkfMsmgfMhwpnzIcKZ8yHGmfMixpnzIsXZTJMqHYjYoH9EBPFlwAnm75+GLX2aj3upvMHRrOQblA/ULK9vRVziSSTiMlCgf0c2ZWEtTPmIlF109ykd0vFRKc9uVCj37dSkf9lmplqR8qBJMzPqUD8W8UT4iAzx26QgW7p6DL/Ln4Jpv12DYVn9V4ejYEaVDR6JgwOCkWeEIRYbyEXnOOFGC8uEExchtUD4iM3KqBOXDKZLh26F8yHDWolA+5Fi7KRLlQzEblA9rgIcuHMDnu2ZjWf4cNP5+A4ZtCyMcQ4ajtHUbxUwkTnXKh0yuKB8ynCkfMpz1G7Vk+syRIxddJMpHdLxUSlM+VOglbl3Kh2LukumDoFnDLBw9UwC/PzYopwtPYd6Oz7Bg63S0+HYDRmwFBuwA6hRVtlfQqSNKh4xEgceEw0iU8hHb/Iq2FuUjWmKxlad8xMYtllpc+YiFWvR1KB/RM4u1BuUjVnKJXY/yoZg/r8uH9ljcL/YsQN6mj1Hrq68wbGt5FeG4fOutAeEoHDjIUyscoaYW5UPxTWezOuXDJijFYpQPRYBRVKd8RAFLoSjlQwFelFUpH1ECS5LilA/FRHpRPkrLS/Dlr8uwaNMnyFiyCIM3FyN7J1CzpBKmLhzaCkfZdS0VKSdXdcqHTD4pHzKcKR8ynLUolA8Z1pQPGc76nJaLxkhuIUD5UMyEV+TDDz/WH/keCzd9jPJFs5C98WKwcPh8uNS1K8qG5AQOjVM4Qk8syofim85mdcqHTVCKxSgfigCjqE75iAKWQlHKhwK8KKty5SNKYElSnPKhmMhkl4+dZ37B5xvfQ8GCT9Hnh5NBwuH3+XC56+0o085wDB6OsqbNFGl6ozrlQybPlA8ZzpQPGc5c+ZDjTPmQY035kGPtpkiUD8VsJKN8HL14BAs2fohLc6bhnrUH0G8XkFl6BZQmHJe63o5yCkfMM4fyETO6qCpSPqLCFXNhykfM6KKuyJWPqJHFVIHyERO2mCpRPmLClvCVKB+KKUwW+ThXdBZrd+Zi70dvo+u3O6oIx4U7u8E/9HEU9n+UKxyKc4byoQjQZnXKh01QisUoH4oAo6hO+YgClkJRyocCvCirUj6iBJYkxSkfiolMZPkoLCvAl5tm4syM/8LNX2/BA7v9SC+rXOE4170rfMOeQMGgoShvdK0iKVbXCVA+ZOYC5UOGM+VDhrMWhfIhw5ryIcNZn9Ny0RjJLQQoH4qZSDT5KC0vxZr8hTj+yVto/+UG9NldFiQcp7vdirQRT1E4FOdFuOqUjzjCNTRN+ZDhTPmQ4Uz5kONM+ZBjzZUPOdZuikT5UMxGosjHpl+W4dCnb+D65d+j967iCuEoS/XhxB23IiPnGTR4fCSOpteJ+UcGFVF6pjrlQybVlA8ZzpQPGc6UDznOlA851pQPOdZuikT5UMyGm+Vj3751+PX9v+O6pavRY1ch0sqvDFYTjiNdOyFz5H9D6aAclDdoEPh31V84V0TpmeqUD5lUUz5kOFM+ZDhTPuQ4Uz7kWFM+5Fi7KRLlQzEbbpOP4we3Yv/7/xuNF69A950XK4SjNNWHX7t3RFbOWPgGVgqHcfiUD8XJYLM65cMmKMVilA9FgDarUz5sgnKgGM98OADRRhOUDxuQHCpC+XAIZII1Q/lQTJgb5OPiwZ3Y+/FENFz0BW7/5WyQcOzp1h6ZOc8gY+iTKK9bN+xoKR+Kk8FmdcqHTVCKxSgfigBtVqd82ATlQDHKhwMQbTRB+bAByaEilA+HQCZYM5QPxYRVl3yUHDuAX9/736i7YBE67ziNFP+VgWgrHDtuvwGpw59EvZxxEYXDOHzKh+JksFmd8mETlGIxyociQJvVKR82QTlQjPLhAEQbTVA+bEByqAjlwyGQCdYM5UMxYZLy4T98AIc/eR01P5+LjvknKoSjKM2Hbbe3gn/4Y2g+4g9RCQflQ3ECxFCd8hEDtBiqUD5igBZDFcpHDNBirEL5iBFclNUoH1ECUyhO+VCAl8BVKR+KyYu3fKQcPYyTH76OGvPnoN2OY/BdXeEoTAM2dWmB0iE5uP7x/4mU2uG3VNkZJlc+7FBSL0P5UGdopwXKhx1K6mUoH+oM7bZA+bBLSq0c5UONXzS1KR/R0EqespQPxVzGQz5Sjx7BhU//D1LmfoYb8g9XCMfldGBDl6YoHDwc7UePR0bdRoq9D65O+XAUZ8jGKB8ynCkfMpwpHzKctSiUDxnWlA8ZzvqclovGSG4hQPlQzIRT8pF68ACKZ38A/+yP0XL7r0HCsebWRrg08FHc+MSfUKd+M8Ueh65O+Ygb2qCGKR8ynCkfMpwpHzKcKR9ynCkfcqy58iHH2k2RKB+K2VCRD004fDM/RNmsD9HslwMVPdFWOL65uR7ODMhGhyf+hGsbtVHspb3qlA97nFRLUT5UCdqrT/mwx0m1FOVDlaD9+lz5sM9KpSTlQ4VedHUpH9HxSpbSlA/FTEYrH2n79iB1/kyUzfwQjfP3VkS/UANY2akWTj7yEG4aNR5tmt+m2LPoq1M+omcWSw3KRyzUoq9D+YieWSw1KB+xUIutDuUjNm7R1qJ8REss9vKUj9jZJXJNyodi9uzIhyYcWXNnoTT3fTTYuS9IOJZ2yMChfr3QZtTL6Hp9T8XeqFWnfKjxs1ub8mGXlFo5yocaP7u1KR92SamXo3yoM7TTAuXDDiVnylA+nOGYaK1QPhQzFko+dOFImf0pauXvCBKOxTelYf+D96DliN+jV7v+ij1wrjrlwzmW4VqifMhwpnzIcKZ8yHDWolA+ZFhTPmQ463NaLhojuYUA5cNGJubkrcafX5sWKNm/bw+8+vIYZGVmBP7bKB9pO3cga+E8ZMydiRrbtla0fDYTmN8B2HxfJ9w08l/xwI2DUSM100Zk2SKUDxnelA8ZzpQPGc6UDxnOlA85zpQPOdZc+ZBj7aZIlI8I2Vi/MR+vT8nFO5NeQIN6dfDGlNxAjRfH5QT+9/ian5E1+zNkLZiLtF/yqwjH57dkoGb2SDxzxwu4sWEHN+W+Sl8oHzLpoXzIcKZ8yHCmfMhwpnzIcaZ8yLGmfMixdlMkykeEbGiy0bplUwzN7hUoaZYR+HwVLZyq6cPcDn7MvBnIv6U5nujyLB67+Wk0yGzoppyH7AvlQyZNlA8ZzpQPGc6UDxnOlA85zpQPOdaUDznWbopE+QiTjYLCYvxl8jT06NapQj527z+MP02cir9NGIu2rZpj780tsbrmMXzasQQr2gBdmt2FV3u+htubdHdTnm31hfJhC5NyIcqHMkJbDVA+bGFSLkT5UEZouwGe+bCNSqkg5UMJX1SVKR9R4UqawpQPG/IxYmBvdO9yZcuUWT58r15Z+WjfsD0mPTAJQzsOTZrJwYGQAAmQAAmQAAmQAAmQgJMEKB825CPcysej0x/FQ20fwj/d8U9IS0lzMjdsiwRIgARIgARIgARIgASSigDlI0I6I535sPM7H4kyY7jtSiZT3HYlw5nbrmQ4c9uVDGctCrddybDmtisZzvqclovGSG4hQPmIkIlIT7uifLhlKidOPygfMrmifMhwpnzIcKZ8yHGmfMix5pkPOdZuikT5sJENu7/zYaMpVxfhyodMeigfMpwpHzKcKR8ynCkfcpwpH3KsKR9yrN0UifKhmA2ufCgC9GB1yodM0ikfMpwpHzKcKR9ynCkfcqwpH3Ks3RSJ8qGYDcqHIkAPVqd8yCSd8iHDmfIhw5nyIceZ8iHHmvIhx9pNkSgfitmgfCgC9GB1yodM0ikfMpwpHzKcKR9ynCkfcqwpH3Ks3RSJ8qGYDcqHIkAPVqd8yCSd8iHDmfIhw5nyIceZ8iHHmvIhx9pNkSgfitmgfCgC9GB1yodM0ikfMpwpHzKcKR9ynCkfcqwpH3Ks3RSJ8qGYDcqHIkAPVqd8yCSd8iHDmfIhw5nyIceZ8iHHmvIhx9pNkSgfitmgfCgC9GB1yodM0ikfMpwpHzKcKR9ynCkfcqwpH3Ks3RSJ8uGmbLAvJEACJEACJEACJEACJJDEBCgfSZxcDo0ESIAESIAESIAESIAE3ESA8uGmbLAvJEACJEACJEACJEACJJDEBCgfSZxcDo0ESIAESIAESIAESIAE3ESA8uGmbAj3ZU7eauw7cBQvjssJirx+Yz6een5S4N86d2yDdya9gAb16gj3LnnC7d5/GJPfnoGJfxwbxPGNKbl4d3pe0ED/On4Mhmb3Sp7BC4xE4ztu/Os4cuyU5ZwtKCzGXyZPw6IVawJ/J+PYkmLmqLXy/luvoHuXDoEGzXng9SM2zlot7dr859emVTRgnrO8RsfO1ljTPGf79+2BV18eg6zMjEAxXqOd4WzF/LknB1V81vEa7Txnt7dI+XB7huLQP+MH1zOjs4PkQ7sY/2niVPxtwli0bdU88CG4ZsO2oAtyHLqUlE2eOXcBz77yJjZv32MpcdoHm/Yyy19SwojjoLT5fODw8YoPMo3r0eOnK+askbOek5fG5VTcNMexa0nVtMbuvRmL8eyTgwM3Zxr3CROnYsprLwWuFeZrR1INXnAw2o3YOx/Mw9OjHgl8WWGes7xGO5cM7fOtZfPGFdcC8zWZ12jnWJu/oDAKNa/RznJOhNYoH4mQpTj10Wrlw/xvvKFQhx9u5YPyoc7X3IJ2U/z6lNzAip32mvD3qXj5uVGBG2T920xyV+ce6aZYPQJb0Ajo3wr36NYpINi8RsdvXpi/bKN8OMdau15o1+J/GTMEH+YugT6f9X/nNdo51onQEuUjEbIUpz5ayYf5YstvitXh2912xe1A6qy1Fow3EIePnQxayTP/Xd9e4Uxkb7Vi/mIi0vY3b9FxbrQ614kTxga+oec12jm2xpZ0yWvauGHFarR52xWv0bGxN95H3NKhTWAbrC4fVl9wcsdFbJwTqRblI5Gy5XBfQ8lH65ZNK7awUD7UoYeSD2PL5hsM9ajebMHqhth83oYfbOpzw/xtvFWL5u1v6lG91YJx26Z5iwqv0c7OBV0yzGc+eI1W56xfK0YM7B2QZ/O1w+rzkddode5ub4Hy4fYMxbF/XPmII1xD03bkQyuufQAabypkepc8NS5lMwAACINJREFUUawEjt+qOZ9fq2+IraLYnffO9zC5WjTfrHHlI375jXTTy2t09OyNEm2urUn1bTe34+p09FgTvgblI+FTGPsAeOYjdnbR1LR7E8YPtmioBpcNtXLE/cSxM7WqaVc8tLp2572zPUzO1ozXap75iF+OI81ZXqPV2ZtlmtdodaaJ2ALlIxGz5lCfreSDT1JxCG6ElQ/tgpu3Yg0eH/pgoCQP9sfOPRI7PkkldrbGmpG2Wi1ZtQ7tbriOB/sVcZufKqZ/c5wzsHdgOyyv0YqADdX/8fEC9O3ZLWjO6k/KKywq4jXaOdQVLVldR3iNjgNolzdJ+XB5guLRPeOjdvX2jc/r5zPknaFutdysP9o40m8mONMDb7Ri/k0E85zmM+SdmQdWv+OhtazPafN1Jdz+eWd6lLytRDrozGu0M7kPN2d5jXaGsbkVK/ngNTo+rN3cKuXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACZAACZAACZAACbiZAOXDzdlh30iABEiABEiABEiABEggiQhQPpIomRwKCZAACegE1m/Mx1PPT8Jfx4/B0OxelmAKCovxl8nT8Ovh43hn0gtoUK8OAZIACZAACZBAXAlQPuKKl42TAAmQgLMEdGFYtGIN3n/rFXTv0qFKgDPnLuDZV95EzsDeFeKhycjrU3KrSIbeXtPGDfHiuBxnO8vWSIAESIAESMBEgPLBKUECJEACCURg9/7D+NPEqYEe33l7R0thmJO3Gms2bMOrL49BVmZGoGwo+dD+prf5twlj0bZV8wSiwa6SAAmQAAkkGgHKR6JljP0lARLwNAFdLAY8eDf+15sfYsprLwUJg76S0aNbp4pVD00uxo1/HUeOnapg98zo7CBxeWNKbuBvXP3w9PTi4EmABEgg7gQoH3FHzAAkQAIk4AwBXSxGDOyNdje0qLK1KtwqRriVD31lZOaCVUGrJc70mq2QAAmQAAmQQCUBygdnAwmQAAkkCAGzQITaXmUlEZHkQ1sdmfz2DEz841gePE+Q+cBukgAJkEAiEqB8JGLW2GcSIAFPEjBvjbI6q6FJRizyoR1Sn/D3qXj5uVE89+HJ2cVBkwAJkIAMAcqHDGdGIQESIAElAvoTrDZv31OlHeP5DcqHEmZWJgESIAESiDMBykecAbN5EiABEnCCQKhtU9rWq9wFqyoeoRtKPiJtq4r0dyfGwDZIgARIgARIgPLBOUACJEACLicQ7rc49CdZTZwwNvCbH6Eem2suZx5yKGlxORp2jwRIgARIIMEIUD4SLGHsLgmQgPcIhBMHs5hYPWpXJ6atkvz5tWmB/7R61G7rlk1D/hq696hzxCRAAiRAAvEgQPmIB1W2SQIkQALVSMDqKVjhusMfGazGZDE0CZAACXiMAOXDYwnncEmABJKfgH44PWdg74grGeG2dCU/KY6QBEiABEhAmgDlQ5o445EACZCAAAHtDMdTz0/CX8ePCSkgunj8evh4xYF1ga4xBAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQRIgARIgARIgARIgAQkCVA+JGkzFgmQAAmQAAmQAAmQAAl4mADlw8PJ59BJgARIgARIgARIgARIQJIA5UOSNmORAAmQAAmQAAmQAAmQgIcJUD48nHwOnQT+//brmAYAAIZhGH/WZZGnRlDNu0KAAAECBAgQIFAKiI9S2xYBAgQIECBAgACBYwHxcfx8pxMgQIAAAQIECBAoBcRHqW2LAAECBAgQIECAwLGA+Dh+vtMJECBAgAABAgQIlALio9S2RYAAAQIECBAgQOBYQHwcP9/pBAgQIECAAAECBEoB8VFq2yJAgAABAgQIECBwLCA+jp/vdAIECBAgQIAAAQKlgPgotW0RIECAAAECBAgQOBYQH8fPdzoBAgQIECBAgACBUkB8lNq2CBAgQIAAAQIECBwLiI/j5zudAAECBAgQIECAQCkgPkptWwQIECBAgAABAgSOBcTH8fOdToAAAQIECBAgQKAUEB+lti0CBAgQIECAAAECxwIDm5xXPSZZUY8AAAAASUVORK5CYII=", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot both Y and its least-square fit, as functions of X\n", "\n", "PlotlyHelper.plot_curves(x=A_conc, y=[Deriv_B , a + b*A_conc], \n", " title=\"d/dt B(t) as a function of A(t), alongside its least-square fit\",\n", " xlabel=\"A(t)\", ylabel=\"B'(t)\", \n", " curve_labels=[\"B'(t)\", \"Linear Fit\"], legend_title=\"Curve vs Fit:\", colors=['green', 'red'])" ] }, { "cell_type": "markdown", "id": "e39163f0-24fd-47bd-9365-3c734a8f83db", "metadata": {}, "source": [ "_Virtually indistinguishable lines! And the same plot we saw in Part 2!_" ] }, { "cell_type": "markdown", "id": "e9f6c842-bf5c-4253-bf5e-35c384664599", "metadata": {}, "source": [ "Finally, from equations 4, repeated here:\n", "\n", "* `kR = - a / TOT_conc`\n", "\n", "* `kF = b - kR` " ] }, { "cell_type": "code", "execution_count": 30, "id": "9f1e4ff7-3651-4389-ab19-19b536e39a70", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.9249520567264204" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kR = - a / TOT_conc\n", "kR" ] }, { "cell_type": "code", "execution_count": 31, "id": "ccae0cf8-916c-4b11-82cd-95fbdea18025", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "12.185860088176153" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "kF = b - kR\n", "kF" ] }, { "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": "306660cc-049f-43e2-a4f3-ff5f19b01e00", "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 }