{ "cells": [ { "cell_type": "markdown", "id": "5cbc8640", "metadata": {}, "source": [ "### Adaptive time steps (variable time resolution) for reaction `A <-> B`,\n", "with 1st-order kinetics in both directions, taken to equilibrium\n", "\n", "Same as the experiment _\"react_1\"_ , but with adaptive variable time steps\n", "\n", "LAST REVISED: July 14, 2023" ] }, { "cell_type": "code", "execution_count": 1, "id": "3792d78d-7429-4221-a263-57b07d77b5bc", "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": "a29db1c7", "metadata": { "tags": [] }, "outputs": [], "source": [ "from experiments.get_notebook_info import get_notebook_basename\n", "\n", "from src.modules.chemicals.chem_data import ChemData as chem\n", "from src.modules.reactions.reaction_dynamics import ReactionDynamics\n", "\n", "from src.modules.visualization.graphic_log import GraphicLog" ] }, { "cell_type": "code", "execution_count": 3, "id": "121fdfdd", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-> Output will be LOGGED into the file 'react_2.log.htm'\n" ] } ], "source": [ "# Initialize the HTML logging (for the graphics)\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": "10c710ac", "metadata": {}, "source": [ "# Initialize the System\n", "Specify the chemicals and the reactions" ] }, { "cell_type": "code", "execution_count": 4, "id": "78077d8c", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Specify the chemicals\n", "chem_data = chem(names=[\"A\", \"B\"])\n", "\n", "# Reaction A <-> B , with 1st-order kinetics in both directions\n", "chem_data.add_reaction(reactants=[\"A\"], products=[\"B\"], \n", " forward_rate=3., reverse_rate=2.)" ] }, { "cell_type": "code", "execution_count": 5, "id": "58433072", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of reactions: 1 (at temp. 25 C)\n", "0: A <-> B (kF = 3 / kR = 2 / Delta_G = -1,005.13 / K = 1.5) | 1st order in all reactants & products\n" ] } ], "source": [ "chem_data.describe_reactions()" ] }, { "cell_type": "code", "execution_count": 6, "id": "373afeb1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[GRAPHIC ELEMENT SENT TO LOG FILE `react_2.log.htm`]\n" ] } ], "source": [ "# Send a plot of the network of reactions 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": "e0529a0c", "metadata": {}, "source": [ "# Start the simulation" ] }, { "cell_type": "code", "execution_count": 7, "id": "f9736433", "metadata": {}, "outputs": [], "source": [ "dynamics = ReactionDynamics(chem_data=chem_data)" ] }, { "cell_type": "code", "execution_count": 8, "id": "9fc3948d", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0:\n", "2 species:\n", " Species 0 (A). Conc: 10.0\n", " Species 1 (B). Conc: 50.0\n" ] } ], "source": [ "# Initial concentrations of all the chemicals, in index order\n", "dynamics.set_conc([10., 50.])\n", "\n", "dynamics.describe_state()" ] }, { "cell_type": "code", "execution_count": 9, "id": "0cc938cc", "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", "
SYSTEM TIMEABcaption
00.010.050.0Initial state
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "0 0.0 10.0 50.0 Initial state" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_history()" ] }, { "cell_type": "markdown", "id": "987af2c5", "metadata": { "tags": [] }, "source": [ "## Run the reaction" ] }, { "cell_type": "code", "execution_count": 10, "id": "c4595dd6-ddfa-4715-b2fc-07255a004681", "metadata": {}, "outputs": [], "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.5, high=0.8, abort=1.44)\n", "dynamics.set_thresholds(norm=\"norm_B\") # This has the effect of turning off use of \"norm_B\"\n", "dynamics.set_step_factors(upshift=2.0, downshift=0.5, abort=0.5)\n", "dynamics.set_error_step_factor(0.5)" ] }, { "cell_type": "code", "execution_count": 11, "id": "6e0f0c53-df11-4691-b142-fa16adb2946b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'norm': 'norm_A', 'low': 0.5, 'high': 0.8, 'abort': 1.44}]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.thresholds" ] }, { "cell_type": "markdown", "id": "5f35340a-7baf-49ee-90ae-b5b71a8b1a5e", "metadata": {}, "source": [ "#### Note how we UNSET the defaults for \"norm_B\" (i.e. it won't be used)" ] }, { "cell_type": "code", "execution_count": 12, "id": "43735178-313b-48cf-a583-5181238feac3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "* INFO: the tentative time step (0.1) 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.05) [Step started at t=0, and will rewind there]\n", "* INFO: the tentative time step (0.05) 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.025) [Step started at t=0, and will rewind there]\n", "* INFO: the tentative time step (0.025) 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.0125) [Step started at t=0, and will rewind there]\n", "Some steps were backtracked and re-done, to prevent negative concentrations or excessively large concentration changes\n", "16 total step(s) taken\n" ] } ], "source": [ "dynamics.single_compartment_react(initial_step=0.1, target_end_time=1.2,\n", " variable_steps=True, explain_variable_steps=False,\n", " snapshots={\"initial_caption\": \"1st reaction step\",\n", " \"final_caption\": \"last reaction step\"}\n", " )" ] }, { "cell_type": "markdown", "id": "2169c3b3", "metadata": {}, "source": [ "## The flag _variable_steps_ automatically adjusts up or down the time step, whenever the changes of concentrations are, respectively, \"slow\" or \"fast\" (as determined using the specified _thresholds_ )" ] }, { "cell_type": "code", "execution_count": 13, "id": "2d5df59c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SYSTEM TIMEABcaption
00.000010.00000050.000000Initial state
10.012510.87500049.1250001st reaction step
20.037512.51562547.484375
30.050013.23339846.766602
40.075014.57922445.420776
50.087515.16802244.831978
60.112516.27201943.727981
70.137517.23801742.761983
80.187518.92851341.071487
90.212519.56244940.437551
100.262520.67183639.328164
110.312521.50387738.496123
120.412522.75193937.248061
130.512523.37596936.624031
140.712524.00000036.000000
151.112524.00000036.000000
161.912524.00000036.000000last reaction step
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "0 0.0000 10.000000 50.000000 Initial state\n", "1 0.0125 10.875000 49.125000 1st reaction step\n", "2 0.0375 12.515625 47.484375 \n", "3 0.0500 13.233398 46.766602 \n", "4 0.0750 14.579224 45.420776 \n", "5 0.0875 15.168022 44.831978 \n", "6 0.1125 16.272019 43.727981 \n", "7 0.1375 17.238017 42.761983 \n", "8 0.1875 18.928513 41.071487 \n", "9 0.2125 19.562449 40.437551 \n", "10 0.2625 20.671836 39.328164 \n", "11 0.3125 21.503877 38.496123 \n", "12 0.4125 22.751939 37.248061 \n", "13 0.5125 23.375969 36.624031 \n", "14 0.7125 24.000000 36.000000 \n", "15 1.1125 24.000000 36.000000 \n", "16 1.9125 24.000000 36.000000 last reaction step" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_history() # The system's history, saved during the run of single_compartment_react()" ] }, { "cell_type": "code", "execution_count": 14, "id": "1092029f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "From time 0 to 0.0125, in 1 step of 0.0125\n", "From time 0.0125 to 0.0375, in 1 step of 0.025\n", "From time 0.0375 to 0.05, in 1 step of 0.0125\n", "From time 0.05 to 0.075, in 1 step of 0.025\n", "From time 0.075 to 0.0875, in 1 step of 0.0125\n", "From time 0.0875 to 0.1375, in 2 steps of 0.025\n", "From time 0.1375 to 0.1875, in 1 step of 0.05\n", "From time 0.1875 to 0.2125, in 1 step of 0.025\n", "From time 0.2125 to 0.3125, in 2 steps of 0.05\n", "From time 0.3125 to 0.5125, in 2 steps of 0.1\n", "From time 0.5125 to 0.7125, in 1 step of 0.2\n", "From time 0.7125 to 1.112, in 1 step of 0.4\n", "From time 1.112 to 1.912, in 1 step of 0.8\n", "(16 steps total)\n" ] } ], "source": [ "dynamics.explain_time_advance()" ] }, { "cell_type": "markdown", "id": "edb7c015", "metadata": { "tags": [] }, "source": [ "## Notice how the reaction proceeds in smaller steps in the early times, when [A] and [B] are changing much more rapidly\n", "### That resulted from passing the flag _variable_steps=True_ to single_compartment_react()" ] }, { "cell_type": "markdown", "id": "766e8bba-3a15-461e-9bf6-9daf509197d5", "metadata": { "tags": [] }, "source": [ "# Scrutinizing some instances of step-size changes:" ] }, { "cell_type": "markdown", "id": "6047485b", "metadata": { "tags": [] }, "source": [ "### Detailed Example 1: **going from 0.1375 to 0.1875** " ] }, { "cell_type": "code", "execution_count": 15, "id": "d13ebde0-4f12-47f2-b5f0-28e0f7a8f6c0", "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", "
SYSTEM TIMEABcaption
70.137517.23801742.761983
80.187518.92851341.071487
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "7 0.1375 17.238017 42.761983 \n", "8 0.1875 18.928513 41.071487 " ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lookup = dynamics.get_history(t_start=0.1375, t_end=0.1875)\n", "lookup" ] }, { "cell_type": "code", "execution_count": 16, "id": "d7c7164a-0350-4549-874a-5084a04160a5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 1.6904957, -1.6904957], dtype=float32)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta_concentrations = dynamics.extract_delta_concentrations(lookup, 7, 8, ['A', 'B'])\n", "delta_concentrations" ] }, { "cell_type": "markdown", "id": "2127ef7d", "metadata": {}, "source": [ "As expected by the 1:1 stoichiometry, delta_A = - delta_B\n", "\n", "The above values coud also be looked up from the diagnostic data, since we only have 1 reaction:" ] }, { "cell_type": "code", "execution_count": 17, "id": "0ffe1206-5528-4f6e-8dc8-8a8bc450a8e5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reaction: A <-> B\n" ] } ], "source": [ "rxn_data = dynamics.get_diagnostic_rxn_data(rxn_index=0)" ] }, { "cell_type": "code", "execution_count": 18, "id": "8e245671-84e5-4e20-92f1-cd28191c6343", "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", "
START_TIMEDelta ADelta Btime_stepcaption
80.08751.103997-1.1039970.025
90.11250.965998-0.9659980.025
100.13751.690496-1.6904960.050
110.18750.633936-0.6339360.025
\n", "
" ], "text/plain": [ " START_TIME Delta A Delta B time_step caption\n", "8 0.0875 1.103997 -1.103997 0.025 \n", "9 0.1125 0.965998 -0.965998 0.025 \n", "10 0.1375 1.690496 -1.690496 0.050 \n", "11 0.1875 0.633936 -0.633936 0.025 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rxn_data[8:12]" ] }, { "cell_type": "code", "execution_count": 19, "id": "b9294929-9096-4e7a-84c6-3ff492e334fe", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reaction: A <-> B\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", "
search_valueSTART_TIMEDelta ADelta Btime_stepcaption
100.13750.13751.690496-1.6904960.05
\n", "
" ], "text/plain": [ " search_value START_TIME Delta A Delta B time_step caption\n", "10 0.1375 0.1375 1.690496 -1.690496 0.05 " ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta_row = dynamics.get_diagnostic_rxn_data(rxn_index=0, t=0.1375) # Locate the row with the interval's start time\n", "delta_row" ] }, { "cell_type": "code", "execution_count": 20, "id": "53e62512-9865-4d65-a547-4e719d54033f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.69049576, -1.69049576]])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta_row[[\"Delta A\", \"Delta B\"]].to_numpy() # Gives same value as delta_concentrations, above" ] }, { "cell_type": "code", "execution_count": 21, "id": "5b1a9eed-21e0-4896-ad01-b710fcd7a720", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('high', 0.5, {'norm_A': 1.428887963294983})" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Computes a measure of how large delta_concentrations is, and propose a course of action\n", "dynamics.adjust_speed(delta_concentrations) " ] }, { "cell_type": "markdown", "id": "cc004982-4c9e-43c9-883d-05827e1b02e8", "metadata": {}, "source": [ "#### The above conclusion is that the time step is on the \"high\" side, and should be **HALVED** at the next round : that's because the computed norm is > than the \"high\" value previously given in the argument to _set_thresholds()_ (but doesn't exceed the \"abort\" threshold)" ] }, { "cell_type": "code", "execution_count": 22, "id": "26e37513-4595-4188-bc37-d860fbcbed99", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'norm': 'norm_A', 'low': 0.5, 'high': 0.8, 'abort': 1.44}]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.thresholds # Consult the previously-set threshold values" ] }, { "cell_type": "markdown", "id": "1dac7bdd-63fe-4a5d-95ad-12ae178610ca", "metadata": { "tags": [] }, "source": [ "### Detailed Example 2: **going from 0.1875 to 0.2125** " ] }, { "cell_type": "code", "execution_count": 23, "id": "546deb76-bd51-41a0-b082-5ef671d565c9", "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", "
SYSTEM TIMEABcaption
80.187518.92851341.071487
90.212519.56244940.437551
\n", "
" ], "text/plain": [ " SYSTEM TIME A B caption\n", "8 0.1875 18.928513 41.071487 \n", "9 0.2125 19.562449 40.437551 " ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lookup = dynamics.get_history(t_start=0.1875, t_end=0.2125)\n", "lookup" ] }, { "cell_type": "code", "execution_count": 24, "id": "5c78a7c7-573d-4d8a-a737-8a6ba475f17c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 0.6339359, -0.6339359], dtype=float32)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "delta_concentrations = dynamics.extract_delta_concentrations(lookup, 8, 9, ['A', 'B'])\n", "delta_concentrations" ] }, { "cell_type": "markdown", "id": "fe0d44a2-6aa3-433d-9e4c-94084d43a0cf", "metadata": {}, "source": [ "Note how substantially smaller _delta_concentrations_ is, compared to the previous example" ] }, { "cell_type": "code", "execution_count": 25, "id": "7c80b15c-0567-412f-9a9c-2197c63405a7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "('low', 2.0, {'norm_A': 0.20093737542629242})" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.adjust_speed(delta_concentrations)" ] }, { "cell_type": "markdown", "id": "751da240-c410-4bed-8d1f-4847d42aba4a", "metadata": {}, "source": [ "#### The above conclusion is that the time step is on the \"low\" side, and should be **DOUBLED** at the next round : that's because the computed norm is < than the \"low\" value previously given in the argument to _set_thresholds()_" ] }, { "cell_type": "code", "execution_count": 26, "id": "99d99b08-35ae-4875-9a4d-f4cb96e01f16", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[{'norm': 'norm_A', 'low': 0.5, 'high': 0.8, 'abort': 1.44}]" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.thresholds # Consult the previously-set threshold values" ] }, { "cell_type": "markdown", "id": "6deca814", "metadata": {}, "source": [ "# Check the final equilibrium" ] }, { "cell_type": "code", "execution_count": 27, "id": "23c4b3ba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0: A <-> B\n", "Final concentrations: [B] = 36 ; [A] = 24\n", "1. Ratio of reactant/product concentrations, adjusted for reaction orders: 1.5\n", " Formula used: [B] / [A]\n", "2. Ratio of forward/reverse reaction rates: 1.5\n", "Discrepancy between the two values: 0 %\n", "Reaction IS in equilibrium (within 1% tolerance)\n", "\n" ] }, { "data": { "text/plain": [ "True" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Verify that the reaction has reached equilibrium\n", "dynamics.is_in_equilibrium()" ] }, { "cell_type": "markdown", "id": "03866901", "metadata": { "tags": [] }, "source": [ "# Plots of changes of concentration with time" ] }, { "cell_type": "code", "execution_count": 28, "id": "4aa218e3-e8de-4762-9a60-b727a833f2d4", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0125, 0.037500000000000006, 0.05, 0.07500000000000001, 0.08750000000000001, 0.11250000000000002, 0.1375, 0.1875, 0.2125, 0.2625, 0.3125, 0.4125, 0.5125, 0.7124999999999999, 1.1124999999999998, 1.9124999999999999 ], "xaxis": "x", "y": [ 10, 10.875, 12.515625, 13.2333984375, 14.5792236328125, 15.168022155761719, 16.272019386291504, 17.238016963005066, 18.9285127222538, 19.562448631972075, 20.671836473979056, 21.503877355484292, 22.751938677742146, 23.375969338871073, 24, 24, 24 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "orange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0125, 0.037500000000000006, 0.05, 0.07500000000000001, 0.08750000000000001, 0.11250000000000002, 0.1375, 0.1875, 0.2125, 0.2625, 0.3125, 0.4125, 0.5125, 0.7124999999999999, 1.1124999999999998, 1.9124999999999999 ], "xaxis": "x", "y": [ 50, 49.125, 47.484375, 46.7666015625, 45.4207763671875, 44.83197784423828, 43.727980613708496, 42.761983036994934, 41.0714872777462, 40.437551368027925, 39.328163526020944, 38.49612264451571, 37.248061322257854, 36.62403066112893, 36, 36, 36 ], "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": "Reaction `A <-> B` . Changes in concentrations with time" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 1.9124999999999999 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 7.777777777777778, 52.22222222222222 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAAFoCAYAAAAvu2oWAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3Qu4XGV96P/fzOxrkp0LiSQEcoGgBhCkIhDbSqnYKqERmv5JsdKDwokR2lohJzSBUspRTJqUy7Gn0DQPkVYRGnpiLSXaKh6K9d9wNYoFVML9Ei5JSLKz7zNznnfNXjtrr6yZedfa728ue33neXwwe695Z+az1sye77xrrckUi8WicEEAAQQQQAABBBBAAAEEEEAAgYYRyBDrDbMuuCMIIIAAAggggAACCCCAAAIIeALEOhsCAggggAACCCCAAAIIIIAAAg0mQKw32Arh7iCAAAIIIIAAAggggAACCCBArLMNIIAAAggggAACCCCAAAIIINBgAsR6g60Q7g4CCCCAAAIIIIAAAggggAACxDrbAAIIIIAAAggggAACCCCAAAINJkCsN9gK4e4ggAACCCCAAAIIIIAAAgggQKyzDSCAAAIIIIAAAggggAACCCDQYALEeoOtEO4OAggggAACCCCAAAIIIIAAAsQ62wACCCCAAAIIIIAAAggggAACDSZArDfYCuHuIIAAAggggAACCCCAAAIIIECssw0ggAACCCCAAAIIIIAAAggg0GACxHqDrRDuDgIIIIAAAggggAACCCCAAALEOtsAAggggAACCCCAAAIIIIAAAg0mQKw32Arh7iCAAAIIIIAAAggggAACCCBArLMNIIAAAggggAACCCCAAAIIINBgAsR6g60Q7g4CCCCAAAIIIIAAAggggAACxDrbAAIIIIAAAggggAACCCCAAAINJkCsN9gK4e4ggAACCCCAAAIIIIAAAgggQKyzDSCAAAIIIIAAAggggAACCCDQYALEeoOtEO4OAggggAACCCCAAAIIIIAAAsQ62wACCCCAAAIIIIAAAggggAACDSZArDfYCuHuIIAAAggggAACCCCAAAIIIECssw0ggAACCCCAAAIIIIAAAggg0GACxHqDrRDuDgIIIIAAAggggAACCCCAAALEOtsAAggggAACCCCAAAIIIIAAAg0mQKw32Arh7iCAAAIIIIAAAggggAACCCBArLMNIIAAAggggAACCCCAAAIIINBgAsR6g60Q7g4CCCCAAAIIIIAAAggggAACxDrbAAIIIIAAAggggAACCCCAAAINJkCsN9gK4e4g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", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_curves(colors=['blue', 'orange'])" ] }, { "cell_type": "markdown", "id": "306e3db7", "metadata": {}, "source": [ "## Note how the left-hand side of this plot is much smoother than it was in experiment `react_1`, where no adaptive time steps were used!" ] }, { "cell_type": "code", "execution_count": 29, "id": "6b033cc7-078f-4b94-a466-1aa91e2fca4d", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "A", "line": { "color": "blue", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "A", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0125, 0.037500000000000006, 0.05, 0.07500000000000001, 0.08750000000000001, 0.11250000000000002, 0.1375, 0.1875, 0.2125, 0.2625, 0.3125, 0.4125, 0.5125, 0.7124999999999999, 1.1124999999999998, 1.9124999999999999 ], "xaxis": "x", "y": [ 10, 10.875, 12.515625, 13.2333984375, 14.5792236328125, 15.168022155761719, 16.272019386291504, 17.238016963005066, 18.9285127222538, 19.562448631972075, 20.671836473979056, 21.503877355484292, 22.751938677742146, 23.375969338871073, 24, 24, 24 ], "yaxis": "y" }, { "hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
concentration=%{y}", "legendgroup": "B", "line": { "color": "orange", "dash": "solid" }, "marker": { "symbol": "circle" }, "mode": "lines", "name": "B", "orientation": "v", "showlegend": true, "type": "scatter", "x": [ 0, 0.0125, 0.037500000000000006, 0.05, 0.07500000000000001, 0.08750000000000001, 0.11250000000000002, 0.1375, 0.1875, 0.2125, 0.2625, 0.3125, 0.4125, 0.5125, 0.7124999999999999, 1.1124999999999998, 1.9124999999999999 ], "xaxis": "x", "y": [ 50, 49.125, 47.484375, 46.7666015625, 45.4207763671875, 44.83197784423828, 43.727980613708496, 42.761983036994934, 41.0714872777462, 40.437551368027925, 39.328163526020944, 38.49612264451571, 37.248061322257854, 36.62403066112893, 36, 36, 36 ], "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.0125, "x1": 0.0125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.037500000000000006, "x1": 0.037500000000000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05, "x1": 0.05, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07500000000000001, "x1": 0.07500000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08750000000000001, "x1": 0.08750000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.11250000000000002, "x1": 0.11250000000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.1375, "x1": 0.1375, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.1875, "x1": 0.1875, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.2125, "x1": 0.2125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.2625, "x1": 0.2625, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.3125, "x1": 0.3125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.4125, "x1": 0.4125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5125, "x1": 0.5125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7124999999999999, "x1": 0.7124999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.1124999999999998, "x1": 1.1124999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.9124999999999999, "x1": 1.9124999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" } ], "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Reaction `A <-> B` . Changes in concentrations with time (time steps shown in dashed lines)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.001159090909090909, 1.9136590909090907 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 7.777777777777778, 52.22222222222222 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+sAAAFoCAYAAAAvu2oWAAAAAXNSR0IArs4c6QAAIABJREFUeF7svQm4FNWZ///t5W7siwIiO264gTFEnARjJFEHt2Ai0cQEg0Gi2VwG/6CTIf4yBn/wd5nEiTJEZWIUQyIxQTEkGo0mEVSiRqO4QRSVRSNw74W79fJ7TjfV1K1b3XVqebu7qr/9PD54u9/zVtXnnKquT5+lYtlsNgu+SIAESIAESIAESIAESIAESIAESIAEqoZAjLJeNXXBHSEBEiABEiABEiABEiABEiABEiCBHAHKOhsCCZAACZAACZAACZAACZAACZAACVQZAcp6lVUId4cESIAESIAESIAESIAESIAESIAEKOtsAyRAAiRAAiRAAiRAAiRAAiRAAiRQZQQo61VWIdwdEiABEiABEiABEiABEiABEiABEqCssw2QAAmQAAmQAAmQAAmQAAmQAAmQQJURoKxXWYVwd0iABEiABEiABEiABEiABEiABEiAss42QAIkQAIkQAIkQAIkQAIkQAIkQAJVRoCyXmUVwt0hARIgARIgARIgARIgARIgARIgAco62wAJkAAJkAAJkAAJkAAJkAAJkAAJVBkBynqVVQh3hwRIgARIgARIgARIgARIgARIgAQo62wDJEACJEACJEACJEACJEACJEACJFBlBCjrVVYh3B0SIAESIAESIAESIAESIAESIAESoKyzDZAACZAACZAACZAACZAACZAACZBAlRGgrFdZhXB3SIAESIAESIAESIAESIAESIAESICyzjZAAiRAAiRAAiRAAiRAAiRAAiRAAlVGgLJeZRXC3SEBEiABEiABEiABEiABEiABEiAByjrbAAmQAAmQAAmQAAmQAAmQAAmQAAlUGQHKepVVCHeHBEiABEiABEiABEiABEiABEiABCjrbAMkQAIkQAIkQAIkQAIkQAIkQAIkUGUEKOtVViHcHRIgARIgARIgARIgARIgARIgARKgrLMNkAAJkAAJkAAJkAAJkAAJkAAJkECVEaCsV1mFcHdIgARIgARIgARIgARIgARIgARIgLLONkACJEACJEACJEACJEACJEACJEACVUaAsl5lFcLdIQESIAESIAESIAESIAESIAESIAHKOtsACZAACZAACZAACZAACZAACZAACVQZAcp6lVUId4cESIAESIAESIAE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RIwAZT1iFcrDIQESIAESIAESIAESIAESIAESCD8Bynr465BHQAIkQAIkQAIkQAIkQAIkQAIkEDEClPWIVSgPhwRIgARIgARIgARIgARIgARIIPwEKOvhr0MeAQmQAAmQAAmQAAmQAAmQAAmQQMQIUNYjVqE8HBIgARIgARIgARIgARIgARIggfAToKyHvw55BCRAAiRAAiRAAiRAAiRAAiRAAhEjQFmPWIXycEiABEiABEiABEiABEiABEiABMJPgLIe/jrkEZAACZAACZAACZAACZAACZAACUSMAGU9YhXKwyEBEiABEiABEiABEiABEiABEgg/Acp6+OuQR0ACJEACJEACJEACJEACJEACJBAxApT1iFUoD4cESIAESIAESIAESIAESIAESCD8BCjr4a9DHgEJkAAJkAAJkAAJkAAJkAAJkEDECFDWI1ahPBwSIAESIAESIAESIAESIAESIIHwE6Csh78OeQQkQAIkQAIkQAIkQAIkQAIkQAIRI0BZj1iF8nBIgARIgARIgARIgARIgARIgATCT4CyHv465BGQAAmQAAmQAAmQAAmQAAmQAAlEjABlPWIVysMhARIgARIgARIgARIgARIgARIIPwHKevjrkEdAAiRAAiRAAiRAAiRAAiRAAiQQMQKU9YhVKA+HBEiABEiABEiABEiABEiABEgg/AQo6+GvQx4BCZAACZAACZAACZAACZAACZBAxAhQ1iNWoTwcEiABEiABEiABEiABEiABEiCB8BOgrIe/DnkEJEACJEACJEACJEACJEACJEACESNAWY9YhfJwSIAESIAESIAESIAESIAESIAEwk+Ash7+OuQRkAAJkAAJkAAJkAAJkAAJkAAJRIwAZT1iFcrDIQESIAESIAESIAESIAESIAESCD8Bynr465BHQAIkQAIkQAIkQAIkQAIkQAIkEDEClPWIVSgPhwRIgARIgARIgARIgARIgARIIPwEKOvhr0MeAQmQAAmQAAmQAAmQAAmQAAmQQMQIUNYjVqE8HBIgARIgARIgARIgARIgARIggfAToKyHvw55BCRAAiRAAiRAAiRAAiRAAiRAAhEjQFmPWIXycEiABEiABEiABEiABEiABEiABMJPgLIe/jrkEZAACZAACZAACZAACZAACZAACUSMAGU9YhXKwyEBEiABEiABEiABEiABEiABEgg/Acp6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b3V7efzytuozLKx3rWcuw3rctsd3/DEsvmzRoB2HM6zHdT+/65Vwzpk/GHzJnbB+lB4INpsAAQIEjgoBYf2o6CYbSYAAAQJzIVC9c7z+mrPq1u1Yf/Pd6sPCetd65jqsNy80HI5n1tteLSesz8VeqQ4CBAgQINAuIKzbMwgQIEBgogSqoF1vdNvz6vHvo26D71LPuLCe+gVz8Zn15mcuZtar7duz951B9fHugy0bVg9m7uvvl2+ue1hY9wVzE3VIaSwBAgQI9CQgrPcEq1oCBAgQIECAAAECBAgQIJArIKznyilHgAABAgQIECBAgAABAgR6EhDWe4JVLQECBAgQIECAAAECBAgQyBUQ1nPllCNAgAABAgQIECBAgAABAj0JCOs9waqWAAECBAgQIECAAAECBAjkCgjruXLKESBAgAABAgQIECBAgACBngSE9Z5gVUuAAAECBAgQIECAAAECBHIFhPVcOeUIECBAgAABAgQIECBAgEBPAsJ6T7CqJUCAAAECBAgQIECAAAECuQLCeq6ccgQIECBAgAABAgQIECBAoCcBYb0nWNUSIECAAAECBAgQIECAAIFcAWE9V045AgQIECBAgAABAgQIECDQk4Cw3hOsagkQIECAAAECBAgQIECAQK6AsJ4rpxwBAgQIECBAgAABAgQIEOhJQFjvCVa1BAgQIECAAAECBAgQIEAgV0BYz5VTjgABAgQIECBAgAABAgQI9CQgrPcEq1oCBAgQIECAAAECBAgQIJArIKznyilHgAABAgQIECBAgAABAgR6EhDWe4JVLQECBAgQIECAAAECBAgQyBUQ1nPllCNAgAABAgQIECBAgAABAj0JCOs9waqWAAECBAgQIECAAAECBAjkCgjruXLKESBAgAABAgQIECBAgACBngSE9Z5gVUuAAAECBAgQIECAAAECBHIFhPVcOeUIECBAgAABAgQIECBAgEBPAsJ6T7CqJUCAAAECBAgQIECAAAECuQLCeq6ccgQIECBAgAABAgQIECBAoCcBYb0nWNUSIECAAAECBAgQIECAAIFcAWE9V045AgQIECBAgAABAgQIECDQk4Cw3hOsagkQIECAAAECBAgQIECAQK6AsJ4rpxwBAgQIECBAgAABAgQIEOhJQFjvCVa1BAgQIECAAAECBAgQIEAgV0BYz5VTjgABAgQIECBAgAABAgQI9CQgrPcEq1oCBAgQIECAAAECBAgQIJArIKznyilHgAABAgQIECBAgAABAgR6EhDWe4JVLQECBAgQIECAAAECBAgQyBUQ1nPllCNAgAABAgQIECBAgAABAj0JCOs9waqWAAECBAgQIECAAAECBAjkCgjruXLKESBAgAABAgQIECBAgACBngSE9Z5gVUuAAAECBAgQIECAAAECBHIF/guP9Np3cXkCxAAAAABJRU5ErkJggg==", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dynamics.plot_curves(colors=['blue', 'orange'], show_intervals=True)" ] }, { "cell_type": "markdown", "id": "6b96283e-20d8-4256-b857-2e328923e942", "metadata": {}, "source": [ "#### Compare the above with the fixed step sizes (always 0.1) of experiment `react_1`" ] }, { "cell_type": "code", "execution_count": 30, "id": "039e5eab-53bf-4bfb-b68b-e83f399490c5", "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.0125, 0.0125, 0.037500000000000006, 0.037500000000000006, 0.05, 0.05, 0.07500000000000001, 0.07500000000000001, 0.08750000000000001, 0.08750000000000001, 0.1375, 0.1375, 0.1875, 0.1875, 0.2125, 0.2125, 0.3125, 0.3125, 0.5125, 0.5125, 0.7124999999999999, 0.7124999999999999, 1.1124999999999998, 1.1124999999999998, 1.9124999999999999 ], "xaxis": "x", "y": [ 0.0125, 0.0125, 0.025000000000000005, 0.025000000000000005, 0.012499999999999997, 0.012499999999999997, 0.02500000000000001, 0.02500000000000001, 0.012499999999999997, 0.012499999999999997, 0.024999999999999994, 0.024999999999999994, 0.04999999999999999, 0.04999999999999999, 0.024999999999999994, 0.024999999999999994, 0.04999999999999999, 0.04999999999999999, 0.09999999999999998, 0.09999999999999998, 0.19999999999999996, 0.19999999999999996, 0.3999999999999999, 0.3999999999999999, 0.8, 0.8 ], "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.0125, "x1": 0.0125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.037500000000000006, "x1": 0.037500000000000006, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.05, "x1": 0.05, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.07500000000000001, "x1": 0.07500000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.08750000000000001, "x1": 0.08750000000000001, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.11250000000000002, "x1": 0.11250000000000002, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.1375, "x1": 0.1375, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.1875, "x1": 0.1875, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.2125, "x1": 0.2125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.2625, "x1": 0.2625, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.3125, "x1": 0.3125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.4125, "x1": 0.4125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.5125, "x1": 0.5125, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 0.7124999999999999, "x1": 0.7124999999999999, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.1124999999999998, "x1": 1.1124999999999998, "xref": "x", "y0": 0, "y1": 1, "yref": "y domain" }, { "line": { "color": "gray", "dash": "dot", "width": 1 }, "type": "line", "x0": 1.9124999999999999, "x1": 1.9124999999999999, "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.001135688836104513, 1.9136356888361044 ], "title": { "text": "SYSTEM TIME" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ -0.03125000000000001, 0.84375 ], "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": "markdown", "id": "317b8747", "metadata": {}, "source": [ "# Diagnostics of the run may be investigated as follows: \n", "_(note - this is possible because we make a call to set_diagnostics() prior to running the simulation)_" ] }, { "cell_type": "code", "execution_count": 31, "id": "04c04327", "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", "
TIMEABcaption
00.000010.00000050.000000
10.012510.87500049.125000
20.037512.51562547.484375
30.050013.23339846.766602
40.075014.57922445.420776
50.087515.16802244.831978
60.112516.27201943.727981
70.137517.23801742.761983
80.187518.92851341.071487
90.212519.56244940.437551
100.262520.67183639.328164
110.312521.50387738.496123
120.412522.75193937.248061
130.512523.37596936.624031
140.712524.00000036.000000
151.112524.00000036.000000
161.912524.00000036.000000
\n", "
" ], "text/plain": [ " TIME A B caption\n", "0 0.0000 10.000000 50.000000 \n", "1 0.0125 10.875000 49.125000 \n", "2 0.0375 12.515625 47.484375 \n", "3 0.0500 13.233398 46.766602 \n", "4 0.0750 14.579224 45.420776 \n", "5 0.0875 15.168022 44.831978 \n", "6 0.1125 16.272019 43.727981 \n", "7 0.1375 17.238017 42.761983 \n", "8 0.1875 18.928513 41.071487 \n", "9 0.2125 19.562449 40.437551 \n", "10 0.2625 20.671836 39.328164 \n", "11 0.3125 21.503877 38.496123 \n", "12 0.4125 22.751939 37.248061 \n", "13 0.5125 23.375969 36.624031 \n", "14 0.7125 24.000000 36.000000 \n", "15 1.1125 24.000000 36.000000 \n", "16 1.9125 24.000000 36.000000 " ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_conc_data() # This will be complete, even if we only saved part of the history during the run" ] }, { "cell_type": "code", "execution_count": 32, "id": "2144da8f-498a-4954-8a51-a0e606055979", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reaction: A <-> B\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", "
START_TIMEDelta ADelta Btime_stepcaption
00.00007.000000-7.0000000.1000aborted: excessive norm value(s)
10.00003.500000-3.5000000.0500aborted: excessive norm value(s)
20.00001.750000-1.7500000.0250aborted: excessive norm value(s)
30.00000.875000-0.8750000.0125
40.01251.640625-1.6406250.0250
50.03750.717773-0.7177730.0125
60.05001.345825-1.3458250.0250
70.07500.588799-0.5887990.0125
80.08751.103997-1.1039970.0250
90.11250.965998-0.9659980.0250
100.13751.690496-1.6904960.0500
110.18750.633936-0.6339360.0250
120.21251.109388-1.1093880.0500
130.26250.832041-0.8320410.0500
140.31251.248061-1.2480610.1000
150.41250.624031-0.6240310.1000
160.51250.624031-0.6240310.2000
170.71250.0000000.0000000.4000
181.11250.0000000.0000000.8000
\n", "
" ], "text/plain": [ " START_TIME Delta A Delta B time_step \\\n", "0 0.0000 7.000000 -7.000000 0.1000 \n", "1 0.0000 3.500000 -3.500000 0.0500 \n", "2 0.0000 1.750000 -1.750000 0.0250 \n", "3 0.0000 0.875000 -0.875000 0.0125 \n", "4 0.0125 1.640625 -1.640625 0.0250 \n", "5 0.0375 0.717773 -0.717773 0.0125 \n", "6 0.0500 1.345825 -1.345825 0.0250 \n", "7 0.0750 0.588799 -0.588799 0.0125 \n", "8 0.0875 1.103997 -1.103997 0.0250 \n", "9 0.1125 0.965998 -0.965998 0.0250 \n", "10 0.1375 1.690496 -1.690496 0.0500 \n", "11 0.1875 0.633936 -0.633936 0.0250 \n", "12 0.2125 1.109388 -1.109388 0.0500 \n", "13 0.2625 0.832041 -0.832041 0.0500 \n", "14 0.3125 1.248061 -1.248061 0.1000 \n", "15 0.4125 0.624031 -0.624031 0.1000 \n", "16 0.5125 0.624031 -0.624031 0.2000 \n", "17 0.7125 0.000000 0.000000 0.4000 \n", "18 1.1125 0.000000 0.000000 0.8000 \n", "\n", " caption \n", "0 aborted: excessive norm value(s) \n", "1 aborted: excessive norm value(s) \n", "2 aborted: excessive norm value(s) \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 " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_rxn_data(rxn_index=0) # For the 0-th reaction (the only reaction in our case)" ] }, { "cell_type": "markdown", "id": "3712a55c-f0a7-4084-81ba-04cff117799b", "metadata": {}, "source": [ "### Note that diagnostic data with the DELTA Concentrations - above and below - also record the values that were considered (but not actually used) during ABORTED steps" ] }, { "cell_type": "code", "execution_count": 33, "id": "98515b8d", "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", "
START_TIMEDelta ADelta Bnorm_Anorm_Bactionstep_factortime_stepcaption
00.00007.000000-7.00000024.500000NoneABORT0.50.1000excessive norm value(s)
10.00003.500000-3.5000006.125000NoneABORT0.50.0500excessive norm value(s)
20.00001.750000-1.7500001.531250NoneABORT0.50.0250excessive norm value(s)
30.00000.875000-0.8750000.382812NoneOK (low)2.00.0125
40.01251.640625-1.6406251.345825NoneOK (high)0.50.0250
50.03750.717773-0.7177730.257599NoneOK (low)2.00.0125
60.05001.345825-1.3458250.905623NoneOK (high)0.50.0250
70.07500.588799-0.5887990.173342NoneOK (low)2.00.0125
80.08751.103997-1.1039970.609405NoneOK (stay)1.00.0250
90.11250.965998-0.9659980.466576NoneOK (low)2.00.0250
100.13751.690496-1.6904961.428888NoneOK (high)0.50.0500
110.18750.633936-0.6339360.200937NoneOK (low)2.00.0250
120.21251.109388-1.1093880.615371NoneOK (stay)1.00.0500
130.26250.832041-0.8320410.346146NoneOK (low)2.00.0500
140.31251.248061-1.2480610.778829NoneOK (stay)1.00.1000
150.41250.624031-0.6240310.194707NoneOK (low)2.00.1000
160.51250.624031-0.6240310.194707NoneOK (low)2.00.2000
170.71250.0000000.0000000.000000NoneOK (low)2.00.4000
181.11250.0000000.0000000.000000NoneOK (low)2.00.8000
\n", "
" ], "text/plain": [ " START_TIME Delta A Delta B norm_A norm_B action step_factor \\\n", "0 0.0000 7.000000 -7.000000 24.500000 None ABORT 0.5 \n", "1 0.0000 3.500000 -3.500000 6.125000 None ABORT 0.5 \n", "2 0.0000 1.750000 -1.750000 1.531250 None ABORT 0.5 \n", "3 0.0000 0.875000 -0.875000 0.382812 None OK (low) 2.0 \n", "4 0.0125 1.640625 -1.640625 1.345825 None OK (high) 0.5 \n", "5 0.0375 0.717773 -0.717773 0.257599 None OK (low) 2.0 \n", "6 0.0500 1.345825 -1.345825 0.905623 None OK (high) 0.5 \n", "7 0.0750 0.588799 -0.588799 0.173342 None OK (low) 2.0 \n", "8 0.0875 1.103997 -1.103997 0.609405 None OK (stay) 1.0 \n", "9 0.1125 0.965998 -0.965998 0.466576 None OK (low) 2.0 \n", "10 0.1375 1.690496 -1.690496 1.428888 None OK (high) 0.5 \n", "11 0.1875 0.633936 -0.633936 0.200937 None OK (low) 2.0 \n", "12 0.2125 1.109388 -1.109388 0.615371 None OK (stay) 1.0 \n", "13 0.2625 0.832041 -0.832041 0.346146 None OK (low) 2.0 \n", "14 0.3125 1.248061 -1.248061 0.778829 None OK (stay) 1.0 \n", "15 0.4125 0.624031 -0.624031 0.194707 None OK (low) 2.0 \n", "16 0.5125 0.624031 -0.624031 0.194707 None OK (low) 2.0 \n", "17 0.7125 0.000000 0.000000 0.000000 None OK (low) 2.0 \n", "18 1.1125 0.000000 0.000000 0.000000 None OK (low) 2.0 \n", "\n", " time_step caption \n", "0 0.1000 excessive norm value(s) \n", "1 0.0500 excessive norm value(s) \n", "2 0.0250 excessive norm value(s) \n", "3 0.0125 \n", "4 0.0250 \n", "5 0.0125 \n", "6 0.0250 \n", "7 0.0125 \n", "8 0.0250 \n", "9 0.0250 \n", "10 0.0500 \n", "11 0.0250 \n", "12 0.0500 \n", "13 0.0500 \n", "14 0.1000 \n", "15 0.1000 \n", "16 0.2000 \n", "17 0.4000 \n", "18 0.8000 " ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dynamics.get_diagnostic_decisions_data()" ] }, { "cell_type": "code", "execution_count": null, "id": "7f59733f", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }