{
"cells": [
{
"cell_type": "markdown",
"id": "49bcb5b0-f19d-4b96-a5f1-e0ae30f66d8f",
"metadata": {},
"source": [
"## `A` down-regulates `B` , \n",
"### by being the *limiting reagent* in reaction `A + 2 B <-> Y` (mostly forward)\n",
"1st-order kinetics. \n",
"If [A] is low and [B] is high, then [B] remains high. If [A] goes high, [B] goes low. However, at that point, A can no longer bring B up to any substantial extent.\n",
"\n",
"See also 1D/reactions/down_regulation_1\n",
"\n",
"LAST REVISED: June 23, 2024 (using v. 1.0 beta36)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "5a07c2cb-c6b8-4614-b1f7-fc582f174c0f",
"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": "367ba836",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"from experiments.get_notebook_info import get_notebook_basename\n",
"\n",
"from life123 import ChemData as chem\n",
"from life123 import UniformCompartment\n",
"\n",
"from life123 import GraphicLog"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "cc53849f-351d-49e0-bfa8-22f8d8e22f8e",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-> Output will be LOGGED into the file 'down_regulate_2.log.htm'\n"
]
}
],
"source": [
"# Initialize the HTML logging\n",
"log_file = get_notebook_basename() + \".log.htm\" # Use the notebook base filename for the log file\n",
"\n",
"# Set up the use of some specified graphic (Vue) components\n",
"GraphicLog.config(filename=log_file,\n",
" components=[\"vue_cytoscape_2\"],\n",
" extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")"
]
},
{
"cell_type": "markdown",
"id": "d6d3ca49-589d-49b7-8424-37c7b01bcacf",
"metadata": {},
"source": [
"### Initialize the system"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "23c15e66-52e4-495b-aa3d-ecddd8d16942",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 1 (at temp. 25 C)\n",
"0: A + 2 B <-> Y (kF = 8 / kR = 2 / delta_G = -3,436.6 / K = 4) | 1st order in all reactants & products\n",
"Set of chemicals involved in the above reactions: {'B', 'Y', 'A'}\n",
"[GRAPHIC ELEMENT SENT TO LOG FILE `down_regulate_2.log.htm`]\n"
]
}
],
"source": [
"# Initialize the system\n",
"chem_data = chem(names=[\"A\", \"B\", \"Y\"])\n",
"\n",
"# Reaction A + 2 B <-> Y , with 1st-order kinetics for all species\n",
"chem_data.add_reaction(reactants=[\"A\" , (2, \"B\", 1)], products=\"Y\",\n",
" forward_rate=8., reverse_rate=2.)\n",
"\n",
"chem_data.describe_reactions()\n",
"\n",
"# Send the plot of the reaction network to the HTML log file\n",
"chem_data.plot_reaction_network(\"vue_cytoscape_2\")"
]
},
{
"cell_type": "markdown",
"id": "d1d0eabb-b5b1-4e15-846d-5e483a5a24a7",
"metadata": {},
"source": [
"### Set the initial concentrations of all the chemicals"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e80645d6-eb5b-4c78-8b46-ae126d2cb2cf",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0:\n",
"3 species:\n",
" Species 0 (A). Conc: 5.0\n",
" Species 1 (B). Conc: 100.0\n",
" Species 2 (Y). Conc: 0.0\n",
"Set of chemicals involved in reactions: {'B', 'Y', 'A'}\n"
]
}
],
"source": [
"dynamics = UniformCompartment(chem_data=chem_data, preset=\"fast\")\n",
"dynamics.set_conc(conc={\"A\": 5., \"B\": 100.},\n",
" snapshot=True) # A is scarce, B is plentiful, Y is absent\n",
"dynamics.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0f240808-c4b5-4cec-aded-abcd3063aed7",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "face01c6-9833-4ae3-9762-37a859fdbe63",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "0b46b395-3f68-4dbd-b0c5-d67a0e623726",
"metadata": {
"tags": []
},
"source": [
"# 1. Take the initial system to equilibrium"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "bcf652b8-e0dc-438e-bdbe-02216c1d52a0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Some steps were backtracked and re-done, to prevent negative concentrations or excessively large concentration changes\n",
"31 total step(s) taken\n",
"Number of step re-do's because of negative concentrations: 0\n",
"Number of step re-do's because of elective soft aborts: 1\n",
"Norm usage: {'norm_A': 8, 'norm_B': 7, 'norm_C': 7, 'norm_D': 7}\n"
]
}
],
"source": [
"# All of these settings are currently close to the default values... but subject to change; set for repeatability\n",
"\n",
"dynamics.single_compartment_react(initial_step=0.0005, duration=0.015,\n",
" variable_steps=True)"
]
},