{ "cells": [ { "cell_type": "markdown", "id": "49bcb5b0-f19d-4b96-a5f1-e0ae30f66d8f", "metadata": {}, "source": [ "## Exploration of variable time steps in the simulation of the coupled reactions:\n", "### `2 S <-> U` and `S <-> X` \n", "Both mostly forward. 1st-order kinetics throughout. \n", "\n", "Based on the reactions and initial conditions of the experiment `up_regulate_3`\n", "\n", "This experiment gets repeated, with very fine _fixed_ steps (as a proxy for the \"exact value\"), in `variable_steps_2`\n", "\n", "LAST REVISED: June 4, 2023" ] }, { "cell_type": "markdown", "id": "cdbeee8e-b67b-4462-9486-13a271636e9f", "metadata": {}, "source": [ "![Adaptive time steps](../../docs/variable_steps.png)" ] }, { "cell_type": "code", "execution_count": 1, "id": "d9efa3fd-e95d-4e1c-878a-81ae932b2709", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added 'D:\\Docs\\- MY CODE\\BioSimulations\\life123-Win7' to sys.path\n" ] } ], "source": [ "import set_path # Importing this module will add the project's home directory to sys.path" ] }, { "cell_type": "code", "execution_count": 2, "id": "01bae555-3dcf-42c1-bddc-9477a37f49f8", "metadata": { "tags": [] }, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from src.modules.reactions.reaction_data import ChemData as chem\n", "from src.modules.reactions.reaction_dynamics import ReactionDynamics\n", "\n", "import numpy as np\n", "import plotly.express as px\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 'variable_steps_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 `variable_steps_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(reaction_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": [ "\n", "(STEP 0) ANALYSIS: Examining Conc. Changes from System Time 0 due to tentative single step of 0.01:\n", " Baseline: [ 50. 100. 0.]\n", " Deltas: [-1. -3. 5.]\n", " Relative Deltas: [-0.02 -0.03 inf]\n", " Norms: {'norm_A': 3.888888888888889}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | abort 1.44 | (VALUE 3.8889)\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: abort (with step size factor of 0.5)\n", "INFO: the tentative time step (0.01) leads to a least one norm value > its ABORT threshold:\n", " -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.005) [Step started at t=0, and will rewind there]\n", "\n", "(STEP 0) ANALYSIS: Examining Conc. Changes from System Time 0 due to tentative single step of 0.005:\n", " Baseline: [ 50. 100. 0.]\n", " Deltas: [-0.5 -1.5 2.5]\n", " Relative Deltas: [-0.01 -0.015 inf]\n", " Norms: {'norm_A': 0.9722222222222222}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | (VALUE 0.97222) | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: high (with step size factor of 0.5)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.0025) at the next round, because at least one norm is high\n", " [The current step started at System Time: 0, and will continue to 0.005]\n", "\n", "(STEP 1) ANALYSIS: Examining Conc. Changes from System Time 0.005 due to tentative single step of 0.0025:\n", " Baseline: [49.5 98.5 2.5]\n", " Deltas: [-0.1975 -0.70125 1.09625]\n", " Relative Deltas: [-0.0039899 -0.00711929 0.4385 ]\n", " Norms: {'norm_A': 0.19250243055555555}\n", " Thresholds: \n", " norm_A : (VALUE 0.1925) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.0025) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.005) at the next round, because all norms are low\n", " [The current step started at System Time: 0.005, and will continue to 0.0075]\n", "\n", "(STEP 2) ANALYSIS: Examining Conc. Changes from System Time 0.0075 due to tentative single step of 0.005:\n", " Baseline: [49.3025 97.79875 3.59625]\n", " Deltas: [-0.349175 -1.35909375 2.05744375]\n", " Relative Deltas: [-0.0070823 -0.01389684 0.5721081 ]\n", " Norms: {'norm_A': 0.6891259762586809}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | (VALUE 0.68913) | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: high (with step size factor of 0.5)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.0025) at the next round, because at least one norm is high\n", " [The current step started at System Time: 0.0075, and will continue to 0.0125]\n", "\n", "(STEP 3) ANALYSIS: Examining Conc. Changes from System Time 0.0125 due to tentative single step of 0.0025:\n", " Baseline: [48.953325 96.43965625 5.65369375]\n", " Deltas: [-0.13169275 -0.63849202 0.90187752]\n", " Relative Deltas: [-0.00269017 -0.00662064 0.15952005]\n", " Norms: {'norm_A': 0.1375997875121511}\n", " Thresholds: \n", " norm_A : (VALUE 0.1376) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.0025) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.005) at the next round, because all norms are low\n", " [The current step started at System Time: 0.0125, and will continue to 0.015]\n", "\n", "(STEP 4) ANALYSIS: Examining Conc. Changes from System Time 0.015 due to tentative single step of 0.005:\n", " Baseline: [48.82163225 95.80116423 6.55557127]\n", " Deltas: [-0.22599347 -1.24035033 1.69233727]\n", " Relative Deltas: [-0.00462896 -0.01294713 0.25815252]\n", " Norms: {'norm_A': 0.494838601385062}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.49484) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.015, and will continue to 0.02]\n", "\n", "(STEP 5) ANALYSIS: Examining Conc. Changes from System Time 0.02 due to tentative single step of 0.005:\n", " Baseline: [48.59563878 94.56081391 8.24790853]\n", " Deltas: [-0.15604005 -1.17097495 1.48305505]\n", " Relative Deltas: [-0.00321099 -0.0123833 0.17980983]\n", " Norms: {'norm_A': 0.3994425670227834}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.39944) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.02, and will continue to 0.025]\n", "\n", "(STEP 6) ANALYSIS: Examining Conc. Changes from System Time 0.025 due to tentative single step of 0.005:\n", " Baseline: [48.43959873 93.38983896 9.73096358]\n", " Deltas: [-0.09515744 -1.10891868 1.29923357]\n", " Relative Deltas: [-0.00196446 -0.01187408 0.13351541]\n", " Norms: {'norm_A': 0.32519593644806855}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.3252) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.025, and will continue to 0.03]\n", "\n", "(STEP 7) ANALYSIS: Examining Conc. Changes from System Time 0.03 due to tentative single step of 0.005:\n", " Baseline: [48.34444129 92.28092028 11.03019715]\n", " Deltas: [-0.04223653 -1.05330789 1.13778094]\n", " Relative Deltas: [-0.00087366 -0.01141415 0.10315146]\n", " Norms: {'norm_A': 0.2673096568217399}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.26731) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.03, and will continue to 0.035]\n", "\n", "(STEP 8) ANALYSIS: Examining Conc. Changes from System Time 0.035 due to tentative single step of 0.005:\n", " Baseline: [48.30220476 91.22761239 12.16797809]\n", " Deltas: [ 0.00369708 -1.00337484 0.99598069]\n", " Relative Deltas: [ 7.65405221e-05 -1.09985871e-02 8.18526039e-02]\n", " Norms: {'norm_A': 0.22208358683873192}\n", " Thresholds: \n", " norm_A : (VALUE 0.22208) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.01) at the next round, because all norms are low\n", " [The current step started at System Time: 0.035, and will continue to 0.04]\n", "\n", "(STEP 9) ANALYSIS: Examining Conc. Changes from System Time 0.04 due to tentative single step of 0.01:\n", " Baseline: [48.30590184 90.22423755 13.16395878]\n", " Deltas: [ 0.08699867 -1.9168896 1.74289227]\n", " Relative Deltas: [ 0.00180099 -0.02124584 0.13239879]\n", " Norms: {'norm_A': 0.7466342181101149}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | (VALUE 0.74663) | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: high (with step size factor of 0.5)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.005) at the next round, because at least one norm is high\n", " [The current step started at System Time: 0.04, and will continue to 0.05]\n", "\n", "(STEP 10) ANALYSIS: Examining Conc. Changes from System Time 0.05 due to tentative single step of 0.005:\n", " Baseline: [48.3929005 88.30734795 14.90685105]\n", " Deltas: [ 0.11234504 -0.87740469 0.65271461]\n", " Relative Deltas: [ 0.00232152 -0.00993581 0.04378622]\n", " Norms: {'norm_A': 0.13427741784149083}\n", " Thresholds: \n", " norm_A : (VALUE 0.13428) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.005) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.01) at the next round, because all norms are low\n", " [The current step started at System Time: 0.05, and will continue to 0.055]\n", "\n", "(STEP 11) ANALYSIS: Examining Conc. Changes from System Time 0.055 due to tentative single step of 0.01:\n", " Baseline: [48.50524554 87.42994326 15.55956566]\n", " Deltas: [ 0.27466034 -1.68932436 1.14000367]\n", " Relative Deltas: [ 0.00566249 -0.01932203 0.07326706]\n", " Norms: {'norm_A': 0.4698737184351335}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.46987) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.055, and will continue to 0.065]\n", "\n", "(STEP 12) ANALYSIS: Examining Conc. Changes from System Time 0.065 due to tentative single step of 0.01:\n", " Baseline: [48.77990588 85.7406189 16.69956934]\n", " Deltas: [ 0.36036743 -1.57024441 0.84950955]\n", " Relative Deltas: [ 0.00738762 -0.01831389 0.05087015]\n", " Norms: {'norm_A': 0.3685776282283221}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.36858) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.065, and will continue to 0.075]\n", "\n", "(STEP 13) ANALYSIS: Examining Conc. Changes from System Time 0.075 due to tentative single step of 0.01:\n", " Baseline: [49.14027331 84.17037449 17.54907888]\n", " Deltas: [ 0.42112084 -1.4721665 0.62992481]\n", " Relative Deltas: [ 0.00856977 -0.01749032 0.03589504]\n", " Norms: {'norm_A': 0.3046024715786003}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.3046) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.075, and will continue to 0.085]\n", "\n", "(STEP 14) ANALYSIS: Examining Conc. Changes from System Time 0.085 due to tentative single step of 0.01:\n", " Baseline: [49.56139416 82.69820799 18.1790037 ]\n", " Deltas: [ 0.46309241 -1.39020602 0.46402119]\n", " Relative Deltas: [ 0.00934381 -0.01681059 0.02552512]\n", " Norms: {'norm_A': 0.2624936691312418}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.26249) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.085, and will continue to 0.095]\n", "\n", "(STEP 15) ANALYSIS: Examining Conc. Changes from System Time 0.095 due to tentative single step of 0.01:\n", " Baseline: [50.02448657 81.30800197 18.64302489]\n", " Deltas: [ 0.49095226 -1.32065857 0.33875405]\n", " Relative Deltas: [ 0.00981424 -0.01624266 0.01817055]\n", " Norms: {'norm_A': 0.23332527475445466}\n", " Thresholds: \n", " norm_A : (VALUE 0.23333) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low\n", " [The current step started at System Time: 0.095, and will continue to 0.105]\n", "\n", "(STEP 16) ANALYSIS: Examining Conc. Changes from System Time 0.105 due to tentative single step of 0.02:\n", " Baseline: [50.51543883 79.98734341 18.98177894]\n", " Deltas: [ 1.01646708 -2.52142713 0.48849298]\n", " Relative Deltas: [ 0.02012191 -0.03152283 0.02573484]\n", " Norms: {'norm_A': 0.847713943482735}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | (VALUE 0.84771) | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: high (with step size factor of 0.5)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.01) at the next round, because at least one norm is high\n", " [The current step started at System Time: 0.105, and will continue to 0.125]\n", "\n", "(STEP 17) ANALYSIS: Examining Conc. Changes from System Time 0.125 due to tentative single step of 0.01:\n", " Baseline: [51.5319059 77.46591628 19.47027191]\n", " Deltas: [ 0.52698364 -1.15576117 0.1017939 ]\n", " Relative Deltas: [ 0.01022636 -0.01491961 0.00522817]\n", " Norms: {'norm_A': 0.18042862670354223}\n", " Thresholds: \n", " norm_A : (VALUE 0.18043) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low\n", " [The current step started at System Time: 0.125, and will continue to 0.135]\n", "\n", "(STEP 18) ANALYSIS: Examining Conc. Changes from System Time 0.135 due to tentative single step of 0.02:\n", " Baseline: [52.05888954 76.3101551 19.57206582]\n", " Deltas: [ 1.04917495 -2.22996141 0.13161151]\n", " Relative Deltas: [ 0.02015362 -0.02922234 0.00672446]\n", " Norms: {'norm_A': 0.676757504987934}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | (VALUE 0.67676) | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: high (with step size factor of 0.5)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.01) at the next round, because at least one norm is high\n", " [The current step started at System Time: 0.135, and will continue to 0.155]\n", "\n", "(STEP 19) ANALYSIS: Examining Conc. Changes from System Time 0.155 due to tentative single step of 0.01:\n", " Baseline: [53.10806449 74.08019369 19.70367733]\n", " Deltas: [ 0.5141329 -1.04018517 0.01191938]\n", " Relative Deltas: [ 0.00968088 -0.01404134 0.00060493]\n", " Norms: {'norm_A': 0.149606655239135}\n", " Thresholds: \n", " norm_A : (VALUE 0.14961) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.01) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.02) at the next round, because all norms are low\n", " [The current step started at System Time: 0.155, and will continue to 0.165]\n", "\n", "(STEP 20) ANALYSIS: Examining Conc. Changes from System Time 0.165 due to tentative single step of 0.02:\n", " Baseline: [53.62219739 73.04000852 19.71559671]\n", " Deltas: [ 1.00960758 -2.01652891 -0.00268625]\n", " Relative Deltas: [ 0.01882816 -0.02760855 -0.00013625]\n", " Norms: {'norm_A': 0.5650781675774635}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.56508) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.165, and will continue to 0.185]\n", "\n", "(STEP 21) ANALYSIS: Examining Conc. Changes from System Time 0.185 due to tentative single step of 0.02:\n", " Baseline: [54.63180496 71.02347962 19.71291046]\n", " Deltas: [ 0.96879347 -1.89585952 -0.04172743]\n", " Relative Deltas: [ 0.01773314 -0.02669342 -0.00211676]\n", " Norms: {'norm_A': 0.5038428113796767}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.50384) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.185, and will continue to 0.205]\n", "\n", "(STEP 22) ANALYSIS: Examining Conc. Changes from System Time 0.205 due to tentative single step of 0.02:\n", " Baseline: [55.60059844 69.12762009 19.67118303]\n", " Deltas: [ 0.92336535 -1.78711524 -0.05961545]\n", " Relative Deltas: [ 0.01660711 -0.02585241 -0.0030306 ]\n", " Norms: {'norm_A': 0.4499931616991674}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.44999) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.205, and will continue to 0.225]\n", "\n", "(STEP 23) ANALYSIS: Examining Conc. Changes from System Time 0.225 due to tentative single step of 0.02:\n", " Baseline: [56.52396378 67.34050485 19.61156758]\n", " Deltas: [ 0.87689226 -1.68704218 -0.06674234]\n", " Relative Deltas: [ 0.01551364 -0.02505241 -0.00340321]\n", " Norms: {'norm_A': 0.4021673223106198}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.40217) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.225, and will continue to 0.245]\n", "\n", "(STEP 24) ANALYSIS: Examining Conc. Changes from System Time 0.245 due to tentative single step of 0.02:\n", " Baseline: [57.40085605 65.65346267 19.54482524]\n", " Deltas: [ 0.8311378 -1.59382873 -0.06844686]\n", " Relative Deltas: [ 0.01447954 -0.02427638 -0.00350205]\n", " Norms: {'norm_A': 0.3595294483481833}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.35953) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.245, and will continue to 0.265]\n", "\n", "(STEP 25) ANALYSIS: Examining Conc. Changes from System Time 0.265 due to tentative single step of 0.02:\n", " Baseline: [58.23199384 64.05963394 19.47637838]\n", " Deltas: [ 0.78694079 -1.50641263 -0.06746894]\n", " Relative Deltas: [ 0.01351389 -0.02351579 -0.00346414]\n", " Norms: {'norm_A': 0.32145631944741265}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.32146) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.265, and will continue to 0.285]\n", "\n", "(STEP 26) ANALYSIS: Examining Conc. Changes from System Time 0.285 due to tentative single step of 0.02:\n", " Baseline: [59.01893463 62.55322131 19.40890943]\n", " Deltas: [ 0.74466812 -1.42412415 -0.0652121 ]\n", " Relative Deltas: [ 0.01261744 -0.0227666 -0.00335991]\n", " Norms: {'norm_A': 0.2874347575511702}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.28743) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.285, and will continue to 0.305]\n", "\n", "(STEP 27) ANALYSIS: Examining Conc. Changes from System Time 0.305 due to tentative single step of 0.02:\n", " Baseline: [59.76360275 61.12909716 19.34369733]\n", " Deltas: [ 0.70444746 -1.34650215 -0.06239278]\n", " Relative Deltas: [ 0.01178723 -0.02202719 -0.00322548]\n", " Norms: {'norm_A': 0.25702301402562294}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.25702) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.305, and will continue to 0.325]\n", "\n", "(STEP 28) ANALYSIS: Examining Conc. Changes from System Time 0.325 due to tentative single step of 0.02:\n", " Baseline: [60.46805022 59.78259501 19.28130456]\n", " Deltas: [ 0.66628672 -1.27319915 -0.05937429]\n", " Relative Deltas: [ 0.01101882 -0.02129715 -0.00307937]\n", " Norms: {'norm_A': 0.22983326503644058}\n", " Thresholds: \n", " norm_A : (VALUE 0.22983) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.04) at the next round, because all norms are low\n", " [The current step started at System Time: 0.325, and will continue to 0.345]\n", "\n", "(STEP 29) ANALYSIS: Examining Conc. Changes from System Time 0.345 due to tentative single step of 0.04:\n", " Baseline: [61.13433694 58.50939586 19.22193027]\n", " Deltas: [ 1.26027073 -2.40786424 -0.11267722]\n", " Relative Deltas: [ 0.02061478 -0.04115346 -0.00586191]\n", " Norms: {'norm_A': 0.8220876292375117}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | (VALUE 0.82209) | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: high (with step size factor of 0.5)\n", "NOTICE: the tentative time step (0.04) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.02) at the next round, because at least one norm is high\n", " [The current step started at System Time: 0.345, and will continue to 0.385]\n", "\n", "(STEP 30) ANALYSIS: Examining Conc. Changes from System Time 0.385 due to tentative single step of 0.02:\n", " Baseline: [62.39460767 56.10153162 19.10925305]\n", " Deltas: [ 0.56169618 -1.07298153 -0.05041083]\n", " Relative Deltas: [ 0.00900232 -0.01912571 -0.00263803]\n", " Norms: {'norm_A': 0.16325924649115092}\n", " Thresholds: \n", " norm_A : (VALUE 0.16326) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.02) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.04) at the next round, because all norms are low\n", " [The current step started at System Time: 0.385, and will continue to 0.405]\n", "\n", "(STEP 31) ANALYSIS: Examining Conc. Changes from System Time 0.405 due to tentative single step of 0.04:\n", " Baseline: [62.95630385 55.02855009 19.05884222]\n", " Deltas: [ 1.0623252 -2.02930388 -0.09534652]\n", " Relative Deltas: [ 0.01687401 -0.03687729 -0.00500274]\n", " Norms: {'norm_A': 0.5839666694455721}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.58397) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.04) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.405, and will continue to 0.445]\n", "\n", "(STEP 32) ANALYSIS: Examining Conc. Changes from System Time 0.445 due to tentative single step of 0.04:\n", " Baseline: [64.01862905 52.99924621 18.96349569]\n", " Deltas: [ 0.9468283 -1.80867058 -0.08498602]\n", " Relative Deltas: [ 0.01478989 -0.03412635 -0.00448156]\n", " Norms: {'norm_A': 0.4638884123583411}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.46389) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.04) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.445, and will continue to 0.485]\n", "\n", "(STEP 33) ANALYSIS: Examining Conc. Changes from System Time 0.485 due to tentative single step of 0.04:\n", " Baseline: [64.96545735 51.19057563 18.87850968]\n", " Deltas: [ 0.84388651 -1.61202675 -0.07574626]\n", " Relative Deltas: [ 0.01298977 -0.03149069 -0.0040123 ]\n", " Norms: {'norm_A': 0.36850135438022225}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.3685) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.04) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.485, and will continue to 0.525]\n", "\n", "(STEP 34) ANALYSIS: Examining Conc. Changes from System Time 0.525 due to tentative single step of 0.04:\n", " Baseline: [65.80934386 49.57854888 18.80276341]\n", " Deltas: [ 0.75213678 -1.43676265 -0.06751092]\n", " Relative Deltas: [ 0.01142903 -0.02897952 -0.00359048]\n", " Norms: {'norm_A': 0.29272826302332505}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.29273) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.04) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.525, and will continue to 0.565]\n", "\n", "(STEP 35) ANALYSIS: Examining Conc. Changes from System Time 0.565 due to tentative single step of 0.04:\n", " Baseline: [66.56148064 48.14178623 18.73525249]\n", " Deltas: [ 0.67036235 -1.28055375 -0.06017094]\n", " Relative Deltas: [ 0.01007133 -0.02659963 -0.00321164]\n", " Norms: {'norm_A': 0.23253601370675195}\n", " Thresholds: \n", " norm_A : (VALUE 0.23254) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.04) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.08) at the next round, because all norms are low\n", " [The current step started at System Time: 0.565, and will continue to 0.605]\n", "\n", "(STEP 36) ANALYSIS: Examining Conc. Changes from System Time 0.605 due to tentative single step of 0.08:\n", " Baseline: [67.23184299 46.86123248 18.67508155]\n", " Deltas: [ 1.19495731 -2.28265665 -0.10725798]\n", " Relative Deltas: [ 0.01777368 -0.04871098 -0.00574337]\n", " Norms: {'norm_A': 0.7388831828204337}\n", " Thresholds: \n", " norm_A : low 0.25 | high 0.64 | (VALUE 0.73888) | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: high (with step size factor of 0.5)\n", "NOTICE: the tentative time step (0.08) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL SMALLER, multiplied by 0.5 (set to 0.04) at the next round, because at least one norm is high\n", " [The current step started at System Time: 0.605, and will continue to 0.685]\n", "\n", "(STEP 37) ANALYSIS: Examining Conc. Changes from System Time 0.685 due to tentative single step of 0.04:\n", " Baseline: [68.4268003 44.57857583 18.56782357]\n", " Deltas: [ 0.46755952 -0.89315144 -0.0419676 ]\n", " Relative Deltas: [ 0.00683299 -0.02003544 -0.00226023]\n", " Norms: {'norm_A': 0.11312140907262146}\n", " Thresholds: \n", " norm_A : (VALUE 0.11312) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.04) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.08) at the next round, because all norms are low\n", " [The current step started at System Time: 0.685, and will continue to 0.725]\n", "\n", "(STEP 38) ANALYSIS: Examining Conc. Changes from System Time 0.725 due to tentative single step of 0.08:\n", " Baseline: [68.89435982 43.68542439 18.52585598]\n", " Deltas: [ 0.83345025 -1.59209098 -0.07480952]\n", " Relative Deltas: [ 0.01209751 -0.03644444 -0.00403811]\n", " Norms: {'norm_A': 0.3594432769718806}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.35944) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.08) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.725, and will continue to 0.805]\n", "\n", "(STEP 39) ANALYSIS: Examining Conc. Changes from System Time 0.805 due to tentative single step of 0.08:\n", " Baseline: [69.72781007 42.0933334 18.45104645]\n", " Deltas: [ 0.65222012 -1.24589772 -0.05854252]\n", " Relative Deltas: [ 0.0093538 -0.02959846 -0.00317286]\n", " Norms: {'norm_A': 0.2201199373223358}\n", " Thresholds: \n", " norm_A : (VALUE 0.22012) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.08) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.16) at the next round, because all norms are low\n", " [The current step started at System Time: 0.805, and will continue to 0.885]\n", "\n", "(STEP 40) ANALYSIS: Examining Conc. Changes from System Time 0.885 due to tentative single step of 0.16:\n", " Baseline: [70.38003019 40.84743568 18.39250394]\n", " Deltas: [ 1.02079538 -1.94996535 -0.0916254 ]\n", " Relative Deltas: [ 0.01450405 -0.04773777 -0.00498167]\n", " Norms: {'norm_A': 0.5391981423603522}\n", " Thresholds: \n", " norm_A : low 0.25 | (VALUE 0.5392) | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: stay (with step size factor of 1)\n", "NOTICE: the tentative time step (0.16) results in norm values that leads to the following:\n", "ACTION: COMPLETE NORMALLY - we're inside the target range. No change to step size.\n", " [The current step started at System Time: 0.885, and will continue to 1.045]\n", "\n", "(STEP 41) ANALYSIS: Examining Conc. Changes from System Time 1.045 due to tentative single step of 0.16:\n", " Baseline: [71.40082557 38.89747033 18.30087853]\n", " Deltas: [ 0.57686034 -1.10194237 -0.05177831]\n", " Relative Deltas: [ 0.00807918 -0.02832941 -0.00282928]\n", " Norms: {'norm_A': 0.17219175887655633}\n", " Thresholds: \n", " norm_A : (VALUE 0.17219) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.16) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.32) at the next round, because all norms are low\n", " [The current step started at System Time: 1.045, and will continue to 1.205]\n", "\n", "(STEP 42) ANALYSIS: Examining Conc. Changes from System Time 1.205 due to tentative single step of 0.32:\n", " Baseline: [71.97768591 37.79552796 18.24910022]\n", " Deltas: [ 0.65197758 -1.24543442 -0.05852075]\n", " Relative Deltas: [ 0.00905805 -0.0329519 -0.00320677]\n", " Norms: {'norm_A': 0.21995626094117085}\n", " Thresholds: \n", " norm_A : (VALUE 0.21996) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.32) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 0.64) at the next round, because all norms are low\n", " [The current step started at System Time: 1.205, and will continue to 1.525]\n", "\n", "(STEP 43) ANALYSIS: Examining Conc. Changes from System Time 1.525 due to tentative single step of 0.64:\n", " Baseline: [72.62966349 36.55009354 18.19057947]\n", " Deltas: [ 0.16979763 -0.32435443 -0.01524084]\n", " Relative Deltas: [ 0.00233786 -0.00887424 -0.00083784]\n", " Norms: {'norm_A': 0.01491881249157113}\n", " Thresholds: \n", " norm_A : (VALUE 0.014919) | low 0.25 | high 0.64 | abort 1.44\n", " Step Factors: {'upshift': 2.0, 'downshift': 0.5, 'abort': 0.5}\n", " => Action: low (with step size factor of 2.0)\n", "NOTICE: the tentative time step (0.64) results in norm values that leads to the following:\n", "ACTION: COMPLETE STEP NORMALLY and MAKE THE INTERVAL LARGER, multiplied by 2.0 (set to 1.28) at the next round, because all norms are low\n", " [The current step started at System Time: 1.525, and will continue to 2.165]\n", "44 total step(s) taken\n" ] } ], "source": [ "dynamics.set_diagnostics() # To save diagnostic information about the call to single_compartment_react()\n", "\n", "# All of these settings are currently close to the default values... but subject to change; set for repeatability\n", "dynamics.set_thresholds(norm=\"norm_A\", low=0.25, high=0.64, abort=1.44)\n", "dynamics.set_thresholds(norm=\"norm_B\") # We are disabling norm_B (to conform to the original run)\n", "dynamics.set_step_factors(upshift=2.0, downshift=0.5, abort=0.5) # Note: upshift=2.0 seems to often be excessive. About 1.4 is currently recommended\n", "dynamics.set_error_step_factor(0.5)\n", "\n", "dynamics.single_compartment_react(initial_step=0.01, target_end_time=2.0, \n", " variable_steps=True, explain_variable_steps=True)" ] }, { "cell_type": "code", "execution_count": 7, "id": "8a57c6d4-32cc-4351-8ad8-2e8b30e9fecf", "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", "
SYSTEM TIMEUXScaption
00.000050.000000100.0000000.000000Initial state
10.005049.50000098.5000002.500000
20.007549.30250097.7987503.596250
30.012548.95332596.4396565.653694
40.015048.82163295.8011646.555571
50.020048.59563994.5608148.247909
60.025048.43959993.3898399.730964
70.030048.34444192.28092011.030197
80.035048.30220591.22761212.167978
90.040048.30590290.22423813.163959
100.050048.39290188.30734814.906851
110.055048.50524687.42994315.559566
120.065048.77990685.74061916.699569
130.075049.14027384.17037417.549079
140.085049.56139482.69820818.179004
150.095050.02448781.30800218.643025
160.105050.51543979.98734318.981779
170.125051.53190677.46591619.470272
180.135052.05889076.31015519.572066
190.155053.10806474.08019419.703677
200.165053.62219773.04000919.715597
210.185054.63180571.02348019.712910
220.205055.60059869.12762019.671183
230.225056.52396467.34050519.611568
240.245057.40085665.65346319.544825
250.265058.23199464.05963419.476378
260.285059.01893562.55322119.408909
270.305059.76360361.12909719.343697
280.325060.46805059.78259519.281305
290.345061.13433758.50939619.221930
300.385062.39460856.10153219.109253
310.405062.95630455.02855019.058842
320.445064.01862952.99924618.963496
330.485064.96545751.19057618.878510
340.525065.80934449.57854918.802763
350.565066.56148148.14178618.735252
360.605067.23184346.86123218.675082
370.685068.42680044.57857618.567824
380.725068.89436043.68542418.525856
390.805069.72781042.09333318.451046
400.885070.38003040.84743618.392504
411.045071.40082638.89747018.300879
421.205071.97768637.79552818.249100
431.525072.62966336.55009418.190579
442.165072.79946136.22573918.175339
\n", "
" ], "text/plain": [ " SYSTEM TIME U X S caption\n", "0 0.0000 50.000000 100.000000 0.000000 Initial state\n", "1 0.0050 49.500000 98.500000 2.500000 \n", "2 0.0075 49.302500 97.798750 3.596250 \n", "3 0.0125 48.953325 96.439656 5.653694 \n", "4 0.0150 48.821632 95.801164 6.555571 \n", "5 0.0200 48.595639 94.560814 8.247909 \n", "6 0.0250 48.439599 93.389839 9.730964 \n", "7 0.0300 48.344441 92.280920 11.030197 \n", "8 0.0350 48.302205 91.227612 12.167978 \n", "9 0.0400 48.305902 90.224238 13.163959 \n", "10 0.0500 48.392901 88.307348 14.906851 \n", "11 0.0550 48.505246 87.429943 15.559566 \n", "12 0.0650 48.779906 85.740619 16.699569 \n", "13 0.0750 49.140273 84.170374 17.549079 \n", "14 0.0850 49.561394 82.698208 18.179004 \n", "15 0.0950 50.024487 81.308002 18.643025 \n", "16 0.1050 50.515439 79.987343 18.981779 \n", "17 0.1250 51.531906 77.465916 19.470272 \n", "18 0.1350 52.058890 76.310155 19.572066 \n", "19 0.1550 53.108064 74.080194 19.703677 \n", "20 0.1650 53.622197 73.040009 19.715597 \n", "21 0.1850 54.631805 71.023480 19.712910 \n", "22 0.2050 55.600598 69.127620 19.671183 \n", "23 0.2250 56.523964 67.340505 19.611568 \n", "24 0.2450 57.400856 65.653463 19.544825 \n", "25 0.2650 58.231994 64.059634 19.476378 \n", "26 0.2850 59.018935 62.553221 19.408909 \n", "27 0.3050 59.763603 61.129097 19.343697 \n", "28 0.3250 60.468050 59.782595 19.281305 \n", "29 0.3450 61.134337 58.509396 19.221930 \n", "30 0.3850 62.394608 56.101532 19.109253 \n", "31 0.4050 62.956304 55.028550 19.058842 \n", "32 0.4450 64.018629 52.999246 18.963496 \n", "33 0.4850 64.965457 51.190576 18.878510 \n", "34 0.5250 65.809344 49.578549 18.802763 \n", "35 0.5650 66.561481 48.141786 18.735252 \n", "36 0.6050 67.231843 46.861232 18.675082 \n", "37 0.6850 68.426800 44.578576 18.567824 \n", "38 0.7250 68.894360 43.685424 18.525856 \n", "39 0.8050 69.727810 42.093333 18.451046 \n", "40 0.8850 70.380030 40.847436 18.392504 \n", "41 1.0450 71.400826 38.897470 18.300879 \n", "42 1.2050 71.977686 37.795528 18.249100 \n", "43 1.5250 72.629663 36.550094 18.190579 \n", "44 2.1650 72.799461 36.225739 18.175339 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_history()" ] }, { "cell_type": "code", "execution_count": 8, "id": "12da63da-9b3b-4c43-a68b-7dfb6585b9d0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From time 0 to 0.005, in 1 step of 0.005\n", "From time 0.005 to 0.0075, in 1 step of 0.0025\n", "From time 0.0075 to 0.0125, in 1 step of 0.005\n", "From time 0.0125 to 0.015, in 1 step of 0.0025\n", "From time 0.015 to 0.04, in 5 steps of 0.005\n", "From time 0.04 to 0.05, in 1 step of 0.01\n", "From time 0.05 to 0.055, in 1 step of 0.005\n", "From time 0.055 to 0.105, in 5 steps of 0.01\n", "From time 0.105 to 0.125, in 1 step of 0.02\n", "From time 0.125 to 0.135, in 1 step of 0.01\n", "From time 0.135 to 0.155, in 1 step of 0.02\n", "From time 0.155 to 0.165, in 1 step of 0.01\n", "From time 0.165 to 0.345, in 9 steps of 0.02\n", "From time 0.345 to 0.385, in 1 step of 0.04\n", "From time 0.385 to 0.405, in 1 step of 0.02\n", "From time 0.405 to 0.605, in 5 steps of 0.04\n", "From time 0.605 to 0.685, in 1 step of 0.08\n", "From time 0.685 to 0.725, in 1 step of 0.04\n", "From time 0.725 to 0.885, in 2 steps of 0.08\n", "From time 0.885 to 1.205, in 2 steps of 0.16\n", "From time 1.205 to 1.525, in 1 step of 0.32\n", "From time 1.525 to 2.165, in 1 step of 0.64\n", "(44 steps total)\n" ] } ], "source": [ "(transition_times, step_sizes) = dynamics.explain_time_advance(return_times=True)" ] }, { "cell_type": "code", "execution_count": 9, "id": "438e4ec0-44f7-4c0d-b6a6-4a435da6e683", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.005 , 0.0025, 0.005 , 0.0025, 0.005 , 0.01 , 0.005 , 0.01 ,\n", " 0.02 , 0.01 , 0.02 , 0.01 , 0.02 , 0.04 , 0.02 , 0.04 ,\n", " 0.08 , 0.04 , 0.08 , 0.16 , 0.32 , 0.64 ])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.array(step_sizes)" ] }, { "cell_type": "code", "execution_count": 10, "id": "74d500e5-0b59-419c-90ae-4948eb7c8611", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0. , 0.005 , 0.0075, 0.0125, 0.015 , 0.04 , 0.05 , 0.055 ,\n", " 0.105 , 0.125 , 0.135 , 0.155 , 0.165 , 0.345 , 0.385 , 0.405 ,\n", " 0.605 , 0.685 , 0.725 , 0.885 , 1.205 , 1.525 , 2.165 ])" ] }, "execution_count": 10, "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": 11, "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 50, 49.5, 49.3025, 48.953325, 48.82163225, 48.595638778125, 48.439598731740624, 48.34444128763423, 48.30220476057483, 48.30590183654385, 48.39290050226037, 48.5052455391863, 48.7799058814107, 49.14027331067588, 49.56139415522215, 50.02448656789047, 50.51543882771388, 51.5319059043599, 52.05888953946266, 53.10806448877514, 53.6221973851961, 54.631804962718874, 55.60059843741017, 56.52396378475239, 57.400856045782184, 58.231993841938426, 59.018934628561645, 59.76360275298115, 60.468050216020096, 61.13433693633931, 62.39460766762712, 62.95630384813689, 64.01862904935517, 64.96545734689445, 65.8093438554794, 66.56148063896055, 67.23184298514343, 68.4268002988057, 68.89435981841929, 69.72781007217334, 70.38003019051833, 71.40082556698592, 71.97768590721373, 72.62966349214221, 72.7994611238083 ], "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 100, 98.5, 97.79875, 96.43965625, 95.801164234375, 94.56081390882812, 93.38983895624335, 92.28092027930796, 91.22761238948105, 90.22423754631991, 88.30734794676586, 87.42994325902578, 85.7406189010111, 84.17037449415082, 82.69820799239614, 81.30800197445382, 79.98734340860611, 77.46591627640568, 76.31015510300598, 74.08019369499387, 73.0400085237914, 71.02347961706188, 69.12762009493821, 67.34050485287088, 65.65346267101354, 64.05963393924337, 62.55322130811434, 61.12909716179896, 59.782595011959664, 58.5093958579621, 56.10153161965286, 55.02855008788483, 52.99924620914057, 51.19057563015947, 49.578548876792716, 48.14178623051722, 46.86123248082995, 44.57857582889467, 43.685424387065844, 42.0933334026959, 40.84743568346842, 38.897470333478665, 37.79552796465638, 36.5500935427452, 36.2257391168805 ], "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 0, 2.5, 3.59625, 5.65369375, 6.555571265625001, 8.247908534921876, 9.730963580275391, 11.03019714542356, 12.167978089369273, 13.163958780592365, 14.906851048713396, 15.559565662601617, 16.699569336167485, 17.5490788844974, 18.179003697159533, 18.643024889765208, 18.981778935966094, 19.470271914874488, 19.572065818068666, 19.703677327455825, 19.715596705816367, 19.712910457500335, 19.671183030241412, 19.611567577624296, 19.54482523742205, 19.476378376879737, 19.40890943476233, 19.343697332238698, 19.2813045560001, 19.221930269359245, 19.10925304509285, 19.058842215841338, 18.963495692149042, 18.878509676051582, 18.80276341224844, 18.735252491561642, 18.67508154888315, 18.56782357349389, 18.52585597609554, 18.451046452957367, 18.392503935494886, 18.300878532549454, 18.24910022091612, 18.190579472970335, 18.17533863550288 ], "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": true, "domain": [ 0, 1 ], "range": [ 0, 2.165 ], "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": [ "dynamics.plot_curves(colors=['green', 'orange', 'blue'])" ] }, { "cell_type": "code", "execution_count": 12, "id": "2f07ad6b-a1c9-4d99-8108-72b16727303d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Min abs distance found at data row: 28\n" ] }, { "data": { "text/plain": [ "(0.3183157284824908, 60.23261431038145)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.curve_intersection(\"U\", \"X\", t_start=0.3, t_end=0.35) # Compare with the value from experiment \"variable_steps_2\"" ] }, { "cell_type": "code", "execution_count": 13, "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 50, 49.5, 49.3025, 48.953325, 48.82163225, 48.595638778125, 48.439598731740624, 48.34444128763423, 48.30220476057483, 48.30590183654385, 48.39290050226037, 48.5052455391863, 48.7799058814107, 49.14027331067588, 49.56139415522215, 50.02448656789047, 50.51543882771388, 51.5319059043599, 52.05888953946266, 53.10806448877514, 53.6221973851961, 54.631804962718874, 55.60059843741017, 56.52396378475239, 57.400856045782184, 58.231993841938426, 59.018934628561645, 59.76360275298115, 60.468050216020096, 61.13433693633931, 62.39460766762712, 62.95630384813689, 64.01862904935517, 64.96545734689445, 65.8093438554794, 66.56148063896055, 67.23184298514343, 68.4268002988057, 68.89435981841929, 69.72781007217334, 70.38003019051833, 71.40082556698592, 71.97768590721373, 72.62966349214221, 72.7994611238083 ], "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 100, 98.5, 97.79875, 96.43965625, 95.801164234375, 94.56081390882812, 93.38983895624335, 92.28092027930796, 91.22761238948105, 90.22423754631991, 88.30734794676586, 87.42994325902578, 85.7406189010111, 84.17037449415082, 82.69820799239614, 81.30800197445382, 79.98734340860611, 77.46591627640568, 76.31015510300598, 74.08019369499387, 73.0400085237914, 71.02347961706188, 69.12762009493821, 67.34050485287088, 65.65346267101354, 64.05963393924337, 62.55322130811434, 61.12909716179896, 59.782595011959664, 58.5093958579621, 56.10153161965286, 55.02855008788483, 52.99924620914057, 51.19057563015947, 49.578548876792716, 48.14178623051722, 46.86123248082995, 44.57857582889467, 43.685424387065844, 42.0933334026959, 40.84743568346842, 38.897470333478665, 37.79552796465638, 36.5500935427452, 36.2257391168805 ], "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 0, 2.5, 3.59625, 5.65369375, 6.555571265625001, 8.247908534921876, 9.730963580275391, 11.03019714542356, 12.167978089369273, 13.163958780592365, 14.906851048713396, 15.559565662601617, 16.699569336167485, 17.5490788844974, 18.179003697159533, 18.643024889765208, 18.981778935966094, 19.470271914874488, 19.572065818068666, 19.703677327455825, 19.715596705816367, 19.712910457500335, 19.671183030241412, 19.611567577624296, 19.54482523742205, 19.476378376879737, 19.40890943476233, 19.343697332238698, 19.2813045560001, 19.221930269359245, 19.10925304509285, 19.058842215841338, 18.963495692149042, 18.878509676051582, 18.80276341224844, 18.735252491561642, 18.67508154888315, 18.56782357349389, 18.52585597609554, 18.451046452957367, 18.392503935494886, 18.300878532549454, 18.24910022091612, 18.190579472970335, 18.17533863550288 ], "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.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.025, "x1": 0.025, "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.035, "x1": 0.035, "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.075, "x1": 0.075, "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.09499999999999999, "x1": 0.09499999999999999, "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.20499999999999996, "x1": 0.20499999999999996, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.22499999999999995, "x1": 0.22499999999999995, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.24499999999999994, "x1": 0.24499999999999994, "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.285, "x1": 0.285, "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.325, "x1": 0.325, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.34500000000000003, "x1": 0.34500000000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.385, "x1": 0.385, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.405, "x1": 0.405, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.445, "x1": 0.445, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.485, "x1": 0.485, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.525, "x1": 0.525, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5650000000000001, "x1": 0.5650000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.6050000000000001, "x1": 0.6050000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.685, "x1": 0.685, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7250000000000001, "x1": 0.7250000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.805, "x1": 0.805, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.885, "x1": 0.885, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.045, "x1": 1.045, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.2049999999999998, "x1": 1.2049999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.525, "x1": 1.525, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 2.165, "x1": 2.165, "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.001732, 2.166732 ], "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": "iVBORw0KGgoAAAANSUhEUgAAAx8AAAFoCAYAAAA2HEb1AAAAAXNSR0IArs4c6QAAIABJREFUeF7snQmYFNW59//dPT37MDDDJjDsKossghKiBEGJRkRUFINKgpKriOZm0atXk9yLfjde/PQz4SYmBI06aiKECLmJisGAAQQFQfZNdmbYHGaAYfalu7/nVHf1VPdUd1d3VS9V/a/nmWdmqs/ynt97avn3Oe85No/H4wEPEiABEiABEiABEiABEiABEogzARvFR5wJs3gSIAESIAESIAESIAESIAGJAMUHOwIJkAAJkAAJkAAJkAAJkEBCCFB8JAQzKyEBEiABEiABEiABEiABEqD4YB8gARIgARIgARIgARIgARJICAGKj4RgZiUkQAIkQAIkQAIkQAIkQAIUH+wDJEACJEACJEACJEACJEACCSFA8ZEQzKyEBEiABEiABEiABEiABEiA4oN9gARIgARIgARIgARIgARIICEEKD4SgpmVkAAJkAAJkAAJkAAJkAAJUHywD5AACZAACZAACZAACZAACSSEAMVHQjCzEhIgARIgARIgARIgARIgAYoP9gESIAESIAESIAESIAESIIGEEKD4SAhmVkICJEACJEACJEACJEACJEDxwT5AAiRAAiRAAiRAAiRAAiSQEAIUHwnBzEpIgARIgARIgARIgARIgAQoPtgHSIAESIAESIAESIAESIAEEkKA4iMhmFkJCZAACZAACZAACZAACZAAxQf7AAmQAAmQAAmQAAmQAAmQQEIIUHwkBDMrIQESIAESIAESIAESIAESoPhgHyABEiABEiABEiABEiABEkgIAYqPhGBmJSRAAiRAAiRAAiRAAiRAAhQf7AMkQAIkQAIkQAIkQAIkQAIJIUDxkRDMrIQESIAESIAESIAESIAESIDig32ABEiABEiABEiABEiABEggIQQoPhKCmZWQAAmQAAmQAAmQAAmQAAlQfLAPkAAJkAAJkAAJkAAJkAAJJIQAxUdCMLMSEiABEiABEiABEiABEiABig/2ARIgARIgARIgARIgARIggYQQoPhICGZWQgIkQAIkQAIkQAIkQAIkQPHBPkACJEACJEACJEACJEACJJAQAhQfCcHMSkiABEiABEiABEiABEiABCg+2AdIgARIgARIgARIgARIgAQSQoDiIyGYWQkJkAAJkAAJkAAJkAAJ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wFQjH2ZxlVB2YvREOY88HnORzcKDdpIACZAACZBAOAJa4hBI0EuA4oM9wewEKD7i4MHg4TBRhZWG5+OAjEWSAAmQAAmkMQF52kzw0vdpjCRk0yk+2CvMToDiw+wepP0kQAIkQAIkQAIkQAIkYBICFB8mcRTNJAESIAESIAESIAESIAGzE6D4MLsHaT8JkAAJkAAJkAAJkAAJmIQAxYdJHEUzSYAESIAESIAESIAESMDsBCg+zO5B2k8CJEACJEACJEACJEACJiFA8WESR9FMEiABEiABEiABEiABEjA7AYoPs3uQ9pMACZAACZAACZAACZCASQhQfJjEUTSTBEiABEiABEiABEiABMxOgOLD7B6k/SRAAiRAAiRAAiRAAiRgEgIUHyZxFM0kARIgARIgARIgARIgAbMToPgwuwdpPwmQAAmQAAmQAAmQAAmYhADFh0kcRTNJgARIgARIgARIgARIwOwEKD7M7kHaTwIkQAIkQAIkQAIkQAImIUDxYRJH0UwSIAESIAESIAESIAESMDsBig+ze5D2kwAJkAAJkAAJkAAJkIBJCFB8mMRRNJMESIAESIAESIAESIAEzE6A4sPsHqT9JEACJEACJEACJEACJGASAhQfJnEUzSQBEiABEiABEiABEiABsxOg+DC7B2k/CZAACZAACZAACZAACZiEAMWHSRxFM0mABEiABEiABEiABEjA7AQoPszuQdpPAiRAAiRAAiRAAiRAAiYhQPFhEkfRTBIgARIgARIgARIgARIwOwGKD7N7kPaTAAmQAAmQAAmQAAmQgEkIUHyYxFE0kwRIgARIgARIgARIgATMToDiw+wepP0kQAIkQAIkQAIkQAIkYBICFB8mcRTNJAESIAESIAESIAESIAGzE6D4MLsHaT8JkAAJkAAJkAAJkAAJmIQAxYdJHEUzSYAESIAESIAESIAESMDsBCg+zO5B2k8CJEACJEACJEACJEACJiFA8WESR9FMEiABEiABEiABEiABEjA7AYoPs3uQ9pMACZAACZAACZAACZCASQhQfJjEUTSTBEiABEiABEiABEiABMxOgOLD7B6k/SRAAiRAAiRAAiRAAiRgEgIUHyZxFM0kARIgARIgARIgARIgAbMToPgwuwdpPwmQAAmQAAmQAAmQAAmYhADFh0kcRTNJgARIgARIgARIgARIwOwEKD7M7kHa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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_curves(colors=['green', 'orange', 'blue'], show_intervals=True)" ] }, { "cell_type": "code", "execution_count": 14, "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 50, 49.5, 49.3025, 48.953325, 48.82163225, 48.595638778125, 48.439598731740624, 48.34444128763423, 48.30220476057483, 48.30590183654385, 48.39290050226037, 48.5052455391863, 48.7799058814107, 49.14027331067588, 49.56139415522215, 50.02448656789047, 50.51543882771388, 51.5319059043599, 52.05888953946266, 53.10806448877514, 53.6221973851961, 54.631804962718874, 55.60059843741017, 56.52396378475239, 57.400856045782184, 58.231993841938426, 59.018934628561645, 59.76360275298115, 60.468050216020096, 61.13433693633931, 62.39460766762712, 62.95630384813689, 64.01862904935517, 64.96545734689445, 65.8093438554794, 66.56148063896055, 67.23184298514343, 68.4268002988057, 68.89435981841929, 69.72781007217334, 70.38003019051833, 71.40082556698592, 71.97768590721373, 72.62966349214221, 72.7994611238083 ], "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 100, 98.5, 97.79875, 96.43965625, 95.801164234375, 94.56081390882812, 93.38983895624335, 92.28092027930796, 91.22761238948105, 90.22423754631991, 88.30734794676586, 87.42994325902578, 85.7406189010111, 84.17037449415082, 82.69820799239614, 81.30800197445382, 79.98734340860611, 77.46591627640568, 76.31015510300598, 74.08019369499387, 73.0400085237914, 71.02347961706188, 69.12762009493821, 67.34050485287088, 65.65346267101354, 64.05963393924337, 62.55322130811434, 61.12909716179896, 59.782595011959664, 58.5093958579621, 56.10153161965286, 55.02855008788483, 52.99924620914057, 51.19057563015947, 49.578548876792716, 48.14178623051722, 46.86123248082995, 44.57857582889467, 43.685424387065844, 42.0933334026959, 40.84743568346842, 38.897470333478665, 37.79552796465638, 36.5500935427452, 36.2257391168805 ], "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.0075, 0.0125, 0.015000000000000001, 0.02, 0.025, 0.030000000000000002, 0.035, 0.04, 0.05, 0.055, 0.065, 0.075, 0.08499999999999999, 0.09499999999999999, 0.10499999999999998, 0.12499999999999999, 0.13499999999999998, 0.15499999999999997, 0.16499999999999998, 0.18499999999999997, 0.20499999999999996, 0.22499999999999995, 0.24499999999999994, 0.26499999999999996, 0.285, 0.305, 0.325, 0.34500000000000003, 0.385, 0.405, 0.445, 0.485, 0.525, 0.5650000000000001, 0.6050000000000001, 0.685, 0.7250000000000001, 0.805, 0.885, 1.045, 1.2049999999999998, 1.525, 2.165 ], "xaxis": "x", "y": [ 0, 2.5, 3.59625, 5.65369375, 6.555571265625001, 8.247908534921876, 9.730963580275391, 11.03019714542356, 12.167978089369273, 13.163958780592365, 14.906851048713396, 15.559565662601617, 16.699569336167485, 17.5490788844974, 18.179003697159533, 18.643024889765208, 18.981778935966094, 19.470271914874488, 19.572065818068666, 19.703677327455825, 19.715596705816367, 19.712910457500335, 19.671183030241412, 19.611567577624296, 19.54482523742205, 19.476378376879737, 19.40890943476233, 19.343697332238698, 19.2813045560001, 19.221930269359245, 19.10925304509285, 19.058842215841338, 18.963495692149042, 18.878509676051582, 18.80276341224844, 18.735252491561642, 18.67508154888315, 18.56782357349389, 18.52585597609554, 18.451046452957367, 18.392503935494886, 18.300878532549454, 18.24910022091612, 18.190579472970335, 18.17533863550288 ], "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.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.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.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.34500000000000003, "x1": 0.34500000000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.385, "x1": 0.385, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.405, "x1": 0.405, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.6050000000000001, "x1": 0.6050000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.685, "x1": 0.685, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7250000000000001, "x1": 0.7250000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.885, "x1": 0.885, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.2049999999999998, "x1": 1.2049999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.525, "x1": 1.525, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 2.165, "x1": 2.165, "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.001732, 2.166732 ], "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": "iVBORw0KGgoAAAANSUhEUgAAAx8AAAFoCAYAAAA2HEb1AAAAAXNSR0IArs4c6QAAIABJREFUeF7svQmYFNW5///t7unZhwGGTXYUlUWFSFBiEEFQE8RETSRuuRryM4jm5rpEr0bvj/i/MXjlZzS5Ri8aFTWJBCPJjYoxwQ2NEhXZF0VBZtgEBhhmX7r7/5zqrqF6P9VV1V3Lt59nnu7pPuc97/m8p6rr2+e8p3yRSCQCPkiABEiABEiABEiABEiABEjAYgI+ig+LCdM8CZAACZAACZAACZAACZCAQoDigwOBBEiABEiABEiABEiABEggLwQoPvKCmY2QAAmQAAmQAAmQAAmQAAlQfHAMkAAJkAAJkAAJkAAJkAAJ5IUAxUdeMLMREiABEiABEiABEiABEiABig+OARIgARIgARIgARIgARIggbwQoPjIC2Y2QgIkQAIkQAIkQAIkQAIkQPHBMUACJEACJEACJEACJEACJJAXAhQfecHMRkiABEiABEiABEiABEiABCg+OAZIgARIgARIgARIgARIgATyQoDiIy+Y2QgJkAAJkAAJkAAJkAAJkADFB8cACZAACZAACZAACZAACZBAXghQfOQFMxshARIgARIgARIgARIgARKg+OAYIAESIAESIAESIAESIAESyAsBio+8YGYjJEACJEACJEACJEACJEACFB8cAyRAAiRAAiRAAiRAAiRAAnkhQPGRF8xshARIgARIgARIgARIgARIgOKDY4AESIAESIAESIAESIAESCAvBCg+8oKZjZAACZAACZAACZAACZAACVB8cAyQAAmQAAmQAAmQAAmQAAnkhQDFR14wsxESIAESIAESIAESIAESIAGKD44BEiABEiABEiABEiABEiCBvBCg+MgLZjZCAiRAAiRAAiRAAiRAAiRA8cExQAIkQAIkQAIkQAIkQAIkkBcCFB95wcxGSIAESIAESIAESIAESIAEKD44BkiABEiABEiABEiABEiABPJCgOIjL5jZCAmQAAmQAAmQAAmQAAmQAMUHxwAJkAAJkAAJkAAJkAAJkEBeCFB85AUzGyEBEiABEiABEiABEiABEqD44BggARIgARIgARIgARIgARLICwGKj7xgZiMkQAIkQAIkQAIkQAIkQAIUHxwDJEACJEACJEACJEACJEACeSFA8ZEXzGyEBEiABEiABEiABEiA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PmwUDLpCAiRAAiRAAiRAAiRAAm4mQPHh5uiybyRAAiRAAiRAAiRAAiRgIwIUHzYKBl0hARIgARIgARIgARIgATcToPhwc3TZNxIgARIgARIgARIgARKwEQGKDxsFg66QAAmQAAmQAAmQAAmQgJsJUHy4ObrsGwmQAAmQAAmQAAmQAAnYiADFh42CQVdIgARIgARIgARIgARIwM0EKD7cHF32jQRIgARIgARIgARIgARsRIDiw0bBoCskQAIkQAIkQAIkQAIk4GYCFB9uji77RgIkQAIkQAIkQAIkQAI2IkDxYaNg0BUSIAESIAESIAESIAEScDMBig83R5d9IwESIAESIAESIAESIAEbEaD4sFEw6AoJkAAJkAAJkAAJkAAJuJkAxYebo8u+kQAJkAAJkAAJkAAJkICNCFB82CgYdIUESIAESIAESIAESIAE3EyA4sPN0WXfSIAESIAESIAESIAESMBGBCg+bBQMukICJEACJEACJEACJEACbiZA8eHm6LJvJEACJEACJEACJEACJGAjAhQfNgoGXSEBEiABEiABEiABEiABNxOg+HBzdNk3EiABEiABEiABEiABErARAYoPGwWDrpAACZAACZAACZAACZCAmwlQfLg5uuwbCZAACZAACZAACZAACdiIAMWHjYJBV0iABEiABEiABEiABEjAzQQoPtwcXfaNBEiABEiABEiABEiABGxEgOLDRsGgKyRAAiRAAiRAAiRAAiTgZgIUH26OLvtGAiRAAiRAAiRAAiRAAjYiQPFho2DQFRIgARIgARIgARIgARJwMwGKDzdHl30jARIgARIgARIgARIgARsRoPiwUTDoCgmQAAmQAAmQAAmQAAm4mQDFh5ujy76RAAmQAAmQAAmQAAmQgI0IUHzYKBh0hQRIgARIgARIgARIgATcTIDiw83RZd9IgARIgARIgARIgARIwEYEKD5sFAy6QgIkQAIkQAIkQAIkQAJuJkDx4ebosm8kQAIkQAIkQAIkQAIkYCMCFB82CgZdIQESIAESIAESIAESIAE3E6D4cHN02TcSIAESIAESIAESIAESsBEBig8bBYOukAAJkAAJkAAJkAAJkICbCVB8uDm67BsJkAAJkAAJkAAJkAAJ2IgAxYeNgkFXSIAESIAESIAESIAESMDNBCg+3Bxd9o0ESIAESIAESIAESIAEbESA4sNG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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_curves(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": 15, "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.0075, 0.0075, 0.0125, 0.0125, 0.015000000000000001, 0.015000000000000001, 0.04, 0.04, 0.05, 0.05, 0.055, 0.055, 0.10499999999999998, 0.10499999999999998, 0.12499999999999999, 0.12499999999999999, 0.13499999999999998, 0.13499999999999998, 0.15499999999999997, 0.15499999999999997, 0.16499999999999998, 0.16499999999999998, 0.34500000000000003, 0.34500000000000003, 0.385, 0.385, 0.405, 0.405, 0.6050000000000001, 0.6050000000000001, 0.685, 0.685, 0.7250000000000001, 0.7250000000000001, 0.885, 0.885, 1.2049999999999998, 1.2049999999999998, 1.525, 1.525, 2.165 ], "xaxis": "x", "y": [ 0.005, 0.005, 0.0024999999999999996, 0.0024999999999999996, 0.005000000000000001, 0.005000000000000001, 0.0025000000000000005, 0.0025000000000000005, 0.0049999999999999975, 0.0049999999999999975, 0.010000000000000002, 0.010000000000000002, 0.0049999999999999975, 0.0049999999999999975, 0.009999999999999995, 0.009999999999999995, 0.020000000000000004, 0.020000000000000004, 0.009999999999999995, 0.009999999999999995, 0.01999999999999999, 0.01999999999999999, 0.010000000000000009, 0.010000000000000009, 0.020000000000000018, 0.020000000000000018, 0.03999999999999998, 0.03999999999999998, 0.020000000000000018, 0.020000000000000018, 0.040000000000000036, 0.040000000000000036, 0.07999999999999996, 0.07999999999999996, 0.040000000000000036, 0.040000000000000036, 0.07999999999999996, 0.07999999999999996, 0.15999999999999992, 0.15999999999999992, 0.32000000000000006, 0.32000000000000006, 0.6400000000000001, 0.6400000000000001 ], "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.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.025, "x1": 0.025, "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.035, "x1": 0.035, "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.075, "x1": 0.075, "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.09499999999999999, "x1": 0.09499999999999999, "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.20499999999999996, "x1": 0.20499999999999996, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.22499999999999995, "x1": 0.22499999999999995, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.24499999999999994, "x1": 0.24499999999999994, "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.285, "x1": 0.285, "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.325, "x1": 0.325, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.34500000000000003, "x1": 0.34500000000000003, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.385, "x1": 0.385, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.405, "x1": 0.405, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.445, "x1": 0.445, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.485, "x1": 0.485, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.525, "x1": 0.525, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5650000000000001, "x1": 0.5650000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.6050000000000001, "x1": 0.6050000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.685, "x1": 0.685, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7250000000000001, "x1": 0.7250000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.805, "x1": 0.805, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.885, "x1": 0.885, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.045, "x1": 1.045, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.2049999999999998, "x1": 1.2049999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.525, "x1": 1.525, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 2.165, "x1": 2.165, "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.0016967084639498433, 2.1666967084639497 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.03291666666666667, 0.6754166666666668 ], "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": 16, "id": "3d012f8e-4066-40b6-9b9a-d1e9dd7532c7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2 S <-> U\n", "Final concentrations: [U] = 72.8 ; [S] = 18.18\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 4.0054\n", " Formula used: [U] / [S]\n", "2. Ratio of forward/reverse reaction rates: 4.0\n", "Discrepancy between the two values: 0.1349 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n", "S <-> X\n", "Final concentrations: [X] = 36.23 ; [S] = 18.18\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 1.99313\n", " Formula used: [X] / [S]\n", "2. Ratio of forward/reverse reaction rates: 2.0\n", "Discrepancy between the two values: 0.3437 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.is_in_equilibrium()" ] }, { "cell_type": "code", "execution_count": 17, "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", "
START_TIMEDelta UDelta XDelta Stime_stepcaption
00.0000-1.0000000.02.0000000.0100aborted: excessive norm value(s)
10.0000-0.5000000.01.0000000.0050
20.0050-0.1975000.00.3950000.0025
30.0075-0.3491750.00.6983500.0050
40.0125-0.1316930.00.2633850.0025
50.0150-0.2259930.00.4519870.0050
60.0200-0.1560400.00.3120800.0050
70.0250-0.0951570.00.1903150.0050
80.0300-0.0422370.00.0844730.0050
90.03500.0036970.0-0.0073940.0050
100.04000.0869990.0-0.1739970.0100
110.05000.1123450.0-0.2246900.0050
120.05500.2746600.0-0.5493210.0100
130.06500.3603670.0-0.7207350.0100
140.07500.4211210.0-0.8422420.0100
150.08500.4630920.0-0.9261850.0100
160.09500.4909520.0-0.9819050.0100
170.10501.0164670.0-2.0329340.0200
180.12500.5269840.0-1.0539670.0100
190.13501.0491750.0-2.0983500.0200
200.15500.5141330.0-1.0282660.0100
210.16501.0096080.0-2.0192150.0200
220.18500.9687930.0-1.9375870.0200
230.20500.9233650.0-1.8467310.0200
240.22500.8768920.0-1.7537850.0200
250.24500.8311380.0-1.6622760.0200
260.26500.7869410.0-1.5738820.0200
270.28500.7446680.0-1.4893360.0200
280.30500.7044470.0-1.4088950.0200
290.32500.6662870.0-1.3325730.0200
300.34501.2602710.0-2.5205410.0400
310.38500.5616960.0-1.1233920.0200
320.40501.0623250.0-2.1246500.0400
330.44500.9468280.0-1.8936570.0400
340.48500.8438870.0-1.6877730.0400
350.52500.7521370.0-1.5042740.0400
360.56500.6703620.0-1.3407250.0400
370.60501.1949570.0-2.3899150.0800
380.68500.4675600.0-0.9351190.0400
390.72500.8334500.0-1.6669010.0800
400.80500.6522200.0-1.3044400.0800
410.88501.0207950.0-2.0415910.1600
421.04500.5768600.0-1.1537210.1600
431.20500.6519780.0-1.3039550.3200
441.52500.1697980.0-0.3395950.6400
\n", "
" ], "text/plain": [ " START_TIME Delta U Delta X Delta S time_step \\\n", "0 0.0000 -1.000000 0.0 2.000000 0.0100 \n", "1 0.0000 -0.500000 0.0 1.000000 0.0050 \n", "2 0.0050 -0.197500 0.0 0.395000 0.0025 \n", "3 0.0075 -0.349175 0.0 0.698350 0.0050 \n", "4 0.0125 -0.131693 0.0 0.263385 0.0025 \n", "5 0.0150 -0.225993 0.0 0.451987 0.0050 \n", "6 0.0200 -0.156040 0.0 0.312080 0.0050 \n", "7 0.0250 -0.095157 0.0 0.190315 0.0050 \n", "8 0.0300 -0.042237 0.0 0.084473 0.0050 \n", "9 0.0350 0.003697 0.0 -0.007394 0.0050 \n", "10 0.0400 0.086999 0.0 -0.173997 0.0100 \n", "11 0.0500 0.112345 0.0 -0.224690 0.0050 \n", "12 0.0550 0.274660 0.0 -0.549321 0.0100 \n", "13 0.0650 0.360367 0.0 -0.720735 0.0100 \n", "14 0.0750 0.421121 0.0 -0.842242 0.0100 \n", "15 0.0850 0.463092 0.0 -0.926185 0.0100 \n", "16 0.0950 0.490952 0.0 -0.981905 0.0100 \n", "17 0.1050 1.016467 0.0 -2.032934 0.0200 \n", "18 0.1250 0.526984 0.0 -1.053967 0.0100 \n", "19 0.1350 1.049175 0.0 -2.098350 0.0200 \n", "20 0.1550 0.514133 0.0 -1.028266 0.0100 \n", "21 0.1650 1.009608 0.0 -2.019215 0.0200 \n", "22 0.1850 0.968793 0.0 -1.937587 0.0200 \n", "23 0.2050 0.923365 0.0 -1.846731 0.0200 \n", "24 0.2250 0.876892 0.0 -1.753785 0.0200 \n", "25 0.2450 0.831138 0.0 -1.662276 0.0200 \n", "26 0.2650 0.786941 0.0 -1.573882 0.0200 \n", "27 0.2850 0.744668 0.0 -1.489336 0.0200 \n", "28 0.3050 0.704447 0.0 -1.408895 0.0200 \n", "29 0.3250 0.666287 0.0 -1.332573 0.0200 \n", "30 0.3450 1.260271 0.0 -2.520541 0.0400 \n", "31 0.3850 0.561696 0.0 -1.123392 0.0200 \n", "32 0.4050 1.062325 0.0 -2.124650 0.0400 \n", "33 0.4450 0.946828 0.0 -1.893657 0.0400 \n", "34 0.4850 0.843887 0.0 -1.687773 0.0400 \n", "35 0.5250 0.752137 0.0 -1.504274 0.0400 \n", "36 0.5650 0.670362 0.0 -1.340725 0.0400 \n", "37 0.6050 1.194957 0.0 -2.389915 0.0800 \n", "38 0.6850 0.467560 0.0 -0.935119 0.0400 \n", "39 0.7250 0.833450 0.0 -1.666901 0.0800 \n", "40 0.8050 0.652220 0.0 -1.304440 0.0800 \n", "41 0.8850 1.020795 0.0 -2.041591 0.1600 \n", "42 1.0450 0.576860 0.0 -1.153721 0.1600 \n", "43 1.2050 0.651978 0.0 -1.303955 0.3200 \n", "44 1.5250 0.169798 0.0 -0.339595 0.6400 \n", "\n", " caption \n", "0 aborted: excessive norm value(s) \n", "1 \n", "2 \n", "3 \n", "4 \n", "5 \n", "6 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 \n", "15 \n", "16 \n", "17 \n", "18 \n", "19 \n", "20 \n", "21 \n", "22 \n", "23 \n", "24 \n", "25 \n", "26 \n", "27 \n", "28 \n", "29 \n", "30 \n", "31 \n", "32 \n", "33 \n", "34 \n", "35 \n", "36 \n", "37 \n", "38 \n", "39 \n", "40 \n", "41 \n", "42 \n", "43 \n", "44 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_rxn_data(rxn_index=0)" ] }, { "cell_type": "code", "execution_count": 18, "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", "
START_TIMEDelta UDelta XDelta Stime_stepcaption
00.00000.0-3.0000003.0000000.0100aborted: excessive norm value(s)
10.00000.0-1.5000001.5000000.0050
20.00500.0-0.7012500.7012500.0025
30.00750.0-1.3590941.3590940.0050
40.01250.0-0.6384920.6384920.0025
50.01500.0-1.2403501.2403500.0050
60.02000.0-1.1709751.1709750.0050
70.02500.0-1.1089191.1089190.0050
80.03000.0-1.0533081.0533080.0050
90.03500.0-1.0033751.0033750.0050
100.04000.0-1.9168901.9168900.0100
110.05000.0-0.8774050.8774050.0050
120.05500.0-1.6893241.6893240.0100
130.06500.0-1.5702441.5702440.0100
140.07500.0-1.4721671.4721670.0100
150.08500.0-1.3902061.3902060.0100
160.09500.0-1.3206591.3206590.0100
170.10500.0-2.5214272.5214270.0200
180.12500.0-1.1557611.1557610.0100
190.13500.0-2.2299612.2299610.0200
200.15500.0-1.0401851.0401850.0100
210.16500.0-2.0165292.0165290.0200
220.18500.0-1.8958601.8958600.0200
230.20500.0-1.7871151.7871150.0200
240.22500.0-1.6870421.6870420.0200
250.24500.0-1.5938291.5938290.0200
260.26500.0-1.5064131.5064130.0200
270.28500.0-1.4241241.4241240.0200
280.30500.0-1.3465021.3465020.0200
290.32500.0-1.2731991.2731990.0200
300.34500.0-2.4078642.4078640.0400
310.38500.0-1.0729821.0729820.0200
320.40500.0-2.0293042.0293040.0400
330.44500.0-1.8086711.8086710.0400
340.48500.0-1.6120271.6120270.0400
350.52500.0-1.4367631.4367630.0400
360.56500.0-1.2805541.2805540.0400
370.60500.0-2.2826572.2826570.0800
380.68500.0-0.8931510.8931510.0400
390.72500.0-1.5920911.5920910.0800
400.80500.0-1.2458981.2458980.0800
410.88500.0-1.9499651.9499650.1600
421.04500.0-1.1019421.1019420.1600
431.20500.0-1.2454341.2454340.3200
441.52500.0-0.3243540.3243540.6400
\n", "
" ], "text/plain": [ " START_TIME Delta U Delta X Delta S time_step \\\n", "0 0.0000 0.0 -3.000000 3.000000 0.0100 \n", "1 0.0000 0.0 -1.500000 1.500000 0.0050 \n", "2 0.0050 0.0 -0.701250 0.701250 0.0025 \n", "3 0.0075 0.0 -1.359094 1.359094 0.0050 \n", "4 0.0125 0.0 -0.638492 0.638492 0.0025 \n", "5 0.0150 0.0 -1.240350 1.240350 0.0050 \n", "6 0.0200 0.0 -1.170975 1.170975 0.0050 \n", "7 0.0250 0.0 -1.108919 1.108919 0.0050 \n", "8 0.0300 0.0 -1.053308 1.053308 0.0050 \n", "9 0.0350 0.0 -1.003375 1.003375 0.0050 \n", "10 0.0400 0.0 -1.916890 1.916890 0.0100 \n", "11 0.0500 0.0 -0.877405 0.877405 0.0050 \n", "12 0.0550 0.0 -1.689324 1.689324 0.0100 \n", "13 0.0650 0.0 -1.570244 1.570244 0.0100 \n", "14 0.0750 0.0 -1.472167 1.472167 0.0100 \n", "15 0.0850 0.0 -1.390206 1.390206 0.0100 \n", "16 0.0950 0.0 -1.320659 1.320659 0.0100 \n", "17 0.1050 0.0 -2.521427 2.521427 0.0200 \n", "18 0.1250 0.0 -1.155761 1.155761 0.0100 \n", "19 0.1350 0.0 -2.229961 2.229961 0.0200 \n", "20 0.1550 0.0 -1.040185 1.040185 0.0100 \n", "21 0.1650 0.0 -2.016529 2.016529 0.0200 \n", "22 0.1850 0.0 -1.895860 1.895860 0.0200 \n", "23 0.2050 0.0 -1.787115 1.787115 0.0200 \n", "24 0.2250 0.0 -1.687042 1.687042 0.0200 \n", "25 0.2450 0.0 -1.593829 1.593829 0.0200 \n", "26 0.2650 0.0 -1.506413 1.506413 0.0200 \n", "27 0.2850 0.0 -1.424124 1.424124 0.0200 \n", "28 0.3050 0.0 -1.346502 1.346502 0.0200 \n", "29 0.3250 0.0 -1.273199 1.273199 0.0200 \n", "30 0.3450 0.0 -2.407864 2.407864 0.0400 \n", "31 0.3850 0.0 -1.072982 1.072982 0.0200 \n", "32 0.4050 0.0 -2.029304 2.029304 0.0400 \n", "33 0.4450 0.0 -1.808671 1.808671 0.0400 \n", "34 0.4850 0.0 -1.612027 1.612027 0.0400 \n", "35 0.5250 0.0 -1.436763 1.436763 0.0400 \n", "36 0.5650 0.0 -1.280554 1.280554 0.0400 \n", "37 0.6050 0.0 -2.282657 2.282657 0.0800 \n", "38 0.6850 0.0 -0.893151 0.893151 0.0400 \n", "39 0.7250 0.0 -1.592091 1.592091 0.0800 \n", "40 0.8050 0.0 -1.245898 1.245898 0.0800 \n", "41 0.8850 0.0 -1.949965 1.949965 0.1600 \n", "42 1.0450 0.0 -1.101942 1.101942 0.1600 \n", "43 1.2050 0.0 -1.245434 1.245434 0.3200 \n", "44 1.5250 0.0 -0.324354 0.324354 0.6400 \n", "\n", " caption \n", "0 aborted: excessive norm value(s) \n", "1 \n", "2 \n", "3 \n", "4 \n", "5 \n", "6 \n", "7 \n", "8 \n", "9 \n", "10 \n", "11 \n", "12 \n", "13 \n", "14 \n", "15 \n", "16 \n", "17 \n", "18 \n", "19 \n", "20 \n", "21 \n", "22 \n", "23 \n", "24 \n", "25 \n", "26 \n", "27 \n", "28 \n", "29 \n", "30 \n", "31 \n", "32 \n", "33 \n", "34 \n", "35 \n", "36 \n", "37 \n", "38 \n", "39 \n", "40 \n", "41 \n", "42 \n", "43 \n", "44 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_rxn_data(rxn_index=1)" ] }, { "cell_type": "code", "execution_count": 19, "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", "
TIMEUXScaption
00.000050.000000100.0000000.000000
10.005049.50000098.5000002.500000
20.007549.30250097.7987503.596250
30.012548.95332596.4396565.653694
40.015048.82163295.8011646.555571
50.020048.59563994.5608148.247909
60.025048.43959993.3898399.730964
70.030048.34444192.28092011.030197
80.035048.30220591.22761212.167978
90.040048.30590290.22423813.163959
100.050048.39290188.30734814.906851
110.055048.50524687.42994315.559566
120.065048.77990685.74061916.699569
130.075049.14027384.17037417.549079
140.085049.56139482.69820818.179004
150.095050.02448781.30800218.643025
160.105050.51543979.98734318.981779
170.125051.53190677.46591619.470272
180.135052.05889076.31015519.572066
190.155053.10806474.08019419.703677
200.165053.62219773.04000919.715597
210.185054.63180571.02348019.712910
220.205055.60059869.12762019.671183
230.225056.52396467.34050519.611568
240.245057.40085665.65346319.544825
250.265058.23199464.05963419.476378
260.285059.01893562.55322119.408909
270.305059.76360361.12909719.343697
280.325060.46805059.78259519.281305
290.345061.13433758.50939619.221930
300.385062.39460856.10153219.109253
310.405062.95630455.02855019.058842
320.445064.01862952.99924618.963496
330.485064.96545751.19057618.878510
340.525065.80934449.57854918.802763
350.565066.56148148.14178618.735252
360.605067.23184346.86123218.675082
370.685068.42680044.57857618.567824
380.725068.89436043.68542418.525856
390.805069.72781042.09333318.451046
400.885070.38003040.84743618.392504
411.045071.40082638.89747018.300879
421.205071.97768637.79552818.249100
431.525072.62966336.55009418.190579
442.165072.79946136.22573918.175339
\n", "
" ], "text/plain": [ " TIME U X S caption\n", "0 0.0000 50.000000 100.000000 0.000000 \n", "1 0.0050 49.500000 98.500000 2.500000 \n", "2 0.0075 49.302500 97.798750 3.596250 \n", "3 0.0125 48.953325 96.439656 5.653694 \n", "4 0.0150 48.821632 95.801164 6.555571 \n", "5 0.0200 48.595639 94.560814 8.247909 \n", "6 0.0250 48.439599 93.389839 9.730964 \n", "7 0.0300 48.344441 92.280920 11.030197 \n", "8 0.0350 48.302205 91.227612 12.167978 \n", "9 0.0400 48.305902 90.224238 13.163959 \n", "10 0.0500 48.392901 88.307348 14.906851 \n", "11 0.0550 48.505246 87.429943 15.559566 \n", "12 0.0650 48.779906 85.740619 16.699569 \n", "13 0.0750 49.140273 84.170374 17.549079 \n", "14 0.0850 49.561394 82.698208 18.179004 \n", "15 0.0950 50.024487 81.308002 18.643025 \n", "16 0.1050 50.515439 79.987343 18.981779 \n", "17 0.1250 51.531906 77.465916 19.470272 \n", "18 0.1350 52.058890 76.310155 19.572066 \n", "19 0.1550 53.108064 74.080194 19.703677 \n", "20 0.1650 53.622197 73.040009 19.715597 \n", "21 0.1850 54.631805 71.023480 19.712910 \n", "22 0.2050 55.600598 69.127620 19.671183 \n", "23 0.2250 56.523964 67.340505 19.611568 \n", "24 0.2450 57.400856 65.653463 19.544825 \n", "25 0.2650 58.231994 64.059634 19.476378 \n", "26 0.2850 59.018935 62.553221 19.408909 \n", "27 0.3050 59.763603 61.129097 19.343697 \n", "28 0.3250 60.468050 59.782595 19.281305 \n", "29 0.3450 61.134337 58.509396 19.221930 \n", "30 0.3850 62.394608 56.101532 19.109253 \n", "31 0.4050 62.956304 55.028550 19.058842 \n", "32 0.4450 64.018629 52.999246 18.963496 \n", "33 0.4850 64.965457 51.190576 18.878510 \n", "34 0.5250 65.809344 49.578549 18.802763 \n", "35 0.5650 66.561481 48.141786 18.735252 \n", "36 0.6050 67.231843 46.861232 18.675082 \n", "37 0.6850 68.426800 44.578576 18.567824 \n", "38 0.7250 68.894360 43.685424 18.525856 \n", "39 0.8050 69.727810 42.093333 18.451046 \n", "40 0.8850 70.380030 40.847436 18.392504 \n", "41 1.0450 71.400826 38.897470 18.300879 \n", "42 1.2050 71.977686 37.795528 18.249100 \n", "43 1.5250 72.629663 36.550094 18.190579 \n", "44 2.1650 72.799461 36.225739 18.175339 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_conc_data()" ] }, { "cell_type": "code", "execution_count": 20, "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", "
START_TIMEDelta UDelta XDelta Snorm_Anorm_Bactionstep_factortime_stepcaption
00.0000-1.000000-3.0000005.0000003.888889NoneABORT0.50.0100excessive norm value(s)
10.0000-0.500000-1.5000002.5000000.972222NoneOK (high)0.50.0050
20.0050-0.197500-0.7012501.0962500.192502NoneOK (low)2.00.0025
30.0075-0.349175-1.3590942.0574440.689126NoneOK (high)0.50.0050
40.0125-0.131693-0.6384920.9018780.137600NoneOK (low)2.00.0025
50.0150-0.225993-1.2403501.6923370.494839NoneOK (stay)1.00.0050
60.0200-0.156040-1.1709751.4830550.399443NoneOK (stay)1.00.0050
70.0250-0.095157-1.1089191.2992340.325196NoneOK (stay)1.00.0050
80.0300-0.042237-1.0533081.1377810.267310NoneOK (stay)1.00.0050
90.03500.003697-1.0033750.9959810.222084NoneOK (low)2.00.0050
100.04000.086999-1.9168901.7428920.746634NoneOK (high)0.50.0100
110.05000.112345-0.8774050.6527150.134277NoneOK (low)2.00.0050
120.05500.274660-1.6893241.1400040.469874NoneOK (stay)1.00.0100
130.06500.360367-1.5702440.8495100.368578NoneOK (stay)1.00.0100
140.07500.421121-1.4721670.6299250.304602NoneOK (stay)1.00.0100
150.08500.463092-1.3902060.4640210.262494NoneOK (stay)1.00.0100
160.09500.490952-1.3206590.3387540.233325NoneOK (low)2.00.0100
170.10501.016467-2.5214270.4884930.847714NoneOK (high)0.50.0200
180.12500.526984-1.1557610.1017940.180429NoneOK (low)2.00.0100
190.13501.049175-2.2299610.1316120.676758NoneOK (high)0.50.0200
200.15500.514133-1.0401850.0119190.149607NoneOK (low)2.00.0100
210.16501.009608-2.016529-0.0026860.565078NoneOK (stay)1.00.0200
220.18500.968793-1.895860-0.0417270.503843NoneOK (stay)1.00.0200
230.20500.923365-1.787115-0.0596150.449993NoneOK (stay)1.00.0200
240.22500.876892-1.687042-0.0667420.402167NoneOK (stay)1.00.0200
250.24500.831138-1.593829-0.0684470.359529NoneOK (stay)1.00.0200
260.26500.786941-1.506413-0.0674690.321456NoneOK (stay)1.00.0200
270.28500.744668-1.424124-0.0652120.287435NoneOK (stay)1.00.0200
280.30500.704447-1.346502-0.0623930.257023NoneOK (stay)1.00.0200
290.32500.666287-1.273199-0.0593740.229833NoneOK (low)2.00.0200
300.34501.260271-2.407864-0.1126770.822088NoneOK (high)0.50.0400
310.38500.561696-1.072982-0.0504110.163259NoneOK (low)2.00.0200
320.40501.062325-2.029304-0.0953470.583967NoneOK (stay)1.00.0400
330.44500.946828-1.808671-0.0849860.463888NoneOK (stay)1.00.0400
340.48500.843887-1.612027-0.0757460.368501NoneOK (stay)1.00.0400
350.52500.752137-1.436763-0.0675110.292728NoneOK (stay)1.00.0400
360.56500.670362-1.280554-0.0601710.232536NoneOK (low)2.00.0400
370.60501.194957-2.282657-0.1072580.738883NoneOK (high)0.50.0800
380.68500.467560-0.893151-0.0419680.113121NoneOK (low)2.00.0400
390.72500.833450-1.592091-0.0748100.359443NoneOK (stay)1.00.0800
400.80500.652220-1.245898-0.0585430.220120NoneOK (low)2.00.0800
410.88501.020795-1.949965-0.0916250.539198NoneOK (stay)1.00.1600
421.04500.576860-1.101942-0.0517780.172192NoneOK (low)2.00.1600
431.20500.651978-1.245434-0.0585210.219956NoneOK (low)2.00.3200
441.52500.169798-0.324354-0.0152410.014919NoneOK (low)2.00.6400
\n", "
" ], "text/plain": [ " START_TIME Delta U Delta X Delta S norm_A norm_B action \\\n", "0 0.0000 -1.000000 -3.000000 5.000000 3.888889 None ABORT \n", "1 0.0000 -0.500000 -1.500000 2.500000 0.972222 None OK (high) \n", "2 0.0050 -0.197500 -0.701250 1.096250 0.192502 None OK (low) \n", "3 0.0075 -0.349175 -1.359094 2.057444 0.689126 None OK (high) \n", "4 0.0125 -0.131693 -0.638492 0.901878 0.137600 None OK (low) \n", "5 0.0150 -0.225993 -1.240350 1.692337 0.494839 None OK (stay) \n", "6 0.0200 -0.156040 -1.170975 1.483055 0.399443 None OK (stay) \n", "7 0.0250 -0.095157 -1.108919 1.299234 0.325196 None OK (stay) \n", "8 0.0300 -0.042237 -1.053308 1.137781 0.267310 None OK (stay) \n", "9 0.0350 0.003697 -1.003375 0.995981 0.222084 None OK (low) \n", "10 0.0400 0.086999 -1.916890 1.742892 0.746634 None OK (high) \n", "11 0.0500 0.112345 -0.877405 0.652715 0.134277 None OK (low) \n", "12 0.0550 0.274660 -1.689324 1.140004 0.469874 None OK (stay) \n", "13 0.0650 0.360367 -1.570244 0.849510 0.368578 None OK (stay) \n", "14 0.0750 0.421121 -1.472167 0.629925 0.304602 None OK (stay) \n", "15 0.0850 0.463092 -1.390206 0.464021 0.262494 None OK (stay) \n", "16 0.0950 0.490952 -1.320659 0.338754 0.233325 None OK (low) \n", "17 0.1050 1.016467 -2.521427 0.488493 0.847714 None OK (high) \n", "18 0.1250 0.526984 -1.155761 0.101794 0.180429 None OK (low) \n", "19 0.1350 1.049175 -2.229961 0.131612 0.676758 None OK (high) \n", "20 0.1550 0.514133 -1.040185 0.011919 0.149607 None OK (low) \n", "21 0.1650 1.009608 -2.016529 -0.002686 0.565078 None OK (stay) \n", "22 0.1850 0.968793 -1.895860 -0.041727 0.503843 None OK (stay) \n", "23 0.2050 0.923365 -1.787115 -0.059615 0.449993 None OK (stay) \n", "24 0.2250 0.876892 -1.687042 -0.066742 0.402167 None OK (stay) \n", "25 0.2450 0.831138 -1.593829 -0.068447 0.359529 None OK (stay) \n", "26 0.2650 0.786941 -1.506413 -0.067469 0.321456 None OK (stay) \n", "27 0.2850 0.744668 -1.424124 -0.065212 0.287435 None OK (stay) \n", "28 0.3050 0.704447 -1.346502 -0.062393 0.257023 None OK (stay) \n", "29 0.3250 0.666287 -1.273199 -0.059374 0.229833 None OK (low) \n", "30 0.3450 1.260271 -2.407864 -0.112677 0.822088 None OK (high) \n", "31 0.3850 0.561696 -1.072982 -0.050411 0.163259 None OK (low) \n", "32 0.4050 1.062325 -2.029304 -0.095347 0.583967 None OK (stay) \n", "33 0.4450 0.946828 -1.808671 -0.084986 0.463888 None OK (stay) \n", "34 0.4850 0.843887 -1.612027 -0.075746 0.368501 None OK (stay) \n", "35 0.5250 0.752137 -1.436763 -0.067511 0.292728 None OK (stay) \n", "36 0.5650 0.670362 -1.280554 -0.060171 0.232536 None OK (low) \n", "37 0.6050 1.194957 -2.282657 -0.107258 0.738883 None OK (high) \n", "38 0.6850 0.467560 -0.893151 -0.041968 0.113121 None OK (low) \n", "39 0.7250 0.833450 -1.592091 -0.074810 0.359443 None OK (stay) \n", "40 0.8050 0.652220 -1.245898 -0.058543 0.220120 None OK (low) \n", "41 0.8850 1.020795 -1.949965 -0.091625 0.539198 None OK (stay) \n", "42 1.0450 0.576860 -1.101942 -0.051778 0.172192 None OK (low) \n", "43 1.2050 0.651978 -1.245434 -0.058521 0.219956 None OK (low) \n", "44 1.5250 0.169798 -0.324354 -0.015241 0.014919 None OK (low) \n", "\n", " step_factor time_step caption \n", "0 0.5 0.0100 excessive norm value(s) \n", "1 0.5 0.0050 \n", "2 2.0 0.0025 \n", "3 0.5 0.0050 \n", "4 2.0 0.0025 \n", "5 1.0 0.0050 \n", "6 1.0 0.0050 \n", "7 1.0 0.0050 \n", "8 1.0 0.0050 \n", "9 2.0 0.0050 \n", "10 0.5 0.0100 \n", "11 2.0 0.0050 \n", "12 1.0 0.0100 \n", "13 1.0 0.0100 \n", "14 1.0 0.0100 \n", "15 1.0 0.0100 \n", "16 2.0 0.0100 \n", "17 0.5 0.0200 \n", "18 2.0 0.0100 \n", "19 0.5 0.0200 \n", "20 2.0 0.0100 \n", "21 1.0 0.0200 \n", "22 1.0 0.0200 \n", "23 1.0 0.0200 \n", "24 1.0 0.0200 \n", "25 1.0 0.0200 \n", "26 1.0 0.0200 \n", "27 1.0 0.0200 \n", "28 1.0 0.0200 \n", "29 2.0 0.0200 \n", "30 0.5 0.0400 \n", "31 2.0 0.0200 \n", "32 1.0 0.0400 \n", "33 1.0 0.0400 \n", "34 1.0 0.0400 \n", "35 1.0 0.0400 \n", "36 2.0 0.0400 \n", "37 0.5 0.0800 \n", "38 2.0 0.0400 \n", "39 1.0 0.0800 \n", "40 2.0 0.0800 \n", "41 1.0 0.1600 \n", "42 2.0 0.1600 \n", "43 2.0 0.3200 \n", "44 2.0 0.6400 " ] }, "execution_count": 20, "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 value of `norm_A`" ] }, { "cell_type": "code", "execution_count": null, "id": "d545a787-f84c-4d63-97a1-36a29f6c5dd6", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 21, "id": "a479c269-4740-4866-9ec3-e736b8b09cb6", "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", "
START_TIMEDelta UDelta XDelta S
00.0000-1.000000-3.0000005.000000
10.0000-0.500000-1.5000002.500000
20.0050-0.197500-0.7012501.096250
30.0075-0.349175-1.3590942.057444
40.0125-0.131693-0.6384920.901878
50.0150-0.225993-1.2403501.692337
60.0200-0.156040-1.1709751.483055
70.0250-0.095157-1.1089191.299234
80.0300-0.042237-1.0533081.137781
90.03500.003697-1.0033750.995981
100.04000.086999-1.9168901.742892
110.05000.112345-0.8774050.652715
120.05500.274660-1.6893241.140004
130.06500.360367-1.5702440.849510
140.07500.421121-1.4721670.629925
150.08500.463092-1.3902060.464021
160.09500.490952-1.3206590.338754
170.10501.016467-2.5214270.488493
180.12500.526984-1.1557610.101794
190.13501.049175-2.2299610.131612
200.15500.514133-1.0401850.011919
210.16501.009608-2.016529-0.002686
220.18500.968793-1.895860-0.041727
230.20500.923365-1.787115-0.059615
240.22500.876892-1.687042-0.066742
250.24500.831138-1.593829-0.068447
260.26500.786941-1.506413-0.067469
270.28500.744668-1.424124-0.065212
280.30500.704447-1.346502-0.062393
290.32500.666287-1.273199-0.059374
300.34501.260271-2.407864-0.112677
310.38500.561696-1.072982-0.050411
320.40501.062325-2.029304-0.095347
330.44500.946828-1.808671-0.084986
340.48500.843887-1.612027-0.075746
350.52500.752137-1.436763-0.067511
360.56500.670362-1.280554-0.060171
370.60501.194957-2.282657-0.107258
380.68500.467560-0.893151-0.041968
390.72500.833450-1.592091-0.074810
400.80500.652220-1.245898-0.058543
410.88501.020795-1.949965-0.091625
421.04500.576860-1.101942-0.051778
431.20500.651978-1.245434-0.058521
441.52500.169798-0.324354-0.015241
\n", "
" ], "text/plain": [ " START_TIME Delta U Delta X Delta S\n", "0 0.0000 -1.000000 -3.000000 5.000000\n", "1 0.0000 -0.500000 -1.500000 2.500000\n", "2 0.0050 -0.197500 -0.701250 1.096250\n", "3 0.0075 -0.349175 -1.359094 2.057444\n", "4 0.0125 -0.131693 -0.638492 0.901878\n", "5 0.0150 -0.225993 -1.240350 1.692337\n", "6 0.0200 -0.156040 -1.170975 1.483055\n", "7 0.0250 -0.095157 -1.108919 1.299234\n", "8 0.0300 -0.042237 -1.053308 1.137781\n", "9 0.0350 0.003697 -1.003375 0.995981\n", "10 0.0400 0.086999 -1.916890 1.742892\n", "11 0.0500 0.112345 -0.877405 0.652715\n", "12 0.0550 0.274660 -1.689324 1.140004\n", "13 0.0650 0.360367 -1.570244 0.849510\n", "14 0.0750 0.421121 -1.472167 0.629925\n", "15 0.0850 0.463092 -1.390206 0.464021\n", "16 0.0950 0.490952 -1.320659 0.338754\n", "17 0.1050 1.016467 -2.521427 0.488493\n", "18 0.1250 0.526984 -1.155761 0.101794\n", "19 0.1350 1.049175 -2.229961 0.131612\n", "20 0.1550 0.514133 -1.040185 0.011919\n", "21 0.1650 1.009608 -2.016529 -0.002686\n", "22 0.1850 0.968793 -1.895860 -0.041727\n", "23 0.2050 0.923365 -1.787115 -0.059615\n", "24 0.2250 0.876892 -1.687042 -0.066742\n", "25 0.2450 0.831138 -1.593829 -0.068447\n", "26 0.2650 0.786941 -1.506413 -0.067469\n", "27 0.2850 0.744668 -1.424124 -0.065212\n", "28 0.3050 0.704447 -1.346502 -0.062393\n", "29 0.3250 0.666287 -1.273199 -0.059374\n", "30 0.3450 1.260271 -2.407864 -0.112677\n", "31 0.3850 0.561696 -1.072982 -0.050411\n", "32 0.4050 1.062325 -2.029304 -0.095347\n", "33 0.4450 0.946828 -1.808671 -0.084986\n", "34 0.4850 0.843887 -1.612027 -0.075746\n", "35 0.5250 0.752137 -1.436763 -0.067511\n", "36 0.5650 0.670362 -1.280554 -0.060171\n", "37 0.6050 1.194957 -2.282657 -0.107258\n", "38 0.6850 0.467560 -0.893151 -0.041968\n", "39 0.7250 0.833450 -1.592091 -0.074810\n", "40 0.8050 0.652220 -1.245898 -0.058543\n", "41 0.8850 1.020795 -1.949965 -0.091625\n", "42 1.0450 0.576860 -1.101942 -0.051778\n", "43 1.2050 0.651978 -1.245434 -0.058521\n", "44 1.5250 0.169798 -0.324354 -0.015241" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_decisions_data_ALT() # TODO: OBSOLETE!" ] }, { "cell_type": "code", "execution_count": null, "id": "c9469a67-c513-492a-8bff-a20d0958ba39", "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 }