{
"cells": [
{
"cell_type": "markdown",
"id": "3bbe8002-bdf3-490c-bde0-80dd3713a3d0",
"metadata": {},
"source": [
"## An `A <-> B` reaction \n",
"with 1st-order kinetics in both directions, taken to equilibrium,\n",
"using a simple, **coarse fixed-timestep simulation.** \n",
"\n",
"In Part 2, below, perform some analysis of the results: in particular, examine the **reaction rates**. \n",
"\n",
"(See also the experiment _\"1D/reactions/reaction_1\"_ for a multi-compartment version) \n",
"\n",
"#### This experiment gets repeated in _\"react_2_b\"_ , with a more sophisticated approach, \n",
"#### involving adaptive variable time steps"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "0fac88df-1c44-4419-8479-a20369b06499",
"metadata": {},
"outputs": [],
"source": [
"LAST_REVISED = \"Aug. 29, 2024\"\n",
"LIFE123_VERSION = \"1.0.0rc5\" # Library version this experiment is based on"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "e2d818e7-05d8-4624-b9de-2ff263b879be",
"metadata": {},
"outputs": [],
"source": [
"#import set_path # Using MyBinder? Uncomment this before running the next cell!"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "b0ce3cdd",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"#import sys\n",
"#sys.path.append(\"C:/some_path/my_env_or_install\") # CHANGE to the folder containing your venv or libraries installation!\n",
"# NOTE: If any of the imports below can't find a module, uncomment the lines above, or try: import set_path \n",
"\n",
"import numpy as np\n",
"import ipynbname\n",
"\n",
"from life123 import check_version, UniformCompartment, PlotlyHelper, GraphicLog"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "4f75ae66-3d5c-474c-8d88-bd8a7ca92aef",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"OK\n"
]
}
],
"source": [
"check_version(LIFE123_VERSION)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "83c3cc5f-de21-4f66-9988-2806fbf0666d",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-> Output will be LOGGED into the file 'react_2_a.log.htm'\n"
]
}
],
"source": [
"# Initialize the HTML logging (for the graphics)\n",
"log_file = ipynbname.name() + \".log.htm\" # Use the notebook base filename for the log file\n",
" # IN CASE OF PROBLEMS, set manually to any desired name\n",
"\n",
"# Set up the use of some specified graphic (Vue) components\n",
"GraphicLog.config(filename=log_file,\n",
" components=[\"vue_cytoscape_2\"],\n",
" extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "46703103-a97d-426c-bf6e-ad6e397a7ddb",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "66400086-eaa7-427c-9bdd-fb1de0346596",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "83eb30cd-1a3f-4732-8927-f5240c255d85",
"metadata": {},
"source": [
"# PART 1 - simulation of the reaction"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "72b4245c-de4e-480d-a501-3495b7ed8bc4",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1\n"
]
}
],
"source": [
"# Instantiate the simulator and specify the chemicals\n",
"uc = UniformCompartment()\n",
"\n",
"# Reaction A <-> B , with 1st-order kinetics in both directions\n",
"uc.add_reaction(reactants=\"A\", products=\"B\", kF=3., kR=2.)\n",
"\n",
"print(\"Number of reactions: \", uc.number_of_reactions())"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "00ea560d-9a49-4041-b119-6de11bfcc7af",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1\n",
"0: A <-> B (Elementary Unimolecular reaction) (kF = 3 / kR = 2 / delta_G = -1,005.1 / K = 1.5 / Temp = 25 C)\n",
"Chemicals involved in the above reactions: ['A', 'B']\n"
]
}
],
"source": [
"uc.describe_reactions()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "cb582868-431c-4022-aa0e-a2f554f80d6c",
"metadata": {
"lines_to_next_cell": 2
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[GRAPHIC ELEMENT SENT TO LOG FILE `react_2_a.log.htm`]\n"
]
}
],
"source": [
"# Send a plot of the network of reactions to the HTML log file\n",
"uc.plot_reaction_network(\"vue_cytoscape_2\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b5a0bc1d-2638-4eeb-bdec-0090906b5c5d",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 9,
"id": "ae304704-c8d9-4cef-9e0b-2587bb3909ef",
"metadata": {},
"outputs": [],
"source": [
"# Initial concentrations of all the chemicals\n",
"uc.set_conc({\"A\": 10., \"B\": 50.})"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a605dacf-2c67-403e-9aa9-5be25fc9f481",
"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",
"Chemicals involved in reactions: ['B', 'A']\n"
]
}
],
"source": [
"uc.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "0ff2c242-a15b-456d-ad56-0ba1041c0b4c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" step | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" 10.0 | \n",
" 50.0 | \n",
" | \n",
" Set concentration | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B step caption\n",
"0 0.0 10.0 50.0 Set concentration"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uc.get_history()"
]
},