
{
"cell_type": "markdown",
"id": "7dc56592-179d-4e4c-b75a-8eb81dcafe71",
"metadata": {},
"source": [
"A, as the scarse limiting reagent, stops the reaction. \n",
"When A is low, B is also low."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "58f4f09c-8af6-46b7-bd85-2f6ca194c42a",
"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": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995
],
"xaxis": "x",
"y": [
5,
3.8,
2.910608,
2.2425064403376127,
1.7356411367126987,
1.3482415057545714,
1.0504871708505024,
0.8206547378229004,
0.6426682454566466,
0.504483795616889,
0.3969909867660788,
0.31324625018339336,
0.24792612097005137,
0.19693027983293382,
0.157089029852568,
0.12594509656266167,
0.1015892502439179,
0.0825354808374127,
0.06762559758116321,
0.05595594168213185,
0.04682085559021633,
0.03966893574528811,
0.034069090865435525,
0.027491686181998265,
0.023054195633241296,
0.02006006070125987,
0.01702944413331922,
0.01547701251369721,
0.014284048926626852,
0.013803595599239923,
0.013873660129421619,
0.013805787033547368
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "darkorange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995
],
"xaxis": "x",
"y": [
100,
97.6,
95.82121599999999,
94.48501288067521,
93.47128227342539,
92.69648301150913,
92.10097434170099,
91.64130947564578,
91.28533649091328,
91.00896759123377,
90.79398197353215,
90.62649250036678,
90.4958522419401,
90.39386055966587,
90.31417805970514,
90.25189019312533,
90.20317850048785,
90.16507096167484,
90.13525119516234,
90.11191188336427,
90.09364171118044,
90.07933787149058,
90.06813818173087,
90.05498337236399,
90.04610839126647,
90.04012012140251,
90.03405888826663,
90.03095402502738,
90.02856809785324,
90.02760719119847,
90.02774732025884,
90.0276115740671
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=Y
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "Y",
"line": {
"color": "green",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "Y",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995
],
"xaxis": "x",
"y": [
0,
1.2,
2.0893919999999997,
2.757493559662387,
3.264358863287301,
3.651758494245428,
3.949512829149497,
4.179345262177099,
4.357331754543353,
4.495516204383111,
4.603009013233921,
4.6867537498166065,
4.752073879029949,
4.803069720167066,
4.842910970147432,
4.874054903437338,
4.898410749756082,
4.917464519162587,
4.932374402418837,
4.944044058317869,
4.953179144409784,
4.960331064254713,
4.965930909134565,
4.972508313818002,
4.976945804366759,
4.97993993929874,
4.982970555866681,
4.984522987486303,
4.985715951073373,
4.98619640440076,
4.9861263398705775,
4.986194212966452
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Changes in concentrations (reaction A + 2 B <-> Y)"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
0.017526562499999995
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-5.555555555555555,
105.55555555555556
],
"title": {
"text": "Concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dynamics.plot_history(colors=['red', 'darkorange', 'green'],\n",
" title=\"Changes in concentrations (reaction A + 2 B <-> Y)\")"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "8a07bbaf-c765-4dee-8712-a094ab678f00",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" Y | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" 5.000000 | \n",
" 100.000000 | \n",
" 0.000000 | \n",
" Initialized state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000300 | \n",
" 3.800000 | \n",
" 97.600000 | \n",
" 1.200000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000600 | \n",
" 2.910608 | \n",
" 95.821216 | \n",
" 2.089392 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000900 | \n",
" 2.242506 | \n",
" 94.485013 | \n",
" 2.757494 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.001200 | \n",
" 1.735641 | \n",
" 93.471282 | \n",
" 3.264359 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.001500 | \n",
" 1.348242 | \n",
" 92.696483 | \n",
" 3.651758 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.001800 | \n",
" 1.050487 | \n",
" 92.100974 | \n",
" 3.949513 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.002100 | \n",
" 0.820655 | \n",
" 91.641309 | \n",
" 4.179345 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.002400 | \n",
" 0.642668 | \n",
" 91.285336 | \n",
" 4.357332 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.002700 | \n",
" 0.504484 | \n",
" 91.008968 | \n",
" 4.495516 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.003000 | \n",
" 0.396991 | \n",
" 90.793982 | \n",
" 4.603009 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.003300 | \n",
" 0.313246 | \n",
" 90.626493 | \n",
" 4.686754 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.003600 | \n",
" 0.247926 | \n",
" 90.495852 | \n",
" 4.752074 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.003900 | \n",
" 0.196930 | \n",
" 90.393861 | \n",
" 4.803070 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.004200 | \n",
" 0.157089 | \n",
" 90.314178 | \n",
" 4.842911 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.004500 | \n",
" 0.125945 | \n",
" 90.251890 | \n",
" 4.874055 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.004800 | \n",
" 0.101589 | \n",
" 90.203179 | \n",
" 4.898411 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.005100 | \n",
" 0.082535 | \n",
" 90.165071 | \n",
" 4.917465 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.005400 | \n",
" 0.067626 | \n",
" 90.135251 | \n",
" 4.932374 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.005700 | \n",
" 0.055956 | \n",
" 90.111912 | \n",
" 4.944044 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.006000 | \n",
" 0.046821 | \n",
" 90.093642 | \n",
" 4.953179 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.006300 | \n",
" 0.039669 | \n",
" 90.079338 | \n",
" 4.960331 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.006600 | \n",
" 0.034069 | \n",
" 90.068138 | \n",
" 4.965931 | \n",
" | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.007050 | \n",
" 0.027492 | \n",
" 90.054983 | \n",
" 4.972508 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.007500 | \n",
" 0.023054 | \n",
" 90.046108 | \n",
" 4.976946 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.007950 | \n",
" 0.020060 | \n",
" 90.040120 | \n",
" 4.979940 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.008625 | \n",
" 0.017029 | \n",
" 90.034059 | \n",
" 4.982971 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.009300 | \n",
" 0.015477 | \n",
" 90.030954 | \n",
" 4.984523 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.010312 | \n",
" 0.014284 | \n",
" 90.028568 | \n",
" 4.985716 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.011831 | \n",
" 0.013804 | \n",
" 90.027607 | \n",
" 4.986196 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.014109 | \n",
" 0.013874 | \n",
" 90.027747 | \n",
" 4.986126 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.017527 | \n",
" 0.013806 | \n",
" 90.027612 | \n",
" 4.986194 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initialized state\n",
"1 0.000300 3.800000 97.600000 1.200000 \n",
"2 0.000600 2.910608 95.821216 2.089392 \n",
"3 0.000900 2.242506 94.485013 2.757494 \n",
"4 0.001200 1.735641 93.471282 3.264359 \n",
"5 0.001500 1.348242 92.696483 3.651758 \n",
"6 0.001800 1.050487 92.100974 3.949513 \n",
"7 0.002100 0.820655 91.641309 4.179345 \n",
"8 0.002400 0.642668 91.285336 4.357332 \n",
"9 0.002700 0.504484 91.008968 4.495516 \n",
"10 0.003000 0.396991 90.793982 4.603009 \n",
"11 0.003300 0.313246 90.626493 4.686754 \n",
"12 0.003600 0.247926 90.495852 4.752074 \n",
"13 0.003900 0.196930 90.393861 4.803070 \n",
"14 0.004200 0.157089 90.314178 4.842911 \n",
"15 0.004500 0.125945 90.251890 4.874055 \n",
"16 0.004800 0.101589 90.203179 4.898411 \n",
"17 0.005100 0.082535 90.165071 4.917465 \n",
"18 0.005400 0.067626 90.135251 4.932374 \n",
"19 0.005700 0.055956 90.111912 4.944044 \n",
"20 0.006000 0.046821 90.093642 4.953179 \n",
"21 0.006300 0.039669 90.079338 4.960331 \n",
"22 0.006600 0.034069 90.068138 4.965931 \n",
"23 0.007050 0.027492 90.054983 4.972508 \n",
"24 0.007500 0.023054 90.046108 4.976946 \n",
"25 0.007950 0.020060 90.040120 4.979940 \n",
"26 0.008625 0.017029 90.034059 4.982971 \n",
"27 0.009300 0.015477 90.030954 4.984523 \n",
"28 0.010312 0.014284 90.028568 4.985716 \n",
"29 0.011831 0.013804 90.027607 4.986196 \n",
"30 0.014109 0.013874 90.027747 4.986126 \n",
"31 0.017527 0.013806 90.027612 4.986194 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "3180f7aa-390e-4ada-a7ab-3c0db958fcc5",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"From time 0 to 0.0066, in 22 steps of 0.0003\n",
"From time 0.0066 to 0.00795, in 3 steps of 0.00045\n",
"From time 0.00795 to 0.0093, in 2 steps of 0.000675\n",
"From time 0.0093 to 0.01031, in 1 step of 0.00101\n",
"From time 0.01031 to 0.01183, in 1 step of 0.00152\n",
"From time 0.01183 to 0.01411, in 1 step of 0.00228\n",
"From time 0.01411 to 0.01753, in 1 step of 0.00342\n",
"(31 steps total)\n"
]
}
],
"source": [
"dynamics.explain_time_advance(use_history=True)"
]
},
{
"cell_type": "markdown",
"id": "962acf15-3b50-40e4-9daa-3dcca7d3291a",
"metadata": {},
"source": [
"#### Equilibrium"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "2783a665-fca0-44e5-8d42-af2a96eae392",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: A + 2 B <-> Y\n",
"Final concentrations: [A] = 0.01381 ; [B] = 90.03 ; [Y] = 4.986\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 4.01174\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4\n",
"Discrepancy between the two values: 0.2934 %\n",
"Reaction IS in equilibrium (within 1% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the reaction has reached equilibrium\n",
"dynamics.is_in_equilibrium()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ab2df7cf-1462-4159-993d-d84a5151042b",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "4faea7f8-0466-4d90-8eba-3d6501cca2d8",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "448ec7fa-6529-438b-84ba-47888c2cd080",
"metadata": {
"tags": []
},
"source": [
"# 2. Now, let's suddenly increase [A]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "7245be7a-c9db-45f5-b033-d6c521237a9c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.017526562:\n",
"3 species:\n",
" Species 0 (A). Conc: 40.0\n",
" Species 1 (B). Conc: 90.0276115740671\n",
" Species 2 (Y). Conc: 4.986194212966452\n",
"Set of chemicals involved in reactions: {'B', 'Y', 'A'}\n"
]
}
],
"source": [
"dynamics.set_single_conc(species_name=\"A\", conc=40., snapshot=True)\n",
"dynamics.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "61eead55-fcef-41cd-b29e-f2d5ad5c6078",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" Y | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 28 | \n",
" 0.010312 | \n",
" 0.014284 | \n",
" 90.028568 | \n",
" 4.985716 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.011831 | \n",
" 0.013804 | \n",
" 90.027607 | \n",
" 4.986196 | \n",
" | \n",
"
\n",
" \n",
" | 30 | \n",
" 0.014109 | \n",
" 0.013874 | \n",
" 90.027747 | \n",
" 4.986126 | \n",
" | \n",
"
\n",
" \n",
" | 31 | \n",
" 0.017527 | \n",
" 0.013806 | \n",
" 90.027612 | \n",
" 4.986194 | \n",
" | \n",
"
\n",
" \n",
" | 32 | \n",
" 0.017527 | \n",
" 40.000000 | \n",
" 90.027612 | \n",
" 4.986194 | \n",
" Set concentration of `A` | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"28 0.010312 0.014284 90.028568 4.985716 \n",
"29 0.011831 0.013804 90.027607 4.986196 \n",
"30 0.014109 0.013874 90.027747 4.986126 \n",
"31 0.017527 0.013806 90.027612 4.986194 \n",
"32 0.017527 40.000000 90.027612 4.986194 Set concentration of `A`"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.history.get_dataframe(tail=5)"
]
},