{ "cells": [ { "cell_type": "markdown", "id": "f102f8dc", "metadata": {}, "source": [ "## Carry out a few single indivual steps of diffusion, \n", "### and directly verify that the values satisfy the diffusion equation\n", "\n", "In this \"PART 1\", we'll be looking at a tiny system with just 10 bins, to easily inspect the numbers directly.\n", "We'll use concentrations initialized to an upward-shifted sine wave with 1 cycle over the length system\n", "\n", "LAST REVISED: June 23, 2024 (using v. 1.0 beta34.1)" ] }, { "cell_type": "code", "execution_count": 1, "id": "3926f0e9", "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": "bf6d4c37", "metadata": {}, "outputs": [], "source": [ "\n", "from life123 import BioSim1D\n", "from life123 import ChemData as chem\n", "from life123 import MovieArray\n", "from life123 import Numerical as num\n", "\n", "import numpy as np\n", "\n", "import plotly.express as px" ] }, { "cell_type": "code", "execution_count": 3, "id": "6207338f", "metadata": {}, "outputs": [], "source": [ "# We'll be considering just 1 chemical species, \"A\"\n", "diffusion_rate = 10.\n", "\n", "chem_data = chem(diffusion_rates=[diffusion_rate], names=[\"A\"])" ] }, { "cell_type": "code", "execution_count": 4, "id": "087caa8d", "metadata": {}, "outputs": [], "source": [ "# Initialize the system with just a few bins\n", "bio = BioSim1D(n_bins=10, chem_data=chem_data)" ] }, { "cell_type": "code", "execution_count": 5, "id": "3f40acb3", "metadata": {}, "outputs": [], "source": [ "# Initialize the concentrations to a sine wave with 1 cycle over the system\n", "# (with a bias to always keep it > 0)\n", "bio.inject_sine_conc(species_name=\"A\", frequency=1, amplitude=10, bias=50)" ] }, { "cell_type": "code", "execution_count": 6, "id": "919ddc99", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM SNAPSHOT at time 0:\n", " A\n", "0 50.000000\n", "1 55.877853\n", "2 59.510565\n", "3 59.510565\n", "4 55.877853\n", "5 50.000000\n", "6 44.122147\n", "7 40.489435\n", "8 40.489435\n", "9 44.122147\n" ] } ], "source": [ "bio.show_system_snapshot()" ] }, { "cell_type": "code", "execution_count": 7, "id": "43e30fba", "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
Bin number=%{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, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], "xaxis": "x", "y": [ 50, 55.877852522924734, 59.510565162951536, 59.510565162951536, 55.877852522924734, 50, 44.12214747707527, 40.489434837048464, 40.489434837048464, 44.122147477075266 ], "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": "Initial System State (for the tiny system)" }, "xaxis": { "anchor": "y", "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 9 ], "title": { "text": "Bin number" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "domain": [ 0, 1 ], "range": [ 39.43270537449829, 60.56729462550171 ], "title": { "text": "concentration" }, "type": "linear" } } }, "image/png": "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wu9m9MksCRAgQIAAAQIECBAgQIAAAQIECBAgQKALAeF3F1gOJUCAAAECBAgQIECAAAECBAgQIECAAIFmCAi/m9EnsyRAgAABAgQIECBAgAABAgQIECBAgACBLgSE311gOZQAAQIECBAgQIAAAQIECBAgQIAAAQIEmiEg/G5Gn8ySAAECBAgQIECAAAECBAgQIECAAAECBLoQEH53geVQAgQIECBAgAABAgQIECBAgAABAgQIEGiGgPC7GX0ySwIECBAgQIAAAQIECBAgQIAAAQIECBDoQkD43QWWQwkQIECAAAECBAgQIECAAAECBAgQIECgGQLC72b0ySwJECBAgAABAgQIECBAgAABAgQIECBAoAsB4XcXWA4lQIAAAQIECBAgsBkC377vR2n/oaPpi7fclM7dNr4ZT2FMAgQIECBAgAABAuEEhN/hWq5gAgQIECBAgEAzBF5+ZTp94cv3pO9+f/+KCb/x9Remu+78TLr80ourr+fg+N7v/DB9/Y5PpQvO396M4jpmKfxuZNtMmgABAgQIECBAoOYCwu+aN8j0CBAgQIAAAQJRBdrh9xtetyN9+uYblxi+ete96cADxxoddnf2VPgd9SpXNwECBAgQIECAwGYKCL83U9fYBAgQIECAAAECPQucLvzuvNO7Mzhu//8//6fvTR+/9a+r5++8W7xzUu3n2rf7qvTL40+nb3zrvuqQGz64b2kpkuf/8EI13mduvjFNXveu6t+Xn/fh69+f2sf8u3/9z9Lf/uf/lo488kR13F9+9qZ07buvSDd/9ivpN799tvraN79269I47Tlfc9Xl6fa/+U/Vv7/nystWBfz5uM/fec/S9NcaY3ndy/+950Y4kQABAgQIECBAgEBDBYTfDW2caRMgQIAAAQIEBl1grfB7ra+tFX7ngPjPPnL90h3j+W7xp5957rRrai9fYqUdGLeD7Bs/9IG0PNheT/ide9NehmXqgWPpo5+8Y0WYnb/2lbvuXTqmHWrnkDw/V350zrmzzseffKoK02+/7WNViN4eY3ndg36NqI8AAQIECBAgQIDAmQSE364PAgQIECBAgACBWgqcbs3vPNnlIfHp7vxevnlkZ9jcWXDnHdztf88BdH7kZVe6ufN7eUC+1nmdX1tr2ZMcbn/u9rvTl277WNrx2u3ptr+6O93yiT9ZWuu8HZC352fplFpexiZFgAABAgQIECCwhQLC7y3E99QECBAgQIAAAQKnFzjdsiedd2QPavi9PCDfccFrViyZslytfae38Nt3EwECBAgQIECAAIGVAsJvVwQBAgQIECBAgEAtBU4XfufJLg96v/eD/Wn/oaNLS5qsFQI38c7vzvC7fRf45ZdevGa/hN+1vIxNigABAgQIECBAYAsFhN9biO+pCRAgQIAAAQIETi9wpvB7+XrYgxp+dy570rnZZqec8Nt3EwECBAgQIECAAIGVAsJvVwQBAgQIECBAgEAtBU4Xfrc3evzEn/6LanPIfi17crrNNvPmmu01yNezvnfGPtua32s9Vw787/vB/emuOz+ztO53vqP9+FPPrOlQy6aaFAECBAgQIECAAIE+Cgi/+4jtqQgQIECAAAECBNYvcKYNL7/5tVvT5HXvqgbrV/i9PLQ+8sgT1XPf9uf/Jj109PG0b/dVVQC9kfA7h+jLH+21vJd/Lde6/Lg3vv7CpTDcnd/rv7YcSYAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQSEH6HardiCRAgQIAAAQIECBAgQIAAAQIECBAgEENA+B2jz6okQIAAAQIECBAgQIAAAQIECBAgQIBAKAHhd6h2K5YAAQIECBAgQIAAAQIECBAgQIAAAQIxBITfMfqsSgIECBAgQIAAAQIECBAgQIAAAQIECIQS+P8bF8cf1WnazgAAAABJRU5ErkJggg==", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = px.line(data_frame=bio.system_snapshot(), y=[\"A\"], \n", " title= \"Initial System State (for the tiny system)\",\n", " color_discrete_sequence = ['red'],\n", " labels={\"value\":\"concentration\", \"variable\":\"Chemical\", \"index\":\"Bin number\"})\n", "fig.show()" ] }, { "cell_type": "code", "execution_count": 8, "id": "cc542145", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "coloraxis": "coloraxis", "hovertemplate": "Bin number: %{x}
Chem. species: %{y}
Concentration: %{z}", "name": "0", "type": "heatmap", "x": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], "xaxis": "x", "xgap": 1, "y": [ "A" ], "yaxis": "y", "ygap": 1, "z": [ [ 50, 55.877852522924734, 59.510565162951536, 59.510565162951536, 55.877852522924734, 50, 44.12214747707527, 40.489434837048464, 40.489434837048464, 44.122147477075266 ] ] } ], "layout": { "autosize": true, "coloraxis": { "colorbar": { "title": { "text": "Concentration" } }, "colorscale": [ [ 0, "rgb(254, 254, 253)" ], [ 0.09090909090909091, "rgb(224, 224, 223)" ], [ 0.18181818181818182, "rgb(197, 197, 195)" ], [ 0.2727272727272727, "rgb(171, 171, 170)" ], [ 0.36363636363636365, "rgb(146, 146, 145)" ], [ 0.45454545454545453, "rgb(124, 123, 122)" ], [ 0.5454545454545454, "rgb(102, 101, 101)" ], [ 0.6363636363636364, "rgb(81, 80, 80)" ], [ 0.7272727272727273, "rgb(59, 59, 59)" ], [ 0.8181818181818182, "rgb(38, 38, 38)" ], [ 0.9090909090909091, "rgb(16, 16, 16)" ], [ 1, "rgb(0, 0, 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": "Initial System State (for the tiny system)" }, "xaxis": { "anchor": "y", "autorange": true, "constrain": "domain", "domain": [ 0, 1 ], "range": [ -0.5, 9.5 ], "scaleanchor": "y", "title": { "text": "Bin number" }, "type": "linear" }, "yaxis": { "anchor": "x", "autorange": true, "constrain": "domain", "domain": [ 0, 1 ], "range": [ 0.5, -0.5 ], "title": { "text": "Chem. species" }, "type": "category" } } }, "image/png": "iVBORw0KGgoAAAANSUhEUgAABb8AAAFoCAYAAAB38YZnAAAAAXNSR0IArs4c6QAAIABJREFUeF7t3Q/YbXVZJ/x1yiHOFCLiJXrKULBeMHG4cFAqRUZsrOOQDeYJYyYNhzkDNSYyh+FgZowJxAnwzQY6QxJNf6TjZM0Q1Exjof07SnjxiiE1QhIFSAqRvor25nmv9eB+3Gef/Tx7Pfvea63fvfbnua6u0zl73et3/z73fh7kexa/vWnfvn37Kl8ECBAgQIAAAQIECBAgQIAAAQIECBAgQGBAApuE3wOapq0QIECAAAECBAgQIECAAAECBAgQIECAwIqA8NsbgQABAgQIECBAgAABAgQIECBAgAABAgQGJyD8HtxIbYgAAQIECBAgQIAAAQIECBAgQIAAAQIEhN/eAwQIECBAgAABAgQIECBAgAABAgQIECAwOAHh9+BGakMECBAgQIAAAQIECBAgQIAAAQIECBAgIPz2HiBAgAABAgQIECBAgAABAgQIECBAgACBwQkIvwc3UhsiQIAAAQIECBAgQIAAAQIECBAgQIAAAeG39wABAgQIECBAgAABAgQIECBAgAABAgQIDE5A+D24kdoQAQIECBAgQIAAAQIECBAgQIAAAQIECAi/vQcIECBAgAABAgQIECBAgAABAgQIECBAYHACwu/BjdSGCBAgQIAAAQIECBAgQIAAAQIECBAgQED47T1AgAABAgQIECBAgAABAgQIECBAgAABAoMTEH4PbqQ2RIAAAQIECBAgQIAAAQIECBAgQIAAAQLCb+8BAgQIECBAgAABAgQIECBAgAABAgQIEBicgPB7cCO1IQIECBAgQIAAAQIECBAgQIAAAQIECBAQfnsPECBAgAABAgQIECBAgAABAgQIECBAgMDgBITfgxupDREgQIAAAQIECBAgQIAAAQIECBAgQICA8Nt7gAABAgQIECBAgAABAgQIECBAgAABAgQGJyD8HtxIbYgAAQIECBAgQIAAAQIECBAgQIAAAQIEhN/eAwQIECBAgAABAgQIECBAgAABAgQIECAwOAHh9+BGakMECBAgQIAAAQIECBAgQIAAAQIECBAgIPz2HiBAgAABAgQIECBAgAABAgQIECBAgACBwQkIvwc3UhsiQIAAAQIECBAgQIAAAQIECBAgQIAAAeG39wABAgQIECBAgAABAgQIECBA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/B7cSG2IAAECBAgQIECAAAECBAgQIECAAAECBITf3gMECBAgQIAAAQIECBAgQIAAAQIECBAgMDgB4ffgRmpDBAgQIECAAAECBAgQIECAAAECBAgQICD89h4gQIAAAQIECBAgQIAAAQIECBAgQIAAgcEJCL8HN1IbIkCAAAECBAgQIECAAAECBAgQIECAAAHht/cAAQIECBAgQIAAAQIECBAgQIAAAQIECAxOQPg9uJHaEAECBAgQIECAAAECBAgQIECAAAECBAgIv70HCBAgQIAAAQIECBAgQIAAAQIECBAgQGBwAsLvwY3UhggQIECAAAECBAgQIECAAAECBAgQIEBA+O09QIAAAQIECBAgQIAAAQIECBAgQIAAAQKDExB+D26kNkSAAAECBAgQIECAAAECBAgQIECAAAECwm/vAQIECBAgQIAAAQIECBAgQIAAAQIECBAYnIDwe3AjtSECBAgQIECAAAECBAgQIECAAAECBAgQEH57DxAgQIAAAQIECBAgQIAAAQIECBAgQIDA4ASE34MbqQ0RIECAAAECBAgQIECAAAECBAgQIECAgPDbe4AAAQIECBAgQIAAAQIECBAgQIAAAQIEBicg/B7cSG2IAAECBAgQIECAAAECBAgQIECAAAECBITf3gMECBAgQIAAAQIECBAgQIAAAQIECBAgMDgB4ffgRmpDBAgQIECAAAECBAgQIECAAAECBAgQICD89h4gQIAAAQIECBAgQIAAAQIECBAgQIAAgcEJCL8HN1IbIkCAAAECBAgQIECAAAECBAgQIECAAAHht/cAAQIECBAgQIAAAQIECBAgQIAAAQIECAxOQPg9uJHaEAECBAgQIECAAAECBAgQIECAAAECBAgIv70HCBAgQIAAAQIECBAgQIAAAQIECBAgQGBwAsLvwY3UhggQIECAAAECBAgQIECAAAECBAgQIEBA+O09QIAAAQIECBAgQIAAAQIECBAgQIAAAQKDExB+D26kNkSAAAECBAgQIECAAAECBAgQIECAAAECwm/vAQIECBAgQIAAAQIECBAgQIAAAQIECBAYnIDwe3AjtSECBAgQIECAAAECBAgQIECAAAECBAgQEH4H3wNvOu+84B2UZxH4Dz96SXXqi07I0q4+AwLv+4MPV1//lH8cuIPSTAJ//anPmXemgQV7reftZ3kQMVF5/fP8p37i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AgQIECBAgAABAgQIECDQqoDwu1VeNydAgAABAgQIECBAgAABAgQIECBAgACBPgSE332oW5MAAQIECBAgQIAAAQIECBAgQIAAAQIEWhUQfrfK6+YECBAgQIAAAQIECBAgQIAAAQIECBAg0IeA8LsPdWsSIECAAAECBAgQIECAAAECBAgQIECAQKsCwu9Wed2cAAECBAgQIECAAAECBAgQIECAAAECBPoQEH73oW5NAgQIECBAgAABAgQIECBAgAABAgQIEGhVQPjdKq+bEyBAgAABAgQIECBAgAABAgQIECBAgEAfAsLvPtStSYAAAQIECBAgQIAAAQIECBAgQIAAAQKtCgi/W+V1cwIECBAgQIAAAQIECBAgQIAAAQIECBDoQ0D43Ye6NQkQIECAAAECBAgQIECAAAECBAgQIECgVQHhd6u8bk6AAAECBAgQIECAAAECBAgQIECAAAECfQgIv/tQtyYBAgQIECBAgAABAgQIECBAgAABAgQItCog/G6V180JECBAgAABAgQIECBAgAABAgQIECBAoA8B4Xcf6tYkQIAAAQIECBAgQIAAAQIECBAgQIAAgVYFhN+t8ro5AQIECBAgQIAAAQIECBAgQIAAAQIECPQhIPzuQ92aBAgQIECAAAECqQTee/MHqr233VldvOOsavPBB6XqXbMECBAgQIAAAQIEllVA+L2sk7dvAgQIECBAgEBQ4POPfbF6667rqpvet3e/Oz39iMOr3ZefXx195JaVP6+D4z033lJdc9l51WGHHhJctZ9y4Xc/7lYlQIAAAQIECBAgEBEQfkf01BIgQIAAAQIEllhgFH4/7alPrt60fduqxJW791Qfuv2u1GH35FiF30v8Rrd1AgQIECBAgACBtALC77Sj0zgBAgQIECBAoF+BtcLvySe9J4Pj0e//xXd8a3XOhVetbGLyafHJnY3WOun5z6k+cd+D1bveffPKJa849aTVo0geefQzK/c7f/u26sTjj1l5fbzu9K0nV6NrfvD7vrP6+V/97eqOj92zct3bLjir+iff8uxq+wVXVA988tMrf3b9Oy5cvc+o5+c95+jq0nf+8srrxx171AEBf33dWy6/brX9afcY3/f46/1O0+oECBAgQIAAAQIEhicg/B7eTO2IAAECBAgQINCJwLTwe9qfTQu/64D49a/ZuvrEeP20+IMPPbzmmdrjR6yMAuNRkL3ttFOq8WC7SfhdA42OYbn19ruq173xsv3C7PrPrti9Z/WaUahdh+T1WvXXZM+T+7z73vtXwvRLd569EqKP7jG+704GZRECBAgQIECAAAECSyog/F7Swds2AQIECBAgQCAqsNaZ3/V9x0PitZ78Hv/wyMmwebK3ySe4R6/XAXT9VR+7spEnv8cD8ml1k3827diTOtx+86XXVm/feXb15CcdUu285Npqx7lnrJ51PgrIR/05OiX6jlNPgAABAgQIECBAYGMCwu+NebmaAAECBAgQIEDgywJrHXsy+UT2UMPv8YD8yYc9cb8jU8bfJKMnvYXfvnUIECBAgAABAgQIdCsg/O7W22oECBAgQIAAgcEIrBV+1xscD3p/63f3Vntvu3P1SJNpIXDGJ78nw+/RU+BHH7ll6oyF34N569sIAQIECBAgQIBAEgHhd5JBaZMAAQIECBAgUJrAeuH3+HnYQw2/J489mfywzcl5Cb9LewfrhwABAgQIECBAYOgCwu+hT9j+CBAgQIAAAQItCawVfo8+6PHc175y5cMhuzr2ZK0P26w/XHN0BnmT871rrllnfk9bqw78b/7dD1a7Lz9/9dzv+on2++5/aKpDS2NxWwIECBAgQIAAAQIEviwg/PZWIECAAAECBAgQmEtgvQ+8vP4dF1YnHn/Myn27Cr/HQ+s7PnbPyto7//2Z1UfuvLs66fnPWQmgI+F3HaKPf43O8h7/s3qv49c9/YjDV8NwT37P9TZTRIAAAQIECBAgQGBuAeH33HQKCRAgQIAAAQIECBAgQIAAAQIECBAgQKBUAeF3qZPRFwECBAgQIECAAAECBAgQIECAAAECBAjMLSD8nptOIQECBAgQIECAAAECBAgQIECAAAECBAiUKiD8LnUy+iJAgAABAgQIECBAgAABAgQIECBAgACBuQWE33PTKSRAgAABAgQIECBAgAABAgQIECBAgACBUgWE36VORl8ECBAgQIAAAQIECBAgQIAAAQIECBAgMLeA8HtuOoUECBAgQIAAAQIECBAgQIAAAQIECBAgUKqA8LvUyeiLAAECBAgQIECAAAECBAgQIECAAAECBOYWEH7PTaeQAAECBAgQIECAAAECBAgQIECAAAECBEoVEH6XOhl9ESBAgAABAgQIECBAgAABAgQIECBAgMDcAsLvuekUEiBAgAABAgQIECBAgAABAgQIECBAgECpAsLvUiejLwIECBAgQIAAAQIECBAgQIAAAQIECBCYW0D4PTedQgIECBAgQIAAAQIECBAgQIAAAQIECBAoVUD4Xepk9EWAAAECBAgQIECAAAECBAgQIECAAAECcwsIv+emU0iAAAECBAgQIECAAAECBAgQIECAAAECpQoIv0udjL4IECBAgAABAgQIECBAgAABAgQIECBAYG4B4ffcdAoJECBAgAABAgQIECBAgAABAgQIECBAoFQB4Xepk9EXAQIECBAgQIAAAQIECBAgQIAAAQIECMwtIPyem04hAQIECBAgQIAAAQIECBAgQIAAAQIECJQqIPwudTL6IkCAAAECBAgQIECAAAECBAgQIECAAIG5BYTfc9MpJECAAAECBAgQIECAAAECBAgQIECAAIFSBYTfpU5GXwQIECBAgAABAgQIECBAgAABAgQIECAwt4Dwe246hQQIECBAgAABAgQIECBAgAABAgQIECBQqoDwu9TJ6IsAAQIECBAgQIAAAQIECBAgQIAAAQIE5hYQfs9Np5AAAQIECBAgQIAAAQIECBAgQIAAAQIEShUQfpc6GX0RIECAAAECBAgQIECAAAECBAgQIECAwNwCwu+56RQSIECAAAECBAgQIECAAAECBAgQIECAQKkCwu9SJ6MvAgQIECBAgAABAgQIECBAgAABAgQIEJhbQPg9N51CAgQIECBAgAABAgQIECBAgAABAgQIEChVQPhd6mT0RYAAAQIECBAgQIAAAQIECBAgQIAAAQJzCwi/56ZTSIAAAQIECBAgQIAAAQIECBAgQIAAAQKlCgi/S52MvggQIECAAAECBAgQIECAAAECBAgQIEBgbgHh99x0CgkQIECAAAECBAgQIECAAAECBAgQIECgVAHhd6mT0RcBAgQIECBAgAABAgQIECBAgAABAgQIzC0g/J6bTiEBAgQIECBAgAABAgQIECBAgAABAgQIlCog/C51MvoiQIAAAQIECBAgQIAAAQIECBAgQIAAgbkFhN9z0ykkQIAAAQIECBAgQIAAAQIECBAgQIAAgVIFhN+lTkZfBAgQIECAAAECBAgQIECAAAECBAgQIDC3gPB7bjqFBAgQIECAAAECBAgQIECAAAECBAgQIFCqwP8PNPcppy8AW2wAAAAASUVORK5CYII=", "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show as heatmap\n", "fig = px.imshow(bio.system_snapshot().T, \n", " title= \"Initial System State (for the tiny system)\", \n", " labels=dict(x=\"Bin number\", y=\"Chem. species\", color=\"Concentration\"),\n", " text_auto=False, color_continuous_scale=\"gray_r\") \n", "\n", "fig.data[0].xgap=1\n", "fig.data[0].ygap=1\n", "\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "259c41dd", "metadata": {}, "source": [ "### Now do 4 rounds of single-step diffusion, to collect the system state at a total of 5 time points: \n", "#### t0 (the initial state), plus t1, t2, t3 and t4" ] }, { "cell_type": "code", "execution_count": 9, "id": "5051007a", "metadata": {}, "outputs": [], "source": [ "# All the system states will get collected in this object\n", "history = MovieArray()" ] }, { "cell_type": "code", "execution_count": 10, "id": "8ec78ba5", "metadata": {}, "outputs": [], "source": [ "# Store the initial state\n", "arr = bio.lookup_species(species_index=0, copy=True)\n", "history.store(par=bio.system_time, data_snapshot=arr, caption=f\"State at time {bio.system_time}\")" ] }, { "cell_type": "code", "execution_count": 11, "id": "7ed98602", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[50. , 55.87785252, 59.51056516, 59.51056516, 55.87785252,\n", " 50. , 44.12214748, 40.48943484, 40.48943484, 44.12214748]])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Take a look at what got stored so far (a matrix whose only row is the initial state)\n", "history.get_array()" ] }, { "cell_type": "code", "execution_count": 12, "id": "5b702362", "metadata": {}, "outputs": [], "source": [ "# Additional parameters of the simulation run (the diffusion rate got set earlier)\n", "delta_t = 0.01\n", "delta_x = 2 # Note that the number of bins also define the fraction of the sine wave cycle in each bin\n", "algorithm = None # \"Explicit, with 3+1 stencil\"" ] }, { "cell_type": "code", "execution_count": 13, "id": "b02af31b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SYSTEM STATE at Time t = 0.01:\n", "[[50.14694631 55.82172403 59.41974735 59.41974735 55.82172403 50.\n", " 44.17827597 40.58025265 40.58025265 44.03132966]]\n", "SYSTEM STATE at Time t = 0.02:\n", "[[50.28881576 55.76980517 59.32979676 59.32979676 55.76613151 50.\n", " 44.23386849 40.67020324 40.66652958 43.94505274]]\n", "SYSTEM STATE at Time t = 0.03:\n", "[[50.42584049 55.72178022 59.24079697 59.24070513 55.71106985 50.\n", " 44.28893015 40.75920303 40.7485845 43.86308966]]\n", "SYSTEM STATE at Time t = 0.04:\n", "[[50.55823898 55.67735715 59.15281926 59.15246655 55.65653399 50.\n", " 44.34346372 40.84718074 40.82671259 43.78522703]]\n" ] } ], "source": [ "# Do the 4 rounds of single-step diffusion; show the system state after each step, and accumulate all data\n", "# in the history object\n", "for _ in range(4):\n", " bio.diffuse(time_step=delta_t, n_steps=1, delta_x=delta_x , algorithm=algorithm)\n", " bio.describe_state(concise=True)\n", "\n", " arr = bio.lookup_species(species_index=0, copy=True)\n", " history.store(par=bio.system_time, data_snapshot=arr, caption=f\"State at time {bio.system_time}\")" ] }, { "cell_type": "code", "execution_count": 14, "id": "8a14efb3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[50. , 55.87785252, 59.51056516, 59.51056516, 55.87785252,\n", " 50. , 44.12214748, 40.48943484, 40.48943484, 44.12214748],\n", " [50.14694631, 55.82172403, 59.41974735, 59.41974735, 55.82172403,\n", " 50. , 44.17827597, 40.58025265, 40.58025265, 44.03132966],\n", " [50.28881576, 55.76980517, 59.32979676, 59.32979676, 55.76613151,\n", " 50. , 44.23386849, 40.67020324, 40.66652958, 43.94505274],\n", " [50.42584049, 55.72178022, 59.24079697, 59.24070513, 55.71106985,\n", " 50. , 44.28893015, 40.75920303, 40.7485845 , 43.86308966],\n", " [50.55823898, 55.67735715, 59.15281926, 59.15246655, 55.65653399,\n", " 50. , 44.34346372, 40.84718074, 40.82671259, 43.78522703]])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Now, let's examine the data collected at the 5 time points\n", "all_history = history.get_array()\n", "all_history" ] }, { "cell_type": "markdown", "id": "cc72bb99", "metadata": {}, "source": [ "#### Each row in the above matrix is a state snapshot at a different time:\n", "first row is the initial state at time 0; the successive rows are at t1, t2, t3, t4" ] }, { "cell_type": "code", "execution_count": 15, "id": "8e767eb3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([50.28881576, 55.76980517, 59.32979676, 59.32979676, 55.76613151,\n", " 50. , 44.23386849, 40.67020324, 40.66652958, 43.94505274])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's consider the state, i.e. the concentration across the bins, at the midpoint in time (t2)\n", "f_at_t2 = all_history[2]\n", "f_at_t2" ] }, { "cell_type": "markdown", "id": "06ceebe4", "metadata": {}, "source": [ "If one compares the above state (at t2) with the initial state (the top row in the matrix), \n", "one can see, for example, that the leftmost bin's concentration is increasing (\"pulled up\" by its neighbor to the right):\n", "50. has now become 50.28881576\n", "\n", "The rightmost bin's concentration is decreasing (\"pulled down\" by its neighbor to the left):\n", "44.12214748 has now become 43.94505274" ] }, { "cell_type": "markdown", "id": "3a88a1ca", "metadata": {}, "source": [ "## The diffusion equation states that the partial derivative of the concentration values with respect to time must equal the (diffusion rate) times (the 2nd partial derivative with respect to space).\n", "Let's see if that is the case for the values at time t2! We are picking t2 because we need at least a value at the earlier time, and a value at the later time" ] }, { "cell_type": "markdown", "id": "09a0d7f8", "metadata": {}, "source": [ "## A. The 2nd partial derivative with respect to space" ] }, { "cell_type": "code", "execution_count": 16, "id": "1d06fc6a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 2.74049471, 2.26024525, 0.8899979 , -0.89091631, -2.33244919,\n", " -2.88306575, -2.33244919, -0.89183473, 0.81871237, 1.63926158])" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# A simple-minded way of computing the 2nd spacial derivative is to use the Numpy gradient function TWICE across the x value\n", "# (that function approximates the derivative using differences)\n", "gradient_x_at_t2 = np.gradient(f_at_t2, delta_x) # Start with taking the first derivative\n", "gradient_x_at_t2 # This will be the partial derivative of the concentration with respect to x, at time t2" ] }, { "cell_type": "markdown", "id": "b7ebf78e", "metadata": {}, "source": [ "For example, the 2nd entry in the above array of estimated derivatives, can be manually checked from the 1st and 3rd value in the function f_at_t2(x), as follows:" ] }, { "cell_type": "code", "execution_count": 17, "id": "cde2fff9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.2602452500000005" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(59.32979676 - 50.28881576) / (2*delta_x) # This way of numerically estimating derivatives is called \"Central Differences\"" ] }, { "cell_type": "markdown", "id": "5b79c68f", "metadata": {}, "source": [ "#### Now take the derivative again, with the Numpy gradient function, to arrive at a coarse estimate of the 2nd derivative with respect to x:" ] }, { "cell_type": "code", "execution_count": 18, "id": "980650d1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-0.24012473, -0.4626242 , -0.78779039, -0.80561177, -0.49803736,\n", " 0. , 0.49780776, 0.78779039, 0.63277408, 0.4102746 ])" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "second_gradient_x_at_t2 = np.gradient(gradient_x_at_t2, delta_x)\n", "second_gradient_x_at_t2" ] }, { "cell_type": "markdown", "id": "be13f82c", "metadata": {}, "source": [ "Note how the 2nd derivative is 0 at bin 5 (bins are numbered 0 thru 9): if you look at the earlier sine plot, x5 is the inflection point." ] }, { "cell_type": "markdown", "id": "58d3cd8e", "metadata": {}, "source": [ "### B. The partial derivative with respect to time\n", "Now, let's look at how concentrations change with time. Let's first revisit the full history:" ] }, { "cell_type": "code", "execution_count": 19, "id": "86a5c102", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[50. , 55.87785252, 59.51056516, 59.51056516, 55.87785252,\n", " 50. , 44.12214748, 40.48943484, 40.48943484, 44.12214748],\n", " [50.14694631, 55.82172403, 59.41974735, 59.41974735, 55.82172403,\n", " 50. , 44.17827597, 40.58025265, 40.58025265, 44.03132966],\n", " [50.28881576, 55.76980517, 59.32979676, 59.32979676, 55.76613151,\n", " 50. , 44.23386849, 40.67020324, 40.66652958, 43.94505274],\n", " [50.42584049, 55.72178022, 59.24079697, 59.24070513, 55.71106985,\n", " 50. , 44.28893015, 40.75920303, 40.7485845 , 43.86308966],\n", " [50.55823898, 55.67735715, 59.15281926, 59.15246655, 55.65653399,\n", " 50. , 44.34346372, 40.84718074, 40.82671259, 43.78522703]])" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_history" ] }, { "cell_type": "markdown", "id": "cace8215", "metadata": {}, "source": [ "#### For simplicity, let's start by just inspecting how the values change over time at the *3rd bin* from the left, \n", "i.e. the 3rd *column* (index 2 because counting starts at 0) of the above matrix:" ] }, { "cell_type": "code", "execution_count": 20, "id": "f1dc7ce4", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([59.51056516, 59.41974735, 59.32979676, 59.24079697, 59.15281926])" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f_of_t_at_x2 = all_history[ : , 2] # The column with index 2\n", "f_of_t_at_x2" ] }, { "cell_type": "markdown", "id": "2f372d89", "metadata": {}, "source": [ "### The above a function of time \n", "(we took an entry from each row - the rows being the system states at t0, t1, t2, t3, t4); let's look at its time derivative:" ] }, { "cell_type": "code", "execution_count": 21, "id": "21654172", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-9.0817816 , -9.03841995, -8.94751865, -8.84887524, -8.79777149])" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gradient_t_at_x2 = np.gradient(f_of_t_at_x2, delta_t)\n", "gradient_t_at_x2" ] }, { "cell_type": "markdown", "id": "8fe73fb8", "metadata": {}, "source": [ "### The above is the rate of change of the concentration, as the diffusion proceeds, at the position x2\n", "At time t2, the midpoint in the simulation, the value is:" ] }, { "cell_type": "code", "execution_count": 22, "id": "270aaafa", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-8.947518648702157" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gradient_t_at_x2[2]" ] }, { "cell_type": "markdown", "id": "3cf59301", "metadata": {}, "source": [ "### C. All said and done, we have collected the time derivative and the 2nd spacial derivative, at the point (x2, t2).\n", "Do those values satisfy the diffusion equation?? Does the time derivative indeed equal the (diffusion rate) x (the \n", "2nd spacial derivative)? Let's see:" ] }, { "cell_type": "code", "execution_count": 23, "id": "9b64a095", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-8.947518648702157" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gradient_t_at_x2[2]" ] }, { "cell_type": "code", "execution_count": 24, "id": "e19fc288", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-7.877903914825475" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diffusion_rate * second_gradient_x_at_t2[2]" ] }, { "cell_type": "markdown", "id": "24121c37", "metadata": {}, "source": [ "## D. The 2 value indeed roughly match - considering the coarseness of the large spacial grid, and the coarseness of estimating the derivatives numerically. \n", "We have evidence that the diffusion equation may indeed be satisfied by the values we obtained from our diffusion algorithm, in the proximity of the point (x2, t2)" ] }, { "cell_type": "markdown", "id": "86a00a96", "metadata": {}, "source": [ "### E. Finally, instead of just scrutining the match at the point x2, let's do that for all the points in space at time t2,\n", "WITH THE EXCEPTION of the outmost points (because the numeric estimation of the derivatives gets very crummy at the boundary).\n", " \n", "Let's first re-visit all the data once again:" ] }, { "cell_type": "code", "execution_count": 25, "id": "28225e05", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[50. , 55.87785252, 59.51056516, 59.51056516, 55.87785252,\n", " 50. , 44.12214748, 40.48943484, 40.48943484, 44.12214748],\n", " [50.14694631, 55.82172403, 59.41974735, 59.41974735, 55.82172403,\n", " 50. , 44.17827597, 40.58025265, 40.58025265, 44.03132966],\n", " [50.28881576, 55.76980517, 59.32979676, 59.32979676, 55.76613151,\n", " 50. , 44.23386849, 40.67020324, 40.66652958, 43.94505274],\n", " [50.42584049, 55.72178022, 59.24079697, 59.24070513, 55.71106985,\n", " 50. , 44.28893015, 40.75920303, 40.7485845 , 43.86308966],\n", " [50.55823898, 55.67735715, 59.15281926, 59.15246655, 55.65653399,\n", " 50. , 44.34346372, 40.84718074, 40.82671259, 43.78522703]])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "all_history" ] }, { "cell_type": "code", "execution_count": 26, "id": "380f8bf6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[14.69463131, -5.61284971, -9.0817816 , -9.0817816 , -5.61284971,\n", " 0. , 5.61284971, 9.0817816 , 9.0817816 , -9.0817816 ],\n", " [14.44078779, -5.40236784, -9.03841995, -9.03841995, -5.58605073,\n", " 0. , 5.58605073, 9.03841995, 8.85473706, -8.85473706],\n", " [13.9447089 , -4.99719025, -8.94751865, -8.95211072, -5.5327087 ,\n", " 0. , 5.5327087 , 8.94751865, 8.41659228, -8.41200021],\n", " [13.47116142, -4.62240099, -8.84887524, -8.86651087, -5.47987603,\n", " 0. , 5.47976123, 8.84887524, 8.00915063, -7.99128539],\n", " [13.23984932, -4.44230744, -8.79777149, -8.8238586 , -5.45358643,\n", " 0. , 5.45335682, 8.79777149, 7.81280921, -7.7862629 ]])" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The following is just an expanded version of what we did before for the time derivative; \n", "# instead of just considering 1 column,\n", "# like we did before, we're now repeating the computations along all columns\n", "# (the computations are applied vertically, \"along axis 0\" in Numpy-speak)\n", "gradient_t = np.apply_along_axis(np.gradient, 0, all_history, delta_t)\n", "gradient_t" ] }, { "cell_type": "code", "execution_count": 27, "id": "3278805e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([13.9447089 , -4.99719025, -8.94751865, -8.95211072, -5.5327087 ,\n", " 0. , 5.5327087 , 8.94751865, 8.41659228, -8.41200021])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Again, we focus on time t2 (the 3rd row), to stay away from the edges\n", "gradient_t_at_t2 = gradient_t[2]\n", "gradient_t_at_t2" ] }, { "cell_type": "markdown", "id": "d03cb73c", "metadata": {}, "source": [ "Note the value -8.94751865, 3rd from left : that's the single value we looked at before (at point x2)" ] }, { "cell_type": "markdown", "id": "9bba1933", "metadata": {}, "source": [ "#### Time to again check the match of the two sides of the diffusion equation" ] }, { "cell_type": "code", "execution_count": 28, "id": "d1bde2cd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([13.9447089 , -4.99719025, -8.94751865, -8.95211072, -5.5327087 ,\n", " 0. , 5.5327087 , 8.94751865, 8.41659228, -8.41200021])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lhs = gradient_t_at_t2 # The LEFT-hand side of the diffusion equation, as a vector for all the spacial points at time t2\n", "lhs" ] }, { "cell_type": "code", "execution_count": 29, "id": "1daa4abd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-2.40124727, -4.62624201, -7.87790391, -8.05611773, -4.9803736 ,\n", " 0. , 4.97807756, 7.87790391, 6.32774077, 4.10274602])" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rhs = diffusion_rate * second_gradient_x_at_t2 # The RIGHT-hand side of the diffusion equation, again as a vector\n", "rhs" ] }, { "cell_type": "markdown", "id": "b0df453b", "metadata": {}, "source": [ "## The left-hand side and the right-hand side of the diffusion equation appear to generally agree, except at the boundary points, where our approximations are just too crummy" ] }, { "cell_type": "code", "execution_count": 30, "id": "aa858793", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 16.34595617, -0.37094824, -1.06961473, -0.89599299,\n", " -0.5523351 , 0. , 0.55463113, 1.06961473,\n", " 2.08885151, -12.51474623])" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lhs - rhs" ] }, { "cell_type": "code", "execution_count": 31, "id": "0649f714", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.8643581811669576" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Here we use a handy function to compare two equal-sized vectors,\n", "# while opting to disregarding a specified number of entries at each edge.\n", "# It returns the Euclidean distance (\"L2 norm\") of the shortened vectors\n", "num.compare_vectors(lhs, rhs, trim_edges=1)" ] }, { "cell_type": "markdown", "id": "3878d34e", "metadata": {}, "source": [ "#### IMPORTANT: all values in this experiment are VERY coarse, because of the large effective delta_x (the tiny number of bins.)\n", "In part2 (notebook \"validate_diffusion_2\"), much-better approximations will get looked at!" ] }, { "cell_type": "code", "execution_count": null, "id": "366a712b", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }