{
"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: Dec. 3, 2023"
]
},
{
"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 src.modules.chemicals.chem_data import ChemData as chem\n",
"from src.modules.reactions.reaction_dynamics import ReactionDynamics\n",
"\n",
"from src.modules.visualization.graphic_log import GraphicLog"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "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_1\"],\n",
" extra_js=\"https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.21.2/cytoscape.umd.js\")"
]
},
{
"cell_type": "markdown",
"id": "d6d3ca49-589d-49b7-8424-37c7b01bcacf",
"metadata": {},
"source": [
"### Initialize the system"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "23c15e66-52e4-495b-aa3d-ecddd8d16942",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Number of reactions: 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",
"graph_data = chem_data.prepare_graph_network()\n",
"GraphicLog.export_plot(graph_data, \"vue_cytoscape_1\")"
]
},
{
"cell_type": "markdown",
"id": "d1d0eabb-b5b1-4e15-846d-5e483a5a24a7",
"metadata": {},
"source": [
"### Set the initial concentrations of all the chemicals"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e80645d6-eb5b-4c78-8b46-ae126d2cb2cf",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SYSTEM STATE at Time t = 0:\n",
"3 species:\n",
" Species 0 (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 = ReactionDynamics(chem_data=chem_data)\n",
"dynamics.set_conc(conc={\"A\": 5., \"B\": 100., \"Y\": 0.},\n",
" snapshot=True) # A is scarce, B is plentiful, Y is absent\n",
"dynamics.describe_state()"
]
},
{
"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": [
"* INFO: the tentative time step (0.0005) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.00025) [Step started at t=0, and will rewind there]\n",
"28 total step(s) taken\n"
]
}
],
"source": [
"# All of these settings are currently close to the default values... but subject to change; set for repeatability\n",
"dynamics.set_thresholds(norm=\"norm_A\", low=0.5, high=1.0, abort=1.44)\n",
"dynamics.set_thresholds(norm=\"norm_B\", low=0.2, high=0.5, abort=1.5)\n",
"dynamics.set_step_factors(upshift=1.4, downshift=0.5, abort=0.5)\n",
"dynamics.set_error_step_factor(0.333)\n",
"\n",
"dynamics.single_compartment_react(initial_step=0.0005, reaction_duration=0.015,\n",
" variable_steps=True, explain_variable_steps=False)"
]
},
{
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999
],
"xaxis": "x",
"y": [
5,
4,
3.2165,
2.9067691305,
2.517590791882847,
2.0498581641968268,
1.5225888605747753,
1.1362331163200294,
0.851194380983752,
0.6398532663849396,
0.4825793102104357,
0.36522241359901236,
0.2774745136471351,
0.21176652756426492,
0.1625072843777499,
0.12554807493803027,
0.09780009276459273,
0.07695779905031393,
0.06129700525114322,
0.04952642690090266,
0.03713855091064221,
0.029053854677946724,
0.02377626983163505,
0.018952316762392143,
0.016472060882598158,
0.014686460392091347,
0.013886535976814492,
0.013832735442295341,
0.01385779599439035
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999
],
"xaxis": "x",
"y": [
100,
98,
96.433,
95.813538261,
95.0351815837657,
94.09971632839367,
93.04517772114957,
92.27246623264008,
91.70238876196753,
91.27970653276991,
90.9651586204209,
90.73044482719804,
90.55494902729428,
90.42353305512854,
90.32501456875552,
90.25109614987608,
90.1956001855292,
90.15391559810064,
90.1225940105023,
90.09905285380182,
90.0742771018213,
90.05810770935591,
90.04755253966329,
90.0379046335248,
90.03294412176521,
90.0293729207842,
90.02777307195365,
90.02766547088461,
90.02771559198881
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999
],
"xaxis": "x",
"y": [
0,
1,
1.7835,
2.0932308695,
2.482409208117153,
2.9501418358031732,
3.4774111394252247,
3.8637668836799706,
4.148805619016248,
4.3601467336150606,
4.517420689789565,
4.634777586400988,
4.722525486352866,
4.788233472435736,
4.8374927156222505,
4.87445192506197,
4.902199907235407,
4.923042200949686,
4.938702994748857,
4.950473573099098,
4.962861449089358,
4.970946145322054,
4.976223730168365,
4.981047683237608,
4.983527939117402,
4.985313539607909,
4.986113464023186,
4.986167264557705,
4.98614220400561
],
"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.015318387967999999
],
"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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EEAAAQQQQAABBOoVINbrleNxCCCAAAIIIIAAAggkLECsJwzM4hFAAAEEEEAAAQQQqFeAWK9XjschgAACCCCAAAIIIJCwALGeMDCLRwABBBBAAAEEEECgXgFivV45HocAAggggAACCCCAQMICxHrCwCweAQQQQAABBBBAAIF6BYj1euV4HAIIIIAAAggggAACCQsQ6wkDs3gEEEAAAQQQQAABBOoVINbrleNxCCCAAAIIIIAAAggkLECsJwzM4hFAAAEEEEAAAQQQqFeAWK9XjschgAACCCCAAAIIIJCwALGeMDCLRwABBBBAAAEEEECgXgFivV45HocAAggggAACCCCAQMICxHrCwCweAQQQQAABBBBAAIF6BYj1euV4HAIIIIAAAggggAACCQsQ6wkDs3gEEEAAAQQQQAABBOoVINbrleNxCCCAAAIIIIAAAggkLECsJwzM4hFAAAEEEEAAAQQQqFeAWK9XjschgAACCCCAAAIIIJCwALGeMDCLRwABBBBAAAEEEECgXgFivV45HocAAggggAACCCCAQMICxHrCwCweAQQQQAABBBBAAIF6BYj1euV4HAIIIIAAAggggAACCQsQ6wkDs3gEEEAAAQQQQAABBOoVINbrleNxCCCAAAIIIIAAAggkLECsJwzM4hFAAAEEEEAAAQQQqFeAWK9XjschgAACCCCAAAIIIJCwALGeMDCLRwABBBBAAAEEEECgXgFivV45HocAAggggAACCCCAQMICxHrCwCweAQQQQAABBBBAAIF6BYj1euV4HAIIIIAAAggggAACCQsQ6wkDs3gEEEAAAQQQQAABBOoVINbrleNxCCCAAAIIIIAAAggkLECsJwzM4hFAAAEEEEAAAQQQqFeAWK9XLvC4t870xbCU5l7EzI6iFAs56b001Nw7GsPedbYXpKNUkHMXB2NYWnMvor2Ul1mdJTlzfqC5dzSGvSsV8zJ3Zkl+3YuVjbOQz8mCrnZ591y/bWjLfzyXE1nc3Slvn+X7oGYyLJnfKc3QDGY/eEtPgFiPwboZPvFiYKi5CGJdL0ys662Idb0Vsa63Itb1VsS63sqMJNbdvBg9JkCsxzATiHU7IrFuN/JHEOt6K2Jdb0Ws662Idb0Vsa63ItbdrBh9RYBYj2E2EOt2RGLdbkSs6438kcS63oxY11sR63orYl1vRay7WTG6RWP9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v2J1queUmD9pvy2fu1zMn6g3/3IYc+vx537wz5l6XWWisV7r+nXus572FJ3e9RHren9eYKq34pp1vRWxrrci1vVWxLreili/YvXg8w/Krn/a5YYXw+idv7dTHlz7YOSS+voHvTPq//zTX2TudZWJxbq/0+bHCJ/46AflqWe+J1s33+nd/eWhA4fk05/6uNy4elUM9NO/CM6s248BsW434sy63ogz6+5WxLrejFjXWxHreiti/YrVE0efkCd/8qQbXgyj7/rEXXL36rurLimrvwcosVgPvsDUqOx79GnZ/cBG6e6aLVnFqHceEOt2OWLdbkSs642IdXcrYl1vRqzrrYh1vRWx7mY1HaOz2qepxPq8ubNl918/JTv+8oterGftVbZTnRDEul2QWLcbEet6I2Ld3YpY15sR63orYl1vRay7WU3H6JaL9eBlMObVtObSl+VLF3uvrM3SvSvjmAzEul2RWLcbEet6I2Ld3YpY15sR63orYl1vRay7WU3H6JaL9TCyf1ucl149IfxSpOmYgtO7TmJd788LTPVWvMBUb0Ws662Idb0Vsa63ItbdrBh9RSCxy2BaCZkz6/ajTazbjTizrjfizLq7FbGuNyPW9VbEut6KWHezYnQKsc5vMGWaBQWIdf184My63ooz63orYl1vRazrrYh1vRWx7mbFaGI91jnAmXU7J7FuN+LMut6IM+vuVsS63oxY11sR63orYt3NitEpxLpZRbPdT73axCHW7Z9SxLrdiFjXGxHr7lbEut6MWNdbEet6K2LdzYrRKcW6uUVj8JchNSs8sW4/ssS63YhY1xsR6+5WxLrejFjXWxHreiti3c2K0SnEevDuL1Hg11+7Qh7bc5933/VGfyPW7UeQWLcbEet6I2Ld3YpY15sR63orYl1vRay7WTE6hVhvJWRi3X60iXW7EbGuNyLW3a2Idb0Zsa63Itb1VsS6mxWjU4j1WneDyepN5+udGMS6XY5YtxsR63ojYt3diljXmxHreitiXW9FrLtZMXqaY91cy77v0adl9wMbuQymRWYjsa4/0Ny6UW/FrRv1VsS63opY11sR63orYt3NitHTHOvPHH5Bjvz4Fdm1dYN0drRN+/Ewd635xrcOV2zH17ZtkNvX3eS9z2zvV/ce9P59y81rJm03Z9bth5BYtxtxZl1vxJl1dytiXW9GrOutiHW9FbHu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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",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000250 | \n",
" 4.000000 | \n",
" 98.000000 | \n",
" 1.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000500 | \n",
" 3.216500 | \n",
" 96.433000 | \n",
" 1.783500 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000625 | \n",
" 2.906769 | \n",
" 95.813538 | \n",
" 2.093231 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.000800 | \n",
" 2.517591 | \n",
" 95.035182 | \n",
" 2.482409 | \n",
" | \n",
"
\n",
" \n",
" | 5 | \n",
" 0.001045 | \n",
" 2.049858 | \n",
" 94.099716 | \n",
" 2.950142 | \n",
" | \n",
"
\n",
" \n",
" | 6 | \n",
" 0.001388 | \n",
" 1.522589 | \n",
" 93.045178 | \n",
" 3.477411 | \n",
" | \n",
"
\n",
" \n",
" | 7 | \n",
" 0.001731 | \n",
" 1.136233 | \n",
" 92.272466 | \n",
" 3.863767 | \n",
" | \n",
"
\n",
" \n",
" | 8 | \n",
" 0.002074 | \n",
" 0.851194 | \n",
" 91.702389 | \n",
" 4.148806 | \n",
" | \n",
"
\n",
" \n",
" | 9 | \n",
" 0.002417 | \n",
" 0.639853 | \n",
" 91.279707 | \n",
" 4.360147 | \n",
" | \n",
"
\n",
" \n",
" | 10 | \n",
" 0.002760 | \n",
" 0.482579 | \n",
" 90.965159 | \n",
" 4.517421 | \n",
" | \n",
"
\n",
" \n",
" | 11 | \n",
" 0.003103 | \n",
" 0.365222 | \n",
" 90.730445 | \n",
" 4.634778 | \n",
" | \n",
"
\n",
" \n",
" | 12 | \n",
" 0.003446 | \n",
" 0.277475 | \n",
" 90.554949 | \n",
" 4.722525 | \n",
" | \n",
"
\n",
" \n",
" | 13 | \n",
" 0.003789 | \n",
" 0.211767 | \n",
" 90.423533 | \n",
" 4.788233 | \n",
" | \n",
"
\n",
" \n",
" | 14 | \n",
" 0.004132 | \n",
" 0.162507 | \n",
" 90.325015 | \n",
" 4.837493 | \n",
" | \n",
"
\n",
" \n",
" | 15 | \n",
" 0.004475 | \n",
" 0.125548 | \n",
" 90.251096 | \n",
" 4.874452 | \n",
" | \n",
"
\n",
" \n",
" | 16 | \n",
" 0.004818 | \n",
" 0.097800 | \n",
" 90.195600 | \n",
" 4.902200 | \n",
" | \n",
"
\n",
" \n",
" | 17 | \n",
" 0.005161 | \n",
" 0.076958 | \n",
" 90.153916 | \n",
" 4.923042 | \n",
" | \n",
"
\n",
" \n",
" | 18 | \n",
" 0.005504 | \n",
" 0.061297 | \n",
" 90.122594 | \n",
" 4.938703 | \n",
" | \n",
"
\n",
" \n",
" | 19 | \n",
" 0.005847 | \n",
" 0.049526 | \n",
" 90.099053 | \n",
" 4.950474 | \n",
" | \n",
"
\n",
" \n",
" | 20 | \n",
" 0.006327 | \n",
" 0.037139 | \n",
" 90.074277 | \n",
" 4.962861 | \n",
" | \n",
"
\n",
" \n",
" | 21 | \n",
" 0.006807 | \n",
" 0.029054 | \n",
" 90.058108 | \n",
" 4.970946 | \n",
" | \n",
"
\n",
" \n",
" | 22 | \n",
" 0.007288 | \n",
" 0.023776 | \n",
" 90.047553 | \n",
" 4.976224 | \n",
" | \n",
"
\n",
" \n",
" | 23 | \n",
" 0.007960 | \n",
" 0.018952 | \n",
" 90.037905 | \n",
" 4.981048 | \n",
" | \n",
"
\n",
" \n",
" | 24 | \n",
" 0.008632 | \n",
" 0.016472 | \n",
" 90.032944 | \n",
" 4.983528 | \n",
" | \n",
"
\n",
" \n",
" | 25 | \n",
" 0.009573 | \n",
" 0.014686 | \n",
" 90.029373 | \n",
" 4.985314 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.010891 | \n",
" 0.013887 | \n",
" 90.027773 | \n",
" 4.986113 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.012736 | \n",
" 0.013833 | \n",
" 90.027665 | \n",
" 4.986167 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.015318 | \n",
" 0.013858 | \n",
" 90.027716 | \n",
" 4.986142 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initial state\n",
"1 0.000250 4.000000 98.000000 1.000000 \n",
"2 0.000500 3.216500 96.433000 1.783500 \n",
"3 0.000625 2.906769 95.813538 2.093231 \n",
"4 0.000800 2.517591 95.035182 2.482409 \n",
"5 0.001045 2.049858 94.099716 2.950142 \n",
"6 0.001388 1.522589 93.045178 3.477411 \n",
"7 0.001731 1.136233 92.272466 3.863767 \n",
"8 0.002074 0.851194 91.702389 4.148806 \n",
"9 0.002417 0.639853 91.279707 4.360147 \n",
"10 0.002760 0.482579 90.965159 4.517421 \n",
"11 0.003103 0.365222 90.730445 4.634778 \n",
"12 0.003446 0.277475 90.554949 4.722525 \n",
"13 0.003789 0.211767 90.423533 4.788233 \n",
"14 0.004132 0.162507 90.325015 4.837493 \n",
"15 0.004475 0.125548 90.251096 4.874452 \n",
"16 0.004818 0.097800 90.195600 4.902200 \n",
"17 0.005161 0.076958 90.153916 4.923042 \n",
"18 0.005504 0.061297 90.122594 4.938703 \n",
"19 0.005847 0.049526 90.099053 4.950474 \n",
"20 0.006327 0.037139 90.074277 4.962861 \n",
"21 0.006807 0.029054 90.058108 4.970946 \n",
"22 0.007288 0.023776 90.047553 4.976224 \n",
"23 0.007960 0.018952 90.037905 4.981048 \n",
"24 0.008632 0.016472 90.032944 4.983528 \n",
"25 0.009573 0.014686 90.029373 4.985314 \n",
"26 0.010891 0.013887 90.027773 4.986113 \n",
"27 0.012736 0.013833 90.027665 4.986167 \n",
"28 0.015318 0.013858 90.027716 4.986142 "
]
},
"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.0005, in 2 steps of 0.00025\n",
"From time 0.0005 to 0.000625, in 1 step of 0.000125\n",
"From time 0.000625 to 0.0008, in 1 step of 0.000175\n",
"From time 0.0008 to 0.001045, in 1 step of 0.000245\n",
"From time 0.001045 to 0.005847, in 14 steps of 0.000343\n",
"From time 0.005847 to 0.007288, in 3 steps of 0.00048\n",
"From time 0.007288 to 0.008632, in 2 steps of 0.000672\n",
"From time 0.008632 to 0.009573, in 1 step of 0.000941\n",
"From time 0.009573 to 0.01089, in 1 step of 0.00132\n",
"From time 0.01089 to 0.01274, in 1 step of 0.00184\n",
"From time 0.01274 to 0.01532, in 1 step of 0.00258\n",
"(28 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.01386 ; [B] = 90.03 ; [Y] = 4.986\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 3.99663\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4.0\n",
"Discrepancy between the two values: 0.08418 %\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": "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.015318388:\n",
"3 species:\n",
" Species 0 (A). Conc: 40.0\n",
" Species 1 (B). Conc: 90.02771559198881\n",
" Species 2 (Y). Conc: 4.98614220400561\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",
" | 25 | \n",
" 0.009573 | \n",
" 0.014686 | \n",
" 90.029373 | \n",
" 4.985314 | \n",
" | \n",
"
\n",
" \n",
" | 26 | \n",
" 0.010891 | \n",
" 0.013887 | \n",
" 90.027773 | \n",
" 4.986113 | \n",
" | \n",
"
\n",
" \n",
" | 27 | \n",
" 0.012736 | \n",
" 0.013833 | \n",
" 90.027665 | \n",
" 4.986167 | \n",
" | \n",
"
\n",
" \n",
" | 28 | \n",
" 0.015318 | \n",
" 0.013858 | \n",
" 90.027716 | \n",
" 4.986142 | \n",
" | \n",
"
\n",
" \n",
" | 29 | \n",
" 0.015318 | \n",
" 40.000000 | \n",
" 90.027716 | \n",
" 4.986142 | \n",
" Set concentration of `A` | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"25 0.009573 0.014686 90.029373 4.985314 \n",
"26 0.010891 0.013887 90.027773 4.986113 \n",
"27 0.012736 0.013833 90.027665 4.986167 \n",
"28 0.015318 0.013858 90.027716 4.986142 \n",
"29 0.015318 40.000000 90.027716 4.986142 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": [
"* INFO: the tentative time step (0.0005) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.00025) [Step started at t=0.015318, and will rewind there]\n",
"* INFO: the tentative time step (0.00025) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.000125) [Step started at t=0.015318, and will rewind there]\n",
"* INFO: the tentative time step (0.000125) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 6.25e-05) [Step started at t=0.015318, and will rewind there]\n",
"* INFO: the tentative time step (6.25e-05) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 3.125e-05) [Step started at t=0.015318, and will rewind there]\n",
"47 total step(s) taken\n"
]
}
],
"source": [
"dynamics.single_compartment_react(initial_step=0.0005, target_end_time=0.055,\n",
" variable_steps=True, explain_variable_steps=False)"
]
},
{
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205
],
"xaxis": "x",
"y": [
5,
4,
3.2165,
2.9067691305,
2.517590791882847,
2.0498581641968268,
1.5225888605747753,
1.1362331163200294,
0.851194380983752,
0.6398532663849396,
0.4825793102104357,
0.36522241359901236,
0.2774745136471351,
0.21176652756426492,
0.1625072843777499,
0.12554807493803027,
0.09780009276459273,
0.07695779905031393,
0.06129700525114322,
0.04952642690090266,
0.03713855091064221,
0.029053854677946724,
0.02377626983163505,
0.018952316762392143,
0.016472060882598158,
0.014686460392091347,
0.013886535976814492,
0.013832735442295341,
0.01385779599439035,
40,
39.10003447796786,
38.237975005266094,
37.0808617187854,
35.988917499434834,
34.95675290844794,
33.979560546614834,
33.053038168865335,
32.173323719760695,
31.336940180985742,
30.222271882132553,
29.180462882864678,
28.204549095314782,
27.288432856197204,
26.426751513819887,
25.289976460531136,
24.241876527080546,
23.272392698984195,
22.372944470148965,
21.536166120095626,
20.443510437718032,
19.44974586467731,
18.54193962640131,
17.70934072987829,
16.636373069946984,
15.677331776192714,
14.81487978472246,
13.723138643803917,
12.769814586812139,
11.930018488338689,
10.886378723172008,
9.996512044225279,
9.228692524489007,
8.291784621655506,
7.511529587076473,
6.587975720028021,
5.847971128159644,
5.000058846687724,
4.087450620249769,
3.4377219374622863,
2.761345746122461,
2.118757215575542,
1.7316682196056807,
1.383073243592625,
1.19433355515071,
1.0433799852870576,
0.9533046931848093,
0.9251887264817047
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205
],
"xaxis": "x",
"y": [
100,
98,
96.433,
95.813538261,
95.0351815837657,
94.09971632839367,
93.04517772114957,
92.27246623264008,
91.70238876196753,
91.27970653276991,
90.9651586204209,
90.73044482719804,
90.55494902729428,
90.42353305512854,
90.32501456875552,
90.25109614987608,
90.1956001855292,
90.15391559810064,
90.1225940105023,
90.09905285380182,
90.0742771018213,
90.05810770935591,
90.04755253966329,
90.0379046335248,
90.03294412176521,
90.0293729207842,
90.02777307195365,
90.02766547088461,
90.02771559198881,
90.02771559198881,
88.22778454792453,
86.503665602521,
84.18943902955961,
82.00555059085848,
79.94122140888469,
77.98683668521848,
76.13379192971948,
74.3743630315102,
72.7015959539603,
70.47225935625391,
68.38864135771817,
66.43681378261839,
64.60458130438323,
62.8812186196286,
60.607668513051095,
58.511468646149915,
56.57250098995721,
54.773604532286754,
53.100047832180074,
50.91473646742489,
48.927207321343445,
47.11159484479144,
45.4463970517454,
43.30046173188279,
41.382379144374255,
39.657475161433744,
37.47399287959666,
35.5673447656131,
33.8877525686662,
31.80047303833284,
30.02073968043938,
28.485100640966838,
26.611284835299834,
25.05077476614177,
23.203667032044866,
21.72365784830811,
20.02783328536427,
18.202616832488363,
16.903159466913397,
15.550407084233747,
14.265230023139909,
13.491052031200185,
12.793862079174074,
12.416382702290244,
12.114475562562939,
11.934324978358443,
11.878093044952234
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205
],
"xaxis": "x",
"y": [
0,
1,
1.7835,
2.0932308695,
2.482409208117153,
2.9501418358031732,
3.4774111394252247,
3.8637668836799706,
4.148805619016248,
4.3601467336150606,
4.517420689789565,
4.634777586400988,
4.722525486352866,
4.788233472435736,
4.8374927156222505,
4.87445192506197,
4.902199907235407,
4.923042200949686,
4.938702994748857,
4.950473573099098,
4.962861449089358,
4.970946145322054,
4.976223730168365,
4.981047683237608,
4.983527939117402,
4.985313539607909,
4.986113464023186,
4.986167264557705,
4.98614220400561,
4.98614220400561,
5.886107726037747,
6.748167198739512,
7.905280485220206,
8.997224704570774,
10.029389295557671,
11.006581657390779,
11.933104035140278,
12.812818484244918,
13.64920202301987,
14.763870321873059,
15.805679321140934,
16.781593108690828,
17.697709347808406,
18.559390690185722,
19.696165743474474,
20.744265676925064,
21.713749505021415,
22.613197733856644,
23.449976083909984,
24.542631766287577,
25.5363963393283,
26.4442025776043,
27.27680147412732,
28.349769134058626,
29.308810427812894,
30.17126241928315,
31.263003560201692,
32.21632761719347,
33.05612371566692,
34.0997634808336,
34.98963015978033,
35.757449679516604,
36.69435758235011,
37.47461261692914,
38.3981664839776,
39.138171075845975,
39.986083357317895,
40.89869158375585,
41.54842026654333,
42.22479645788316,
42.867384988430075,
43.25447398439994,
43.60306896041299,
43.791808648854904,
43.942762218718556,
44.032837510820805,
44.06095347752391
],
"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.05962283556013205
],
"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": "iVBORw0KGgoAAAANSUhEUgAAAusAAAFoCAYAAADuNbXWAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQmcFMXZ/38zO3uyy7K7HAvIIV6gonigeCHeJ2pQkLz6RkNegvr+X1+VF18xMUhMAq++qMmbaIiRaKKRYIIaI5ooijdoTPBCVE4P7t1l72N2Zv6f6pkeenvn6O6p7hpmfuMHd3em6qnq71M78+3a6mpfJBKJgA8SIAESIAESIAESIAESIIGsI+CjrGddTtghEiABEiABEiABEiABEtAIUNY5EEiABEiABEiABEiABEggSwlQ1rM0MewWCZAACZAACZAACZAACVDWOQZIgARIgARIgARIgARIIEsJUNazNDHsFgmQAAmQAAmQAAmQAAlQ1jkGSIAESIAESIAESIAESCBLCVDWszQx7BYJkAAJkAAJkAAJkAAJUNY5BkiABEiABEiABEiABEggSwlQ1rM0MewWCZAACZAACZAACZAACVDWOQZIgARIgARIgARIgARIIEsJUNazNDHsFgmQAAmQAAmQAAmQAAlQ1jkGSIAESIAESIAESIAESCBLCVDWszQx7BYJkAAJkAAJkAAJkAAJUNY5BkiABEiABEiABEiABEggSwlQ1rM0MewWCZAACZAACZAACZAACVDWOQZIgARIgARIgARIgARIIEsJUNazNDHsFgmQAAmQAAmQAAmQAAlQ1jkGSIAESIAESIAESIAESCBLCVDWszQx7BYJkAAJkAAJkAAJkAAJUNY5BkiABEiABEiABEiABEggSwlQ1rM0MewWCZAACZAACZAACZAACVDWOQZIgARIgARIgARIgARIIEsJUNazNDHsFgmQAAmQAAmQAAmQAAlQ1jkGSIAESIAESIAESIAESCBLCVDWszQx7BYJkAAJkAAJkAAJkAAJUNY5BkiABEiABEiABEiABEggSwlQ1rM0MewWCZAACZAACZAACZAACVDWOQZIgARIgARIgARIgARIIEsJUNazNDHsFgmQAAmQAAmQAAmQAAlQ1jkGSIAESIAESIAESIAESCBLCVDWszQx7BYJkAAJkAAJkAAJkAAJUNY5BkiABEiABEiABEiABEggSwlQ1rM0MewWCZAACZAACZAACZAACVDWOQZIgARIgARIgARIgARIIEsJUNazNDHsFgmQAAmQAAmQAAmQAAlQ1jkG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CZAACTglQFl3So71SIAESIAESIAESIAESMBlApR1lwEzPAmQAAmQAAmQAAmQAAk4JUBZd0qO9UiABEiABEiABEiABEjAZQKUdZcBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjvVIgARIgARIgARIgARIwGUClHWXATM8CZAACZAACZAACZAACTglQFl3So71SIAESIAESIAESIAESMBlApR1lwEzPAmQAAmQAAmQAAmQAAk4JUBZd0qO9UiABEiABEiABEiABEjAZQKUdZcBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjvVIgARIgARIgARIgARIwGUClHWXATM8CZAACZAACZAACZAACTglQFl3So71SIAESIAESIAESIAESMBlApR1lwEzPAmQAAmQAAmQAAmQAAk4JUBZd0qO9UiABEiABEiABEiABEjAZQKUdZcBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjvVIgARIgARIgARIgARIwGUClHWXATM8CZAACZAACZAACZAACTglQFl3So71SIAESIAESIAESIAESMBlApR1lwEzPAmQAAmQAAmQAAmQAAk4JUBZd0qO9UiABEiABEiABEiABEjAZQKUdZcBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjvVIgARIgARIgARIgARIwGUClHWXATM8CZAACZAACZAACZAACTglQFl3So71SIAESIAESIAESIAESMBlApR1lwEzPAmQAAmQAAmQAAmQAAk4JUBZd0qO9UiABEiABEiABEiABEjAZQKUdZcBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjvVIgARIgARIgARIgARIwGUClHWXATM8CZAACZAACZAACZAACTglQFl3So71SIAESIAESIAESIAESMBlApR1lwEzPAmQAAmQAAmQAAmQAAk4JUBZd0qO9UiABEiABEiABEiABEjAZQKUdZcBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjvVIgARIgARIgARIgARIwGUClHWXATM8CZAACZAACZAACZAACTglQFl3So71SIAESIAESIAESIAESMBlApR1lwEzPAmQAAmQAAmQAAmQAAk4JUBZd0rOUG9bXbuEKAxhl4DPB9RWlWJ7PfnbZSerfL/yInQFQ2jrDMkKyTg2CAQKfKiqKMbuvR02arGoTAL9+xajqT2IrmBYZljGskig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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",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000250 | \n",
" 4.000000 | \n",
" 98.000000 | \n",
" 1.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000500 | \n",
" 3.216500 | \n",
" 96.433000 | \n",
" 1.783500 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000625 | \n",
" 2.906769 | \n",
" 95.813538 | \n",
" 2.093231 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.000800 | \n",
" 2.517591 | \n",
" 95.035182 | \n",
" 2.482409 | \n",
" | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 72 | \n",
" 0.034954 | \n",
" 1.383073 | \n",
" 12.793862 | \n",
" 43.603069 | \n",
" | \n",
"
\n",
" \n",
" | 73 | \n",
" 0.038427 | \n",
" 1.194334 | \n",
" 12.416383 | \n",
" 43.791809 | \n",
" | \n",
"
\n",
" \n",
" | 74 | \n",
" 0.043288 | \n",
" 1.043380 | \n",
" 12.114476 | \n",
" 43.942762 | \n",
" | \n",
"
\n",
" \n",
" | 75 | \n",
" 0.050094 | \n",
" 0.953305 | \n",
" 11.934325 | \n",
" 44.032838 | \n",
" | \n",
"
\n",
" \n",
" | 76 | \n",
" 0.059623 | \n",
" 0.925189 | \n",
" 11.878093 | \n",
" 44.060953 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
77 rows × 5 columns
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initial state\n",
"1 0.000250 4.000000 98.000000 1.000000 \n",
"2 0.000500 3.216500 96.433000 1.783500 \n",
"3 0.000625 2.906769 95.813538 2.093231 \n",
"4 0.000800 2.517591 95.035182 2.482409 \n",
".. ... ... ... ... ...\n",
"72 0.034954 1.383073 12.793862 43.603069 \n",
"73 0.038427 1.194334 12.416383 43.791809 \n",
"74 0.043288 1.043380 12.114476 43.942762 \n",
"75 0.050094 0.953305 11.934325 44.032838 \n",
"76 0.059623 0.925189 11.878093 44.060953 \n",
"\n",
"[77 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.9252 ; [B] = 11.88 ; [Y] = 44.06\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 4.00938\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4.0\n",
"Discrepancy between the two values: 0.2344 %\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": "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.059622836:\n",
"3 species:\n",
" Species 0 (A). Conc: 30.0\n",
" Species 1 (B). Conc: 11.878093044952234\n",
" Species 2 (Y). Conc: 44.06095347752391\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",
" | 73 | \n",
" 0.038427 | \n",
" 1.194334 | \n",
" 12.416383 | \n",
" 43.791809 | \n",
" | \n",
"
\n",
" \n",
" | 74 | \n",
" 0.043288 | \n",
" 1.043380 | \n",
" 12.114476 | \n",
" 43.942762 | \n",
" | \n",
"
\n",
" \n",
" | 75 | \n",
" 0.050094 | \n",
" 0.953305 | \n",
" 11.934325 | \n",
" 44.032838 | \n",
" | \n",
"
\n",
" \n",
" | 76 | \n",
" 0.059623 | \n",
" 0.925189 | \n",
" 11.878093 | \n",
" 44.060953 | \n",
" | \n",
"
\n",
" \n",
" | 77 | \n",
" 0.059623 | \n",
" 30.000000 | \n",
" 11.878093 | \n",
" 44.060953 | \n",
" Set concentration of `A` | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"73 0.038427 1.194334 12.416383 43.791809 \n",
"74 0.043288 1.043380 12.114476 43.942762 \n",
"75 0.050094 0.953305 11.934325 44.032838 \n",
"76 0.059623 0.925189 11.878093 44.060953 \n",
"77 0.059623 30.000000 11.878093 44.060953 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": [
"* INFO: the tentative time step (0.001) leads to a least one norm value > its ABORT threshold:\n",
" -> will backtrack, and re-do step with a SMALLER delta time, multiplied by 0.5 (set to 0.0005) [Step started at t=0.059623, and will rewind there]\n",
"19 total step(s) taken\n"
]
}
],
"source": [
"dynamics.single_compartment_react(initial_step=0.001, target_end_time=0.09,\n",
" variable_steps=True, explain_variable_steps=False)"
]
},
{
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205,
0.05962283556013205,
0.06012283556013205,
0.06037283556013205,
0.060722835560132055,
0.06121283556013205,
0.06170283556013205,
0.06238883556013205,
0.06307483556013205,
0.06376083556013205,
0.06444683556013206,
0.06513283556013207,
0.06609323556013207,
0.06705363556013207,
0.06839819556013206,
0.07028057956013206,
0.07291591716013206,
0.07660538980013205,
0.08177065149613205,
0.08900201787053205,
0.09912593079469205
],
"xaxis": "x",
"y": [
5,
4,
3.2165,
2.9067691305,
2.517590791882847,
2.0498581641968268,
1.5225888605747753,
1.1362331163200294,
0.851194380983752,
0.6398532663849396,
0.4825793102104357,
0.36522241359901236,
0.2774745136471351,
0.21176652756426492,
0.1625072843777499,
0.12554807493803027,
0.09780009276459273,
0.07695779905031393,
0.06129700525114322,
0.04952642690090266,
0.03713855091064221,
0.029053854677946724,
0.02377626983163505,
0.018952316762392143,
0.016472060882598158,
0.014686460392091347,
0.013886535976814492,
0.013832735442295341,
0.01385779599439035,
40,
39.10003447796786,
38.237975005266094,
37.0808617187854,
35.988917499434834,
34.95675290844794,
33.979560546614834,
33.053038168865335,
32.173323719760695,
31.336940180985742,
30.222271882132553,
29.180462882864678,
28.204549095314782,
27.288432856197204,
26.426751513819887,
25.289976460531136,
24.241876527080546,
23.272392698984195,
22.372944470148965,
21.536166120095626,
20.443510437718032,
19.44974586467731,
18.54193962640131,
17.70934072987829,
16.636373069946984,
15.677331776192714,
14.81487978472246,
13.723138643803917,
12.769814586812139,
11.930018488338689,
10.886378723172008,
9.996512044225279,
9.228692524489007,
8.291784621655506,
7.511529587076473,
6.587975720028021,
5.847971128159644,
5.000058846687724,
4.087450620249769,
3.4377219374622863,
2.761345746122461,
2.118757215575542,
1.7316682196056807,
1.383073243592625,
1.19433355515071,
1.0433799852870576,
0.9533046931848093,
0.9251887264817047,
30,
28.618689788083255,
28.11966515349685,
27.51269822093916,
26.81377570923404,
26.281379649601366,
25.706419270275298,
25.308487498816163,
25.028828447914865,
24.830209375571307,
24.688103740188456,
24.545018822350595,
24.457554792240757,
24.382270757744955,
24.333340532304486,
24.315962680077988,
24.31698567327952,
24.316329870121027,
24.317285723408364,
24.31479993929142
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205,
0.05962283556013205,
0.06012283556013205,
0.06037283556013205,
0.060722835560132055,
0.06121283556013205,
0.06170283556013205,
0.06238883556013205,
0.06307483556013205,
0.06376083556013205,
0.06444683556013206,
0.06513283556013207,
0.06609323556013207,
0.06705363556013207,
0.06839819556013206,
0.07028057956013206,
0.07291591716013206,
0.07660538980013205,
0.08177065149613205,
0.08900201787053205,
0.09912593079469205
],
"xaxis": "x",
"y": [
100,
98,
96.433,
95.813538261,
95.0351815837657,
94.09971632839367,
93.04517772114957,
92.27246623264008,
91.70238876196753,
91.27970653276991,
90.9651586204209,
90.73044482719804,
90.55494902729428,
90.42353305512854,
90.32501456875552,
90.25109614987608,
90.1956001855292,
90.15391559810064,
90.1225940105023,
90.09905285380182,
90.0742771018213,
90.05810770935591,
90.04755253966329,
90.0379046335248,
90.03294412176521,
90.0293729207842,
90.02777307195365,
90.02766547088461,
90.02771559198881,
90.02771559198881,
88.22778454792453,
86.503665602521,
84.18943902955961,
82.00555059085848,
79.94122140888469,
77.98683668521848,
76.13379192971948,
74.3743630315102,
72.7015959539603,
70.47225935625391,
68.38864135771817,
66.43681378261839,
64.60458130438323,
62.8812186196286,
60.607668513051095,
58.511468646149915,
56.57250098995721,
54.773604532286754,
53.100047832180074,
50.91473646742489,
48.927207321343445,
47.11159484479144,
45.4463970517454,
43.30046173188279,
41.382379144374255,
39.657475161433744,
37.47399287959666,
35.5673447656131,
33.8877525686662,
31.80047303833284,
30.02073968043938,
28.485100640966838,
26.611284835299834,
25.05077476614177,
23.203667032044866,
21.72365784830811,
20.02783328536427,
18.202616832488363,
16.903159466913397,
15.550407084233747,
14.265230023139909,
13.491052031200185,
12.793862079174074,
12.416382702290244,
12.114475562562939,
11.934324978358443,
11.878093044952234,
11.878093044952234,
9.115472621118746,
8.117423351945932,
6.903489486830555,
5.505644463420315,
4.4408523441549645,
3.2909315855028267,
2.4950680425845557,
1.9357499407819603,
1.5385117960948453,
1.2543005253291408,
0.9681306896534161,
0.7932026294337404,
0.6426345604421384,
0.5447741095611982,
0.5100184051082033,
0.5120643915112745,
0.5107527851942871,
0.5126644917689619,
0.5076929235350717
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205,
0.05962283556013205,
0.06012283556013205,
0.06037283556013205,
0.060722835560132055,
0.06121283556013205,
0.06170283556013205,
0.06238883556013205,
0.06307483556013205,
0.06376083556013205,
0.06444683556013206,
0.06513283556013207,
0.06609323556013207,
0.06705363556013207,
0.06839819556013206,
0.07028057956013206,
0.07291591716013206,
0.07660538980013205,
0.08177065149613205,
0.08900201787053205,
0.09912593079469205
],
"xaxis": "x",
"y": [
0,
1,
1.7835,
2.0932308695,
2.482409208117153,
2.9501418358031732,
3.4774111394252247,
3.8637668836799706,
4.148805619016248,
4.3601467336150606,
4.517420689789565,
4.634777586400988,
4.722525486352866,
4.788233472435736,
4.8374927156222505,
4.87445192506197,
4.902199907235407,
4.923042200949686,
4.938702994748857,
4.950473573099098,
4.962861449089358,
4.970946145322054,
4.976223730168365,
4.981047683237608,
4.983527939117402,
4.985313539607909,
4.986113464023186,
4.986167264557705,
4.98614220400561,
4.98614220400561,
5.886107726037747,
6.748167198739512,
7.905280485220206,
8.997224704570774,
10.029389295557671,
11.006581657390779,
11.933104035140278,
12.812818484244918,
13.64920202301987,
14.763870321873059,
15.805679321140934,
16.781593108690828,
17.697709347808406,
18.559390690185722,
19.696165743474474,
20.744265676925064,
21.713749505021415,
22.613197733856644,
23.449976083909984,
24.542631766287577,
25.5363963393283,
26.4442025776043,
27.27680147412732,
28.349769134058626,
29.308810427812894,
30.17126241928315,
31.263003560201692,
32.21632761719347,
33.05612371566692,
34.0997634808336,
34.98963015978033,
35.757449679516604,
36.69435758235011,
37.47461261692914,
38.3981664839776,
39.138171075845975,
39.986083357317895,
40.89869158375585,
41.54842026654333,
42.22479645788316,
42.867384988430075,
43.25447398439994,
43.60306896041299,
43.791808648854904,
43.942762218718556,
44.032837510820805,
44.06095347752391,
44.06095347752391,
45.44226368944065,
45.941288324027056,
46.548255256584746,
47.247177768289866,
47.77957382792254,
48.35453420724861,
48.75246597870775,
49.03212502960904,
49.230744101952595,
49.37284973733545,
49.51593465517331,
49.603398685283146,
49.67868271977895,
49.72761294521942,
49.744990797445915,
49.74396780424438,
49.74462360740287,
49.743667754115535,
49.74615353823248
],
"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.09912593079469205
],
"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": "iVBORw0KGgoAAAANSUhEUgAAAusAAAFoCAYAAADuNbXWAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQl4VNX5/78zk5XsLElAWQQXQFAUEVxA3BVrVaqItVWrpYi1rUqxYBdFfxYqov67aNGWYluXYotaFfd9Q62KIoILCKiQsITsezL/59zkxpvJLHfunHPvmcl3eHiSzJzznvd+3pvMZ86cOdcXDAaD4I0ESIAESIAESIAESIAESEA7Aj7KunY1YUIkQAIkQAIkQAIkQAIkYBCgrPNEIAESIAESIAESIAESIAFNCVDWNS0M0yIBEiABEiABEiABEiAByjrPARIgARIgARIgARIgARLQlABlXdPCMC0SIAESIAESIAESIAESoKzzHCABEiABEiABEiABEiABTQlQ1jUtDNMiARIgARIgARIgARIgAco6zwESIAESIAESIAESIAES0JQAZV3TwjAtEiABEiABEiABEiABEqCs8xwgARIgARIgARIgARIgAU0JUNY1LQzTIgESIAESIAESIAESIAHKOs8BEiABEiABEiABEiABEtCUAGVd08IwLRIgARIgARIgARIgARKgrPMcIAESIAESIAESIAESIAFNCVDWNS0M0yIBEiABEiABEiABEiAByjrPARIgARIgARIgARIgARLQlABlXdPCMC0SIAESIAESIAESIAESoKzzHCABEiABEiABEiABEiABTQlQ1jUtDNMiARIgARIgARIgARIgAco6zwESIAESIAESIAESIAES0JQAZV3TwjAtEiABEiABEiABEiABEqCs8xwgARIgARIgARIgARIgAU0JUNY1LQzTIgESIAESIAESIAESIAHKOs8BEiABEiABEiABEiABEtCUAGVd08IwLRIgARIgARIgARIgARKgrPMcIAESIAESIAESIAESIAFNCVDWNS0M0yIBEiABEiABEiABEiAByjrPARIgARIgARIgARIgARLQlABlXdPCMC0SIAESIAESIAESIAESoKzzHCABEiABEiABEiABEiABTQlQ1jUtDNMiARIgARIgARIgARIgAco6zwESIAESIAESIAESIAES0JQAZV3TwjAtEiABEiABEiABEiABEqCs8xwgARIgARIgARIgARIgAU0JUNY1LQzTIgESIAESIAESIAESIAHKOs8BEiABEiABEiABEiABEtCU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OCVAWXdKjv1IgARIgARIgARIgARIQDEByrpiwAxPAiRAAiRAAiRAAiRAAk4JUNadkmM/EiABEiABEiABEiABElBMgLKuGDDDkwAJkAAJkAAJkAAJkIBTApR1p+TYjwRIgARIgARIgARIgAQUE6CsKwbM8CRAAiRAAiRAAiRAAiTglABl3Sk59iMBEiABEiABEiABEiABxQQo64oBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjv1IgARIgARIgARIgARIQDEByrpiwAxPAiRAAiRAAiRAAiRAAk4JUNadkmM/EiABEiABEiABEiABElBMgLKuGDDDkwAJkAAJkAAJkAAJkIBTApR1p+TYjwRIgARIgARIgARIgAQUE6CsKwbM8CRAAiRAAiRAAiRAAiTglABl3Sk59iMBEiABEiABEiABEiABxQQo64oBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjv1IgARIgARIgARIgARIQDEByrpiwAxPAiRAAiRAAiRAAiRAAk4JUNadkmM/EiABEiABEiABEiABElBMgLKuGDDDkwAJkAAJkAAJkAAJkIBTApR1p+TYjwRIgARIgARIgARIgAQUE6CsKwbM8CRAAiRAAiRAAiRAAiTglABl3Sk59iMBEiABEiABEiABEiABxQQo64oBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjv1IgARIgARIgARIgARIQDEByrpiwAxPAiRAAiRAAiRAAiRAAk4JUNadkmM/EiABEiABEiABEiABElBMgLKuGDDDkwAJkAAJkAAJkAAJkIBTApR1p+TYjwRIgARIgARIgARIgAQUE6CsKwbM8CRAAiRAAiRAAiRAAiTglABl3Sk59iMBEiABEiABEiABEiABxQQo64oBMzwJkAAJkAAJkAAJkAAJOCVAWXdKjv1IgARIgARIgARIgARIQDEByrpiwAxPAiRAAiRAAiRAAiRAAk4JUNadkmM/EiABEiABEiABEiABElBMgLKuGDDDkwAJkAAJkAAJkAAJkIBTApR1p+TYjwRIgARIgARIgARIgAQUE6CsKwbM8CRAAiRAAiRAAiRAAiTglABl3Sk5S7/texokRGEIrwnkZacBPh9q6lu8ToXjSyCQm50GH+spgaQeIUQ9/T4fqvn7qUdBEswiNysNfj/rmSBGz7oP6pft2di9cWDKuoSqU9YlQNQg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6xqMnEy5fuixl5Cb2we1tfU9XgjIknXxIuVbJx+NDz/e1DWGkPgldz6Iw8cegBdef79L/inr/F0jARIggcQJUNYTZ8gIJEACSUggVMKjHYI5o7xowSx8uX1nt5n2eOKYYyQ6sy5kfe7sGVj65391m90Xy1e2fFmGsp0VSmV97uXnw8zBfPdBjCvGt74LQVlPwl8MpkwCJKAdAcq6diVhQiRAAm4RCF1TbV3CEZqDucxD3B+6BCSeOKJ/NFm3s2bdXLrytwefNNI867RjjZntRdfNgrhPtayL5T8frP/cWMpz9Y/Ow8Lb7sW8K2Ya94XKeqzjcavWHIcESIAEkpUAZT1ZK8e8SYAEpBGwrvcWQUPXg4v7zOUuR44b2bX0JDQBO3FiybqdNeumrIsProplKeI249vHG8tyxIsKN2S9b2Ge8WHVgrwcHDRisMEkdH0/Z9alnaIMRAIk0IsJUNZ7cfF56CRAAj0JRFrWErpWPRa7aMtjZCyDMXehCf1wq1uyLj4AK47jznsf7fqgK2U91lnBx0mABEggfgKU9fiZsQcJkEAKEBAz5WILwymTDu1xNEJ4xc388Kb4PpKsxxtH5sy62HFFrKf//IuvcOrUI42c3ZR1ceyrn1+DC6efbIxNWU+BXwweAgmQgHYEKOvalYQJkQAJuEHAXNYyZFBxtw9jmuvPQ9elR5N1sRzEbhzZsh7Kyk1ZDx2bsu7GmcsxSIAEehsBynpvqziPlwRIoItAuIsEhVuvHm1mXTwWT5xYsh7rA5nixUSkvdFlzayHXuDJelEk6/7ydmQ91vHwdCQBEiABEohOgLLOM4QESIAESIAESIAESIAENCVAWde0MEyLBEiABEiABEiABEiABCjrPAdIgARIgARIgARIgARIQFMClHVNC8O0SIAESIAESIAESIAESICyznOABEiABEiABEiABEiABDQlQFnXtDBMiwRIgARIgARIgARIgAQo6zwHSIAESIAESIAESIAESEBTApR1TQvDtEiABEiABEiABEiABEiAss5zgARIgARIgARIgARIgAQ0JUBZ///t1jENAAAAwjD/rmdjRx2QwsG0GLEIECBAgAABAgQIOOs2QIAAAQIECBAgQGAq4KxPixGLAAECBAgQIECAgLNuAwQIECBAgAABAgSmAs76tBixCBAgQIAAAQIECDjrNkCAAAECBAgQIEBgKuCsT4sRiwABAgQIECBAgICzbgMECBAgQIAAAQIEpgLO+rQYsQgQIECAAAECBAg46zZAgAABAgQIECBAYCrgrE+LEYsAAQIECBAgQICAs24DBAgQIECAAAECBKYCzvq0GLEIECBAgAABAgQIOOs2QIAAAQIECBAgQGAq4KxPixGLAAECBAgQIECAgLNuAwQIECBAgAABAgSmAs76tBixCBAgQIAAAQIECDjrNkCAAAECBAgQIEBgKuCsT4sRiwABAgQIECBAgICzbgMECBAgQIAAAQIEpgLO+rQYsQgQIECAAAECBAg46zZAgAABAgQIECBAYCrgrE+LEYsAAQIECBAgQICAs24DBAgQIECAAAECBKYCzvq0GLEIECBAgAABAgQIOOs2QIAAAQIECBAgQGAq4KxPixGLAAECBAgQIECAgLNuAwQIECBAgAABAgSmAs76tBixCBAgQIAAAQIECDjrNkCAAAECBAgQIEBgKhC/2z1rtttV8wAAAABJRU5ErkJggg==",
"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",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000250 | \n",
" 4.000000 | \n",
" 98.000000 | \n",
" 1.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000500 | \n",
" 3.216500 | \n",
" 96.433000 | \n",
" 1.783500 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000625 | \n",
" 2.906769 | \n",
" 95.813538 | \n",
" 2.093231 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.000800 | \n",
" 2.517591 | \n",
" 95.035182 | \n",
" 2.482409 | \n",
" | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 92 | \n",
" 0.072916 | \n",
" 24.315963 | \n",
" 0.510018 | \n",
" 49.744991 | \n",
" | \n",
"
\n",
" \n",
" | 93 | \n",
" 0.076605 | \n",
" 24.316986 | \n",
" 0.512064 | \n",
" 49.743968 | \n",
" | \n",
"
\n",
" \n",
" | 94 | \n",
" 0.081771 | \n",
" 24.316330 | \n",
" 0.510753 | \n",
" 49.744624 | \n",
" | \n",
"
\n",
" \n",
" | 95 | \n",
" 0.089002 | \n",
" 24.317286 | \n",
" 0.512664 | \n",
" 49.743668 | \n",
" | \n",
"
\n",
" \n",
" | 96 | \n",
" 0.099126 | \n",
" 24.314800 | \n",
" 0.507693 | \n",
" 49.746154 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
97 rows × 5 columns
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initial state\n",
"1 0.000250 4.000000 98.000000 1.000000 \n",
"2 0.000500 3.216500 96.433000 1.783500 \n",
"3 0.000625 2.906769 95.813538 2.093231 \n",
"4 0.000800 2.517591 95.035182 2.482409 \n",
".. ... ... ... ... ...\n",
"92 0.072916 24.315963 0.510018 49.744991 \n",
"93 0.076605 24.316986 0.512064 49.743968 \n",
"94 0.081771 24.316330 0.510753 49.744624 \n",
"95 0.089002 24.317286 0.512664 49.743668 \n",
"96 0.099126 24.314800 0.507693 49.746154 \n",
"\n",
"[97 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.31 ; [B] = 0.5077 ; [Y] = 49.75\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 4.02984\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4.0\n",
"Discrepancy between the two values: 0.746 %\n",
"Reaction IS in equilibrium (within 1% 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()"
]
},
{
"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": "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.099125931:\n",
"3 species:\n",
" Species 0 (A). Conc: 0.0\n",
" Species 1 (B). Conc: 0.5076929235350717\n",
" Species 2 (Y). Conc: 49.74615353823248\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"
]
}
],
"source": [
"dynamics.single_compartment_react(initial_step=0.001, target_end_time=0.16,\n",
" variable_steps=True, explain_variable_steps=False)"
]
},
{
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205,
0.05962283556013205,
0.06012283556013205,
0.06037283556013205,
0.060722835560132055,
0.06121283556013205,
0.06170283556013205,
0.06238883556013205,
0.06307483556013205,
0.06376083556013205,
0.06444683556013206,
0.06513283556013207,
0.06609323556013207,
0.06705363556013207,
0.06839819556013206,
0.07028057956013206,
0.07291591716013206,
0.07660538980013205,
0.08177065149613205,
0.08900201787053205,
0.09912593079469205,
0.09912593079469205,
0.10012593079469205,
0.10112593079469205,
0.10162593079469205,
0.10212593079469205,
0.10282593079469206,
0.10352593079469206,
0.10450593079469206,
0.10548593079469205,
0.10685793079469205,
0.10822993079469205,
0.11015073079469205,
0.11283985079469205,
0.11552897079469206,
0.11929373879469206,
0.12456441399469206,
0.13194335927469206,
0.14227388266669205,
0.15673661541549205,
0.17698444126381205
],
"xaxis": "x",
"y": [
5,
4,
3.2165,
2.9067691305,
2.517590791882847,
2.0498581641968268,
1.5225888605747753,
1.1362331163200294,
0.851194380983752,
0.6398532663849396,
0.4825793102104357,
0.36522241359901236,
0.2774745136471351,
0.21176652756426492,
0.1625072843777499,
0.12554807493803027,
0.09780009276459273,
0.07695779905031393,
0.06129700525114322,
0.04952642690090266,
0.03713855091064221,
0.029053854677946724,
0.02377626983163505,
0.018952316762392143,
0.016472060882598158,
0.014686460392091347,
0.013886535976814492,
0.013832735442295341,
0.01385779599439035,
40,
39.10003447796786,
38.237975005266094,
37.0808617187854,
35.988917499434834,
34.95675290844794,
33.979560546614834,
33.053038168865335,
32.173323719760695,
31.336940180985742,
30.222271882132553,
29.180462882864678,
28.204549095314782,
27.288432856197204,
26.426751513819887,
25.289976460531136,
24.241876527080546,
23.272392698984195,
22.372944470148965,
21.536166120095626,
20.443510437718032,
19.44974586467731,
18.54193962640131,
17.70934072987829,
16.636373069946984,
15.677331776192714,
14.81487978472246,
13.723138643803917,
12.769814586812139,
11.930018488338689,
10.886378723172008,
9.996512044225279,
9.228692524489007,
8.291784621655506,
7.511529587076473,
6.587975720028021,
5.847971128159644,
5.000058846687724,
4.087450620249769,
3.4377219374622863,
2.761345746122461,
2.118757215575542,
1.7316682196056807,
1.383073243592625,
1.19433355515071,
1.0433799852870576,
0.9533046931848093,
0.9251887264817047,
30,
28.618689788083255,
28.11966515349685,
27.51269822093916,
26.81377570923404,
26.281379649601366,
25.706419270275298,
25.308487498816163,
25.028828447914865,
24.830209375571307,
24.688103740188456,
24.545018822350595,
24.457554792240757,
24.382270757744955,
24.333340532304486,
24.315962680077988,
24.31698567327952,
24.316329870121027,
24.317285723408364,
24.31479993929142,
0,
0.09949230707646496,
0.19822315771010743,
0.24705420275080847,
0.2955633051716507,
0.36297541539190237,
0.4296042835805298,
0.521660862512264,
0.6117974956242754,
0.7349964156326825,
0.8535284056323934,
1.0123064122883219,
1.2192609247384332,
1.402971246901739,
1.6269556781198062,
1.8761462874285597,
2.1108053562236364,
2.2699943910945506,
2.3175282595733697,
2.3075969689698006
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205,
0.05962283556013205,
0.06012283556013205,
0.06037283556013205,
0.060722835560132055,
0.06121283556013205,
0.06170283556013205,
0.06238883556013205,
0.06307483556013205,
0.06376083556013205,
0.06444683556013206,
0.06513283556013207,
0.06609323556013207,
0.06705363556013207,
0.06839819556013206,
0.07028057956013206,
0.07291591716013206,
0.07660538980013205,
0.08177065149613205,
0.08900201787053205,
0.09912593079469205,
0.09912593079469205,
0.10012593079469205,
0.10112593079469205,
0.10162593079469205,
0.10212593079469205,
0.10282593079469206,
0.10352593079469206,
0.10450593079469206,
0.10548593079469205,
0.10685793079469205,
0.10822993079469205,
0.11015073079469205,
0.11283985079469205,
0.11552897079469206,
0.11929373879469206,
0.12456441399469206,
0.13194335927469206,
0.14227388266669205,
0.15673661541549205,
0.17698444126381205
],
"xaxis": "x",
"y": [
100,
98,
96.433,
95.813538261,
95.0351815837657,
94.09971632839367,
93.04517772114957,
92.27246623264008,
91.70238876196753,
91.27970653276991,
90.9651586204209,
90.73044482719804,
90.55494902729428,
90.42353305512854,
90.32501456875552,
90.25109614987608,
90.1956001855292,
90.15391559810064,
90.1225940105023,
90.09905285380182,
90.0742771018213,
90.05810770935591,
90.04755253966329,
90.0379046335248,
90.03294412176521,
90.0293729207842,
90.02777307195365,
90.02766547088461,
90.02771559198881,
90.02771559198881,
88.22778454792453,
86.503665602521,
84.18943902955961,
82.00555059085848,
79.94122140888469,
77.98683668521848,
76.13379192971948,
74.3743630315102,
72.7015959539603,
70.47225935625391,
68.38864135771817,
66.43681378261839,
64.60458130438323,
62.8812186196286,
60.607668513051095,
58.511468646149915,
56.57250098995721,
54.773604532286754,
53.100047832180074,
50.91473646742489,
48.927207321343445,
47.11159484479144,
45.4463970517454,
43.30046173188279,
41.382379144374255,
39.657475161433744,
37.47399287959666,
35.5673447656131,
33.8877525686662,
31.80047303833284,
30.02073968043938,
28.485100640966838,
26.611284835299834,
25.05077476614177,
23.203667032044866,
21.72365784830811,
20.02783328536427,
18.202616832488363,
16.903159466913397,
15.550407084233747,
14.265230023139909,
13.491052031200185,
12.793862079174074,
12.416382702290244,
12.114475562562939,
11.934324978358443,
11.878093044952234,
11.878093044952234,
9.115472621118746,
8.117423351945932,
6.903489486830555,
5.505644463420315,
4.4408523441549645,
3.2909315855028267,
2.4950680425845557,
1.9357499407819603,
1.5385117960948453,
1.2543005253291408,
0.9681306896534161,
0.7932026294337404,
0.6426345604421384,
0.5447741095611982,
0.5100184051082033,
0.5120643915112745,
0.5107527851942871,
0.5126644917689619,
0.5076929235350717,
0.5076929235350717,
0.7066775376880016,
0.9041392389552865,
1.0018013290366885,
1.098819533878373,
1.2336437543188765,
1.3669014906961314,
1.5510146485595997,
1.7312879147836227,
1.9776857548004367,
2.2147497347998586,
2.5323057481117153,
2.946214773011938,
3.3136354173385496,
3.761604279774684,
4.259985498392191,
4.729303635982344,
5.047681705724172,
5.142749442681811,
5.122886861474672
],
"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.00025,
0.0005,
0.000625,
0.0008,
0.001045,
0.001388,
0.001731,
0.002074,
0.002417,
0.00276,
0.003103,
0.003446,
0.003789,
0.004132,
0.004475,
0.004817999999999999,
0.005160999999999999,
0.0055039999999999985,
0.005846999999999998,
0.006327199999999998,
0.006807399999999998,
0.007287599999999998,
0.007959879999999999,
0.00863216,
0.009573352,
0.0108910208,
0.01273575712,
0.015318387967999999,
0.015318387967999999,
0.015349637967999999,
0.015380887967999999,
0.015424637968,
0.015468387968,
0.015512137968,
0.015555887968,
0.015599637968000001,
0.015643387968,
0.015687137968,
0.015748387968,
0.015809637967999998,
0.015870887967999996,
0.015932137967999995,
0.015993387967999994,
0.016079137967999993,
0.016164887967999992,
0.01625063796799999,
0.01633638796799999,
0.01642213796799999,
0.01654218796799999,
0.01666223796799999,
0.01678228796799999,
0.01690233796799999,
0.01707040796799999,
0.017238477967999988,
0.017406547967999987,
0.017641845967999985,
0.017877143967999984,
0.018112441967999982,
0.018441859167999983,
0.018771276367999985,
0.019100693567999986,
0.019561877647999985,
0.020023061727999985,
0.020668719439999986,
0.021314377151999988,
0.022218297948799988,
0.023483787064319986,
0.024749276179839984,
0.026520960941567983,
0.029001319607987183,
0.03148167827440638,
0.03495418040739326,
0.03842668254038014,
0.04328818552656177,
0.05009428970721606,
0.05962283556013205,
0.05962283556013205,
0.06012283556013205,
0.06037283556013205,
0.060722835560132055,
0.06121283556013205,
0.06170283556013205,
0.06238883556013205,
0.06307483556013205,
0.06376083556013205,
0.06444683556013206,
0.06513283556013207,
0.06609323556013207,
0.06705363556013207,
0.06839819556013206,
0.07028057956013206,
0.07291591716013206,
0.07660538980013205,
0.08177065149613205,
0.08900201787053205,
0.09912593079469205,
0.09912593079469205,
0.10012593079469205,
0.10112593079469205,
0.10162593079469205,
0.10212593079469205,
0.10282593079469206,
0.10352593079469206,
0.10450593079469206,
0.10548593079469205,
0.10685793079469205,
0.10822993079469205,
0.11015073079469205,
0.11283985079469205,
0.11552897079469206,
0.11929373879469206,
0.12456441399469206,
0.13194335927469206,
0.14227388266669205,
0.15673661541549205,
0.17698444126381205
],
"xaxis": "x",
"y": [
0,
1,
1.7835,
2.0932308695,
2.482409208117153,
2.9501418358031732,
3.4774111394252247,
3.8637668836799706,
4.148805619016248,
4.3601467336150606,
4.517420689789565,
4.634777586400988,
4.722525486352866,
4.788233472435736,
4.8374927156222505,
4.87445192506197,
4.902199907235407,
4.923042200949686,
4.938702994748857,
4.950473573099098,
4.962861449089358,
4.970946145322054,
4.976223730168365,
4.981047683237608,
4.983527939117402,
4.985313539607909,
4.986113464023186,
4.986167264557705,
4.98614220400561,
4.98614220400561,
5.886107726037747,
6.748167198739512,
7.905280485220206,
8.997224704570774,
10.029389295557671,
11.006581657390779,
11.933104035140278,
12.812818484244918,
13.64920202301987,
14.763870321873059,
15.805679321140934,
16.781593108690828,
17.697709347808406,
18.559390690185722,
19.696165743474474,
20.744265676925064,
21.713749505021415,
22.613197733856644,
23.449976083909984,
24.542631766287577,
25.5363963393283,
26.4442025776043,
27.27680147412732,
28.349769134058626,
29.308810427812894,
30.17126241928315,
31.263003560201692,
32.21632761719347,
33.05612371566692,
34.0997634808336,
34.98963015978033,
35.757449679516604,
36.69435758235011,
37.47461261692914,
38.3981664839776,
39.138171075845975,
39.986083357317895,
40.89869158375585,
41.54842026654333,
42.22479645788316,
42.867384988430075,
43.25447398439994,
43.60306896041299,
43.791808648854904,
43.942762218718556,
44.032837510820805,
44.06095347752391,
44.06095347752391,
45.44226368944065,
45.941288324027056,
46.548255256584746,
47.247177768289866,
47.77957382792254,
48.35453420724861,
48.75246597870775,
49.03212502960904,
49.230744101952595,
49.37284973733545,
49.51593465517331,
49.603398685283146,
49.67868271977895,
49.72761294521942,
49.744990797445915,
49.74396780424438,
49.74462360740287,
49.743667754115535,
49.74615353823248,
49.74615353823248,
49.64666123115601,
49.54793038052237,
49.49909933548167,
49.45059023306082,
49.38317812284057,
49.31654925465194,
49.22449267572021,
49.134356042608196,
49.01115712259979,
48.89262513260008,
48.73384712594415,
48.52689261349404,
48.343182291330734,
48.11919786011267,
47.870007250803916,
47.63534818200884,
47.47615914713793,
47.428625278659105,
47.43855656926267
],
"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.17698444126381205
],
"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": "iVBORw0KGgoAAAANSUhEUgAAAusAAAFoCAYAAADuNbXWAAAAAXNSR0IArs4c6QAAIABJREFUeF7snQmYE0Xe/79J5sgMM8wwM8CAcggeeCHKonixKKsiigcqou6+KIqs7uWxsID6KrurICzq6q6+LH8Rd3VFdHEVxROX9QTxQEXFC1AEhmFO5r6S/1OddOjJZJJOd1enk3zDM89k0lW/qvpUkXy6Ul3t8vv9fvBBAiRAAiRAAiRAAiRAAiTgOAIuyrrj+oQVIgESIAESIAESIAESIAGFAGWdA4EESIAESIAESIAESIAEHEqAsu7QjmG1SIAESIAESIAESIAESICyzjFAAiRAAiRAAiRAAiRAAg4lQFl3aMewWiRAAiRAAiRAAiRAAiRAWecYIAESIAESIAESIAESIAGHEqCsO7RjWC0SIAESIAESIAESIAESoKxzDJAACZAACZAACZAACZCAQwlQ1h3aMawWCZAACZAACZAACZAACVDWOQZIgARIgARIgARIgARIwKEEKOsO7RhWiwRIgARIgARIgARIgAQo6xwDJEACJEACJEACJEACJOBQApR1h3YMq0UCJEACJEACJEACJEAClHWOARIgARIgARIgARIgARJwKAHKukM7htUiARIgARIgARIgARIgAco6xwAJkAAJkAAJkAAJkAAJOJQAZd2hHcNqkQAJkAAJkAAJkAAJkABlnWOABEiABEiABEiABEiABBxKgLLu0I5htUiABEiABEiABEiABEiAss4xQAIkQAIkQAIkQAIkQAIOJUBZd2jHsFokQAIkQAIkQAIkQAIkQFnnGCABEiABEiABEiABEiABhxKgrDu0Y1gtEiABEiABEiABEiABEqCscwyQAAmQAAmQAAmQAAmQgEMJUNYd2jGsFgmQAAmQAAmQAAmQAAlQ1jkGSIAESIAESIAESIAESMChBCjrDu0YVosESIAESIAESIAESIAEKOscAyRAAiRAAiRAAiRAAiTgUAKUdYd2DKtFAiRAAiRAAiRAAiRAApR1jgESIAESIAESIAESIAEScCgByrpDO4bVIgESIAESIAESIAESIAHKOscACZAACZAACZAACZAACTiUAGXdoR3DapEACZAACZAACZAACZAAZZ1jgARIgARIgARIgARIgAQcSoCy7tCOYbVIgARIgARIgARIgARIgLLOMUACJEAC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ARIwSoCybpQc85EACZAACZAACZAACZCAZAKUdcmAGZ4ESIAESIAESIAESIAEjBKgrBslx3wkQAIkQAIkQAIkQAIkIJkAZV0yYIYnARIgARIgARIgARIgAaMEKOtGyTEfCZAACZAACZAACZAACUgmQFmXDJjhSYAESIAESIAESIAESMAoAcq6UXLMRwIkQAIkQAIkQAIkQAKSCVDWJQNmeBIgARIgARIgARIgARIwSoCybpQc85EACZAACZAACZAACZCAZAKUdcmAGZ4ESIAESIAESIAESIAEjBKgrBslx3wkQAIkQAIkQAIkQAIkIJkAZV0yYIYnARIgARIgARIgARIgAaMEKOtGyTEfCZAACZAACZAACZAACUgmQFmXDJjhSYAESIAESIAESIAESMAoAcq6UXLMRwIkQAIkQAIkQAIkQAKSCVDWJQNmeBIgARIgARIgARIgARIwSoCybpQc85EACZAACZAACZAACZCAZAKUdcmAGZ4ESIAESIAESIAESIAEjBKgrBslx3wkQAIkQAIkQAIkQAIkIJkAZV0yYIYnARIgARIgARIgARIgAaMEKOtGyTEfCZAACZAACZAACZAACUgmQFmXDJjhSYAESIAESIAESIAESMAoAcq6UXLMRwIkQAIkQAIkQAIkQAKSCVDWJQNmeBIgARIgARIgARIgARIwSoCybpQc85EACZAACZAACZAACZCAZAKUdcmAGZ4ESIAESIAESIAESIAEjBKgrBslx3wkQAIkQAIkQAIkQAIkIJkAZV0yYIYnARIgARIgARIgARIgAaMEKOtGyTEfCZAACZAACZAACZAACUgmQFmXDJjhSYAESIAESIAESIAESMAoAcq6UXLMRwIkQAIkQAIkQAIkQAKSCVDWJQNmeBIgARIgARIgARIgARIwSoCybpQc85EACZAACZAACZAACZCAZAKUdcmAGZ4ESIAESIAESIAESIAEjBKgrBslx3wkQAIkQAIkQAIkQAIkIJkAZV0yYIYnARIgARIgARIgARIgAaMEKOtGyTEfCZAACZAACZAACZAACUgmQFmXDJjhSYAESIAESIAESIAESMAoAcq6UXKafLsqmyyIwhAkYIyAywWU9srB7iqOQ2MEmcsqAoV5WWht60BjS4dVIRmHBOImkOFxoSg/G+U1zXHnZQZ9BPoX5+hLyFSWEKCsW4CRsm4B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ARIgARIgARJwKAHKukM7htUiARIgARIgARIgARIgAco6xwAJkAAJkAAJkAAJkAAJOJQAZd2hHcNqkQAJkAAJkAAJkAAJkABlnWOABEiABEiABEiABEiABBxKgLLu0I5htUiABEiABEiABEiABEiAss4xQAIkQAIkQAIkQAIkQAIOJUBZd2jHsFokQAIkQAIkQAIkQAIkQFnnGCABEiABEiABEiABEiABhxKgrDu0Y1gtEiABEiABEiABEiABEqCscwyQAAmQAAmQAAmQAAmQgEMJUNYd2jGsFgmQAAmQAAmQAAmQAAlQ1jkGSIAESIAESIAESIAESMChBCjrDu0YVosESIAESIAESIAESIAEKOscAyRAAiRAAiRAAiRAAiTgUAKUdYd2DKtFAiRAAiRAAiRAAiRAApR1jgESIAESIAESIAESIAEScCgByrpDO4bVIgESIAESIAESIAESIAHKOscACZAACZAACZAACZAACTiUAGXdoR3DapEACZAACZAACZAACZAAZZ1jgARIgARIgARIgARIgAQcSoCy7tCOYbVIgARIgARIgARIgARIgLLOMUACJEACJEACJEACJEACDiVAWXdox7BaJEACJEACJEACJEACJEBZ5xggARIgARIgARIgARIgAYcSoKw7tGNYLRIgARIgARIgARIgARKgrHMMkAAJkAAJkAAJkAAJkIBDCVDWHdoxrBYJkAAJkAAJkAAJkAAJUNY5BkiABEiABEiABEiABEjAoQQo6w7tGFaLBEiABEiABEiABEiABCjrHAMkQAIkQAIk8P/brWMaAAAAhGH+Xc/GjjoghQMCBAgQmAo469NixCJAgAABAgQIECDgrNsAAQIECBAgQIAAgalAOhOTa1MRvPAAAAAASUVORK5CYII=",
"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",
" Initial state | \n",
"
\n",
" \n",
" | 1 | \n",
" 0.000250 | \n",
" 4.000000 | \n",
" 98.000000 | \n",
" 1.000000 | \n",
" | \n",
"
\n",
" \n",
" | 2 | \n",
" 0.000500 | \n",
" 3.216500 | \n",
" 96.433000 | \n",
" 1.783500 | \n",
" | \n",
"
\n",
" \n",
" | 3 | \n",
" 0.000625 | \n",
" 2.906769 | \n",
" 95.813538 | \n",
" 2.093231 | \n",
" | \n",
"
\n",
" \n",
" | 4 | \n",
" 0.000800 | \n",
" 2.517591 | \n",
" 95.035182 | \n",
" 2.482409 | \n",
" | \n",
"
\n",
" \n",
" | ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" | 112 | \n",
" 0.124564 | \n",
" 1.876146 | \n",
" 4.259985 | \n",
" 47.870007 | \n",
" | \n",
"
\n",
" \n",
" | 113 | \n",
" 0.131943 | \n",
" 2.110805 | \n",
" 4.729304 | \n",
" 47.635348 | \n",
" | \n",
"
\n",
" \n",
" | 114 | \n",
" 0.142274 | \n",
" 2.269994 | \n",
" 5.047682 | \n",
" 47.476159 | \n",
" | \n",
"
\n",
" \n",
" | 115 | \n",
" 0.156737 | \n",
" 2.317528 | \n",
" 5.142749 | \n",
" 47.428625 | \n",
" | \n",
"
\n",
" \n",
" | 116 | \n",
" 0.176984 | \n",
" 2.307597 | \n",
" 5.122887 | \n",
" 47.438557 | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
117 rows × 5 columns
\n",
"
"
],
"text/plain": [
" SYSTEM TIME A B Y caption\n",
"0 0.000000 5.000000 100.000000 0.000000 Initial state\n",
"1 0.000250 4.000000 98.000000 1.000000 \n",
"2 0.000500 3.216500 96.433000 1.783500 \n",
"3 0.000625 2.906769 95.813538 2.093231 \n",
"4 0.000800 2.517591 95.035182 2.482409 \n",
".. ... ... ... ... ...\n",
"112 0.124564 1.876146 4.259985 47.870007 \n",
"113 0.131943 2.110805 4.729304 47.635348 \n",
"114 0.142274 2.269994 5.047682 47.476159 \n",
"115 0.156737 2.317528 5.142749 47.428625 \n",
"116 0.176984 2.307597 5.122887 47.438557 \n",
"\n",
"[117 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.308 ; [B] = 5.123 ; [Y] = 47.44\n",
"1. Ratio of reactant/product concentrations, adjusted for reaction orders: 4.01289\n",
" Formula used: [Y] / ([A][B])\n",
"2. Ratio of forward/reverse reaction rates: 4.0\n",
"Discrepancy between the two values: 0.3221 %\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
}