
{
"cell_type": "markdown",
"id": "24455d58-a0ea-43fa-b6ad-95c42a8b34b2",
"metadata": {},
"source": [
"### Again, take the system to equilibrium"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "c06fd8d8-d550-4e35-a239-7b91bee32be9",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"40 total step(s) taken\n",
"Number of step re-do's because of negative concentrations: 0\n",
"Number of step re-do's because of elective soft aborts: 5\n",
"Norm usage: {'norm_A': 32, 'norm_B': 19, 'norm_C': 19, 'norm_D': 19}\n"
]
}
],
"source": [
"dynamics.single_compartment_react(initial_step=0.0005, target_end_time=0.055,\n",
" variable_steps=True)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "cc34ca51-8ec3-4170-abc9-f9bccdd7ce00",
"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": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321
],
"xaxis": "x",
"y": [
5,
3.8,
2.910608,
2.2425064403376127,
1.7356411367126987,
1.3482415057545714,
1.0504871708505024,
0.8206547378229004,
0.6426682454566466,
0.504483795616889,
0.3969909867660788,
0.31324625018339336,
0.24792612097005137,
0.19693027983293382,
0.157089029852568,
0.12594509656266167,
0.1015892502439179,
0.0825354808374127,
0.06762559758116321,
0.05595594168213185,
0.04682085559021633,
0.03966893574528811,
0.034069090865435525,
0.027491686181998265,
0.023054195633241296,
0.02006006070125987,
0.01702944413331922,
0.01547701251369721,
0.014284048926626852,
0.013803595599239923,
0.013873660129421619,
0.013805787033547368,
40,
38.88030019430209,
37.819123296569764,
36.81197083582286,
35.37620942633719,
34.31047860065851,
32.801175043259406,
31.691416760732025,
30.650880174585044,
29.184424776446754,
28.113683855936884,
26.615369573071078,
25.53242734155125,
24.028052571761883,
22.951929506412796,
21.4679715902387,
20.417412984560883,
18.97922202384043,
17.97143935773078,
16.601588314323266,
15.651216357168607,
14.368237318216256,
13.266239867118228,
12.309148961833818,
11.05043020688778,
10.007599041460159,
8.689974858994491,
7.6558825163333335,
6.405593378263317,
5.480376044579777,
4.412496754614224,
3.6706659203455807,
3.1280645197055543,
2.5115134384283593,
2.0974350538426156,
1.8063356516196456,
1.489987351081368,
1.295591982033601,
1.1096022962237007,
0.974898415137639,
0.9229233291569457
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "darkorange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321
],
"xaxis": "x",
"y": [
100,
97.6,
95.82121599999999,
94.48501288067521,
93.47128227342539,
92.69648301150913,
92.10097434170099,
91.64130947564578,
91.28533649091328,
91.00896759123377,
90.79398197353215,
90.62649250036678,
90.4958522419401,
90.39386055966587,
90.31417805970514,
90.25189019312533,
90.20317850048785,
90.16507096167484,
90.13525119516234,
90.11191188336427,
90.09364171118044,
90.07933787149058,
90.06813818173087,
90.05498337236399,
90.04610839126647,
90.04012012140251,
90.03405888826663,
90.03095402502738,
90.02856809785324,
90.02760719119847,
90.02774732025884,
90.0276115740671,
90.0276115740671,
87.78821196267127,
85.66585816720662,
83.65155324571282,
80.78003042674148,
78.64856877538412,
75.6299616605859,
73.41044509553114,
71.32937192323718,
68.39646112696059,
66.25497928594085,
63.258350720209236,
61.09246625716958,
58.083716717590846,
55.93147058689267,
52.96355475454448,
50.86243754318885,
47.98605562174794,
45.97049028952864,
43.23078820271361,
41.330044288404295,
38.76408621049959,
36.56009130830354,
34.64590949773472,
32.128471987842644,
30.0428096569874,
27.407561292056066,
25.33937660673375,
22.83879833059372,
20.988363663226636,
18.85260508329553,
17.36894341475824,
16.283740613478187,
15.050638450923797,
14.22248168175231,
13.640282877306369,
13.007586276229814,
12.61879553813428,
12.24681616651448,
11.977408404342356,
11.873458232380969
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=Y
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "Y",
"line": {
"color": "green",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "Y",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321
],
"xaxis": "x",
"y": [
0,
1.2,
2.0893919999999997,
2.757493559662387,
3.264358863287301,
3.651758494245428,
3.949512829149497,
4.179345262177099,
4.357331754543353,
4.495516204383111,
4.603009013233921,
4.6867537498166065,
4.752073879029949,
4.803069720167066,
4.842910970147432,
4.874054903437338,
4.898410749756082,
4.917464519162587,
4.932374402418837,
4.944044058317869,
4.953179144409784,
4.960331064254713,
4.965930909134565,
4.972508313818002,
4.976945804366759,
4.97993993929874,
4.982970555866681,
4.984522987486303,
4.985715951073373,
4.98619640440076,
4.9861263398705775,
4.986194212966452,
4.986194212966452,
6.105894018664364,
7.167070916396689,
8.174223377143589,
9.60998478662926,
10.67571561230794,
12.185019169707047,
13.294777452234426,
14.335314038381407,
15.801769436519697,
16.872510357029565,
18.37082463989537,
19.453766871415198,
20.958141641204566,
22.034264706553653,
23.518222622727748,
24.568781228405566,
26.00697218912602,
27.014754855235665,
28.38460589864318,
29.33497785579784,
30.61795689475019,
31.719954345848215,
32.677045251132625,
33.935764006078664,
34.978595171506285,
36.29621935397195,
37.3303116966331,
38.58060083470312,
39.50581816838666,
40.573697458352214,
41.315528292620854,
41.85812969326088,
42.47468077453807,
42.888759159123815,
43.179858561346784,
43.496206861885064,
43.69060223093283,
43.87659191674273,
44.011295797828794,
44.06327088380949
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Changes in concentrations (reaction A + 2 B <-> Y)"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
0.05934255617608321
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-5.555555555555555,
105.55555555555556
],
"title": {
"text": "Concentration"
},
"type": "linear"
}
}
},
"image/png": "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",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dynamics.plot_history(colors=['red', 'darkorange', 'green'],\n",
" title=\"Changes in concentrations (reaction A + 2 B <-> Y)\")"
]
},