
{
"cell_type": "markdown",
"id": "ab7147fe-712c-4c92-b61f-20ff51675ab8",
"metadata": {},
"source": [
"### Test your intuition: \n",
"#### given that this reaction operates mostly in the forward direction (kF = 3 , kR = 2 , K = 1.5), \n",
"#### do you think that A will be consumed and B will be produced??\n",
"We can take a sneak preview at the final equilibrium concentrations without actually running the simulation:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "12cac04d-dd61-4646-9339-8b70e22139e8",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'A': 24.0, 'B': 36.0}"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uc.find_equilibrium_conc(rxn_index=0) # This is an EXACT equilibrium solution, \n",
" # for 1 reaction (the only reaction)"
]
},
{
"cell_type": "markdown",
"id": "ee5b9d1c-3ebe-497a-a0e9-bfb02dcd0693",
"metadata": {},
"source": [
"#### The reaction will actually proceed IN REVERSE, because of the large initial concentration of B (which we had set to 50), relative to the small initial concentration of A (10)\n",
"Now, let's see the reaction in action!"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d748df77-1b71-4d16-9e24-212d74a93ff4",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "fc516ca2-e62d-4784-b826-5372ff7f4c75",
"metadata": {
"tags": []
},
"source": [
"### Run the reaction"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "50c7e478-ad0e-4aeb-9cea-dfed47cded21",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 total fixed step(s) taken in 0.00 min\n"
]
}
],
"source": [
"# First step of reaction\n",
"uc.single_compartment_react(initial_step=0.1, n_steps=1, variable_steps=False) # NOT using variable steps!"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "c9115720-e66e-44f3-bb0a-fabec5b96673",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" step | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" 10.0 | \n",
" 50.0 | \n",
" | \n",
" Set concentration | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.1 | \n",
" 17.0 | \n",
" 43.0 | \n",
" 1 | \n",
" last reaction step | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B step caption\n",
"0 0.0 10.0 50.0 Set concentration\n",
"1 0.1 17.0 43.0 1 last reaction step"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uc.get_history()"
]
},