{ "cells": [ { "cell_type": "markdown", "id": "49bcb5b0-f19d-4b96-a5f1-e0ae30f66d8f", "metadata": {}, "source": [ "## Exploration of numerical errors in the implementation of substeps, for the simulation of the coupled reactions `2 S <-> U` and `S <-> X` \n", "Both mostly forward. 1st-order kinetics throughout. \n", "\n", "Same as `variable_steps_1`, but with substeps.\n", "\n", "LAST REVISED: Dec. 3, 2023 **THIS IS AN ARCHIVED EXPERIMENT**" ] }, { "cell_type": "markdown", "id": "5f769af3-aa13-44ba-9187-28ce4ee8caea", "metadata": {}, "source": [ "# IMPORTANT: DO NOT ATTEMPT TO RUN THIS NOTEBOOK! \n", "## This is a **\"frozen run\"** that depends on an old version of Life123, for demonstration purposes \n", "**(current versions don't contain this implementation of substeps.)** \n", "If you bypass the execution exit in the first cell, and run the other cells, you WILL NOT REPLICATE the results below!" ] }, { "cell_type": "code", "execution_count": 1, "id": "452fbf01-f4a6-419d-af13-7a0a91ca963e", "metadata": {}, "outputs": [ { "ename": "StopExecution", "evalue": "", "output_type": "error", "traceback": [] } ], "source": [ "# To stop the current and subsequent cells: USED TO PREVENT ACCIDENTAL RUNS OF THIS NOTEBOOK!\n", "\n", "class StopExecution(Exception):\n", " def _render_traceback_(self):\n", " return []\n", "\n", "raise StopExecution # See: https://stackoverflow.com/a/56953105/5478830" ] }, { "cell_type": "code", "execution_count": null, "id": "4c1ef2c7-3ebe-400e-9c20-82b03f2e67b9", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "b719dac4-bf1c-43ca-9b77-d2ac55f8ac10", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "73320eaf", "metadata": { "tags": [] }, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from src.modules.chemicals.chem_data import ChemData as chem\n", "from src.modules.reactions.reaction_dynamics import ReactionDynamics\n", "\n", "import numpy as np\n", "from src.modules.visualization.graphic_log import GraphicLog" ] }, { "cell_type": "code", "execution_count": 3, "id": "cc53849f-351d-49e0-bfa8-22f8d8e22f8e", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'substeps_1.log.htm'\n" ] } ], "source": [ "# Initialize the HTML logging\n", "log_file = get_notebook_basename() + \".log.htm\" # Use the notebook base filename for the log file\n", "\n", "# Set up the use of some specified graphic (Vue) components\n", "GraphicLog.config(filename=log_file,\n", " components=[\"vue_cytoscape_1\"],\n", " extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")" ] }, { "cell_type": "markdown", "id": "d6d3ca49-589d-49b7-8424-37c7b01bcacf", "metadata": {}, "source": [ "### Initialize the system" ] }, { "cell_type": "code", "execution_count": 4, "id": "23c15e66-52e4-495b-aa3d-ecddd8d16942", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 2 (at temp. 25 C)\n", "0: 2 S <-> U (kF = 8 / kR = 2 / Delta_G = -3,436.56 / K = 4) | 1st order in all reactants & products\n", "1: S <-> X (kF = 6 / kR = 3 / Delta_G = -1,718.28 / K = 2) | 1st order in all reactants & products\n", "[GRAPHIC ELEMENT SENT TO LOG FILE `substeps_1.log.htm`]\n" ] } ], "source": [ "# Initialize the system\n", "chem_data = chem(names=[\"U\", \"X\", \"S\"])\n", "\n", "# Reaction 2 S <-> U , with 1st-order kinetics for all species (mostly forward)\n", "chem_data.add_reaction(reactants=[(2, \"S\")], products=\"U\",\n", " forward_rate=8., reverse_rate=2.)\n", "\n", "# Reaction S <-> X , with 1st-order kinetics for all species (mostly forward)\n", "chem_data.add_reaction(reactants=\"S\", products=\"X\",\n", " forward_rate=6., reverse_rate=3.)\n", "\n", "chem_data.describe_reactions()\n", "\n", "# Send the plot of the reaction network to the HTML log file\n", "graph_data = chem_data.prepare_graph_network()\n", "GraphicLog.export_plot(graph_data, \"vue_cytoscape_1\")" ] }, { "cell_type": "markdown", "id": "d1d0eabb-b5b1-4e15-846d-5e483a5a24a7", "metadata": {}, "source": [ "### Set the initial concentrations of all the chemicals" ] }, { "cell_type": "code", "execution_count": 5, "id": "e80645d6-eb5b-4c78-8b46-ae126d2cb2cf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "3 species:\n", " Species 0 (U). Conc: 50.0\n", " Species 1 (X). Conc: 100.0\n", " Species 2 (S). Conc: 0.0\n" ] } ], "source": [ "dynamics = ReactionDynamics(chem_data=chem_data)\n", "dynamics.set_conc(conc={\"U\": 50., \"X\": 100., \"S\": 0.})\n", "dynamics.describe_state()" ] }, { "cell_type": "code", "execution_count": 6, "id": "bcf652b8-e0dc-438e-bdbe-02216c1d52a0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "single_compartment_react(): setting rel_fast_threshold to 100.0\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0 with delta_time_full=0.01. Processing interval [0 - 0.01]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.005\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of 0.79 (rel. to baseline of 2.5) for the conc. of `S`: abs(31.6%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.4025 (rel. to baseline of 98.5) for the conc. of `X`: abs(-1.42%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0 from the upcoming single step (for all rxns):\n", " Baseline: [ 50. 100. 0.]\n", " Deltas: [-0.895 -2.9025 4.6925]\n", " Adjusted L2 norm: 3.4716763888888886\n", "The current time step (0.01) leads to an 'L2 rate' (3.472) that is higher than the specified HIGH threshold (1.44):\n", "ACTION: IMMEDIATE ABORT. Will abort this step, and re-do it with a SMALLER time interval. [The current step started at System Time: 0, and will rewind there]\n", "reaction_step_orchestrator(): RE-DOING THE LAST REACTION STEP with the smaller time interval of 0.005\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0 with delta_time_full=0.005. Processing interval [0 - 0.005]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.0025\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.22375 0.4475 ] (rel. to baseline of [49.75 1.25]) :\n", " elements of abs([-0.44974874 35.79999997]%) are all < (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.72562 (rel. to baseline of 99.25) for the conc. of `X`: abs(-0.731%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0 from the upcoming single step (for all rxns):\n", " Baseline: [ 50. 100. 0.]\n", " Deltas: [-0.47375 -1.475625 2.423125]\n", " Adjusted L2 norm: 0.919271440972222\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.9193) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER by a factor 2.0 (set to 0.0025) at the next round! [The current step started at System Time: 0, and will continue to 0.005]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.005 with delta_time_full=0.0025. Processing interval [0.005 - 0.0075]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.19916875 0.3983375 ] (rel. to baseline of [49.52625 2.423125]) :\n", " elements of abs([-0.40214785 16.43899922]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.005\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.00625\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 left tagged as 'S', based on a change of [-0.34584716 0.34584716] (rel. to baseline of [98.17308203 2.97358672]) :\n", " elements of abs([-0.35228308 11.63063969]%) are all < (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.005 from the upcoming single step (for all rxns):\n", " Baseline: [49.52625 98.524375 2.423125]\n", " Deltas: [-0.19916875 -0.69714013 1.09547763]\n", " Adjusted L2 norm: 0.19174930835982507\n", "NOTICE: The chosen time step (0.0025) results in an 'L2 rate' (0.1917) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.005) at the next round! [The current step started at System Time: 0.005, and will continue to 0.0075]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.0075 with delta_time_full=0.005. Processing interval [0.0075 - 0.0125]\n", " All the reactions are SLOW\n", " Processing ALL the 2 reaction(s)\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.35252671 0.70505341] (rel. to baseline of [49.32708125 3.51860263]) :\n", " elements of abs([-0.71467174 20.03788122]%) are all < (100% /1)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.3619 (rel. to baseline of 97.8272) for the conc. of `X`: abs(-1.39%) > (100% /1)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.0075 from the upcoming single step (for all rxns):\n", " Baseline: [49.32708125 97.82723487 3.51860263]\n", " Deltas: [-0.35252671 -1.36185044 2.06690386]\n", " Adjusted L2 norm: 0.6945559195102885\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.6946) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER by a factor 2.0 (set to 0.0025) at the next round! [The current step started at System Time: 0.0075, and will continue to 0.0125]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.0125 with delta_time_full=0.0025. Processing interval [0.0125 - 0.015]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.13316264 0.26632529] (rel. to baseline of [48.97455454 5.58550649]) :\n", " elements of abs([-0.27190169 4.76814926]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.0125\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.01375\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 left tagged as 'S', based on a change of [-0.31525682 0.31525682] (rel. to baseline of [96.14553054 6.03852302]) :\n", " elements of abs([-0.32789545 5.22076037]%) are all < (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.0125 from the upcoming single step (for all rxns):\n", " Baseline: [48.97455454 96.46538443 5.58550649]\n", " Deltas: [-0.13316264 -0.63511071 0.901436 ]\n", " Adjusted L2 norm: 0.13707608420309667\n", "NOTICE: The chosen time step (0.0025) results in an 'L2 rate' (0.1371) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.005) at the next round! [The current step started at System Time: 0.0125, and will continue to 0.015]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.015 with delta_time_full=0.005. Processing interval [0.015 - 0.02]\n", " All the reactions are SLOW\n", " Processing ALL the 2 reaction(s)\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.22893622 0.45787244] (rel. to baseline of [48.8413919 6.48694248]) :\n", " elements of abs([-0.46873402 7.05837058]%) are all < (100% /1)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.2428 (rel. to baseline of 95.8303) for the conc. of `X`: abs(-1.3%) > (100% /1)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.015 from the upcoming single step (for all rxns):\n", " Baseline: [48.8413919 95.83027372 6.48694248]\n", " Deltas: [-0.22893622 -1.24284583 1.70071827]\n", " Adjusted L2 norm: 0.4988355766812945\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.4988) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.015, and will continue to 0.02]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.02 with delta_time_full=0.005. Processing interval [0.02 - 0.025]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.15861813 0.31723625] (rel. to baseline of [48.61245568 8.18766075]) :\n", " elements of abs([-0.32629112 3.87456519]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.02\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.0225\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.57101 (rel. to baseline of 94.0008) for the conc. of `X`: abs(-0.607%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.02 from the upcoming single step (for all rxns):\n", " Baseline: [48.61245568 94.58742789 8.18766075]\n", " Deltas: [-0.15861813 -1.15760403 1.47484028]\n", " Adjusted L2 norm: 0.3933734074308033\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.3934) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.02, and will continue to 0.025]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.025 with delta_time_full=0.005. Processing interval [0.025 - 0.03]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.09803833 0.19607667] (rel. to baseline of [48.45383755 9.66250104]) :\n", " elements of abs([-0.20233348 2.02925379]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.025\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.0275\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.54181 (rel. to baseline of 92.874) for the conc. of `X`: abs(-0.583%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.025 from the upcoming single step (for all rxns):\n", " Baseline: [48.45383755 93.42982386 9.66250104]\n", " Deltas: [-0.09803833 -1.09759656 1.29367323]\n", " Adjusted L2 norm: 0.3208800177210416\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.3209) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.025, and will continue to 0.03]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.03 with delta_time_full=0.005. Processing interval [0.03 - 0.035]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [-0.04531102 0.09062204] (rel. to baseline of [48.35579922 10.95617427]) :\n", " elements of abs([-0.09370339 0.82713218]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.03\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.0325\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.51559 (rel. to baseline of 91.8041) for the conc. of `X`: abs(-0.562%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.03 from the upcoming single step (for all rxns):\n", " Baseline: [48.35579922 92.33222729 10.95617427]\n", " Deltas: [-0.04531102 -1.04373516 1.1343572 ]\n", " Adjusted L2 norm: 0.26424471594327414\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.2642) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.03, and will continue to 0.035]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.035 with delta_time_full=0.005. Processing interval [0.035 - 0.04]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.00051638 -0.00103275] (rel. to baseline of [48.3104882 12.09053147]) :\n", " elements of abs([ 0.00106887 -0.00854184]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.035\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.0375\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 left tagged as 'S', based on a change of [-0.49198909 0.49198909] (rel. to baseline of [90.78518641 12.59332081]) :\n", " elements of abs([-0.54192661 3.90674623]%) are all < (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.035 from the upcoming single step (for all rxns):\n", " Baseline: [48.3104882 91.28849213 12.09053147]\n", " Deltas: [ 5.16376907e-04 -9.95294805e-01 9.94262051e-01]\n", " Adjusted L2 norm: 0.21990767124245347\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.2199) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.01) at the next round! [The current step started at System Time: 0.035, and will continue to 0.04]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.04 with delta_time_full=0.01. Processing interval [0.04 - 0.05]\n", " All the reactions are SLOW\n", " Processing ALL the 2 reaction(s)\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.08056339 -0.16112678] (rel. to baseline of [48.31100457 13.08479352]) :\n", " elements of abs([ 0.16675992 -1.23140484]%) are all < (100% /1)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.9237 (rel. to baseline of 90.2932) for the conc. of `X`: abs(-2.13%) > (100% /1)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.04 from the upcoming single step (for all rxns):\n", " Baseline: [48.31100457 90.29319733 13.08479352]\n", " Deltas: [ 0.08056339 -1.92370831 1.76258153]\n", " Adjusted L2 norm: 0.757093084208906\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.7571) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER by a factor 2.0 (set to 0.005) at the next round! [The current step started at System Time: 0.04, and will continue to 0.05]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.05 with delta_time_full=0.005. Processing interval [0.05 - 0.055]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.10997932 -0.21995864] (rel. to baseline of [48.39156796 14.84737505]) :\n", " elements of abs([ 0.2272696 -1.48146487]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.05\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.0525\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 left tagged as 'S', based on a change of [-0.43180887 0.43180887] (rel. to baseline of [87.92942848 15.17745627]) :\n", " elements of abs([-0.49108572 2.84506746]%) are all < (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.05 from the upcoming single step (for all rxns):\n", " Baseline: [48.39156796 88.36948902 14.84737505]\n", " Deltas: [ 0.10997932 -0.87186941 0.65191077]\n", " Adjusted L2 norm: 0.13302659662028024\n", "NOTICE: The chosen time step (0.005) results in an 'L2 rate' (0.133) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.01) at the next round! [The current step started at System Time: 0.05, and will continue to 0.055]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.055 with delta_time_full=0.01. Processing interval [0.055 - 0.065]\n", " All the reactions are SLOW\n", " Processing ALL the 2 reaction(s)\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.26991192 -0.53982384] (rel. to baseline of [48.50154729 15.49928582]) :\n", " elements of abs([ 0.55650167 -3.48289493]%) are all < (100% /1)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.695 (rel. to baseline of 87.4976) for the conc. of `X`: abs(-1.94%) > (100% /1)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.055 from the upcoming single step (for all rxns):\n", " Baseline: [48.50154729 87.49761961 15.49928582]\n", " Deltas: [ 0.26991192 -1.69497144 1.1551476 ]\n", " Adjusted L2 norm: 0.47557184462533697\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.4756) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.055, and will continue to 0.065]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.065 with delta_time_full=0.01. Processing interval [0.065 - 0.075]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.35692549 -0.71385098] (rel. to baseline of [48.77145921 16.65443342]) :\n", " elements of abs([ 0.73183271 -4.28625196]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.065\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.07\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.76268 (rel. to baseline of 85.0152) for the conc. of `X`: abs(-0.897%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.065 from the upcoming single step (for all rxns):\n", " Baseline: [48.77145921 85.80264817 16.65443342]\n", " Deltas: [ 0.35692549 -1.5500879 0.83623692]\n", " Adjusted L2 norm: 0.3588289447220748\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.3588) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.065, and will continue to 0.075]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.075 with delta_time_full=0.01. Processing interval [0.075 - 0.085]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.41668593 -0.83337187] (rel. to baseline of [49.1283847 17.49067034]) :\n", " elements of abs([ 0.8481572 -4.76466511]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.075\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.08\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.71831 (rel. to baseline of 83.5135) for the conc. of `X`: abs(-0.86%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.075 from the upcoming single step (for all rxns):\n", " Baseline: [49.1283847 84.25256027 17.49067034]\n", " Deltas: [ 0.41668593 -1.45737909 0.62400723]\n", " Adjusted L2 norm: 0.2985517781508984\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.2986) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.075, and will continue to 0.085]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.085 with delta_time_full=0.01. Processing interval [0.085 - 0.095]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.45827279 -0.91654559] (rel. to baseline of [49.54507063 18.11467757]) :\n", " elements of abs([ 0.92496143 -5.05968479]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.085\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.09\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.6808 (rel. to baseline of 82.0967) for the conc. of `X`: abs(-0.829%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.085 from the upcoming single step (for all rxns):\n", " Baseline: [49.54507063 82.79518117 18.11467757]\n", " Deltas: [ 0.45827279 -1.37929103 0.46274545]\n", " Adjusted L2 norm: 0.25851011704346205\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.2585) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.085, and will continue to 0.095]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.095 with delta_time_full=0.01. Processing interval [0.095 - 0.105]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.48612697 -0.97225395] (rel. to baseline of [50.00334342 18.57742301]) :\n", " elements of abs([ 0.97218894 -5.23352429]%) are all < (100% /1)\n", " * FAST REACTIONS: [1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.095\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [1]). 'Local' system time: 0.1\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.64862 (rel. to baseline of 80.752) for the conc. of `X`: abs(-0.803%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.095 from the upcoming single step (for all rxns):\n", " Baseline: [50.00334342 81.41589014 18.57742301]\n", " Deltas: [ 0.48612697 -1.31253893 0.34028498]\n", " Adjusted L2 norm: 0.23054130444294735\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.2305) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.02) at the next round! [The current step started at System Time: 0.095, and will continue to 0.105]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.105 with delta_time_full=0.02. Processing interval [0.105 - 0.125]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of 1.0073 (rel. to baseline of 50.4895) for the conc. of `U`: abs(1.99%) > (100% /1)\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.105\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.115\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.84753 (rel. to baseline of 18.1712) for the conc. of `S`: abs(-4.66%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.2748 (rel. to baseline of 78.8353) for the conc. of `X`: abs(-1.62%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.105 from the upcoming single step (for all rxns):\n", " Baseline: [50.48947039 80.10335121 18.917708 ]\n", " Deltas: [ 1.93464617 -2.54282322 -1.32646911]\n", " Adjusted L2 norm: 1.3298140056859387\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (1.33) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER by a factor 2.0 (set to 0.01) at the next round! [The current step started at System Time: 0.105, and will continue to 0.125]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.125 with delta_time_full=0.01. Processing interval [0.125 - 0.135]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.125\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.13\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.18868846 -0.37737693] (rel. to baseline of [52.60352495 17.86809286]) :\n", " elements of abs([ 0.35869928 -2.11201572]%) are all < (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.61783 (rel. to baseline of 76.9249) for the conc. of `X`: abs(-0.803%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.125 from the upcoming single step (for all rxns):\n", " Baseline: [52.42411656 77.56052799 17.59123888]\n", " Deltas: [ 0.36809685 -1.25350083 0.51730712]\n", " Adjusted L2 norm: 0.2193740298950499\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.2194) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.02) at the next round! [The current step started at System Time: 0.125, and will continue to 0.135]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.135 with delta_time_full=0.02. Processing interval [0.135 - 0.155]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -1.5714 (rel. to baseline of 18.1085) for the conc. of `S`: abs(-8.68%) > (100% /1)\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.135\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.145\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.69527 (rel. to baseline of 17.7399) for the conc. of `S`: abs(-3.92%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.1887 (rel. to baseline of 75.1043) for the conc. of `X`: abs(-1.58%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.135 from the upcoming single step (for all rxns):\n", " Baseline: [52.79221342 76.30702716 18.108546 ]\n", " Deltas: [ 1.5261513 -2.39143474 -0.66086786]\n", " Adjusted L2 norm: 0.9427604737997322\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.9428) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER by a factor 2.0 (set to 0.01) at the next round! [The current step started at System Time: 0.135, and will continue to 0.155]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.155 with delta_time_full=0.01. Processing interval [0.155 - 0.165]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.155\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.16\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.16421051 -0.32842101] (rel. to baseline of [54.4730882 17.72353472]) :\n", " elements of abs([ 0.30145254 -1.85302209]%) are all < (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.56825 (rel. to baseline of 73.3303) for the conc. of `X`: abs(-0.775%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.155 from the upcoming single step (for all rxns):\n", " Baseline: [54.31836472 73.91559242 17.44767814]\n", " Deltas: [ 0.31893399 -1.15355183 0.51568386]\n", " Adjusted L2 norm: 0.18870339626754337\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.1887) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.02) at the next round! [The current step started at System Time: 0.155, and will continue to 0.165]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.165 with delta_time_full=0.02. Processing interval [0.165 - 0.185]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -1.3773 (rel. to baseline of 17.9634) for the conc. of `S`: abs(-7.67%) > (100% /1)\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.165\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.175\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.61754 (rel. to baseline of 17.6911) for the conc. of `S`: abs(-3.49%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -1.0882 (rel. to baseline of 71.657) for the conc. of `X`: abs(-1.52%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.165 from the upcoming single step (for all rxns):\n", " Baseline: [54.63729871 72.76204059 17.963362 ]\n", " Deltas: [ 1.34174043 -2.19330116 -0.4901797 ]\n", " Adjusted L2 norm: 0.7612348313580994\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.7612) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER by a factor 2.0 (set to 0.01) at the next round! [The current step started at System Time: 0.165, and will continue to 0.185]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.185 with delta_time_full=0.01. Processing interval [0.185 - 0.195]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.185\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.19\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 left tagged as 'S', based on a change of [ 0.147988 -0.29597601] (rel. to baseline of [56.11817604 17.72924412]) :\n", " elements of abs([ 0.26370779 -1.6694226 ]%) are all < (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.51864 (rel. to baseline of 70.0344) for the conc. of `X`: abs(-0.741%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.185 from the upcoming single step (for all rxns):\n", " Baseline: [55.97903913 70.56873943 17.4731823 ]\n", " Deltas: [ 0.28712491 -1.05297436 0.47872455]\n", " Adjusted L2 norm: 0.15781921064614185\n", "NOTICE: The chosen time step (0.01) results in an 'L2 rate' (0.1578) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.02) at the next round! [The current step started at System Time: 0.185, and will continue to 0.195]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.195 with delta_time_full=0.02. Processing interval [0.195 - 0.215]\n", " * SLOW REACTIONS: [0]\n", " Processing SLOW reactions\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -1.2433 (rel. to baseline of 17.9519) for the conc. of `S`: abs(-6.93%) > (100% /1)\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.195\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.205\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.5592 (rel. to baseline of 17.7169) for the conc. of `S`: abs(-3.16%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.99221 (rel. to baseline of 68.5074) for the conc. of `X`: abs(-1.45%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.195 from the upcoming single step (for all rxns):\n", " Baseline: [56.26616404 69.51576507 17.95190685]\n", " Deltas: [ 1.21208721 -2.00056384 -0.42361059]\n", " Adjusted L2 norm: 0.6278730022554321\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.6279) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.195, and will continue to 0.215]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.215 with delta_time_full=0.02. Processing interval [0.215 - 0.235]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.215\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.225\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.57023 (rel. to baseline of 17.9967) for the conc. of `S`: abs(-3.17%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.91644 (rel. to baseline of 66.5414) for the conc. of `X`: abs(-1.38%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.215 from the upcoming single step (for all rxns):\n", " Baseline: [57.47825125 67.51520124 17.52829625]\n", " Deltas: [ 0.53781225 -1.89020212 0.81457762]\n", " Adjusted L2 norm: 0.5028491972762104\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.5028) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.215, and will continue to 0.235]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.235 with delta_time_full=0.02. Processing interval [0.235 - 0.255]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.235\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.245\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.64257 (rel. to baseline of 18.5968) for the conc. of `S`: abs(-3.46%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.82689 (rel. to baseline of 64.7568) for the conc. of `X`: abs(-1.28%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.235 from the upcoming single step (for all rxns):\n", " Baseline: [58.0160635 65.62499911 18.34287388]\n", " Deltas: [ 0.62839193 -1.69507214 0.43828828]\n", " Adjusted L2 norm: 0.38447139938108577\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.3845) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.235, and will continue to 0.255]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.255 with delta_time_full=0.02. Processing interval [0.255 - 0.275]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.255\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.265\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.66711 (rel. to baseline of 18.913) for the conc. of `S`: abs(-3.53%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.75939 (rel. to baseline of 63.1389) for the conc. of `X`: abs(-1.2%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.255 from the upcoming single step (for all rxns):\n", " Baseline: [58.64445543 63.92992697 18.78116216]\n", " Deltas: [ 0.66316128 -1.5504161 0.22409354]\n", " Adjusted L2 norm: 0.32153231844307784\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.3215) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.255, and will continue to 0.275]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.275 with delta_time_full=0.02. Processing interval [0.275 - 0.295]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.275\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.285\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.66517 (rel. to baseline of 19.0678) for the conc. of `S`: abs(-3.49%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.70539 (rel. to baseline of 61.6484) for the conc. of `X`: abs(-1.14%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.275 from the upcoming single step (for all rxns):\n", " Baseline: [59.30761671 62.37951088 19.0052557 ]\n", " Deltas: [ 0.66685358 -1.43645585 0.10274869]\n", " Adjusted L2 norm: 0.2798507093514281\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.2799) that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size. [The current step started at System Time: 0.275, and will continue to 0.295]\n", "\n", "reaction_step_orchestrator(): entering WHILE loop at System Time=0.295 with delta_time_full=0.02. Processing interval [0.295 - 0.315]\n", " There are NO SLOW reactions\n", " * FAST REACTIONS: [0, 1]\n", " - SUBSTEP: 0 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.295\n", " Skipping evaluation of rxn speed for all reactions because NOT at last substep (substep_number = 0, time_subdivision = 2)\n", " - SUBSTEP: 1 (in processing of FAST reactions, i.e. [0, 1]). 'Local' system time: 0.305\n", " (tentatively tagging rxn #0 as 'S')\n", " For Rxn # 0, checking concentrations of chems: {0, 2}\n", " Rxn # 0 FLIPPED TAG to 'F', based on a change of -0.6489 (rel. to baseline of 19.1315) for the conc. of `S`: abs(-3.39%) > (100% /2)\n", " (tentatively tagging rxn #1 as 'S')\n", " For Rxn # 1, checking concentrations of chems: {1, 2}\n", " Rxn # 1 FLIPPED TAG to 'F', based on a change of -0.65995 (rel. to baseline of 60.2612) for the conc. of `X`: abs(-1.1%) > (100% /2)\n", "EXAMINING CONCENTRATION CHANGES at System Time 0.295 from the upcoming single step (for all rxns):\n", " Baseline: [59.97447029 60.94305503 19.10800438]\n", " Deltas: [ 0.65359963 -1.34175786 0.0345586 ]\n", " Adjusted L2 norm: 0.24763343791989711\n", "NOTICE: The chosen time step (0.02) results in an 'L2 rate' (0.2476) that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER by a factor 2 (set to 0.04) at the next round! [The current step started at System Time: 0.295, and will continue to 0.315]\n", "28 total step(s) taken\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEUXScaption
00.0000050.000000100.0000000.000000Initial state
10.0050049.50000098.5000002.500000Interm. step, due to the fast rxns: [0, 1]
20.0025049.75000099.2500001.250000Interm. step, due to the fast rxns: [0, 1]
30.0050049.52625098.5243752.423125
40.0062549.42666698.1730822.973587Interm. step, due to the fast rxns: [1]
50.0075049.32708197.8272353.518603
60.0125048.97455596.4653845.585506
70.0137548.90797396.1455316.038523Interm. step, due to the fast rxns: [1]
80.0150048.84139295.8302746.486942
90.0200048.61245694.5874288.187661
100.0225048.53314794.0008378.932870Interm. step, due to the fast rxns: [1]
110.0250048.45383893.4298249.662501
120.0275048.40481892.87403810.316326Interm. step, due to the fast rxns: [1]
130.0300048.35579992.33222710.956174
140.0325048.33314491.80407811.529634Interm. step, due to the fast rxns: [1]
150.0350048.31048891.28849212.090531
160.0375048.31074690.78518612.593321Interm. step, due to the fast rxns: [1]
170.0400048.31100590.29319713.084794
180.0500048.39156888.36948914.847375
190.0525048.44655887.92942815.177456Interm. step, due to the fast rxns: [1]
200.0550048.50154787.49762015.499286
210.0650048.77145985.80264816.654433
220.0700048.94992285.01524117.084915Interm. step, due to the fast rxns: [1]
230.0750049.12838584.25256017.490670
240.0800049.33672883.51349217.813053Interm. step, due to the fast rxns: [1]
250.0850049.54507182.79518118.114678
260.0900049.77420782.09669418.354892Interm. step, due to the fast rxns: [1]
270.0950050.00334381.41589018.577423
280.1000050.24640780.75197418.755212Interm. step, due to the fast rxns: [1]
290.1050050.48947080.10335118.917708
300.1150051.49672578.83531318.171237Interm. step, due to the fast rxns: [0, 1]
310.1250052.42411777.56052817.591239
320.1300052.60352576.92485717.868093Interm. step, due to the fast rxns: [0, 1]
330.1350052.79221376.30702718.108546
340.1450053.57789275.10432917.739886Interm. step, due to the fast rxns: [0, 1]
350.1550054.31836573.91559217.447678
360.1600054.47308873.33028917.723535Interm. step, due to the fast rxns: [0, 1]
370.1650054.63729972.76204117.963362
380.1750055.32594571.65698117.691130Interm. step, due to the fast rxns: [0, 1]
390.1850055.97903970.56873917.473182
400.1900056.11817670.03440417.729244Interm. step, due to the fast rxns: [0, 1]
410.1950056.26616469.51576517.951907
420.2050056.88782368.50740717.716948Interm. step, due to the fast rxns: [0, 1]
430.2150057.47825167.51520117.528296
440.2250057.73095066.54144317.996657Interm. step, due to the fast rxns: [0, 1]
450.2350058.01606465.62499918.342874
460.2450058.32317264.75682218.596834Interm. step, due to the fast rxns: [0, 1]
470.2550058.64445563.92992718.781162
480.2650058.97405963.13889918.912983Interm. step, due to the fast rxns: [0, 1]
490.2750059.30761762.37951119.005256
500.2850059.64188561.64844119.067789Interm. step, due to the fast rxns: [0, 1]
510.2950059.97447060.94305519.108004
520.3050060.30362160.26124419.131514Interm. step, due to the fast rxns: [0, 1]
530.3150060.62807059.60129719.142563
\n", "
" ], "text/plain": [ " SYSTEM TIME U X S \\\n", "0 0.00000 50.000000 100.000000 0.000000 \n", "1 0.00500 49.500000 98.500000 2.500000 \n", "2 0.00250 49.750000 99.250000 1.250000 \n", "3 0.00500 49.526250 98.524375 2.423125 \n", "4 0.00625 49.426666 98.173082 2.973587 \n", "5 0.00750 49.327081 97.827235 3.518603 \n", "6 0.01250 48.974555 96.465384 5.585506 \n", "7 0.01375 48.907973 96.145531 6.038523 \n", "8 0.01500 48.841392 95.830274 6.486942 \n", "9 0.02000 48.612456 94.587428 8.187661 \n", "10 0.02250 48.533147 94.000837 8.932870 \n", "11 0.02500 48.453838 93.429824 9.662501 \n", "12 0.02750 48.404818 92.874038 10.316326 \n", "13 0.03000 48.355799 92.332227 10.956174 \n", "14 0.03250 48.333144 91.804078 11.529634 \n", "15 0.03500 48.310488 91.288492 12.090531 \n", "16 0.03750 48.310746 90.785186 12.593321 \n", "17 0.04000 48.311005 90.293197 13.084794 \n", "18 0.05000 48.391568 88.369489 14.847375 \n", "19 0.05250 48.446558 87.929428 15.177456 \n", "20 0.05500 48.501547 87.497620 15.499286 \n", "21 0.06500 48.771459 85.802648 16.654433 \n", "22 0.07000 48.949922 85.015241 17.084915 \n", "23 0.07500 49.128385 84.252560 17.490670 \n", "24 0.08000 49.336728 83.513492 17.813053 \n", "25 0.08500 49.545071 82.795181 18.114678 \n", "26 0.09000 49.774207 82.096694 18.354892 \n", "27 0.09500 50.003343 81.415890 18.577423 \n", "28 0.10000 50.246407 80.751974 18.755212 \n", "29 0.10500 50.489470 80.103351 18.917708 \n", "30 0.11500 51.496725 78.835313 18.171237 \n", "31 0.12500 52.424117 77.560528 17.591239 \n", "32 0.13000 52.603525 76.924857 17.868093 \n", "33 0.13500 52.792213 76.307027 18.108546 \n", "34 0.14500 53.577892 75.104329 17.739886 \n", "35 0.15500 54.318365 73.915592 17.447678 \n", "36 0.16000 54.473088 73.330289 17.723535 \n", "37 0.16500 54.637299 72.762041 17.963362 \n", "38 0.17500 55.325945 71.656981 17.691130 \n", "39 0.18500 55.979039 70.568739 17.473182 \n", "40 0.19000 56.118176 70.034404 17.729244 \n", "41 0.19500 56.266164 69.515765 17.951907 \n", "42 0.20500 56.887823 68.507407 17.716948 \n", "43 0.21500 57.478251 67.515201 17.528296 \n", "44 0.22500 57.730950 66.541443 17.996657 \n", "45 0.23500 58.016064 65.624999 18.342874 \n", "46 0.24500 58.323172 64.756822 18.596834 \n", "47 0.25500 58.644455 63.929927 18.781162 \n", "48 0.26500 58.974059 63.138899 18.912983 \n", "49 0.27500 59.307617 62.379511 19.005256 \n", "50 0.28500 59.641885 61.648441 19.067789 \n", "51 0.29500 59.974470 60.943055 19.108004 \n", "52 0.30500 60.303621 60.261244 19.131514 \n", "53 0.31500 60.628070 59.601297 19.142563 \n", "\n", " caption \n", "0 Initial state \n", "1 Interm. step, due to the fast rxns: [0, 1] \n", "2 Interm. step, due to the fast rxns: [0, 1] \n", "3 \n", "4 Interm. step, due to the fast rxns: [1] \n", "5 \n", "6 \n", "7 Interm. step, due to the fast rxns: [1] \n", "8 \n", "9 \n", "10 Interm. step, due to the fast rxns: [1] \n", "11 \n", "12 Interm. step, due to the fast rxns: [1] \n", "13 \n", "14 Interm. step, due to the fast rxns: [1] \n", "15 \n", "16 Interm. step, due to the fast rxns: [1] \n", "17 \n", "18 \n", "19 Interm. step, due to the fast rxns: [1] \n", "20 \n", "21 \n", "22 Interm. step, due to the fast rxns: [1] \n", "23 \n", "24 Interm. step, due to the fast rxns: [1] \n", "25 \n", "26 Interm. step, due to the fast rxns: [1] \n", "27 \n", "28 Interm. step, due to the fast rxns: [1] \n", "29 \n", "30 Interm. step, due to the fast rxns: [0, 1] \n", "31 \n", "32 Interm. step, due to the fast rxns: [0, 1] \n", "33 \n", "34 Interm. step, due to the fast rxns: [0, 1] \n", "35 \n", "36 Interm. step, due to the fast rxns: [0, 1] \n", "37 \n", "38 Interm. step, due to the fast rxns: [0, 1] \n", "39 \n", "40 Interm. step, due to the fast rxns: [0, 1] \n", "41 \n", "42 Interm. step, due to the fast rxns: [0, 1] \n", "43 \n", "44 Interm. step, due to the fast rxns: [0, 1] \n", "45 \n", "46 Interm. step, due to the fast rxns: [0, 1] \n", "47 \n", "48 Interm. step, due to the fast rxns: [0, 1] \n", "49 \n", "50 Interm. step, due to the fast rxns: [0, 1] \n", "51 \n", "52 Interm. step, due to the fast rxns: [0, 1] \n", "53 " ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.set_diagnostics() # To save diagnostic information about the call to single_compartment_react()\n", "dynamics.verbose_list = [\"substeps\", \"variable_steps\"]\n", "\n", "dynamics.single_compartment_react(time_step=0.01, stop_time=0.3, \n", " variable_steps=True, thresholds={\"low\": 0.25, \"high\": 0.64},\n", " dynamic_substeps=2, abs_fast_threshold=100.)\n", "\n", "df = dynamics.get_history()\n", "df" ] }, { "cell_type": "code", "execution_count": 7, "id": "12da63da-9b3b-4c43-a68b-7dfb6585b9d0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From time 0 to 0.005, in 1 reduced step of 0.005 (1/2 of requested step)\n", "From time 0.005 to 0.0025, in 1 reduced step of -0.0025 (1/-2 of requested step)\n", "From time 0.0025 to 0.005, in 1 reduced step of 0.0025 (1/4 of requested step)\n", "From time 0.005 to 0.0075, in 2 reduced step of 0.00125 (each 1/2 of requested step)\n", "From time 0.0075 to 0.0125, in 1 FULL step of 0.005\n", "From time 0.0125 to 0.015, in 2 reduced step of 0.00125 (each 1/2 of requested step)\n", "From time 0.015 to 0.02, in 1 FULL step of 0.005\n", "From time 0.02 to 0.04, in 8 reduced step of 0.0025 (each 1/2 of requested step)\n", "From time 0.04 to 0.05, in 1 FULL step of 0.01\n", "From time 0.05 to 0.055, in 2 reduced step of 0.0025 (each 1/2 of requested step)\n", "From time 0.055 to 0.065, in 1 FULL step of 0.01\n", "From time 0.065 to 0.105, in 8 reduced step of 0.005 (each 1/2 of requested step)\n", "From time 0.105 to 0.125, in 2 reduced step of 0.01 (each 1/2 of requested step)\n", "From time 0.125 to 0.135, in 2 reduced step of 0.005 (each 1/2 of requested step)\n", "From time 0.135 to 0.155, in 2 reduced step of 0.01 (each 1/2 of requested step)\n", "From time 0.155 to 0.165, in 2 reduced step of 0.005 (each 1/2 of requested step)\n", "From time 0.165 to 0.185, in 2 reduced step of 0.01 (each 1/2 of requested step)\n", "From time 0.185 to 0.195, in 2 reduced step of 0.005 (each 1/2 of requested step)\n", "From time 0.195 to 0.315, in 12 reduced step of 0.01 (each 1/2 of requested step)\n" ] } ], "source": [ "(transition_times, step_sizes) = dynamics.explain_time_advance(return_times=True)" ] }, { "cell_type": "code", "execution_count": 8, "id": "438e4ec0-44f7-4c0d-b6a6-4a435da6e683", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.005 , 0.0025 , 0.00125, 0.005 , 0.00125, 0.005 , 0.0025 ,\n", " 0.01 , 0.0025 , 0.01 , 0.005 , 0.01 , 0.005 , 0.01 ,\n", " 0.005 , 0.01 , 0.005 , 0.01 ])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array(step_sizes)" ] }, { "cell_type": "code", "execution_count": 9, "id": "74d500e5-0b59-419c-90ae-4948eb7c8611", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.005 , 0.005 , 0.0075, 0.0125, 0.015 , 0.02 , 0.04 ,\n", " 0.05 , 0.055 , 0.065 , 0.105 , 0.125 , 0.135 , 0.155 , 0.165 ,\n", " 0.185 , 0.195 , 0.315 ])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array(transition_times) # Note: there will be one more transition time (the end time) than step sizes" ] }, { "cell_type": "markdown", "id": "cbf6c9c7-8cec-400f-9e70-49ff1a9f485c", "metadata": { "tags": [] }, "source": [ "## Plots of changes of concentration with time" ] }, { "cell_type": "code", "execution_count": 10, "id": "c388dae7-c4a6-4644-a390-958e3862d102", "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=U
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "U", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "U", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 50, 49.5, 49.75, 49.52625, 49.426665625, 49.32708125, 48.97455454253906, 48.90797322103501, 48.841391899530954, 48.612455679778506, 48.533146616418456, 48.453837553058406, 48.40481838601908, 48.35579921897976, 48.333143708235724, 48.31048819749169, 48.31074638594519, 48.31100457439867, 48.39156796475427, 48.44655762594641, 48.50154728713855, 48.77145920679113, 48.94992195141676, 49.128384696042396, 49.33672766272777, 49.545070629413146, 49.774207025787796, 50.003343422162445, 50.24640690848707, 50.48947039481169, 51.49672485841137, 52.42411656309536, 52.60352495280333, 52.792213417571624, 53.577892240981406, 54.31836472056801, 54.473088198896164, 54.63729870586107, 55.32594467784695, 55.97903913467732, 56.118176035356726, 56.266164039872194, 56.88782257366236, 57.478251254686576, 57.73094992997356, 58.01606350465213, 58.32317214462966, 58.644455432682555, 58.97405929680661, 59.30761671176147, 59.64188483331959, 59.974470291759395, 60.30362123652054, 60.62806992227057 ], "yaxis": "y" }, { "hovertemplate": "Chemical=X
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "X", "line": { "color": "orange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "X", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 100, 98.5, 99.25, 98.524375, 98.17308203125, 97.82723487402345, 96.46538442969239, 96.14553053672027, 95.83027371986664, 94.58742788850078, 94.00083709061616, 93.42982385758475, 92.87403769419734, 92.33222729449733, 91.80407820380175, 91.28849213296914, 90.78518641405259, 90.29319732815804, 88.36948901969598, 87.92942847781019, 87.49761960828107, 85.80264816907915, 85.01524144906313, 84.25256026677027, 83.51349197300307, 82.79518117445427, 82.09669378383904, 81.41589014201902, 80.75197448029843, 80.10335121417577, 78.83531315752255, 77.56052799033617, 76.92485723698532, 76.30702716415279, 75.10432910927044, 73.91559242051834, 73.33028887836093, 72.76204058690092, 71.65698108937652, 70.568739429991, 70.03440380756076, 69.51576507409914, 68.50740653264556, 67.51520123586798, 66.54144297407747, 65.62499911481368, 64.7568215739222, 63.92992697491364, 63.13889889524951, 62.37951087906027, 61.64844089453347, 60.94305503402712, 60.261243645953556, 59.60129716943528 ], "yaxis": "y" }, { "hovertemplate": "Chemical=S
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "S", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "S", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 0, 2.5, 1.25, 2.4231249999999998, 2.97358671875, 3.5186026259765626, 5.585506485229493, 6.038523021209723, 6.486942481071457, 8.187660751942216, 8.932869676546936, 9.66250103629845, 10.316325533764504, 10.956174267543163, 11.529634379726819, 12.090531472047498, 12.593320814057071, 13.084793523044628, 14.847375050795497, 15.177456270297007, 15.499285817441852, 16.65443341733862, 17.084914648103382, 17.49067034114496, 17.813052701541416, 18.11467756671947, 18.354892164585408, 18.577423013656137, 18.755211702727497, 18.917707996200907, 18.17123712565477, 17.591238883473174, 17.868092857408076, 18.108546000704035, 17.739886408766814, 17.447678138345704, 17.72353472384681, 17.963362001377, 17.691129554929653, 17.473182300654425, 17.72924412172585, 17.951906846156554, 17.716948320029815, 17.528296254758953, 17.996657165975485, 18.342873875882145, 18.59683413681857, 18.781162159721337, 18.912982511137354, 19.005255697416885, 19.067789438827436, 19.10800438245419, 19.131513881005457, 19.142562986023687 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "title": { "text": "Chemical" }, "tracegroupgap": 0 }, "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": "Changes in concentration for `2 S <-> U` and `S <-> X`" }, "xaxis": { "anchor": "y", "autorange": false, "domain": [ 0, 1 ], "range": [ 0.006837209302325582, 0.22953488372093023 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": false, "domain": [ 0, 1 ], "range": [ 1.8312807436342595, 28.991774570794753 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_history(colors=['green', 'orange', 'blue'])" ] }, { "cell_type": "markdown", "id": "28a71f23-e8bb-4d2b-ab26-64d5a9e9ca01", "metadata": {}, "source": [ "# Notice the irregular \"bumpiness\" on the plot of S. See comments at very end." ] }, { "cell_type": "code", "execution_count": 11, "id": "a264d96b-31de-493d-9e92-742a84b4a453", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=U
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "U", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "U", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 50, 49.5, 49.75, 49.52625, 49.426665625, 49.32708125, 48.97455454253906, 48.90797322103501, 48.841391899530954, 48.612455679778506, 48.533146616418456, 48.453837553058406, 48.40481838601908, 48.35579921897976, 48.333143708235724, 48.31048819749169, 48.31074638594519, 48.31100457439867, 48.39156796475427, 48.44655762594641, 48.50154728713855, 48.77145920679113, 48.94992195141676, 49.128384696042396, 49.33672766272777, 49.545070629413146, 49.774207025787796, 50.003343422162445, 50.24640690848707, 50.48947039481169, 51.49672485841137, 52.42411656309536, 52.60352495280333, 52.792213417571624, 53.577892240981406, 54.31836472056801, 54.473088198896164, 54.63729870586107, 55.32594467784695, 55.97903913467732, 56.118176035356726, 56.266164039872194, 56.88782257366236, 57.478251254686576, 57.73094992997356, 58.01606350465213, 58.32317214462966, 58.644455432682555, 58.97405929680661, 59.30761671176147, 59.64188483331959, 59.974470291759395, 60.30362123652054, 60.62806992227057 ], "yaxis": "y" }, { "hovertemplate": "Chemical=X
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "X", "line": { "color": "orange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "X", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 100, 98.5, 99.25, 98.524375, 98.17308203125, 97.82723487402345, 96.46538442969239, 96.14553053672027, 95.83027371986664, 94.58742788850078, 94.00083709061616, 93.42982385758475, 92.87403769419734, 92.33222729449733, 91.80407820380175, 91.28849213296914, 90.78518641405259, 90.29319732815804, 88.36948901969598, 87.92942847781019, 87.49761960828107, 85.80264816907915, 85.01524144906313, 84.25256026677027, 83.51349197300307, 82.79518117445427, 82.09669378383904, 81.41589014201902, 80.75197448029843, 80.10335121417577, 78.83531315752255, 77.56052799033617, 76.92485723698532, 76.30702716415279, 75.10432910927044, 73.91559242051834, 73.33028887836093, 72.76204058690092, 71.65698108937652, 70.568739429991, 70.03440380756076, 69.51576507409914, 68.50740653264556, 67.51520123586798, 66.54144297407747, 65.62499911481368, 64.7568215739222, 63.92992697491364, 63.13889889524951, 62.37951087906027, 61.64844089453347, 60.94305503402712, 60.261243645953556, 59.60129716943528 ], "yaxis": "y" }, { "hovertemplate": "Chemical=S
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "S", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "S", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 0, 2.5, 1.25, 2.4231249999999998, 2.97358671875, 3.5186026259765626, 5.585506485229493, 6.038523021209723, 6.486942481071457, 8.187660751942216, 8.932869676546936, 9.66250103629845, 10.316325533764504, 10.956174267543163, 11.529634379726819, 12.090531472047498, 12.593320814057071, 13.084793523044628, 14.847375050795497, 15.177456270297007, 15.499285817441852, 16.65443341733862, 17.084914648103382, 17.49067034114496, 17.813052701541416, 18.11467756671947, 18.354892164585408, 18.577423013656137, 18.755211702727497, 18.917707996200907, 18.17123712565477, 17.591238883473174, 17.868092857408076, 18.108546000704035, 17.739886408766814, 17.447678138345704, 17.72353472384681, 17.963362001377, 17.691129554929653, 17.473182300654425, 17.72924412172585, 17.951906846156554, 17.716948320029815, 17.528296254758953, 17.996657165975485, 18.342873875882145, 18.59683413681857, 18.781162159721337, 18.912982511137354, 19.005255697416885, 19.067789438827436, 19.10800438245419, 19.131513881005457, 19.142562986023687 ], "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.005, "x1": 0.005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0025, "x1": 0.0025, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.005, "x1": 0.005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00625, "x1": 0.00625, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0075, "x1": 0.0075, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0125, "x1": 0.0125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.01375, "x1": 0.01375, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.015000000000000001, "x1": 0.015000000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.02, "x1": 0.02, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0225, "x1": 0.0225, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.025, "x1": 0.025, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0275, "x1": 0.0275, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.030000000000000002, "x1": 0.030000000000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0325, "x1": 0.0325, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.035, "x1": 0.035, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.037500000000000006, "x1": 0.037500000000000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04, "x1": 0.04, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05, "x1": 0.05, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.052500000000000005, "x1": 0.052500000000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.055, "x1": 0.055, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.065, "x1": 0.065, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07, "x1": 0.07, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.075, "x1": 0.075, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08, "x1": 0.08, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08499999999999999, "x1": 0.08499999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09, "x1": 0.09, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09499999999999999, "x1": 0.09499999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09999999999999999, "x1": 0.09999999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10499999999999998, "x1": 0.10499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.11499999999999998, "x1": 0.11499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.12499999999999999, "x1": 0.12499999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.12999999999999998, "x1": 0.12999999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.13499999999999998, "x1": 0.13499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.145, "x1": 0.145, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.15499999999999997, "x1": 0.15499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.15999999999999998, "x1": 0.15999999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.16499999999999998, "x1": 0.16499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.175, "x1": 0.175, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.18499999999999997, "x1": 0.18499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.18999999999999997, "x1": 0.18999999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.19499999999999998, "x1": 0.19499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.205, "x1": 0.205, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.21499999999999997, "x1": 0.21499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.22499999999999998, "x1": 0.22499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.23499999999999996, "x1": 0.23499999999999996, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.24499999999999997, "x1": 0.24499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.25499999999999995, "x1": 0.25499999999999995, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.26499999999999996, "x1": 0.26499999999999996, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.27499999999999997, "x1": 0.27499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.285, "x1": 0.285, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.295, "x1": 0.295, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.305, "x1": 0.305, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.315, "x1": 0.315, "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": "Changes in concentration for `2 S <-> U` and `S <-> X` (time steps shown in dashed lines)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.00024456521739130437, 0.3152445652173913 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -5.555555555555555, 105.55555555555556 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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vB2mIUFi0TzqrXJ18dr/sWZ9hmZ2YWf7einASl/6JkeAAIGQgEAT4lNMgAABAgQIECBAgECmgECTqa83AQIECBAgQIAAAQIhAYEmxKeYAAECBAgQIECAAIFMAYEmU19vAgQIECBAgAABAgRCAgJNiE8xAQIECBAgQIAAAQKZAgJNpr7eBAgQIECAAAECBAiEBASaEJ9iAgQIECBAgAABAgQyBQSaTH29CRAgQIAAAQIECBAICQg0IT7FBAgQIECAAAECBAhkCgg0mfp6EyBAgAABAgQIECAQEhBoQnyKCRAgQIAAAQIECBDIFBBoMvX1JkCAAAECBAgQIEAgJCDQhPgUEyBAgAABAgQIECCQKSDQZOrrTYAAAQIECBAgQIBASECgCfEpJkCAAAECBAgQIEAgU0CgydTXmwABAgQIECBAgACBkIBAE+JTTIAAAQIECBAgQIBApoBAk6mvNwECBAgQIECAAAECIQGBJsSnmAABAgQIECBAgACBTAGBJlNfbwIECBAgQIAAAQIEQgICTYhPMQECBAgQIECAAAECmQICTaa+3gQIECBAgAABAgQIhAQEmhCfYgIECBAgQB7ekugAAAEcSURBVIAAAQIEMgUEmkx9vQkQIECAAAECBAgQCAkINCE+xQQIECBAgAABAgQIZAoINJn6ehMgQIAAAQIECBAgEBIQaEJ8igkQIECAAAECBAgQyBQQaDL19SZAgAABAgQIECBAICQg0IT4FBMgQIAAAQIECBAgkCkg0GTq602AAAECBAgQIECAQEhAoAnxKSZAgAABAgQIECBAIFNAoMnU15sAAQIECBAgQIAAgZCAQBPiU0yAAAECBAgQIECAQKaAQJOprzcBAgQIECBAgAABAiEBgSbEp5gAAQIECBAgQIAAgUwBgSZTX28CBAgQIECAAAECBEICAk2ITzEBAgQIECBAgAABApkCAk2mvt4ECBAgQIAAAQIECIQE/gerFsJLKzhtCAAAAABJRU5ErkJggg==", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_history(colors=['green', 'orange', 'blue'], show_intervals=True)" ] }, { "cell_type": "code", "execution_count": 12, "id": "75866674-1a8a-40a6-bdc4-ee52eb94a823", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=U
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "U", "line": { "color": "green", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "U", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 50, 49.5, 49.75, 49.52625, 49.426665625, 49.32708125, 48.97455454253906, 48.90797322103501, 48.841391899530954, 48.612455679778506, 48.533146616418456, 48.453837553058406, 48.40481838601908, 48.35579921897976, 48.333143708235724, 48.31048819749169, 48.31074638594519, 48.31100457439867, 48.39156796475427, 48.44655762594641, 48.50154728713855, 48.77145920679113, 48.94992195141676, 49.128384696042396, 49.33672766272777, 49.545070629413146, 49.774207025787796, 50.003343422162445, 50.24640690848707, 50.48947039481169, 51.49672485841137, 52.42411656309536, 52.60352495280333, 52.792213417571624, 53.577892240981406, 54.31836472056801, 54.473088198896164, 54.63729870586107, 55.32594467784695, 55.97903913467732, 56.118176035356726, 56.266164039872194, 56.88782257366236, 57.478251254686576, 57.73094992997356, 58.01606350465213, 58.32317214462966, 58.644455432682555, 58.97405929680661, 59.30761671176147, 59.64188483331959, 59.974470291759395, 60.30362123652054, 60.62806992227057 ], "yaxis": "y" }, { "hovertemplate": "Chemical=X
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "X", "line": { "color": "orange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "X", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 100, 98.5, 99.25, 98.524375, 98.17308203125, 97.82723487402345, 96.46538442969239, 96.14553053672027, 95.83027371986664, 94.58742788850078, 94.00083709061616, 93.42982385758475, 92.87403769419734, 92.33222729449733, 91.80407820380175, 91.28849213296914, 90.78518641405259, 90.29319732815804, 88.36948901969598, 87.92942847781019, 87.49761960828107, 85.80264816907915, 85.01524144906313, 84.25256026677027, 83.51349197300307, 82.79518117445427, 82.09669378383904, 81.41589014201902, 80.75197448029843, 80.10335121417577, 78.83531315752255, 77.56052799033617, 76.92485723698532, 76.30702716415279, 75.10432910927044, 73.91559242051834, 73.33028887836093, 72.76204058690092, 71.65698108937652, 70.568739429991, 70.03440380756076, 69.51576507409914, 68.50740653264556, 67.51520123586798, 66.54144297407747, 65.62499911481368, 64.7568215739222, 63.92992697491364, 63.13889889524951, 62.37951087906027, 61.64844089453347, 60.94305503402712, 60.261243645953556, 59.60129716943528 ], "yaxis": "y" }, { "hovertemplate": "Chemical=S
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "S", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "S", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.005, 0.0025, 0.005, 0.00625, 0.0075, 0.0125, 0.01375, 0.015000000000000001, 0.02, 0.0225, 0.025, 0.0275, 0.030000000000000002, 0.0325, 0.035, 0.037500000000000006, 0.04, 0.05, 0.052500000000000005, 0.055, 0.065, 0.07, 0.075, 0.08, 0.08499999999999999, 0.09, 0.09499999999999999, 0.09999999999999999, 0.10499999999999998, 0.11499999999999998, 0.12499999999999999, 0.12999999999999998, 0.13499999999999998, 0.145, 0.15499999999999997, 0.15999999999999998, 0.16499999999999998, 0.175, 0.18499999999999997, 0.18999999999999997, 0.19499999999999998, 0.205, 0.21499999999999997, 0.22499999999999998, 0.23499999999999996, 0.24499999999999997, 0.25499999999999995, 0.26499999999999996, 0.27499999999999997, 0.285, 0.295, 0.305, 0.315 ], "xaxis": "x", "y": [ 0, 2.5, 1.25, 2.4231249999999998, 2.97358671875, 3.5186026259765626, 5.585506485229493, 6.038523021209723, 6.486942481071457, 8.187660751942216, 8.932869676546936, 9.66250103629845, 10.316325533764504, 10.956174267543163, 11.529634379726819, 12.090531472047498, 12.593320814057071, 13.084793523044628, 14.847375050795497, 15.177456270297007, 15.499285817441852, 16.65443341733862, 17.084914648103382, 17.49067034114496, 17.813052701541416, 18.11467756671947, 18.354892164585408, 18.577423013656137, 18.755211702727497, 18.917707996200907, 18.17123712565477, 17.591238883473174, 17.868092857408076, 18.108546000704035, 17.739886408766814, 17.447678138345704, 17.72353472384681, 17.963362001377, 17.691129554929653, 17.473182300654425, 17.72924412172585, 17.951906846156554, 17.716948320029815, 17.528296254758953, 17.996657165975485, 18.342873875882145, 18.59683413681857, 18.781162159721337, 18.912982511137354, 19.005255697416885, 19.067789438827436, 19.10800438245419, 19.131513881005457, 19.142562986023687 ], "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.005, "x1": 0.005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.005, "x1": 0.005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0075, "x1": 0.0075, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0125, "x1": 0.0125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.015000000000000001, "x1": 0.015000000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.02, "x1": 0.02, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04, "x1": 0.04, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05, "x1": 0.05, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.055, "x1": 0.055, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.065, "x1": 0.065, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10499999999999998, "x1": 0.10499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.12499999999999999, "x1": 0.12499999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.13499999999999998, "x1": 0.13499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.15499999999999997, "x1": 0.15499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.16499999999999998, "x1": 0.16499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.18499999999999997, "x1": 0.18499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.19499999999999998, "x1": 0.19499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.315, "x1": 0.315, "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": "Critical values of time-step changes for reactions `2 S <-> U` and `S <-> X`" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.00024456521739130437, 0.3152445652173913 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -5.555555555555555, 105.55555555555556 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show the \"critical values\", i.e. times when the step size changes\n", "dynamics.plot_history(colors=['green', 'orange', 'blue'], vertical_lines=transition_times,\n", " title=\"Critical values of time-step changes for reactions `2 S <-> U` and `S <-> X`\")" ] }, { "cell_type": "markdown", "id": "73277ff6-78f4-4b3c-9304-c22e4873c566", "metadata": {}, "source": [ "## Note: the dashed lines in the plots immediatly above and below are NOT the steps; they are the \"critical values\", i.e. times when the step size changes. \n", "The time steps were shown in an earlier plots" ] }, { "cell_type": "code", "execution_count": 13, "id": "ca14a2d7-5916-4144-a909-bfc3cf89c02c", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "x=%{x}
y=%{y}", "legendgroup": "", "line": { "color": "#636efa", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "", "orientation": "v", "showlegend": false, "type": "scatter", "x": [ 0, 0.005, 0.005, 0.005, 0.005, 0.0075, 0.0075, 0.0125, 0.0125, 0.015000000000000001, 0.015000000000000001, 0.02, 0.02, 0.04, 0.04, 0.05, 0.05, 0.055, 0.055, 0.065, 0.065, 0.10499999999999998, 0.10499999999999998, 0.12499999999999999, 0.12499999999999999, 0.13499999999999998, 0.13499999999999998, 0.15499999999999997, 0.15499999999999997, 0.16499999999999998, 0.16499999999999998, 0.18499999999999997, 0.18499999999999997, 0.19499999999999998, 0.19499999999999998, 0.315 ], "xaxis": "x", "y": [ 0.005, 0.005, 0.0025, 0.0025, 0.0012499999999999994, 0.0012499999999999994, 0.005000000000000001, 0.005000000000000001, 0.0012500000000000011, 0.0012500000000000011, 0.004999999999999999, 0.004999999999999999, 0.0024999999999999953, 0.0024999999999999953, 0.010000000000000002, 0.010000000000000002, 0.0024999999999999953, 0.0024999999999999953, 0.010000000000000002, 0.010000000000000002, 0.0049999999999999906, 0.0049999999999999906, 0.010000000000000009, 0.010000000000000009, 0.0050000000000000044, 0.0050000000000000044, 0.009999999999999981, 0.009999999999999981, 0.0050000000000000044, 0.0050000000000000044, 0.009999999999999981, 0.009999999999999981, 0.0050000000000000044, 0.0050000000000000044, 0.010000000000000009, 0.010000000000000009 ], "yaxis": "y" } ], "layout": { "autosize": true, "legend": { "tracegroupgap": 0 }, "margin": { "t": 60 }, "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.005, "x1": 0.005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0025, "x1": 0.0025, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.005, "x1": 0.005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.00625, "x1": 0.00625, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0075, "x1": 0.0075, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0125, "x1": 0.0125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.01375, "x1": 0.01375, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.015000000000000001, "x1": 0.015000000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.02, "x1": 0.02, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0225, "x1": 0.0225, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.025, "x1": 0.025, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0275, "x1": 0.0275, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.030000000000000002, "x1": 0.030000000000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.0325, "x1": 0.0325, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.035, "x1": 0.035, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.037500000000000006, "x1": 0.037500000000000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.04, "x1": 0.04, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05, "x1": 0.05, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.052500000000000005, "x1": 0.052500000000000005, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.055, "x1": 0.055, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.065, "x1": 0.065, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07, "x1": 0.07, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.075, "x1": 0.075, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08, "x1": 0.08, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08499999999999999, "x1": 0.08499999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09, "x1": 0.09, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09499999999999999, "x1": 0.09499999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.09999999999999999, "x1": 0.09999999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.10499999999999998, "x1": 0.10499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.11499999999999998, "x1": 0.11499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.12499999999999999, "x1": 0.12499999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.12999999999999998, "x1": 0.12999999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.13499999999999998, "x1": 0.13499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.145, "x1": 0.145, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.15499999999999997, "x1": 0.15499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.15999999999999998, "x1": 0.15999999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.16499999999999998, "x1": 0.16499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.175, "x1": 0.175, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.18499999999999997, "x1": 0.18499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.18999999999999997, "x1": 0.18999999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.19499999999999998, "x1": 0.19499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.205, "x1": 0.205, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.21499999999999997, "x1": 0.21499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.22499999999999998, "x1": 0.22499999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.23499999999999996, "x1": 0.23499999999999996, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.24499999999999997, "x1": 0.24499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.25499999999999995, "x1": 0.25499999999999995, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.26499999999999996, "x1": 0.26499999999999996, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.27499999999999997, "x1": 0.27499999999999997, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.285, "x1": 0.285, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.295, "x1": 0.295, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.305, "x1": 0.305, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.315, "x1": 0.315, "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": "Simulation step sizes" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.00023899848254931716, 0.3152389984825493 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 0.0007638888888888877, 0.01048611111111112 ], "title": { "text": "Step size" }, "type": "linear" } } }, "image/png": "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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_step_sizes(show_intervals=True)" ] }, { "cell_type": "code", "execution_count": 14, "id": "9dd856c0-58e6-4048-8b03-90f68e725232", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reaction: 2 S <-> U\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TIMEDelta UDelta XDelta Sreactionsubsteptime_subdivisiondelta_timecaption
00.0000-0.5000000.01.0000000020.0050
10.0050-0.3950000.00.7900000120.0050
20.0000-0.2500000.00.5000000020.0025
30.0025-0.2237500.00.4475000120.0025
40.0050-0.1991690.00.3983370010.0025
50.0075-0.3525270.00.7050530010.0050
60.0125-0.1331630.00.2663250010.0025
70.0150-0.2289360.00.4578720010.0050
80.0200-0.1586180.00.3172360010.0050
90.0250-0.0980380.00.1960770010.0050
100.0300-0.0453110.00.0906220010.0050
110.03500.0005160.0-0.0010330010.0050
120.04000.0805630.0-0.1611270010.0100
130.05000.1099790.0-0.2199590010.0050
140.05500.2699120.0-0.5398240010.0100
150.06500.3569250.0-0.7138510010.0100
160.07500.4166860.0-0.8333720010.0100
170.08500.4582730.0-0.9165460010.0100
180.09500.4861270.0-0.9722540010.0100
190.10501.0072540.0-2.0145090010.0200
200.10500.5036270.0-1.0072540020.0100
210.11500.4237640.0-0.8475290120.0100
220.12500.1794080.0-0.3588170020.0050
230.13000.1886880.0-0.3773770120.0050
240.13500.7856790.0-1.5713580010.0200
250.13500.3928390.0-0.7856790020.0100
260.14500.3476330.0-0.6952660120.0100
270.15500.1547230.0-0.3094470020.0050
280.16000.1642110.0-0.3284210120.0050
290.16500.6886460.0-1.3772920010.0200
300.16500.3443230.0-0.6886460020.0100
310.17500.3087710.0-0.6175430120.0100
320.18500.1391370.0-0.2782740020.0050
330.19000.1479880.0-0.2959760120.0050
340.19500.6216590.0-1.2433170010.0200
350.19500.3108290.0-0.6216590020.0100
360.20500.2795990.0-0.5591990120.0100
370.21500.2526990.0-0.5053970020.0100
380.22500.2851140.0-0.5702270120.0100
390.23500.3071090.0-0.6142170020.0100
400.24500.3212830.0-0.6425670120.0100
410.25500.3296040.0-0.6592080020.0100
420.26500.3335570.0-0.6671150120.0100
430.27500.3342680.0-0.6685360020.0100
440.28500.3325850.0-0.6651710120.0100
450.29500.3291510.0-0.6583020020.0100
460.30500.3244490.0-0.6488970120.0100
\n", "
" ], "text/plain": [ " TIME Delta U Delta X Delta S reaction substep time_subdivision \\\n", "0 0.0000 -0.500000 0.0 1.000000 0 0 2 \n", "1 0.0050 -0.395000 0.0 0.790000 0 1 2 \n", "2 0.0000 -0.250000 0.0 0.500000 0 0 2 \n", "3 0.0025 -0.223750 0.0 0.447500 0 1 2 \n", "4 0.0050 -0.199169 0.0 0.398337 0 0 1 \n", "5 0.0075 -0.352527 0.0 0.705053 0 0 1 \n", "6 0.0125 -0.133163 0.0 0.266325 0 0 1 \n", "7 0.0150 -0.228936 0.0 0.457872 0 0 1 \n", "8 0.0200 -0.158618 0.0 0.317236 0 0 1 \n", "9 0.0250 -0.098038 0.0 0.196077 0 0 1 \n", "10 0.0300 -0.045311 0.0 0.090622 0 0 1 \n", "11 0.0350 0.000516 0.0 -0.001033 0 0 1 \n", "12 0.0400 0.080563 0.0 -0.161127 0 0 1 \n", "13 0.0500 0.109979 0.0 -0.219959 0 0 1 \n", "14 0.0550 0.269912 0.0 -0.539824 0 0 1 \n", "15 0.0650 0.356925 0.0 -0.713851 0 0 1 \n", "16 0.0750 0.416686 0.0 -0.833372 0 0 1 \n", "17 0.0850 0.458273 0.0 -0.916546 0 0 1 \n", "18 0.0950 0.486127 0.0 -0.972254 0 0 1 \n", "19 0.1050 1.007254 0.0 -2.014509 0 0 1 \n", "20 0.1050 0.503627 0.0 -1.007254 0 0 2 \n", "21 0.1150 0.423764 0.0 -0.847529 0 1 2 \n", "22 0.1250 0.179408 0.0 -0.358817 0 0 2 \n", "23 0.1300 0.188688 0.0 -0.377377 0 1 2 \n", "24 0.1350 0.785679 0.0 -1.571358 0 0 1 \n", "25 0.1350 0.392839 0.0 -0.785679 0 0 2 \n", "26 0.1450 0.347633 0.0 -0.695266 0 1 2 \n", "27 0.1550 0.154723 0.0 -0.309447 0 0 2 \n", "28 0.1600 0.164211 0.0 -0.328421 0 1 2 \n", "29 0.1650 0.688646 0.0 -1.377292 0 0 1 \n", "30 0.1650 0.344323 0.0 -0.688646 0 0 2 \n", "31 0.1750 0.308771 0.0 -0.617543 0 1 2 \n", "32 0.1850 0.139137 0.0 -0.278274 0 0 2 \n", "33 0.1900 0.147988 0.0 -0.295976 0 1 2 \n", "34 0.1950 0.621659 0.0 -1.243317 0 0 1 \n", "35 0.1950 0.310829 0.0 -0.621659 0 0 2 \n", "36 0.2050 0.279599 0.0 -0.559199 0 1 2 \n", "37 0.2150 0.252699 0.0 -0.505397 0 0 2 \n", "38 0.2250 0.285114 0.0 -0.570227 0 1 2 \n", "39 0.2350 0.307109 0.0 -0.614217 0 0 2 \n", "40 0.2450 0.321283 0.0 -0.642567 0 1 2 \n", "41 0.2550 0.329604 0.0 -0.659208 0 0 2 \n", "42 0.2650 0.333557 0.0 -0.667115 0 1 2 \n", "43 0.2750 0.334268 0.0 -0.668536 0 0 2 \n", "44 0.2850 0.332585 0.0 -0.665171 0 1 2 \n", "45 0.2950 0.329151 0.0 -0.658302 0 0 2 \n", "46 0.3050 0.324449 0.0 -0.648897 0 1 2 \n", "\n", " delta_time caption \n", "0 0.0050 \n", "1 0.0050 \n", "2 0.0025 \n", "3 0.0025 \n", "4 0.0025 \n", "5 0.0050 \n", "6 0.0025 \n", "7 0.0050 \n", "8 0.0050 \n", "9 0.0050 \n", "10 0.0050 \n", "11 0.0050 \n", "12 0.0100 \n", "13 0.0050 \n", "14 0.0100 \n", "15 0.0100 \n", "16 0.0100 \n", "17 0.0100 \n", "18 0.0100 \n", "19 0.0200 \n", "20 0.0100 \n", "21 0.0100 \n", "22 0.0050 \n", "23 0.0050 \n", "24 0.0200 \n", "25 0.0100 \n", "26 0.0100 \n", "27 0.0050 \n", "28 0.0050 \n", "29 0.0200 \n", "30 0.0100 \n", "31 0.0100 \n", "32 0.0050 \n", "33 0.0050 \n", "34 0.0200 \n", "35 0.0100 \n", "36 0.0100 \n", "37 0.0100 \n", "38 0.0100 \n", "39 0.0100 \n", "40 0.0100 \n", "41 0.0100 \n", "42 0.0100 \n", "43 0.0100 \n", "44 0.0100 \n", "45 0.0100 \n", "46 0.0100 " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_rxn_data(rxn_index=0)" ] }, { "cell_type": "code", "execution_count": 15, "id": "5ff51045-dfa3-4f04-94f4-5d66f1352d4a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reaction: S <-> X\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TIMEDelta UDelta XDelta Sreactionsubsteptime_subdivisiondelta_timecaption
00.000000.0-1.5000001.5000001020.00500
10.005000.0-1.4025001.4025001120.00500
20.000000.0-0.7500000.7500001020.00250
30.002500.0-0.7256250.7256251120.00250
40.005000.0-0.3512930.3512931020.00125
50.006250.0-0.3458470.3458471120.00125
60.007500.0-1.3618501.3618501010.00500
70.012500.0-0.3198540.3198541020.00125
80.013750.0-0.3152570.3152571120.00125
90.015000.0-1.2428461.2428461010.00500
100.020000.0-0.5865910.5865911020.00250
110.022500.0-0.5710130.5710131120.00250
120.025000.0-0.5557860.5557861020.00250
130.027500.0-0.5418100.5418101120.00250
140.030000.0-0.5281490.5281491020.00250
150.032500.0-0.5155860.5155861120.00250
160.035000.0-0.5033060.5033061020.00250
170.037500.0-0.4919890.4919891120.00250
180.040000.0-1.9237081.9237081010.01000
190.050000.0-0.4400610.4400611020.00250
200.052500.0-0.4318090.4318091120.00250
210.055000.0-1.6949711.6949711010.01000
220.065000.0-0.7874070.7874071020.00500
230.070000.0-0.7626810.7626811120.00500
240.075000.0-0.7390680.7390681020.00500
250.080000.0-0.7183110.7183111120.00500
260.085000.0-0.6984870.6984871020.00500
270.090000.0-0.6808040.6808041120.00500
280.095000.0-0.6639160.6639161020.00500
290.100000.0-0.6486230.6486231120.00500
300.105000.0-1.2680381.2680381020.01000
310.115000.0-1.2747851.2747851120.01000
320.125000.0-0.6356710.6356711020.00500
330.130000.0-0.6178300.6178301120.00500
340.135000.0-1.2026981.2026981020.01000
350.145000.0-1.1887371.1887371120.01000
360.155000.0-0.5853040.5853041020.00500
370.160000.0-0.5682480.5682481120.00500
380.165000.0-1.1050591.1050591020.01000
390.175000.0-1.0882421.0882421120.01000
400.185000.0-0.5343360.5343361020.00500
410.190000.0-0.5186390.5186391120.00500
420.195000.0-1.0083591.0083591020.01000
430.205000.0-0.9922050.9922051120.01000
440.215000.0-0.9737580.9737581020.01000
450.225000.0-0.9164440.9164441120.01000
460.235000.0-0.8681780.8681781020.01000
470.245000.0-0.8268950.8268951120.01000
480.255000.0-0.7910280.7910281020.01000
490.265000.0-0.7593880.7593881120.01000
500.275000.0-0.7310700.7310701020.01000
510.285000.0-0.7053860.7053861120.01000
520.295000.0-0.6818110.6818111020.01000
530.305000.0-0.6599460.6599461120.01000
\n", "
" ], "text/plain": [ " TIME Delta U Delta X Delta S reaction substep time_subdivision \\\n", "0 0.00000 0.0 -1.500000 1.500000 1 0 2 \n", "1 0.00500 0.0 -1.402500 1.402500 1 1 2 \n", "2 0.00000 0.0 -0.750000 0.750000 1 0 2 \n", "3 0.00250 0.0 -0.725625 0.725625 1 1 2 \n", "4 0.00500 0.0 -0.351293 0.351293 1 0 2 \n", "5 0.00625 0.0 -0.345847 0.345847 1 1 2 \n", "6 0.00750 0.0 -1.361850 1.361850 1 0 1 \n", "7 0.01250 0.0 -0.319854 0.319854 1 0 2 \n", "8 0.01375 0.0 -0.315257 0.315257 1 1 2 \n", "9 0.01500 0.0 -1.242846 1.242846 1 0 1 \n", "10 0.02000 0.0 -0.586591 0.586591 1 0 2 \n", "11 0.02250 0.0 -0.571013 0.571013 1 1 2 \n", "12 0.02500 0.0 -0.555786 0.555786 1 0 2 \n", "13 0.02750 0.0 -0.541810 0.541810 1 1 2 \n", "14 0.03000 0.0 -0.528149 0.528149 1 0 2 \n", "15 0.03250 0.0 -0.515586 0.515586 1 1 2 \n", "16 0.03500 0.0 -0.503306 0.503306 1 0 2 \n", "17 0.03750 0.0 -0.491989 0.491989 1 1 2 \n", "18 0.04000 0.0 -1.923708 1.923708 1 0 1 \n", "19 0.05000 0.0 -0.440061 0.440061 1 0 2 \n", "20 0.05250 0.0 -0.431809 0.431809 1 1 2 \n", "21 0.05500 0.0 -1.694971 1.694971 1 0 1 \n", "22 0.06500 0.0 -0.787407 0.787407 1 0 2 \n", "23 0.07000 0.0 -0.762681 0.762681 1 1 2 \n", "24 0.07500 0.0 -0.739068 0.739068 1 0 2 \n", "25 0.08000 0.0 -0.718311 0.718311 1 1 2 \n", "26 0.08500 0.0 -0.698487 0.698487 1 0 2 \n", "27 0.09000 0.0 -0.680804 0.680804 1 1 2 \n", "28 0.09500 0.0 -0.663916 0.663916 1 0 2 \n", "29 0.10000 0.0 -0.648623 0.648623 1 1 2 \n", "30 0.10500 0.0 -1.268038 1.268038 1 0 2 \n", "31 0.11500 0.0 -1.274785 1.274785 1 1 2 \n", "32 0.12500 0.0 -0.635671 0.635671 1 0 2 \n", "33 0.13000 0.0 -0.617830 0.617830 1 1 2 \n", "34 0.13500 0.0 -1.202698 1.202698 1 0 2 \n", "35 0.14500 0.0 -1.188737 1.188737 1 1 2 \n", "36 0.15500 0.0 -0.585304 0.585304 1 0 2 \n", "37 0.16000 0.0 -0.568248 0.568248 1 1 2 \n", "38 0.16500 0.0 -1.105059 1.105059 1 0 2 \n", "39 0.17500 0.0 -1.088242 1.088242 1 1 2 \n", "40 0.18500 0.0 -0.534336 0.534336 1 0 2 \n", "41 0.19000 0.0 -0.518639 0.518639 1 1 2 \n", "42 0.19500 0.0 -1.008359 1.008359 1 0 2 \n", "43 0.20500 0.0 -0.992205 0.992205 1 1 2 \n", "44 0.21500 0.0 -0.973758 0.973758 1 0 2 \n", "45 0.22500 0.0 -0.916444 0.916444 1 1 2 \n", "46 0.23500 0.0 -0.868178 0.868178 1 0 2 \n", "47 0.24500 0.0 -0.826895 0.826895 1 1 2 \n", "48 0.25500 0.0 -0.791028 0.791028 1 0 2 \n", "49 0.26500 0.0 -0.759388 0.759388 1 1 2 \n", "50 0.27500 0.0 -0.731070 0.731070 1 0 2 \n", "51 0.28500 0.0 -0.705386 0.705386 1 1 2 \n", "52 0.29500 0.0 -0.681811 0.681811 1 0 2 \n", "53 0.30500 0.0 -0.659946 0.659946 1 1 2 \n", "\n", " delta_time caption \n", "0 0.00500 \n", "1 0.00500 \n", "2 0.00250 \n", "3 0.00250 \n", "4 0.00125 \n", "5 0.00125 \n", "6 0.00500 \n", "7 0.00125 \n", "8 0.00125 \n", "9 0.00500 \n", "10 0.00250 \n", "11 0.00250 \n", "12 0.00250 \n", "13 0.00250 \n", "14 0.00250 \n", "15 0.00250 \n", "16 0.00250 \n", "17 0.00250 \n", "18 0.01000 \n", "19 0.00250 \n", "20 0.00250 \n", "21 0.01000 \n", "22 0.00500 \n", "23 0.00500 \n", "24 0.00500 \n", "25 0.00500 \n", "26 0.00500 \n", "27 0.00500 \n", "28 0.00500 \n", "29 0.00500 \n", "30 0.01000 \n", "31 0.01000 \n", "32 0.00500 \n", "33 0.00500 \n", "34 0.01000 \n", "35 0.01000 \n", "36 0.00500 \n", "37 0.00500 \n", "38 0.01000 \n", "39 0.01000 \n", "40 0.00500 \n", "41 0.00500 \n", "42 0.01000 \n", "43 0.01000 \n", "44 0.01000 \n", "45 0.01000 \n", "46 0.01000 \n", "47 0.01000 \n", "48 0.01000 \n", "49 0.01000 \n", "50 0.01000 \n", "51 0.01000 \n", "52 0.01000 \n", "53 0.01000 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_rxn_data(rxn_index=1)" ] }, { "cell_type": "code", "execution_count": 16, "id": "03eec482-0b4a-4a15-ba33-1788f63fc60f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TIMEUXSis_primaryprimary_timestepn_substepssubstep_numbercaption
00.0000050.000000100.0000000.000000True0.010020
10.0050049.50000098.5000002.500000False0.010021
20.0025049.75000099.2500001.250000False0.005021
30.0050049.52625098.5243752.423125True0.010020
40.0062549.42666698.1730822.973587False0.002521
50.0075049.32708197.8272353.518603True0.002520
60.0125048.97455596.4653845.585506True0.005020
70.0137548.90797396.1455316.038523False0.002521
80.0150048.84139295.8302746.486942True0.002520
90.0200048.61245694.5874288.187661True0.005020
100.0225048.53314794.0008378.932870False0.005021
110.0250048.45383893.4298249.662501True0.005020
120.0275048.40481892.87403810.316326False0.005021
130.0300048.35579992.33222710.956174True0.005020
140.0325048.33314491.80407811.529634False0.005021
150.0350048.31048891.28849212.090531True0.005020
160.0375048.31074690.78518612.593321False0.005021
170.0400048.31100590.29319713.084794True0.005020
180.0500048.39156888.36948914.847375True0.010020
190.0525048.44655887.92942815.177456False0.005021
200.0550048.50154787.49762015.499286True0.005020
210.0650048.77145985.80264816.654433True0.010020
220.0700048.94992285.01524117.084915False0.010021
230.0750049.12838584.25256017.490670True0.010020
240.0800049.33672883.51349217.813053False0.010021
250.0850049.54507182.79518118.114678True0.010020
260.0900049.77420782.09669418.354892False0.010021
270.0950050.00334381.41589018.577423True0.010020
280.1000050.24640780.75197418.755212False0.010021
290.1050050.48947080.10335118.917708True0.010020
300.1150051.49672578.83531318.171237False0.020021
310.1250052.42411777.56052817.591239True0.020020
320.1300052.60352576.92485717.868093False0.010021
330.1350052.79221376.30702718.108546True0.010020
340.1450053.57789275.10432917.739886False0.020021
350.1550054.31836573.91559217.447678True0.020020
360.1600054.47308873.33028917.723535False0.010021
370.1650054.63729972.76204117.963362True0.010020
380.1750055.32594571.65698117.691130False0.020021
390.1850055.97903970.56873917.473182True0.020020
400.1900056.11817670.03440417.729244False0.010021
410.1950056.26616469.51576517.951907True0.010020
420.2050056.88782368.50740717.716948False0.020021
430.2150057.47825167.51520117.528296True0.020020
440.2250057.73095066.54144317.996657False0.020021
450.2350058.01606465.62499918.342874True0.020020
460.2450058.32317264.75682218.596834False0.020021
470.2550058.64445563.92992718.781162True0.020020
480.2650058.97405963.13889918.912983False0.020021
490.2750059.30761762.37951119.005256True0.020020
500.2850059.64188561.64844119.067789False0.020021
510.2950059.97447060.94305519.108004True0.020020
520.3050060.30362160.26124419.131514False0.020021
530.3150060.62807059.60129719.142563True0.020020
\n", "
" ], "text/plain": [ " TIME U X S is_primary primary_timestep \\\n", "0 0.00000 50.000000 100.000000 0.000000 True 0.0100 \n", "1 0.00500 49.500000 98.500000 2.500000 False 0.0100 \n", "2 0.00250 49.750000 99.250000 1.250000 False 0.0050 \n", "3 0.00500 49.526250 98.524375 2.423125 True 0.0100 \n", "4 0.00625 49.426666 98.173082 2.973587 False 0.0025 \n", "5 0.00750 49.327081 97.827235 3.518603 True 0.0025 \n", "6 0.01250 48.974555 96.465384 5.585506 True 0.0050 \n", "7 0.01375 48.907973 96.145531 6.038523 False 0.0025 \n", "8 0.01500 48.841392 95.830274 6.486942 True 0.0025 \n", "9 0.02000 48.612456 94.587428 8.187661 True 0.0050 \n", "10 0.02250 48.533147 94.000837 8.932870 False 0.0050 \n", "11 0.02500 48.453838 93.429824 9.662501 True 0.0050 \n", "12 0.02750 48.404818 92.874038 10.316326 False 0.0050 \n", "13 0.03000 48.355799 92.332227 10.956174 True 0.0050 \n", "14 0.03250 48.333144 91.804078 11.529634 False 0.0050 \n", "15 0.03500 48.310488 91.288492 12.090531 True 0.0050 \n", "16 0.03750 48.310746 90.785186 12.593321 False 0.0050 \n", "17 0.04000 48.311005 90.293197 13.084794 True 0.0050 \n", "18 0.05000 48.391568 88.369489 14.847375 True 0.0100 \n", "19 0.05250 48.446558 87.929428 15.177456 False 0.0050 \n", "20 0.05500 48.501547 87.497620 15.499286 True 0.0050 \n", "21 0.06500 48.771459 85.802648 16.654433 True 0.0100 \n", "22 0.07000 48.949922 85.015241 17.084915 False 0.0100 \n", "23 0.07500 49.128385 84.252560 17.490670 True 0.0100 \n", "24 0.08000 49.336728 83.513492 17.813053 False 0.0100 \n", "25 0.08500 49.545071 82.795181 18.114678 True 0.0100 \n", "26 0.09000 49.774207 82.096694 18.354892 False 0.0100 \n", "27 0.09500 50.003343 81.415890 18.577423 True 0.0100 \n", "28 0.10000 50.246407 80.751974 18.755212 False 0.0100 \n", "29 0.10500 50.489470 80.103351 18.917708 True 0.0100 \n", "30 0.11500 51.496725 78.835313 18.171237 False 0.0200 \n", "31 0.12500 52.424117 77.560528 17.591239 True 0.0200 \n", "32 0.13000 52.603525 76.924857 17.868093 False 0.0100 \n", "33 0.13500 52.792213 76.307027 18.108546 True 0.0100 \n", "34 0.14500 53.577892 75.104329 17.739886 False 0.0200 \n", "35 0.15500 54.318365 73.915592 17.447678 True 0.0200 \n", "36 0.16000 54.473088 73.330289 17.723535 False 0.0100 \n", "37 0.16500 54.637299 72.762041 17.963362 True 0.0100 \n", "38 0.17500 55.325945 71.656981 17.691130 False 0.0200 \n", "39 0.18500 55.979039 70.568739 17.473182 True 0.0200 \n", "40 0.19000 56.118176 70.034404 17.729244 False 0.0100 \n", "41 0.19500 56.266164 69.515765 17.951907 True 0.0100 \n", "42 0.20500 56.887823 68.507407 17.716948 False 0.0200 \n", "43 0.21500 57.478251 67.515201 17.528296 True 0.0200 \n", "44 0.22500 57.730950 66.541443 17.996657 False 0.0200 \n", "45 0.23500 58.016064 65.624999 18.342874 True 0.0200 \n", "46 0.24500 58.323172 64.756822 18.596834 False 0.0200 \n", "47 0.25500 58.644455 63.929927 18.781162 True 0.0200 \n", "48 0.26500 58.974059 63.138899 18.912983 False 0.0200 \n", "49 0.27500 59.307617 62.379511 19.005256 True 0.0200 \n", "50 0.28500 59.641885 61.648441 19.067789 False 0.0200 \n", "51 0.29500 59.974470 60.943055 19.108004 True 0.0200 \n", "52 0.30500 60.303621 60.261244 19.131514 False 0.0200 \n", "53 0.31500 60.628070 59.601297 19.142563 True 0.0200 \n", "\n", " n_substeps substep_number caption \n", "0 2 0 \n", "1 2 1 \n", "2 2 1 \n", "3 2 0 \n", "4 2 1 \n", "5 2 0 \n", "6 2 0 \n", "7 2 1 \n", "8 2 0 \n", "9 2 0 \n", "10 2 1 \n", "11 2 0 \n", "12 2 1 \n", "13 2 0 \n", "14 2 1 \n", "15 2 0 \n", "16 2 1 \n", "17 2 0 \n", "18 2 0 \n", "19 2 1 \n", "20 2 0 \n", "21 2 0 \n", "22 2 1 \n", "23 2 0 \n", "24 2 1 \n", "25 2 0 \n", "26 2 1 \n", "27 2 0 \n", "28 2 1 \n", "29 2 0 \n", "30 2 1 \n", "31 2 0 \n", "32 2 1 \n", "33 2 0 \n", "34 2 1 \n", "35 2 0 \n", "36 2 1 \n", "37 2 0 \n", "38 2 1 \n", "39 2 0 \n", "40 2 1 \n", "41 2 0 \n", "42 2 1 \n", "43 2 0 \n", "44 2 1 \n", "45 2 0 \n", "46 2 1 \n", "47 2 0 \n", "48 2 1 \n", "49 2 0 \n", "50 2 1 \n", "51 2 0 \n", "52 2 1 \n", "53 2 0 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_conc_data()" ] }, { "cell_type": "code", "execution_count": 17, "id": "703eae06-0fbe-42be-a5d1-562b5b8c3772", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TIMEDelta UDelta XDelta ScaptionL2actionstep_factor
00.0000-0.500000-1.5000002.500000NaNNaNNaN
10.0000-0.895000-2.9025004.6925003.471676ABORT0.5
20.0000-0.250000-0.7500001.250000NaNNaNNaN
30.0000-0.473750-1.4756252.4231250.919271OK0.5
40.00500.000000-0.3512930.351293NaNNaNNaN
50.0050-0.199169-0.6971401.0954780.191749OK2.0
60.0075-0.352527-1.3618502.0669040.694556OK0.5
70.01250.000000-0.3198540.319854NaNNaNNaN
80.0125-0.133163-0.6351110.9014360.137076OK2.0
90.0150-0.228936-1.2428461.7007180.498836OK1.0
100.02000.000000-0.5865910.586591NaNNaNNaN
110.0200-0.158618-1.1576041.4748400.393373OK1.0
120.02500.000000-0.5557860.555786NaNNaNNaN
130.0250-0.098038-1.0975971.2936730.320880OK1.0
140.03000.000000-0.5281490.528149NaNNaNNaN
150.0300-0.045311-1.0437351.1343570.264245OK1.0
160.03500.000000-0.5033060.503306NaNNaNNaN
170.03500.000516-0.9952950.9942620.219908OK2.0
180.04000.080563-1.9237081.7625820.757093OK0.5
190.05000.000000-0.4400610.440061NaNNaNNaN
200.05000.109979-0.8718690.6519110.133027OK2.0
210.05500.269912-1.6949711.1551480.475572OK1.0
220.06500.000000-0.7874070.787407NaNNaNNaN
230.06500.356925-1.5500880.8362370.358829OK1.0
240.07500.000000-0.7390680.739068NaNNaNNaN
250.07500.416686-1.4573790.6240070.298552OK1.0
260.08500.000000-0.6984870.698487NaNNaNNaN
270.08500.458273-1.3792910.4627450.258510OK1.0
280.09500.000000-0.6639160.663916NaNNaNNaN
290.09500.486127-1.3125390.3402850.230541OK2.0
300.10500.503627-1.2680380.260784NaNNaNNaN
310.10501.934646-2.542823-1.3264691.329814OK0.5
320.12500.179408-0.6356710.276854NaNNaNNaN
330.12500.368097-1.2535010.5173070.219374OK2.0
340.13500.392839-1.2026980.417019NaNNaNNaN
350.13501.526151-2.391435-0.6608680.942760OK0.5
360.15500.154723-0.5853040.275857NaNNaNNaN
370.15500.318934-1.1535520.5156840.188703OK2.0
380.16500.344323-1.1050590.416414NaNNaNNaN
390.16501.341740-2.193301-0.4901800.761235OK0.5
400.18500.139137-0.5343360.256062NaNNaNNaN
410.18500.287125-1.0529740.4787250.157819OK2.0
420.19500.310829-1.0083590.386700NaNNaNNaN
430.19501.212087-2.000564-0.4236110.627873OK1.0
440.21500.252699-0.9737580.468361NaNNaNNaN
450.21500.537812-1.8902020.8145780.502849OK1.0
460.23500.307109-0.8681780.253960NaNNaNNaN
470.23500.628392-1.6950720.4382880.384471OK1.0
480.25500.329604-0.7910280.131820NaNNaNNaN
490.25500.663161-1.5504160.2240940.321532OK1.0
500.27500.334268-0.7310700.062534NaNNaNNaN
510.27500.666854-1.4364560.1027490.279851OK1.0
520.29500.329151-0.6818110.023509NaNNaNNaN
530.29500.653600-1.3417580.0345590.247633OK2.0
\n", "
" ], "text/plain": [ " TIME Delta U Delta X Delta S caption L2 action step_factor\n", "0 0.0000 -0.500000 -1.500000 2.500000 NaN NaN NaN\n", "1 0.0000 -0.895000 -2.902500 4.692500 3.471676 ABORT 0.5\n", "2 0.0000 -0.250000 -0.750000 1.250000 NaN NaN NaN\n", "3 0.0000 -0.473750 -1.475625 2.423125 0.919271 OK 0.5\n", "4 0.0050 0.000000 -0.351293 0.351293 NaN NaN NaN\n", "5 0.0050 -0.199169 -0.697140 1.095478 0.191749 OK 2.0\n", "6 0.0075 -0.352527 -1.361850 2.066904 0.694556 OK 0.5\n", "7 0.0125 0.000000 -0.319854 0.319854 NaN NaN NaN\n", "8 0.0125 -0.133163 -0.635111 0.901436 0.137076 OK 2.0\n", "9 0.0150 -0.228936 -1.242846 1.700718 0.498836 OK 1.0\n", "10 0.0200 0.000000 -0.586591 0.586591 NaN NaN NaN\n", "11 0.0200 -0.158618 -1.157604 1.474840 0.393373 OK 1.0\n", "12 0.0250 0.000000 -0.555786 0.555786 NaN NaN NaN\n", "13 0.0250 -0.098038 -1.097597 1.293673 0.320880 OK 1.0\n", "14 0.0300 0.000000 -0.528149 0.528149 NaN NaN NaN\n", "15 0.0300 -0.045311 -1.043735 1.134357 0.264245 OK 1.0\n", "16 0.0350 0.000000 -0.503306 0.503306 NaN NaN NaN\n", "17 0.0350 0.000516 -0.995295 0.994262 0.219908 OK 2.0\n", "18 0.0400 0.080563 -1.923708 1.762582 0.757093 OK 0.5\n", "19 0.0500 0.000000 -0.440061 0.440061 NaN NaN NaN\n", "20 0.0500 0.109979 -0.871869 0.651911 0.133027 OK 2.0\n", "21 0.0550 0.269912 -1.694971 1.155148 0.475572 OK 1.0\n", "22 0.0650 0.000000 -0.787407 0.787407 NaN NaN NaN\n", "23 0.0650 0.356925 -1.550088 0.836237 0.358829 OK 1.0\n", "24 0.0750 0.000000 -0.739068 0.739068 NaN NaN NaN\n", "25 0.0750 0.416686 -1.457379 0.624007 0.298552 OK 1.0\n", "26 0.0850 0.000000 -0.698487 0.698487 NaN NaN NaN\n", "27 0.0850 0.458273 -1.379291 0.462745 0.258510 OK 1.0\n", "28 0.0950 0.000000 -0.663916 0.663916 NaN NaN NaN\n", "29 0.0950 0.486127 -1.312539 0.340285 0.230541 OK 2.0\n", "30 0.1050 0.503627 -1.268038 0.260784 NaN NaN NaN\n", "31 0.1050 1.934646 -2.542823 -1.326469 1.329814 OK 0.5\n", "32 0.1250 0.179408 -0.635671 0.276854 NaN NaN NaN\n", "33 0.1250 0.368097 -1.253501 0.517307 0.219374 OK 2.0\n", "34 0.1350 0.392839 -1.202698 0.417019 NaN NaN NaN\n", "35 0.1350 1.526151 -2.391435 -0.660868 0.942760 OK 0.5\n", "36 0.1550 0.154723 -0.585304 0.275857 NaN NaN NaN\n", "37 0.1550 0.318934 -1.153552 0.515684 0.188703 OK 2.0\n", "38 0.1650 0.344323 -1.105059 0.416414 NaN NaN NaN\n", "39 0.1650 1.341740 -2.193301 -0.490180 0.761235 OK 0.5\n", "40 0.1850 0.139137 -0.534336 0.256062 NaN NaN NaN\n", "41 0.1850 0.287125 -1.052974 0.478725 0.157819 OK 2.0\n", "42 0.1950 0.310829 -1.008359 0.386700 NaN NaN NaN\n", "43 0.1950 1.212087 -2.000564 -0.423611 0.627873 OK 1.0\n", "44 0.2150 0.252699 -0.973758 0.468361 NaN NaN NaN\n", "45 0.2150 0.537812 -1.890202 0.814578 0.502849 OK 1.0\n", "46 0.2350 0.307109 -0.868178 0.253960 NaN NaN NaN\n", "47 0.2350 0.628392 -1.695072 0.438288 0.384471 OK 1.0\n", "48 0.2550 0.329604 -0.791028 0.131820 NaN NaN NaN\n", "49 0.2550 0.663161 -1.550416 0.224094 0.321532 OK 1.0\n", "50 0.2750 0.334268 -0.731070 0.062534 NaN NaN NaN\n", "51 0.2750 0.666854 -1.436456 0.102749 0.279851 OK 1.0\n", "52 0.2950 0.329151 -0.681811 0.023509 NaN NaN NaN\n", "53 0.2950 0.653600 -1.341758 0.034559 0.247633 OK 2.0" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_decisions_data()" ] }, { "cell_type": "markdown", "id": "376ac947-fee3-467e-9dc5-b9c96b3b2a36", "metadata": {}, "source": [ "#### Notice how the first step got aborted, and re-run, because of the large adjusted L2 value in the concentrations " ] }, { "cell_type": "markdown", "id": "e91a16da-8d38-49c7-9de9-a11bf31391f2", "metadata": {}, "source": [ "# At time t=0.185 : " ] }, { "cell_type": "markdown", "id": "255b5bb9-0293-4140-b2fe-87e0cf96dc7a", "metadata": {}, "source": [ "## Data from this simulation (with substeps): \n", "[it took 39 computation steps]" ] }, { "cell_type": "code", "execution_count": 19, "id": "e2a7baa0-4bc4-44c3-a36d-168d068e020d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SYSTEM TIME 0.185\n", "U 55.979039\n", "X 70.568739\n", "S 17.473182\n", "caption \n", "Name: 39, dtype: object" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.iloc[39]" ] }, { "cell_type": "code", "execution_count": 20, "id": "36cfb8c8-9e34-4789-812c-12eb5a64bfc6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([55.97903913467732, 70.568739429991, 17.473182300654425],\n", " dtype=object)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "substep_data = df.iloc[39][['U', 'X', 'S']].to_numpy()\n", "substep_data" ] }, { "cell_type": "markdown", "id": "abd2ad4b-40cc-4c00-a935-e6c4e0568899", "metadata": {}, "source": [ "## Data from experiment `variable_steps_1` (no substeps, and same main steps as in here): \n", "[it took 21 computation steps]" ] }, { "cell_type": "code", "execution_count": 21, "id": "81c5d88b-94d4-4d04-925e-1087a7419393", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([54.631805, 71.02348 , 19.71291 ])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "no_substep_data = np.array([54.631805, 71.023480, 19.712910])\n", "no_substep_data" ] }, { "cell_type": "markdown", "id": "82c4af7e-63b4-4950-b0c3-27d9a5b0eea5", "metadata": {}, "source": [ "## Data from experiment `substeps_2` (with tiny fixed steps, used as a proxy for exact solution):" ] }, { "cell_type": "code", "execution_count": 22, "id": "c2a83e79-9b2a-41ef-8e4b-259e3d432745", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([54.529071, 71.351769, 19.590088])" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "exact_data = np.array([54.529071, 71.351769, 19.590088])\n", "exact_data" ] }, { "cell_type": "markdown", "id": "b546d682-7bed-41f0-8c58-ff6351d2307b", "metadata": {}, "source": [ "## Comparing the results:" ] }, { "cell_type": "code", "execution_count": 23, "id": "d2cfc1ef-8c2c-4372-94b1-9c80af8885d4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([1.44996813467732, 0.7830295700090062, 2.116905699345576],\n", " dtype=object)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "substep_error = abs(substep_data - exact_data)\n", "substep_error" ] }, { "cell_type": "code", "execution_count": 24, "id": "5c54eb00-5ad3-4a32-8102-085895a2ef0d", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.102734, 0.328289, 0.122822])" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "no_substep_error = abs(no_substep_data - exact_data)\n", "no_substep_error" ] }, { "cell_type": "markdown", "id": "dff3f822-f2ec-42c0-b1ab-6d0180edbca7", "metadata": {}, "source": [ "## Conclusions: \n", "In this scenario, the substeps option made the errors WORSE - in spite of a substantial number of extra steps. \n", "Also, substeps led to irregularies in the plot of the concentrations of S. \n", "At any rates, substeps are far less relevant ever since the introduction of variable (main) step." ] }, { "cell_type": "markdown", "id": "d6e10861-89a6-4755-8d29-34a01f87a416", "metadata": {}, "source": [ "# => IMPORTANT: This implementation of substeps was OBSOLETED in release Beta 26.3 - and is no longer used in Life123" ] }, { "cell_type": "code", "execution_count": null, "id": "1a867b44", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "jupytext": { "formats": "ipynb,py:percent" }, "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 }