
{
"cell_type": "markdown",
"id": "158e3787-f2d5-4a01-aaa9-6066e93e584c",
"metadata": {},
"source": [
"**A**, still the limiting reagent, is again stopping the reaction. \n",
"The (transiently) high value of [A] led to a high value of [B]"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "2415f119-b3cc-477d-b3a4-cd020aab3615",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" Y | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" 5.000000 | \n",
" 100.000000 | \n",
" 0.000000 | \n",
" Initialized state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000300 | \n",
" 3.800000 | \n",
" 97.600000 | \n",
" 1.200000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000600 | \n",
" 2.910608 | \n",
" 95.821216 | \n",
" 2.089392 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000900 | \n",
" 2.242506 | \n",
" 94.485013 | \n",
" 2.757494 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.001200 | \n",
" 1.735641 | \n",
" 93.471282 | \n",
" 3.264359 | \n",
" | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 68 | \n",
" 0.036135 | \n",
" 1.489987 | \n",
" 13.007586 | \n",
" 43.496207 | \n",
" | \n",
"
\n",
" \n",
" | 69 | \n",
" 0.038991 | \n",
" 1.295592 | \n",
" 12.618796 | \n",
" 43.690602 | \n",
" | \n",
"
\n",
" \n",
" | 70 | \n",
" 0.043275 | \n",
" 1.109602 | \n",
" 12.246816 | \n",
" 43.876592 | \n",
" | \n",
"
\n",
" \n",
" | 71 | \n",
" 0.049702 | \n",
" 0.974898 | \n",
" 11.977408 | \n",
" 44.011296 | \n",
" | \n",
"
\n",
" \n",
" | 72 | \n",
" 0.059343 | \n",
" 0.922923 | \n",
" 11.873458 | \n",
" 44.063271 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
73 rows × 5 columns
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initialized state\n",
"1 0.000300 3.800000 97.600000 1.200000 \n",
"2 0.000600 2.910608 95.821216 2.089392 \n",
"3 0.000900 2.242506 94.485013 2.757494 \n",
"4 0.001200 1.735641 93.471282 3.264359 \n",
".. ... ... ... ... ...\n",
"68 0.036135 1.489987 13.007586 43.496207 \n",
"69 0.038991 1.295592 12.618796 43.690602 \n",
"70 0.043275 1.109602 12.246816 43.876592 \n",
"71 0.049702 0.974898 11.977408 44.011296 \n",
"72 0.059343 0.922923 11.873458 44.063271 \n",
"\n",
"[73 rows x 5 columns]"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "aff608b1-5c78-4070-845a-118afe7c2108",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: A + 2 B <-> Y\n",
"Final concentrations: [A] = 0.9229 ; [B] = 11.87 ; [Y] = 44.06\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 4.021\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4\n",
"Discrepancy between the two values: 0.525 %\n",
"Reaction IS in equilibrium (within 1% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the reaction has reached equilibrium\n",
"dynamics.is_in_equilibrium()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "cb4749d0-dc12-44ba-a032-8068c80d9c4c",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "d19d42e2-631e-4dd9-94f0-7853bdb23c4e",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "f6619731-c5ea-484c-af3e-cea50d685361",
"metadata": {
"tags": []
},
"source": [
"# 3. Let's again suddenly increase [A]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "d3618eba-a673-4ff5-85d0-08f5ea592361",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.059342556:\n",
"3 species:\n",
" Species 0 (A). Conc: 30.0\n",
" Species 1 (B). Conc: 11.873458232380969\n",
" Species 2 (Y). Conc: 44.06327088380949\n",
"Set of chemicals involved in reactions: {'B', 'Y', 'A'}\n"
]
}
],
"source": [
"dynamics.set_single_conc(species_name=\"A\", conc=30., snapshot=True)\n",
"dynamics.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "007161ef-f4d0-4623-92c5-0fe3d2bda98a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" Y | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 69 | \n",
" 0.038991 | \n",
" 1.295592 | \n",
" 12.618796 | \n",
" 43.690602 | \n",
" | \n",
"
\n",
" \n",
" | 70 | \n",
" 0.043275 | \n",
" 1.109602 | \n",
" 12.246816 | \n",
" 43.876592 | \n",
" | \n",
"
\n",
" \n",
" | 71 | \n",
" 0.049702 | \n",
" 0.974898 | \n",
" 11.977408 | \n",
" 44.011296 | \n",
" | \n",
"
\n",
" \n",
" | 72 | \n",
" 0.059343 | \n",
" 0.922923 | \n",
" 11.873458 | \n",
" 44.063271 | \n",
" | \n",
"
\n",
" \n",
" | 73 | \n",
" 0.059343 | \n",
" 30.000000 | \n",
" 11.873458 | \n",
" 44.063271 | \n",
" Set concentration of `A` | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"69 0.038991 1.295592 12.618796 43.690602 \n",
"70 0.043275 1.109602 12.246816 43.876592 \n",
"71 0.049702 0.974898 11.977408 44.011296 \n",
"72 0.059343 0.922923 11.873458 44.063271 \n",
"73 0.059343 30.000000 11.873458 44.063271 Set concentration of `A`"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.history.get_dataframe(tail=5)"
]
},