
{
"cell_type": "markdown",
"id": "98ec8a03-7a9b-403a-8dcd-d9e19c49d656",
"metadata": {},
"source": [
"We can already see the reaction proceeding in reverse..."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "2502cd11-0df9-4303-8895-98401a1df7b8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10 total fixed step(s) taken in 0.00 min\n"
]
}
],
"source": [
"# Numerous more fixed steps\n",
"uc.single_compartment_react(initial_step=0.1, n_steps=10, variable_steps=False) # Again, fixed steps used"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "80fbaee3-bd6f-4197-9270-23374d46a4a7",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" step | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" 10.000000 | \n",
" 50.000000 | \n",
" | \n",
" Set concentration | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.1 | \n",
" 17.000000 | \n",
" 43.000000 | \n",
" 1 | \n",
" last reaction step | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.2 | \n",
" 20.500000 | \n",
" 39.500000 | \n",
" 1 | \n",
" 1st reaction step | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.3 | \n",
" 22.250000 | \n",
" 37.750000 | \n",
" 2 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.4 | \n",
" 23.125000 | \n",
" 36.875000 | \n",
" 3 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.5 | \n",
" 23.562500 | \n",
" 36.437500 | \n",
" 4 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.6 | \n",
" 23.781250 | \n",
" 36.218750 | \n",
" 5 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.7 | \n",
" 23.890625 | \n",
" 36.109375 | \n",
" 6 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.8 | \n",
" 23.945312 | \n",
" 36.054688 | \n",
" 7 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.9 | \n",
" 23.972656 | \n",
" 36.027344 | \n",
" 8 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 1.0 | \n",
" 23.986328 | \n",
" 36.013672 | \n",
" 9 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 1.1 | \n",
" 23.993164 | \n",
" 36.006836 | \n",
" 10 | \n",
" last reaction step | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B step caption\n",
"0 0.0 10.000000 50.000000 Set concentration\n",
"1 0.1 17.000000 43.000000 1 last reaction step\n",
"2 0.2 20.500000 39.500000 1 1st reaction step\n",
"3 0.3 22.250000 37.750000 2 \n",
"4 0.4 23.125000 36.875000 3 \n",
"5 0.5 23.562500 36.437500 4 \n",
"6 0.6 23.781250 36.218750 5 \n",
"7 0.7 23.890625 36.109375 6 \n",
"8 0.8 23.945312 36.054688 7 \n",
"9 0.9 23.972656 36.027344 8 \n",
"10 1.0 23.986328 36.013672 9 \n",
"11 1.1 23.993164 36.006836 10 last reaction step"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uc.get_history()"
]
},
{
"cell_type": "markdown",
"id": "c7650ed4-365e-43c2-b001-280297c68ece",
"metadata": {},
"source": [
"## NOTE: for demonstration purposes, we're using FIXED time steps... \n",
"## Typically, one would use the option for adaptive variable time steps (see experiment `react_2_b`)"
]
},
{
"cell_type": "markdown",
"id": "c034956a-683c-4c3d-8134-ecac9e19a45c",
"metadata": {},
"source": [
"### Check the final equilibrium"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "b139f5e4-625f-4a5e-8f57-8f00244dced4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([23.99316406, 36.00683594])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uc.get_system_conc() # The current concentrations, in the order the chemicals were added "
]
},
{
"cell_type": "markdown",
"id": "d25eedf3-89f8-4f8c-a49a-d2689103528b",
"metadata": {},
"source": [
"NOTE: Consistent with the 3/2 ratio of forward/reverse rates (and the 1st order of the reactions), the systems settles in the following equilibrium:\n",
"\n",
"[A] = 23.99316406\n",
" \n",
"[B] = 36.00683594\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "765f6f39-4b2e-4a86-b6a9-ace9d1941663",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: A <-> B\n",
"Current concentrations: [A] = 23.99 ; [B] = 36.01\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 1.50071\n",
" Formula used: [B] / [A]\n",
"2. Ratio of forward/reverse reaction rates: 1.5\n",
"Discrepancy between the two values: 0.04749 %\n",
"Reaction IS in equilibrium (within 1% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the reaction has reached equilibrium\n",
"uc.is_in_equilibrium()"
]
},
{
"cell_type": "markdown",
"id": "905adfdd-6d70-4dfc-bb34-c547c4d604b9",
"metadata": {},
"source": [
"### As noted earlier, because of the high initial concentration of B relative to A, the overall reaction has proceeded IN REVERSE"
]
},
{
"cell_type": "markdown",
"id": "6ac3dd4e-9dd0-4d3a-aa83-76102bd79524",
"metadata": {
"tags": []
},
"source": [
"## Plots of changes of concentration with time"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "86976e6f-f453-41c3-9553-b27b1328db6b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "Chemical=A
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "A",
"line": {
"color": "darkturquoise",
"dash": "solid",
"shape": "linear"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.1,
0.2,
0.30000000000000004,
0.4,
0.5,
0.6,
0.7,
0.7999999999999999,
0.8999999999999999,
0.9999999999999999,
1.0999999999999999
],
"xaxis": "x",
"y": [
10,
17,
20.5,
22.25,
23.125,
23.5625,
23.78125,
23.890625,
23.9453125,
23.97265625,
23.986328125,
23.9931640625
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "green",
"dash": "solid",
"shape": "linear"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.1,
0.2,
0.30000000000000004,
0.4,
0.5,
0.6,
0.7,
0.7999999999999999,
0.8999999999999999,
0.9999999999999999,
1.0999999999999999
],
"xaxis": "x",
"y": [
50,
43,
39.5,
37.75,
36.875,
36.4375,
36.21875,
36.109375,
36.0546875,
36.02734375,
36.013671875,
36.0068359375
],
"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.1,
"x1": 0.1,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.2,
"x1": 0.2,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.30000000000000004,
"x1": 0.30000000000000004,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.4,
"x1": 0.4,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.5,
"x1": 0.5,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.6,
"x1": 0.6,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.7,
"x1": 0.7,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.7999999999999999,
"x1": 0.7999999999999999,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.8999999999999999,
"x1": 0.8999999999999999,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 0.9999999999999999,
"x1": 0.9999999999999999,
"xref": "x",
"y0": 0,
"y1": 1,
"yref": "y domain"
},
{
"line": {
"color": "gray",
"dash": "dot",
"width": 1
},
"type": "line",
"x0": 1.0999999999999999,
"x1": 1.0999999999999999,
"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.0006440281030444964,
1.1006440281030443
],
"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": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"uc.plot_history(colors=['darkturquoise', 'green'], show_intervals=True)"
]
},
{
"cell_type": "markdown",
"id": "dffad4cb-ec16-4ded-9766-b609244f4496",
"metadata": {},
"source": [
"### Note the raggedness of the left-side (early times) of the curves. \n",
"### In experiment `react_2_b` this simulation gets repeated with an _adaptive variable time resolution_ that takes smaller steps at the beginning, when the reaction is proceeding faster \n",
"#### By contrast, here we used _FIXED_ time steps (shown in dashed lines), which generally gives poor results, unless taking a very large number of very small steps! In particular, the early steps we took were too large, and the later steps were unnecessarily small"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e73955b7-21c5-4147-96f1-55bdad8092ba",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "3f3556f4-2474-4233-b6f9-d05ec856dd13",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "f72f4988-4e4b-4268-9f4a-e36300c9dcf1",
"metadata": {},
"source": [
"# PART 2 - Now investigate A_dot, i.e. d[A]/dt"
]
},
{
"cell_type": "markdown",
"id": "0ddc7f18-dcc7-4563-b6f7-75049d944669",
"metadata": {},
"source": [
"There's no need to compute this; it is automatically saved during the reaction simulations"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "3b77582e-514d-42bc-9ecd-b7c98b7043df",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" rxn0_rate | \n",
" step | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" -70.000000 | \n",
" 0 | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.1 | \n",
" -35.000000 | \n",
" 0 | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.2 | \n",
" -17.500000 | \n",
" 1 | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.3 | \n",
" -8.750000 | \n",
" 2 | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.4 | \n",
" -4.375000 | \n",
" 3 | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.5 | \n",
" -2.187500 | \n",
" 4 | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.6 | \n",
" -1.093750 | \n",
" 5 | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.7 | \n",
" -0.546875 | \n",
" 6 | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.8 | \n",
" -0.273438 | \n",
" 7 | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.9 | \n",
" -0.136719 | \n",
" 8 | \n",
"
\n",
" \n",
" | 10 | \n",
" 1.0 | \n",
" -0.068359 | \n",
" 9 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME rxn0_rate step\n",
"0 0.0 -70.000000 0\n",
"1 0.1 -35.000000 0\n",
"2 0.2 -17.500000 1\n",
"3 0.3 -8.750000 2\n",
"4 0.4 -4.375000 3\n",
"5 0.5 -2.187500 4\n",
"6 0.6 -1.093750 5\n",
"7 0.7 -0.546875 6\n",
"8 0.8 -0.273438 7\n",
"9 0.9 -0.136719 8\n",
"10 1.0 -0.068359 9"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rates_df = uc.get_rate_history()\n",
"rates_df"
]
},