
{
"cell_type": "markdown",
"id": "0974480d-ca45-46fe-addd-c8d394780fdb",
"metadata": {},
"source": [
"### Yet again, take the system to equilibrium"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "8fe20f9c-05c4-45a4-b485-a51005440200",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"21 total step(s) taken\n",
"Number of step re-do's because of negative concentrations: 0\n",
"Number of step re-do's because of elective soft aborts: 2\n",
"Norm usage: {'norm_A': 11, 'norm_B': 9, 'norm_C': 9, 'norm_D': 9}\n"
]
}
],
"source": [
"dynamics.single_compartment_react(initial_step=0.001, target_end_time=0.09,\n",
" variable_steps=True)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "4229e039-b484-4849-a446-59409885deb4",
"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": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321,
0.05934255617608321,
0.05970255617608321,
0.06006255617608321,
0.060422556176083206,
0.060782556176083205,
0.061322556176083204,
0.0618625561760832,
0.0624025561760832,
0.0629425561760832,
0.0634825561760832,
0.0640225561760832,
0.0645625561760832,
0.0651025561760832,
0.0659125561760832,
0.0667225561760832,
0.06753255617608321,
0.0687475561760832,
0.07057005617608321,
0.0733038061760832,
0.0774044311760832,
0.0835553686760832,
0.0927817749260832
],
"xaxis": "x",
"y": [
5,
3.8,
2.910608,
2.2425064403376127,
1.7356411367126987,
1.3482415057545714,
1.0504871708505024,
0.8206547378229004,
0.6426682454566466,
0.504483795616889,
0.3969909867660788,
0.31324625018339336,
0.24792612097005137,
0.19693027983293382,
0.157089029852568,
0.12594509656266167,
0.1015892502439179,
0.0825354808374127,
0.06762559758116321,
0.05595594168213185,
0.04682085559021633,
0.03966893574528811,
0.034069090865435525,
0.027491686181998265,
0.023054195633241296,
0.02006006070125987,
0.01702944413331922,
0.01547701251369721,
0.014284048926626852,
0.013803595599239923,
0.013873660129421619,
0.013805787033547368,
40,
38.88030019430209,
37.819123296569764,
36.81197083582286,
35.37620942633719,
34.31047860065851,
32.801175043259406,
31.691416760732025,
30.650880174585044,
29.184424776446754,
28.113683855936884,
26.615369573071078,
25.53242734155125,
24.028052571761883,
22.951929506412796,
21.4679715902387,
20.417412984560883,
18.97922202384043,
17.97143935773078,
16.601588314323266,
15.651216357168607,
14.368237318216256,
13.266239867118228,
12.309148961833818,
11.05043020688778,
10.007599041460159,
8.689974858994491,
7.6558825163333335,
6.405593378263317,
5.480376044579777,
4.412496754614224,
3.6706659203455807,
3.1280645197055543,
2.5115134384283593,
2.0974350538426156,
1.8063356516196456,
1.489987351081368,
1.295591982033601,
1.1096022962237007,
0.974898415137639,
0.9229233291569457,
30,
29.005858763758628,
28.212523426079034,
27.571265269243497,
27.0476332132064,
26.40098984050102,
25.919220768190964,
25.555591088147676,
25.27847462306444,
25.065754389943027,
24.901565741578096,
24.774301640151904,
24.675337617593488,
24.559611794708758,
24.481826098872954,
24.429346971420596,
24.376105491150703,
24.334850106399458,
24.317669599670616,
24.319757063283742,
24.31781412017055,
24.321984011168485
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "darkorange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321,
0.05934255617608321,
0.05970255617608321,
0.06006255617608321,
0.060422556176083206,
0.060782556176083205,
0.061322556176083204,
0.0618625561760832,
0.0624025561760832,
0.0629425561760832,
0.0634825561760832,
0.0640225561760832,
0.0645625561760832,
0.0651025561760832,
0.0659125561760832,
0.0667225561760832,
0.06753255617608321,
0.0687475561760832,
0.07057005617608321,
0.0733038061760832,
0.0774044311760832,
0.0835553686760832,
0.0927817749260832
],
"xaxis": "x",
"y": [
100,
97.6,
95.82121599999999,
94.48501288067521,
93.47128227342539,
92.69648301150913,
92.10097434170099,
91.64130947564578,
91.28533649091328,
91.00896759123377,
90.79398197353215,
90.62649250036678,
90.4958522419401,
90.39386055966587,
90.31417805970514,
90.25189019312533,
90.20317850048785,
90.16507096167484,
90.13525119516234,
90.11191188336427,
90.09364171118044,
90.07933787149058,
90.06813818173087,
90.05498337236399,
90.04610839126647,
90.04012012140251,
90.03405888826663,
90.03095402502738,
90.02856809785324,
90.02760719119847,
90.02774732025884,
90.0276115740671,
90.0276115740671,
87.78821196267127,
85.66585816720662,
83.65155324571282,
80.78003042674148,
78.64856877538412,
75.6299616605859,
73.41044509553114,
71.32937192323718,
68.39646112696059,
66.25497928594085,
63.258350720209236,
61.09246625716958,
58.083716717590846,
55.93147058689267,
52.96355475454448,
50.86243754318885,
47.98605562174794,
45.97049028952864,
43.23078820271361,
41.330044288404295,
38.76408621049959,
36.56009130830354,
34.64590949773472,
32.128471987842644,
30.0428096569874,
27.407561292056066,
25.33937660673375,
22.83879833059372,
20.988363663226636,
18.85260508329553,
17.36894341475824,
16.283740613478187,
15.050638450923797,
14.22248168175231,
13.640282877306369,
13.007586276229814,
12.61879553813428,
12.24681616651448,
11.977408404342356,
11.873458232380969,
11.873458232380969,
9.885175759898223,
8.298505084539036,
7.015988770867965,
5.968724658793766,
4.6754379133830035,
3.711899768762891,
2.9846404086763125,
2.430407478509844,
2.0049670122670173,
1.6765897155371547,
1.4220615126847718,
1.2241334675679403,
0.992681821798483,
0.8371104301268758,
0.7321521752221611,
0.6256692146823752,
0.5431584451798849,
0.5087974317221984,
0.5129723589484493,
0.5090864727220648,
0.5174262547179348
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=Y
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "Y",
"line": {
"color": "green",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "Y",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321,
0.05934255617608321,
0.05970255617608321,
0.06006255617608321,
0.060422556176083206,
0.060782556176083205,
0.061322556176083204,
0.0618625561760832,
0.0624025561760832,
0.0629425561760832,
0.0634825561760832,
0.0640225561760832,
0.0645625561760832,
0.0651025561760832,
0.0659125561760832,
0.0667225561760832,
0.06753255617608321,
0.0687475561760832,
0.07057005617608321,
0.0733038061760832,
0.0774044311760832,
0.0835553686760832,
0.0927817749260832
],
"xaxis": "x",
"y": [
0,
1.2,
2.0893919999999997,
2.757493559662387,
3.264358863287301,
3.651758494245428,
3.949512829149497,
4.179345262177099,
4.357331754543353,
4.495516204383111,
4.603009013233921,
4.6867537498166065,
4.752073879029949,
4.803069720167066,
4.842910970147432,
4.874054903437338,
4.898410749756082,
4.917464519162587,
4.932374402418837,
4.944044058317869,
4.953179144409784,
4.960331064254713,
4.965930909134565,
4.972508313818002,
4.976945804366759,
4.97993993929874,
4.982970555866681,
4.984522987486303,
4.985715951073373,
4.98619640440076,
4.9861263398705775,
4.986194212966452,
4.986194212966452,
6.105894018664364,
7.167070916396689,
8.174223377143589,
9.60998478662926,
10.67571561230794,
12.185019169707047,
13.294777452234426,
14.335314038381407,
15.801769436519697,
16.872510357029565,
18.37082463989537,
19.453766871415198,
20.958141641204566,
22.034264706553653,
23.518222622727748,
24.568781228405566,
26.00697218912602,
27.014754855235665,
28.38460589864318,
29.33497785579784,
30.61795689475019,
31.719954345848215,
32.677045251132625,
33.935764006078664,
34.978595171506285,
36.29621935397195,
37.3303116966331,
38.58060083470312,
39.50581816838666,
40.573697458352214,
41.315528292620854,
41.85812969326088,
42.47468077453807,
42.888759159123815,
43.179858561346784,
43.496206861885064,
43.69060223093283,
43.87659191674273,
44.011295797828794,
44.06327088380949,
44.06327088380949,
45.05741212005086,
45.850747457730456,
46.49200561456599,
47.01563767060309,
47.662281043308475,
48.14405011561853,
48.50767979566182,
48.784796260745054,
48.99751649386647,
49.161705142231405,
49.2889692436576,
49.38793326621601,
49.503659089100736,
49.58144478493654,
49.633923912388894,
49.687165392658784,
49.72842077741003,
49.74560128413887,
49.74351382052575,
49.74545676363894,
49.741286872641005
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Changes in concentrations (reaction A + 2 B <-> Y)"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
0.0927817749260832
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-5.555555555555555,
105.55555555555556
],
"title": {
"text": "Concentration"
},
"type": "linear"
}
}
},
"image/png": "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EIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEXAhCAAAQgAAEIQAACEIAABJwQQFadYCUoBCAAAQhAAAIQgAAEIAABCNgQQFZt6FEX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AgQIBAWE1SCcYQQIECBAgAABAgQIECCQJyCs5tmqTIAAAQIECBAgQIAAAQJBAWE1CGcYAQIECBAgQIAAAQIECOQJCKt5tioTIECAAAECBAgQIECAQFBAWA3CGUaAAAECBAgQIECAAAECeQLCap6tygQIECBAgAABAgQIECAQFBBWg3CGESBAgAABAgQIECBAgECegLCaZ6syAQIECBAgQIAAAQIECAQFhNUgnGEECBAgQIAAAQIECBAgkCcgrObZqkyAAAECBAgQIECAAAECQQFhNQhnGAECBAgQIECAAAECBAjkCQirebYqEyBAgAABAgQIECBAgEBQQFgNwhlGgAABAgQIECBAgAABAnkCwmqercoECBAgQIAAAQIECBAgEBQQVoNwhhEgQIAAAQIECBAgQIBAnoCwmmerMgECBAgQIECAAAECBAgEBYTVIJxhBAgQIECAAAECBAgQIJAnIKzm2apMgAABAgQIECBAgAABAkEBYTUIZxgBAgQIECBAgAABAgQI5AkIq3m2KhMgQIAAAQIECBAgQIBAUEBYDcIZRoAAAQIECBAgQIAAAQJ5AsJqnq3KBAgQIECAAAECBAgQIBAUEFaDcIYRIECAAAECBAgQIECAQJ6AsJpnqzIBAgQIECBAgAABAgQIBAWE1SCcYQQIECBAgAABAgQIECCQJyCs5tmqTIAAAQIECBAgQIAAAQJBgf8BG0tceVQMCuQAAAAASUVORK5CYII=",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dynamics.plot_history(colors=['red', 'darkorange', 'green'],\n",
" title=\"Changes in concentrations (reaction A + 2 B <-> Y)\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "8c65570a-4ddc-4c28-9970-1244e23faeb6",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" Y | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" 5.000000 | \n",
" 100.000000 | \n",
" 0.000000 | \n",
" Initialized state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000300 | \n",
" 3.800000 | \n",
" 97.600000 | \n",
" 1.200000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000600 | \n",
" 2.910608 | \n",
" 95.821216 | \n",
" 2.089392 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000900 | \n",
" 2.242506 | \n",
" 94.485013 | \n",
" 2.757494 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.001200 | \n",
" 1.735641 | \n",
" 93.471282 | \n",
" 3.264359 | \n",
" | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 90 | \n",
" 0.070570 | \n",
" 24.334850 | \n",
" 0.543158 | \n",
" 49.728421 | \n",
" | \n",
"
\n",
" \n",
" | 91 | \n",
" 0.073304 | \n",
" 24.317670 | \n",
" 0.508797 | \n",
" 49.745601 | \n",
" | \n",
"
\n",
" \n",
" | 92 | \n",
" 0.077404 | \n",
" 24.319757 | \n",
" 0.512972 | \n",
" 49.743514 | \n",
" | \n",
"
\n",
" \n",
" | 93 | \n",
" 0.083555 | \n",
" 24.317814 | \n",
" 0.509086 | \n",
" 49.745457 | \n",
" | \n",
"
\n",
" \n",
" | 94 | \n",
" 0.092782 | \n",
" 24.321984 | \n",
" 0.517426 | \n",
" 49.741287 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
95 rows × 5 columns
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initialized state\n",
"1 0.000300 3.800000 97.600000 1.200000 \n",
"2 0.000600 2.910608 95.821216 2.089392 \n",
"3 0.000900 2.242506 94.485013 2.757494 \n",
"4 0.001200 1.735641 93.471282 3.264359 \n",
".. ... ... ... ... ...\n",
"90 0.070570 24.334850 0.543158 49.728421 \n",
"91 0.073304 24.317670 0.508797 49.745601 \n",
"92 0.077404 24.319757 0.512972 49.743514 \n",
"93 0.083555 24.317814 0.509086 49.745457 \n",
"94 0.092782 24.321984 0.517426 49.741287 \n",
"\n",
"[95 rows x 5 columns]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "88f744d6-17fb-4d03-b8cc-bb22b12555e0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: A + 2 B <-> Y\n",
"Final concentrations: [A] = 24.32 ; [B] = 0.5174 ; [Y] = 49.74\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.95248\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4\n",
"Discrepancy between the two values: 1.188 %\n",
"Reaction IS in equilibrium (within 2% tolerance)\n",
"\n"
]
},
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Verify that the reaction has reached equilibrium\n",
"dynamics.is_in_equilibrium(tolerance=2)"
]
},