
{
"cell_type": "markdown",
"id": "7e469e8a-b8dc-47f9-a6f2-60688f192357",
"metadata": {},
"source": [
"Note that **reaction rates** are defined for the reaction _products_; since `A` is a reactant (in reaction 0, our only reaction), we must flip its sign; since the stoichiometry of A is simply 1, no further adjustment needed."
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "4a78121a-b08f-4c8c-8163-4138e0dd41a1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" rxn0_rate | \n",
" step | \n",
" A_dot | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" -70.000000 | \n",
" 0 | \n",
" 70.000000 | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.1 | \n",
" -35.000000 | \n",
" 0 | \n",
" 35.000000 | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.2 | \n",
" -17.500000 | \n",
" 1 | \n",
" 17.500000 | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.3 | \n",
" -8.750000 | \n",
" 2 | \n",
" 8.750000 | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.4 | \n",
" -4.375000 | \n",
" 3 | \n",
" 4.375000 | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.5 | \n",
" -2.187500 | \n",
" 4 | \n",
" 2.187500 | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.6 | \n",
" -1.093750 | \n",
" 5 | \n",
" 1.093750 | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.7 | \n",
" -0.546875 | \n",
" 6 | \n",
" 0.546875 | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.8 | \n",
" -0.273438 | \n",
" 7 | \n",
" 0.273438 | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.9 | \n",
" -0.136719 | \n",
" 8 | \n",
" 0.136719 | \n",
"
\n",
" \n",
" | 10 | \n",
" 1.0 | \n",
" -0.068359 | \n",
" 9 | \n",
" 0.068359 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME rxn0_rate step A_dot\n",
"0 0.0 -70.000000 0 70.000000\n",
"1 0.1 -35.000000 0 35.000000\n",
"2 0.2 -17.500000 1 17.500000\n",
"3 0.3 -8.750000 2 8.750000\n",
"4 0.4 -4.375000 3 4.375000\n",
"5 0.5 -2.187500 4 2.187500\n",
"6 0.6 -1.093750 5 1.093750\n",
"7 0.7 -0.546875 6 0.546875\n",
"8 0.8 -0.273438 7 0.273438\n",
"9 0.9 -0.136719 8 0.136719\n",
"10 1.0 -0.068359 9 0.068359"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"rates_df['A_dot'] = - rates_df['rxn0_rate'] # Add a column to the Pandas dataframe\n",
"rates_df"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "c78e828d-583a-45d0-b7d2-4fb979bdb586",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" step | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.0 | \n",
" 10.000000 | \n",
" 50.000000 | \n",
" | \n",
" Set concentration | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.1 | \n",
" 17.000000 | \n",
" 43.000000 | \n",
" 1 | \n",
" last reaction step | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.2 | \n",
" 20.500000 | \n",
" 39.500000 | \n",
" 1 | \n",
" 1st reaction step | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.3 | \n",
" 22.250000 | \n",
" 37.750000 | \n",
" 2 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.4 | \n",
" 23.125000 | \n",
" 36.875000 | \n",
" 3 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.5 | \n",
" 23.562500 | \n",
" 36.437500 | \n",
" 4 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.6 | \n",
" 23.781250 | \n",
" 36.218750 | \n",
" 5 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.7 | \n",
" 23.890625 | \n",
" 36.109375 | \n",
" 6 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.8 | \n",
" 23.945312 | \n",
" 36.054688 | \n",
" 7 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.9 | \n",
" 23.972656 | \n",
" 36.027344 | \n",
" 8 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 1.0 | \n",
" 23.986328 | \n",
" 36.013672 | \n",
" 9 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 1.1 | \n",
" 23.993164 | \n",
" 36.006836 | \n",
" 10 | \n",
" last reaction step | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B step caption\n",
"0 0.0 10.000000 50.000000 Set concentration\n",
"1 0.1 17.000000 43.000000 1 last reaction step\n",
"2 0.2 20.500000 39.500000 1 1st reaction step\n",
"3 0.3 22.250000 37.750000 2 \n",
"4 0.4 23.125000 36.875000 3 \n",
"5 0.5 23.562500 36.437500 4 \n",
"6 0.6 23.781250 36.218750 5 \n",
"7 0.7 23.890625 36.109375 6 \n",
"8 0.8 23.945312 36.054688 7 \n",
"9 0.9 23.972656 36.027344 8 \n",
"10 1.0 23.986328 36.013672 9 \n",
"11 1.1 23.993164 36.006836 10 last reaction step"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"uc.get_history() # Revisited from earlier"
]
},
{
"cell_type": "markdown",
"id": "50bfe622-cd5f-46ea-a433-db3a9901ce8d",
"metadata": {},
"source": [
"Notice that we lack a rate for the last time value, in the above table, because no reaction simulation starting at that time has been performed"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "cda9afb7-4e99-493f-a420-3109455e8534",
"metadata": {},
"outputs": [],
"source": [
"p1 = uc.plot_history(chemicals=\"A\", colors=\"darkturquoise\") # The plot of [A] from the system history"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "4b4f3495-bab5-4c07-a569-d4b96a14bf04",
"metadata": {},
"outputs": [],
"source": [
"p2 = PlotlyHelper.plot_pandas(df=rates_df, x_var=\"SYSTEM TIME\", fields=\"A_dot\", colors=\"brown\") # The plot of A_dot, from rates_df"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "c40ecc8d-8f0b-4c44-a7fe-1ddd3b3d463c",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"hovertemplate": "A
SYSTEM TIME=%{x}
A=%{y}",
"legendgroup": "",
"line": {
"color": "darkturquoise",
"dash": "solid",
"shape": "linear"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.1,
0.2,
0.30000000000000004,
0.4,
0.5,
0.6,
0.7,
0.7999999999999999,
0.8999999999999999,
0.9999999999999999,
1.0999999999999999
],
"xaxis": "x",
"y": [
10,
17,
20.5,
22.25,
23.125,
23.5625,
23.78125,
23.890625,
23.9453125,
23.97265625,
23.986328125,
23.9931640625
],
"yaxis": "y"
},
{
"hovertemplate": "A_dot
SYSTEM TIME=%{x}
A_dot=%{y}",
"legendgroup": "",
"line": {
"color": "brown",
"dash": "solid",
"shape": "linear"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A_dot",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.1,
0.2,
0.30000000000000004,
0.4,
0.5,
0.6,
0.7,
0.7999999999999999,
0.8999999999999999,
0.9999999999999999
],
"xaxis": "x",
"y": [
70,
35,
17.5,
8.75,
4.375,
2.1875,
1.09375,
0.546875,
0.2734375,
0.13671875,
0.068359375
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Plot"
}
},
"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": "Concentration of A with time, and its rate of change (A_dot)"
},
"xaxis": {
"autorange": true,
"range": [
0,
1.0999999999999999
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"autorange": true,
"range": [
-3.816731770833333,
73.88509114583333
],
"title": {
"text": "[A] (turquoise) /
A_dot (brown)"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"PlotlyHelper.combine_plots([p1, p2], \n",
" title=\"Concentration of A with time, and its rate of change (A_dot)\",\n",
" y_label=\"[A] (turquoise) /
A_dot (brown)\",\n",
" legend_title=\"Plot\",\n",
" curve_labels=[\"A\", \"A_dot\"])"
]
},
{
"cell_type": "markdown",
"id": "85d87078-8fc1-4166-95e1-343b546f9971",
"metadata": {},
"source": [
"### At t=0 : \n",
"[A]=10 and [A] has a high rate of change (70)\n",
"### As the system approaches equilibrium : \n",
"[A] approaches a value of 24, and its rate of change decays to zero."
]
},
{
"cell_type": "markdown",
"id": "99cd0942-555b-444e-9c6f-ee1481a2a980",
"metadata": {},
"source": [
"#### **NOTE:** The above curves are jagged because of _the large time steps taken_ (especially in the early times, when there's a lot of change.) \n",
"## In experiment `react_2_b`, we revisit the same reaction using a better approach that employs **_adaptive variable time steps_**."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "531ce53b-7336-440e-bce4-716aafa6c692",
"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.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 5
}