
{
"cell_type": "markdown",
"id": "81a8be4a-f374-494e-b647-184e35707295",
"metadata": {},
"source": [
"**A**, again the scarse limiting reagent, stops the reaction yet again"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "162ae075-48c4-4d55-ba15-1f19e3b75b9b",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "44f33779-d742-442f-9923-733e6056627f",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "d40258c5-5520-44a2-8dca-c28864386742",
"metadata": {},
"source": [
"# 4. A can down-regulate B, but it cannot bring it up to any significant amount\n",
"#### Even if A is completely taken out (i.e., [A] set to 0), [B] can only slightly increase, from the reverse reaction (\"Le Chatelier's principle\".) \n",
"Let's try it:"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "84e83a01-76b1-4a6c-92e3-3f540cb47b1e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0.092781775:\n",
"3 species:\n",
" Species 0 (A). Conc: 0.0\n",
" Species 1 (B). Conc: 0.5174262547179348\n",
" Species 2 (Y). Conc: 49.741286872641005\n",
"Set of chemicals involved in reactions: {'B', 'Y', 'A'}\n"
]
}
],
"source": [
"dynamics.set_single_conc(species_name=\"A\", conc=0., snapshot=True) # Completely eliminate A\n",
"dynamics.describe_state()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "31f1e4d5-8027-41de-90cc-f0492c88a9d9",
"metadata": {
"lines_to_next_cell": 2
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"19 total step(s) taken\n",
"Number of step re-do's because of negative concentrations: 0\n",
"Number of step re-do's because of elective soft aborts: 0\n",
"Norm usage: {'norm_A': 9, 'norm_B': 10, 'norm_C': 9, 'norm_D': 9}\n"
]
}
],
"source": [
"dynamics.single_compartment_react(initial_step=0.001, target_end_time=0.16,\n",
" variable_steps=True)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "665dfff9-e943-44e1-b76d-af363d94c9f8",
"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": "red",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "A",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321,
0.05934255617608321,
0.05970255617608321,
0.06006255617608321,
0.060422556176083206,
0.060782556176083205,
0.061322556176083204,
0.0618625561760832,
0.0624025561760832,
0.0629425561760832,
0.0634825561760832,
0.0640225561760832,
0.0645625561760832,
0.0651025561760832,
0.0659125561760832,
0.0667225561760832,
0.06753255617608321,
0.0687475561760832,
0.07057005617608321,
0.0733038061760832,
0.0774044311760832,
0.0835553686760832,
0.0927817749260832,
0.0927817749260832,
0.0937817749260832,
0.0947817749260832,
0.09558177492608319,
0.09638177492608319,
0.09718177492608318,
0.09798177492608318,
0.09878177492608317,
0.09998177492608318,
0.10118177492608318,
0.10238177492608319,
0.10418177492608319,
0.10598177492608318,
0.10868177492608318,
0.11138177492608317,
0.11543177492608317,
0.12150677492608317,
0.13061927492608316,
0.14428802492608317,
0.16479114992608318
],
"xaxis": "x",
"y": [
5,
3.8,
2.910608,
2.2425064403376127,
1.7356411367126987,
1.3482415057545714,
1.0504871708505024,
0.8206547378229004,
0.6426682454566466,
0.504483795616889,
0.3969909867660788,
0.31324625018339336,
0.24792612097005137,
0.19693027983293382,
0.157089029852568,
0.12594509656266167,
0.1015892502439179,
0.0825354808374127,
0.06762559758116321,
0.05595594168213185,
0.04682085559021633,
0.03966893574528811,
0.034069090865435525,
0.027491686181998265,
0.023054195633241296,
0.02006006070125987,
0.01702944413331922,
0.01547701251369721,
0.014284048926626852,
0.013803595599239923,
0.013873660129421619,
0.013805787033547368,
40,
38.88030019430209,
37.819123296569764,
36.81197083582286,
35.37620942633719,
34.31047860065851,
32.801175043259406,
31.691416760732025,
30.650880174585044,
29.184424776446754,
28.113683855936884,
26.615369573071078,
25.53242734155125,
24.028052571761883,
22.951929506412796,
21.4679715902387,
20.417412984560883,
18.97922202384043,
17.97143935773078,
16.601588314323266,
15.651216357168607,
14.368237318216256,
13.266239867118228,
12.309148961833818,
11.05043020688778,
10.007599041460159,
8.689974858994491,
7.6558825163333335,
6.405593378263317,
5.480376044579777,
4.412496754614224,
3.6706659203455807,
3.1280645197055543,
2.5115134384283593,
2.0974350538426156,
1.8063356516196456,
1.489987351081368,
1.295591982033601,
1.1096022962237007,
0.974898415137639,
0.9229233291569457,
30,
29.005858763758628,
28.212523426079034,
27.571265269243497,
27.0476332132064,
26.40098984050102,
25.919220768190964,
25.555591088147676,
25.27847462306444,
25.065754389943027,
24.901565741578096,
24.774301640151904,
24.675337617593488,
24.559611794708758,
24.481826098872954,
24.429346971420596,
24.376105491150703,
24.334850106399458,
24.317669599670616,
24.319757063283742,
24.31781412017055,
24.321984011168485,
0,
0.09948257374528201,
0.1981960346590679,
0.2763058429232135,
0.3535576030659462,
0.4298071158572475,
0.5049175679487916,
0.5787604557516804,
0.6874443445735055,
0.7926852990602733,
0.8941601237761765,
1.0403212053508124,
1.1767239884245115,
1.3660029339569328,
1.5313528168605137,
1.7442220630245175,
1.9878120039734994,
2.2070244523791636,
2.316339388405094,
2.3043402596139666
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=B
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "B",
"line": {
"color": "darkorange",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "B",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321,
0.05934255617608321,
0.05970255617608321,
0.06006255617608321,
0.060422556176083206,
0.060782556176083205,
0.061322556176083204,
0.0618625561760832,
0.0624025561760832,
0.0629425561760832,
0.0634825561760832,
0.0640225561760832,
0.0645625561760832,
0.0651025561760832,
0.0659125561760832,
0.0667225561760832,
0.06753255617608321,
0.0687475561760832,
0.07057005617608321,
0.0733038061760832,
0.0774044311760832,
0.0835553686760832,
0.0927817749260832,
0.0927817749260832,
0.0937817749260832,
0.0947817749260832,
0.09558177492608319,
0.09638177492608319,
0.09718177492608318,
0.09798177492608318,
0.09878177492608317,
0.09998177492608318,
0.10118177492608318,
0.10238177492608319,
0.10418177492608319,
0.10598177492608318,
0.10868177492608318,
0.11138177492608317,
0.11543177492608317,
0.12150677492608317,
0.13061927492608316,
0.14428802492608317,
0.16479114992608318
],
"xaxis": "x",
"y": [
100,
97.6,
95.82121599999999,
94.48501288067521,
93.47128227342539,
92.69648301150913,
92.10097434170099,
91.64130947564578,
91.28533649091328,
91.00896759123377,
90.79398197353215,
90.62649250036678,
90.4958522419401,
90.39386055966587,
90.31417805970514,
90.25189019312533,
90.20317850048785,
90.16507096167484,
90.13525119516234,
90.11191188336427,
90.09364171118044,
90.07933787149058,
90.06813818173087,
90.05498337236399,
90.04610839126647,
90.04012012140251,
90.03405888826663,
90.03095402502738,
90.02856809785324,
90.02760719119847,
90.02774732025884,
90.0276115740671,
90.0276115740671,
87.78821196267127,
85.66585816720662,
83.65155324571282,
80.78003042674148,
78.64856877538412,
75.6299616605859,
73.41044509553114,
71.32937192323718,
68.39646112696059,
66.25497928594085,
63.258350720209236,
61.09246625716958,
58.083716717590846,
55.93147058689267,
52.96355475454448,
50.86243754318885,
47.98605562174794,
45.97049028952864,
43.23078820271361,
41.330044288404295,
38.76408621049959,
36.56009130830354,
34.64590949773472,
32.128471987842644,
30.0428096569874,
27.407561292056066,
25.33937660673375,
22.83879833059372,
20.988363663226636,
18.85260508329553,
17.36894341475824,
16.283740613478187,
15.050638450923797,
14.22248168175231,
13.640282877306369,
13.007586276229814,
12.61879553813428,
12.24681616651448,
11.977408404342356,
11.873458232380969,
11.873458232380969,
9.885175759898223,
8.298505084539036,
7.015988770867965,
5.968724658793766,
4.6754379133830035,
3.711899768762891,
2.9846404086763125,
2.430407478509844,
2.0049670122670173,
1.6765897155371547,
1.4220615126847718,
1.2241334675679403,
0.992681821798483,
0.8371104301268758,
0.7321521752221611,
0.6256692146823752,
0.5431584451798849,
0.5087974317221984,
0.5129723589484493,
0.5090864727220648,
0.5174262547179348,
0.5174262547179348,
0.7163914022084988,
0.9138183240360707,
1.0700379405643616,
1.224541460849827,
1.3770404864324297,
1.527261390615518,
1.6749471662212956,
1.8923149438649456,
2.1027968528384813,
2.3057465022702877,
2.59806866541956,
2.870874231566958,
3.249432122631801,
3.5801318884389626,
4.00587038076697,
4.493050262664934,
4.931475159476261,
5.150105031528122,
5.1261067739458674
],
"yaxis": "y"
},
{
"hovertemplate": "Chemical=Y
SYSTEM TIME=%{x}
Concentration=%{y}",
"legendgroup": "Y",
"line": {
"color": "green",
"dash": "solid"
},
"marker": {
"symbol": "circle"
},
"mode": "lines",
"name": "Y",
"orientation": "v",
"showlegend": true,
"type": "scatter",
"x": [
0,
0.0003,
0.0006,
0.0009,
0.0012,
0.0014999999999999998,
0.0017999999999999997,
0.0021,
0.0024,
0.0026999999999999997,
0.0029999999999999996,
0.0032999999999999995,
0.0035999999999999995,
0.0038999999999999994,
0.0042,
0.0045,
0.0048,
0.0050999999999999995,
0.005399999999999999,
0.005699999999999999,
0.005999999999999999,
0.006299999999999999,
0.006599999999999999,
0.007049999999999999,
0.007499999999999999,
0.007949999999999999,
0.008624999999999999,
0.0093,
0.010312499999999999,
0.011831249999999998,
0.014109374999999997,
0.017526562499999995,
0.017526562499999995,
0.017565442499999997,
0.0176043225,
0.0176432025,
0.0177015225,
0.0177481785,
0.017818162499999998,
0.017874149699999998,
0.017930136899999997,
0.0180141177,
0.018081302339999997,
0.018182079299999997,
0.018262700867999998,
0.018383633219999997,
0.018480379101599997,
0.018625497923999996,
0.018741592981919995,
0.018915735568799996,
0.019055049638303997,
0.019264020742559996,
0.019431197625964795,
0.019681962951071996,
0.019932728276179198,
0.0201834936012864,
0.0205596415889472,
0.020935789576608,
0.0215000115580992,
0.022064233539590403,
0.022910566511827202,
0.023756899484064002,
0.025026398942419203,
0.026295898400774405,
0.027565397859129606,
0.029469647046662405,
0.0313738962341952,
0.033278145421728,
0.0361345192030272,
0.038990892984326404,
0.043275453656275206,
0.049702294664198406,
0.05934255617608321,
0.05934255617608321,
0.05970255617608321,
0.06006255617608321,
0.060422556176083206,
0.060782556176083205,
0.061322556176083204,
0.0618625561760832,
0.0624025561760832,
0.0629425561760832,
0.0634825561760832,
0.0640225561760832,
0.0645625561760832,
0.0651025561760832,
0.0659125561760832,
0.0667225561760832,
0.06753255617608321,
0.0687475561760832,
0.07057005617608321,
0.0733038061760832,
0.0774044311760832,
0.0835553686760832,
0.0927817749260832,
0.0927817749260832,
0.0937817749260832,
0.0947817749260832,
0.09558177492608319,
0.09638177492608319,
0.09718177492608318,
0.09798177492608318,
0.09878177492608317,
0.09998177492608318,
0.10118177492608318,
0.10238177492608319,
0.10418177492608319,
0.10598177492608318,
0.10868177492608318,
0.11138177492608317,
0.11543177492608317,
0.12150677492608317,
0.13061927492608316,
0.14428802492608317,
0.16479114992608318
],
"xaxis": "x",
"y": [
0,
1.2,
2.0893919999999997,
2.757493559662387,
3.264358863287301,
3.651758494245428,
3.949512829149497,
4.179345262177099,
4.357331754543353,
4.495516204383111,
4.603009013233921,
4.6867537498166065,
4.752073879029949,
4.803069720167066,
4.842910970147432,
4.874054903437338,
4.898410749756082,
4.917464519162587,
4.932374402418837,
4.944044058317869,
4.953179144409784,
4.960331064254713,
4.965930909134565,
4.972508313818002,
4.976945804366759,
4.97993993929874,
4.982970555866681,
4.984522987486303,
4.985715951073373,
4.98619640440076,
4.9861263398705775,
4.986194212966452,
4.986194212966452,
6.105894018664364,
7.167070916396689,
8.174223377143589,
9.60998478662926,
10.67571561230794,
12.185019169707047,
13.294777452234426,
14.335314038381407,
15.801769436519697,
16.872510357029565,
18.37082463989537,
19.453766871415198,
20.958141641204566,
22.034264706553653,
23.518222622727748,
24.568781228405566,
26.00697218912602,
27.014754855235665,
28.38460589864318,
29.33497785579784,
30.61795689475019,
31.719954345848215,
32.677045251132625,
33.935764006078664,
34.978595171506285,
36.29621935397195,
37.3303116966331,
38.58060083470312,
39.50581816838666,
40.573697458352214,
41.315528292620854,
41.85812969326088,
42.47468077453807,
42.888759159123815,
43.179858561346784,
43.496206861885064,
43.69060223093283,
43.87659191674273,
44.011295797828794,
44.06327088380949,
44.06327088380949,
45.05741212005086,
45.850747457730456,
46.49200561456599,
47.01563767060309,
47.662281043308475,
48.14405011561853,
48.50767979566182,
48.784796260745054,
48.99751649386647,
49.161705142231405,
49.2889692436576,
49.38793326621601,
49.503659089100736,
49.58144478493654,
49.633923912388894,
49.687165392658784,
49.72842077741003,
49.74560128413887,
49.74351382052575,
49.74545676363894,
49.741286872641005,
49.741286872641005,
49.64180429889572,
49.543090837981936,
49.46498102971779,
49.38772926957506,
49.31147975678376,
49.23636930469222,
49.16252641688933,
49.053842528067506,
48.94860157358074,
48.84712674886484,
48.700965667290205,
48.56456288421651,
48.375283938684085,
48.2099340557805,
47.9970648096165,
47.75347486866752,
47.534262420261854,
47.42494748423592,
47.43694661302705
],
"yaxis": "y"
}
],
"layout": {
"autosize": true,
"legend": {
"title": {
"text": "Chemical"
},
"tracegroupgap": 0
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Changes in concentrations (reaction A + 2 B <-> Y)"
},
"xaxis": {
"anchor": "y",
"autorange": true,
"domain": [
0,
1
],
"range": [
0,
0.16479114992608318
],
"title": {
"text": "SYSTEM TIME"
},
"type": "linear"
},
"yaxis": {
"anchor": "x",
"autorange": true,
"domain": [
0,
1
],
"range": [
-5.555555555555555,
105.55555555555556
],
"title": {
"text": "Concentration"
},
"type": "linear"
}
}
},
"image/png": "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zjACBAgQIECAAAECBAgQqBMQVutsVSZAgAABAgQIECBAgACBpICwmoQzjAABAgQIECBAgAABAgTqBITVOluVCRAgQIAAAQIECBAgQCApIKwm4QwjQIAAAQIECBAgQIAAgToBYbXOVmUCBAgQIECAAAECBAgQSAoIq0k4wwgQIECAAAECBAgQIECgTkBYrbNVmQABAgQIECBAgAABAgSSAsJqEs4wAgQIECBAgAABAgQIEKgTEFbrbFUmQIAAAQIECBAgQIAAgaSAsJqEM4wAAQIECBAgQIAAAQIE6gSE1TpblQkQIECAAAECBAgQIEAgKSCsJuEMI0CAAAECBAgQIECAAIE6AWG1zlZlAgQIECBAgAABAgQIEEgKCKtJOMMIECBAgAABAgQIECBAoE5AWK2zVZkAAQIECBAgQIAAAQIEkgLCahLOMAIECBAgQIAAAQIECBCoExBW62xVJkCAAAECBAgQIECAAIGkgLCahDOMAAECBAgQIECAAAECBOoEhNU6W5UJECBAgAABAgQIECBAICkgrCbhDCNAgAABAgQIECBAgACBOgFhtc5WZQIECBAgQIAAAQIECBBICgirSTjDCBAgQIAAAQIECBAgQKBOQFits1WZAAECBAgQIECAAAECBJICwmoSzjACBAgQIECAAAECBAgQqBMQVutsVSZAgAABAgQIECBAgACBpICwmoQzjAABAgQIECBAgAABAgTqBITVOluVCRAgQIAAAQIECBAgQCApIKwm4QwjQIAAAQIECBAgQIAAgToBYbXOVmUCBAgQIECAAAECBAgQSAoIq0k4wwgQIECAAAECBAgQIECgTkBYrbNVmQABAgQIECBAgAABAgSSAsJqEs4wAgQIECBAgAABAgQIEKgTEFbrbFUmQIAAAQIECBAgQIAAgaTAH2GyhR93yOihAAAAAElFTkSuQmCC",
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dynamics.plot_history(colors=['red', 'darkorange', 'green'],\n",
" title=\"Changes in concentrations (reaction A + 2 B <-> Y)\")"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "22a64e69-703f-4b1b-9808-3c3d5e0218ae",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SYSTEM TIME | \n",
" A | \n",
" B | \n",
" Y | \n",
" caption | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 0.000000 | \n",
" 5.000000 | \n",
" 100.000000 | \n",
" 0.000000 | \n",
" Initialized state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000300 | \n",
" 3.800000 | \n",
" 97.600000 | \n",
" 1.200000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000600 | \n",
" 2.910608 | \n",
" 95.821216 | \n",
" 2.089392 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000900 | \n",
" 2.242506 | \n",
" 94.485013 | \n",
" 2.757494 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.001200 | \n",
" 1.735641 | \n",
" 93.471282 | \n",
" 3.264359 | \n",
" | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 110 | \n",
" 0.115432 | \n",
" 1.744222 | \n",
" 4.005870 | \n",
" 47.997065 | \n",
" | \n",
"
\n",
" \n",
" | 111 | \n",
" 0.121507 | \n",
" 1.987812 | \n",
" 4.493050 | \n",
" 47.753475 | \n",
" | \n",
"
\n",
" \n",
" | 112 | \n",
" 0.130619 | \n",
" 2.207024 | \n",
" 4.931475 | \n",
" 47.534262 | \n",
" | \n",
"
\n",
" \n",
" | 113 | \n",
" 0.144288 | \n",
" 2.316339 | \n",
" 5.150105 | \n",
" 47.424947 | \n",
" | \n",
"
\n",
" \n",
" | 114 | \n",
" 0.164791 | \n",
" 2.304340 | \n",
" 5.126107 | \n",
" 47.436947 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
115 rows × 5 columns
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initialized state\n",
"1 0.000300 3.800000 97.600000 1.200000 \n",
"2 0.000600 2.910608 95.821216 2.089392 \n",
"3 0.000900 2.242506 94.485013 2.757494 \n",
"4 0.001200 1.735641 93.471282 3.264359 \n",
".. ... ... ... ... ...\n",
"110 0.115432 1.744222 4.005870 47.997065 \n",
"111 0.121507 1.987812 4.493050 47.753475 \n",
"112 0.130619 2.207024 4.931475 47.534262 \n",
"113 0.144288 2.316339 5.150105 47.424947 \n",
"114 0.164791 2.304340 5.126107 47.436947 \n",
"\n",
"[115 rows x 5 columns]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dynamics.get_history()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "c3afbcc8-bdae-4938-a3f1-ce00d62816f2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0: A + 2 B <-> Y\n",
"Final concentrations: [A] = 2.304 ; [B] = 5.126 ; [Y] = 47.44\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 4.0159\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4\n",
"Discrepancy between the two values: 0.3974 %\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": "92c82a23-3c8e-4cff-9efc-7cd708f0f9ad",
"metadata": {},
"source": [
"#### As expected, even the complete withdrawal of A (red), brings about only a modest increase of B's concentration, from the reverse reaction (i.e. [B] slightly increases at the expense of [Y].) \n",
"#### The change is modest because our reaction A + 2 B <-> Y is mostly in the forward direction (K = 4)\n",
"*Le Chatelier's principle* in action: \"A change in one of the variables that describe a system at equilibrium produces a shift in the position of the equilibrium that counteracts the effect of this change.\""
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "48a86d59",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"jupytext": {
"formats": "ipynb,py:percent"
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}