From ce86f1ddf190f61bb2a94fcbeb01cac64477b78e Mon Sep 17 00:00:00 2001 From: adamchengtkc Date: Sun, 5 Nov 2023 18:36:40 +0000 Subject: [PATCH] deploy: 6dc397d3f03b11dea7fb497307f33de76b1d6884 --- notebooks/Build_within_Python.html | 12 +- notebooks/Build_within_Python.ipynb | 408 ++++++++++++++-------------- searchindex.js | 2 +- 3 files changed, 211 insertions(+), 211 deletions(-) diff --git a/notebooks/Build_within_Python.html b/notebooks/Build_within_Python.html index c5382f9..62914a9 100644 --- a/notebooks/Build_within_Python.html +++ b/notebooks/Build_within_Python.html @@ -131,7 +131,7 @@

Build 1D model
-/tmp/ipykernel_2149/1143012394.py:13: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
+/tmp/ipykernel_2072/1143012394.py:13: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
   node_template = pd.concat([node_template, new], ignore_index=True)
 
@@ -336,8 +336,8 @@

Build 1D model
-CPU times: user 617 ms, sys: 267 ms, total: 883 ms
-Wall time: 552 ms
+CPU times: user 672 ms, sys: 46.9 ms, total: 719 ms
+Wall time: 613 ms
 
-
+
[13]:
@@ -470,7 +470,7 @@ 

Build 1D model -{"state": {"1d57fbb65e8b47bd91eb1ae18226190b": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "852c3e1a1f2b46b0ab5facdf34d26345": {"model_name": "SliderStyleModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "SliderStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "description_width": "", "handle_color": null}}, "3a8805535ad54666b8e456f775700b29": {"model_name": "IntSliderModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "IntSliderModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "IntSliderView", "behavior": "drag-tap", "continuous_update": true, "description": "age", "description_allow_html": false, "disabled": false, "layout": "IPY_MODEL_1d57fbb65e8b47bd91eb1ae18226190b", "max": 160, "min": 0, "orientation": "horizontal", "readout": true, "readout_format": "d", "step": 1, "style": "IPY_MODEL_852c3e1a1f2b46b0ab5facdf34d26345", "tabbable": null, "tooltip": null, "value": 0}}, "1e24ecc36d2e470eb1232bccf2f9e3f7": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "8960dcf3e9754ff1a71dc965d0eccc3e": {"model_name": "VBoxModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": ["widget-interact"], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "VBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "VBoxView", "box_style": "", "children": ["IPY_MODEL_3a8805535ad54666b8e456f775700b29", "IPY_MODEL_5d05b854a3e6467ab5088ec21d4cae1b"], "layout": "IPY_MODEL_1e24ecc36d2e470eb1232bccf2f9e3f7", "tabbable": null, "tooltip": null}}, "f6561ad6e33c4089bd3e687e35c284bd": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "5d05b854a3e6467ab5088ec21d4cae1b": {"model_name": "OutputModel", "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_f6561ad6e33c4089bd3e687e35c284bd", "msg_id": "", "outputs": [{"output_type": "display_data", "metadata": {}, "data": {"text/plain": "
", "image/png": "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"}}], "tabbable": null, "tooltip": null}}, "1a580141ce0c46f5a63b88833d66f575": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "3500212c2f0d4cdcb753c7beac71c310": {"model_name": "SliderStyleModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "SliderStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "description_width": "", "handle_color": null}}, "0b10e79a69bd4684a3f472f5b76f53fb": {"model_name": "IntSliderModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "IntSliderModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "IntSliderView", "behavior": "drag-tap", "continuous_update": true, "description": "age", "description_allow_html": false, "disabled": false, "layout": "IPY_MODEL_1a580141ce0c46f5a63b88833d66f575", "max": 160, "min": 0, "orientation": "horizontal", "readout": true, "readout_format": "d", "step": 1, "style": "IPY_MODEL_3500212c2f0d4cdcb753c7beac71c310", "tabbable": null, "tooltip": null, "value": 0}}, "9072f71b1a824904a7b652988f60c3c3": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "7392955a28c74a8ca7cfd8f34c02abe5": {"model_name": "VBoxModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": ["widget-interact"], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "VBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "VBoxView", "box_style": "", "children": ["IPY_MODEL_0b10e79a69bd4684a3f472f5b76f53fb", "IPY_MODEL_8f9636d17fd5406199643a35677acfd3"], "layout": "IPY_MODEL_9072f71b1a824904a7b652988f60c3c3", "tabbable": null, "tooltip": null}}, "2dfca8e21a504a91bfaf9da68d0c474f": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "8f9636d17fd5406199643a35677acfd3": {"model_name": "OutputModel", "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2dfca8e21a504a91bfaf9da68d0c474f", "msg_id": "", "outputs": [{"output_type": "error", "ename": "ValueError", "evalue": "x and y must have same first dimension, but have shapes (342,) and (341,)", "traceback": ["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/ipywidgets/widgets/interaction.py:240\u001b[0m, in \u001b[0;36minteractive.update\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m 238\u001b[0m value \u001b[38;5;241m=\u001b[39m widget\u001b[38;5;241m.\u001b[39mget_interact_value()\n\u001b[1;32m 239\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwargs[widget\u001b[38;5;241m.\u001b[39m_kwarg] \u001b[38;5;241m=\u001b[39m value\n\u001b[0;32m--> 240\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 241\u001b[0m show_inline_matplotlib_plots()\n\u001b[1;32m 242\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauto_display \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", "Cell \u001b[0;32mIn[13], line 3\u001b[0m, in \u001b[0;36mplot_cell_properties\u001b[0;34m(age)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot_cell_properties\u001b[39m(age):\n\u001b[1;32m 2\u001b[0m t \u001b[38;5;241m=\u001b[39m node\u001b[38;5;241m.\u001b[39mresult\u001b[38;5;241m.\u001b[39meffective_conductivity(age)\n\u001b[0;32m----> 3\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mvalues\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m plt\u001b[38;5;241m.\u001b[39mgca()\u001b[38;5;241m.\u001b[39minvert_yaxis()\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mxlabel(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConductivity\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/pyplot.py:3578\u001b[0m, in \u001b[0;36mplot\u001b[0;34m(scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 3570\u001b[0m \u001b[38;5;129m@_copy_docstring_and_deprecators\u001b[39m(Axes\u001b[38;5;241m.\u001b[39mplot)\n\u001b[1;32m 3571\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot\u001b[39m(\n\u001b[1;32m 3572\u001b[0m \u001b[38;5;241m*\u001b[39margs: \u001b[38;5;28mfloat\u001b[39m \u001b[38;5;241m|\u001b[39m ArrayLike \u001b[38;5;241m|\u001b[39m \u001b[38;5;28mstr\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3576\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m 3577\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mlist\u001b[39m[Line2D]:\n\u001b[0;32m-> 3578\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mgca\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3579\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3580\u001b[0m \u001b[43m \u001b[49m\u001b[43mscalex\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscalex\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3581\u001b[0m \u001b[43m \u001b[49m\u001b[43mscaley\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscaley\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3582\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdata\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m}\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mis\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3583\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3584\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_axes.py:1721\u001b[0m, in \u001b[0;36mAxes.plot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1478\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1479\u001b[0m \u001b[38;5;124;03mPlot y versus x as lines and/or markers.\u001b[39;00m\n\u001b[1;32m 1480\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1718\u001b[0m \u001b[38;5;124;03m(``'green'``) or hex strings (``'#008000'``).\u001b[39;00m\n\u001b[1;32m 1719\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1720\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m cbook\u001b[38;5;241m.\u001b[39mnormalize_kwargs(kwargs, mlines\u001b[38;5;241m.\u001b[39mLine2D)\n\u001b[0;32m-> 1721\u001b[0m lines \u001b[38;5;241m=\u001b[39m [\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_lines(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, data\u001b[38;5;241m=\u001b[39mdata, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)]\n\u001b[1;32m 1722\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m lines:\n\u001b[1;32m 1723\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39madd_line(line)\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:303\u001b[0m, in \u001b[0;36m_process_plot_var_args.__call__\u001b[0;34m(self, axes, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 301\u001b[0m this \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 302\u001b[0m args \u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m1\u001b[39m:]\n\u001b[0;32m--> 303\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot_args\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 304\u001b[0m \u001b[43m \u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mthis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:499\u001b[0m, in \u001b[0;36m_process_plot_var_args._plot_args\u001b[0;34m(self, axes, tup, kwargs, return_kwargs, ambiguous_fmt_datakey)\u001b[0m\n\u001b[1;32m 496\u001b[0m axes\u001b[38;5;241m.\u001b[39myaxis\u001b[38;5;241m.\u001b[39mupdate_units(y)\n\u001b[1;32m 498\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m!=\u001b[39m y\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]:\n\u001b[0;32m--> 499\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y must have same first dimension, but \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 500\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhave shapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 501\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m y\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 502\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y can be no greater than 2D, but have \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 503\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mshapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n", "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (342,) and (341,)"]}], "tabbable": null, "tooltip": null}}}, "version_major": 2, "version_minor": 0} +{"state": {"6dce777fe72640f0bea41d7cc5b940b8": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "63f2f8ea638842c4b7abbd512efb04e0": {"model_name": "SliderStyleModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "SliderStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "description_width": "", "handle_color": null}}, "76aa13605586491980aa2bbb77b0732f": {"model_name": "IntSliderModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "IntSliderModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "IntSliderView", "behavior": "drag-tap", "continuous_update": true, "description": "age", "description_allow_html": false, "disabled": false, "layout": "IPY_MODEL_6dce777fe72640f0bea41d7cc5b940b8", "max": 160, "min": 0, "orientation": "horizontal", "readout": true, "readout_format": "d", "step": 1, "style": "IPY_MODEL_63f2f8ea638842c4b7abbd512efb04e0", "tabbable": null, "tooltip": null, "value": 0}}, "13f9c9bc45b54ddfa056a030f8c83ba3": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "ffefdbf9be0f4d8b83298f013df6c373": {"model_name": "VBoxModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": ["widget-interact"], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "VBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "VBoxView", "box_style": "", "children": ["IPY_MODEL_76aa13605586491980aa2bbb77b0732f", "IPY_MODEL_311aa4270e43497ab600c21ea16dcb9a"], "layout": "IPY_MODEL_13f9c9bc45b54ddfa056a030f8c83ba3", "tabbable": null, "tooltip": null}}, "c767341aa9e54abaad2709fc9886bb5b": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "311aa4270e43497ab600c21ea16dcb9a": {"model_name": "OutputModel", "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c767341aa9e54abaad2709fc9886bb5b", "msg_id": "", "outputs": [{"output_type": "display_data", "metadata": {}, "data": {"text/plain": "
", "image/png": "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"}}], "tabbable": null, "tooltip": null}}, "9f73ec8614e24faaba5fce5a0c2324fa": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "0d8396c8806d40459800c369c8ea2d2e": {"model_name": "SliderStyleModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "SliderStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "description_width": "", "handle_color": null}}, "81ff5a1ed27945719704edc4513aecab": {"model_name": "IntSliderModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "IntSliderModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "IntSliderView", "behavior": "drag-tap", "continuous_update": true, "description": "age", "description_allow_html": false, "disabled": false, "layout": "IPY_MODEL_9f73ec8614e24faaba5fce5a0c2324fa", "max": 160, "min": 0, "orientation": "horizontal", "readout": true, "readout_format": "d", "step": 1, "style": "IPY_MODEL_0d8396c8806d40459800c369c8ea2d2e", "tabbable": null, "tooltip": null, "value": 0}}, "47b0c753a23e4d1fa97560818db0c282": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "8e07e7f07fee4edc918f353f11e3c687": {"model_name": "VBoxModel", "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "state": {"_dom_classes": ["widget-interact"], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "VBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "VBoxView", "box_style": "", "children": ["IPY_MODEL_81ff5a1ed27945719704edc4513aecab", "IPY_MODEL_b32d2dc629174a5fa99e8e8082db13ed"], "layout": "IPY_MODEL_47b0c753a23e4d1fa97560818db0c282", "tabbable": null, "tooltip": null}}, "37918d0ccda04d0890cac407616a0b62": {"model_name": "LayoutModel", "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "state": {"_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null}}, "b32d2dc629174a5fa99e8e8082db13ed": {"model_name": "OutputModel", "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "state": {"_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_37918d0ccda04d0890cac407616a0b62", "msg_id": "", "outputs": [{"output_type": "error", "ename": "ValueError", "evalue": "x and y must have same first dimension, but have shapes (342,) and (341,)", "traceback": ["\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/ipywidgets/widgets/interaction.py:240\u001b[0m, in \u001b[0;36minteractive.update\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m 238\u001b[0m value \u001b[38;5;241m=\u001b[39m widget\u001b[38;5;241m.\u001b[39mget_interact_value()\n\u001b[1;32m 239\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwargs[widget\u001b[38;5;241m.\u001b[39m_kwarg] \u001b[38;5;241m=\u001b[39m value\n\u001b[0;32m--> 240\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 241\u001b[0m show_inline_matplotlib_plots()\n\u001b[1;32m 242\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauto_display \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", "Cell \u001b[0;32mIn[13], line 3\u001b[0m, in \u001b[0;36mplot_cell_properties\u001b[0;34m(age)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot_cell_properties\u001b[39m(age):\n\u001b[1;32m 2\u001b[0m t \u001b[38;5;241m=\u001b[39m node\u001b[38;5;241m.\u001b[39mresult\u001b[38;5;241m.\u001b[39meffective_conductivity(age)\n\u001b[0;32m----> 3\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mvalues\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m plt\u001b[38;5;241m.\u001b[39mgca()\u001b[38;5;241m.\u001b[39minvert_yaxis()\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mxlabel(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConductivity\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/pyplot.py:3578\u001b[0m, in \u001b[0;36mplot\u001b[0;34m(scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 3570\u001b[0m \u001b[38;5;129m@_copy_docstring_and_deprecators\u001b[39m(Axes\u001b[38;5;241m.\u001b[39mplot)\n\u001b[1;32m 3571\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot\u001b[39m(\n\u001b[1;32m 3572\u001b[0m \u001b[38;5;241m*\u001b[39margs: \u001b[38;5;28mfloat\u001b[39m \u001b[38;5;241m|\u001b[39m ArrayLike \u001b[38;5;241m|\u001b[39m \u001b[38;5;28mstr\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3576\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m 3577\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mlist\u001b[39m[Line2D]:\n\u001b[0;32m-> 3578\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mgca\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3579\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3580\u001b[0m \u001b[43m \u001b[49m\u001b[43mscalex\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscalex\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3581\u001b[0m \u001b[43m \u001b[49m\u001b[43mscaley\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscaley\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3582\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdata\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m}\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mis\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3583\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3584\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_axes.py:1721\u001b[0m, in \u001b[0;36mAxes.plot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1478\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1479\u001b[0m \u001b[38;5;124;03mPlot y versus x as lines and/or markers.\u001b[39;00m\n\u001b[1;32m 1480\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1718\u001b[0m \u001b[38;5;124;03m(``'green'``) or hex strings (``'#008000'``).\u001b[39;00m\n\u001b[1;32m 1719\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1720\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m cbook\u001b[38;5;241m.\u001b[39mnormalize_kwargs(kwargs, mlines\u001b[38;5;241m.\u001b[39mLine2D)\n\u001b[0;32m-> 1721\u001b[0m lines \u001b[38;5;241m=\u001b[39m [\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_lines(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, data\u001b[38;5;241m=\u001b[39mdata, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)]\n\u001b[1;32m 1722\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m lines:\n\u001b[1;32m 1723\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39madd_line(line)\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:303\u001b[0m, in \u001b[0;36m_process_plot_var_args.__call__\u001b[0;34m(self, axes, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 301\u001b[0m this \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 302\u001b[0m args \u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m1\u001b[39m:]\n\u001b[0;32m--> 303\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot_args\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 304\u001b[0m \u001b[43m \u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mthis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:499\u001b[0m, in \u001b[0;36m_process_plot_var_args._plot_args\u001b[0;34m(self, axes, tup, kwargs, return_kwargs, ambiguous_fmt_datakey)\u001b[0m\n\u001b[1;32m 496\u001b[0m axes\u001b[38;5;241m.\u001b[39myaxis\u001b[38;5;241m.\u001b[39mupdate_units(y)\n\u001b[1;32m 498\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m!=\u001b[39m y\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]:\n\u001b[0;32m--> 499\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y must have same first dimension, but \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 500\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhave shapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 501\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m y\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 502\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y can be no greater than 2D, but have \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 503\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mshapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n", "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (342,) and (341,)"]}], "tabbable": null, "tooltip": null}}}, "version_major": 2, "version_minor": 0} diff --git a/notebooks/Build_within_Python.ipynb b/notebooks/Build_within_Python.ipynb index 92906ae..d80dd08 100644 --- a/notebooks/Build_within_Python.ipynb +++ b/notebooks/Build_within_Python.ipynb @@ -12,10 +12,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:24.572655Z", - "iopub.status.busy": "2023-11-04T15:32:24.572466Z", - "iopub.status.idle": "2023-11-04T15:32:25.231371Z", - "shell.execute_reply": "2023-11-04T15:32:25.230801Z" + "iopub.execute_input": "2023-11-05T18:36:33.026597Z", + "iopub.status.busy": "2023-11-05T18:36:33.026171Z", + "iopub.status.idle": "2023-11-05T18:36:33.920549Z", + "shell.execute_reply": "2023-11-05T18:36:33.919846Z" }, "scrolled": true }, @@ -33,10 +33,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.234173Z", - "iopub.status.busy": "2023-11-04T15:32:25.233663Z", - "iopub.status.idle": "2023-11-04T15:32:25.236544Z", - "shell.execute_reply": "2023-11-04T15:32:25.236041Z" + "iopub.execute_input": "2023-11-05T18:36:33.924533Z", + "iopub.status.busy": "2023-11-05T18:36:33.923707Z", + "iopub.status.idle": "2023-11-05T18:36:33.928549Z", + "shell.execute_reply": "2023-11-05T18:36:33.927979Z" } }, "outputs": [], @@ -49,10 +49,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.238727Z", - "iopub.status.busy": "2023-11-04T15:32:25.238390Z", - "iopub.status.idle": "2023-11-04T15:32:25.249107Z", - "shell.execute_reply": "2023-11-04T15:32:25.248553Z" + "iopub.execute_input": "2023-11-05T18:36:33.931561Z", + "iopub.status.busy": "2023-11-05T18:36:33.931009Z", + "iopub.status.idle": "2023-11-05T18:36:33.944437Z", + "shell.execute_reply": "2023-11-05T18:36:33.943912Z" } }, "outputs": [ @@ -60,7 +60,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_2149/1143012394.py:13: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", + "/tmp/ipykernel_2072/1143012394.py:13: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n", " node_template = pd.concat([node_template, new], ignore_index=True)\n" ] } @@ -94,10 +94,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.272349Z", - "iopub.status.busy": "2023-11-04T15:32:25.272160Z", - "iopub.status.idle": "2023-11-04T15:32:25.294349Z", - "shell.execute_reply": "2023-11-04T15:32:25.293790Z" + "iopub.execute_input": "2023-11-05T18:36:33.978965Z", + "iopub.status.busy": "2023-11-05T18:36:33.978537Z", + "iopub.status.idle": "2023-11-05T18:36:34.010522Z", + "shell.execute_reply": "2023-11-05T18:36:34.009935Z" } }, "outputs": [ @@ -272,10 +272,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.296514Z", - "iopub.status.busy": "2023-11-04T15:32:25.296175Z", - "iopub.status.idle": "2023-11-04T15:32:25.299083Z", - "shell.execute_reply": "2023-11-04T15:32:25.298603Z" + "iopub.execute_input": "2023-11-05T18:36:34.014338Z", + "iopub.status.busy": "2023-11-05T18:36:34.013718Z", + "iopub.status.idle": "2023-11-05T18:36:34.018336Z", + "shell.execute_reply": "2023-11-05T18:36:34.017743Z" } }, "outputs": [], @@ -289,10 +289,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.301070Z", - "iopub.status.busy": "2023-11-04T15:32:25.300767Z", - "iopub.status.idle": "2023-11-04T15:32:25.303611Z", - "shell.execute_reply": "2023-11-04T15:32:25.303048Z" + "iopub.execute_input": "2023-11-05T18:36:34.021105Z", + "iopub.status.busy": "2023-11-05T18:36:34.020873Z", + "iopub.status.idle": "2023-11-05T18:36:34.025015Z", + "shell.execute_reply": "2023-11-05T18:36:34.024443Z" } }, "outputs": [], @@ -308,10 +308,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.305768Z", - "iopub.status.busy": "2023-11-04T15:32:25.305366Z", - "iopub.status.idle": "2023-11-04T15:32:25.307987Z", - "shell.execute_reply": "2023-11-04T15:32:25.307521Z" + "iopub.execute_input": "2023-11-05T18:36:34.027691Z", + "iopub.status.busy": "2023-11-05T18:36:34.027464Z", + "iopub.status.idle": "2023-11-05T18:36:34.031352Z", + "shell.execute_reply": "2023-11-05T18:36:34.030793Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.310053Z", - "iopub.status.busy": "2023-11-04T15:32:25.309753Z", - "iopub.status.idle": "2023-11-04T15:32:25.312554Z", - "shell.execute_reply": "2023-11-04T15:32:25.312062Z" + "iopub.execute_input": "2023-11-05T18:36:34.034185Z", + "iopub.status.busy": "2023-11-05T18:36:34.033684Z", + "iopub.status.idle": "2023-11-05T18:36:34.038232Z", + "shell.execute_reply": "2023-11-05T18:36:34.037668Z" } }, "outputs": [], @@ -341,10 +341,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.314842Z", - "iopub.status.busy": "2023-11-04T15:32:25.314448Z", - "iopub.status.idle": "2023-11-04T15:32:25.869853Z", - "shell.execute_reply": "2023-11-04T15:32:25.869256Z" + "iopub.execute_input": "2023-11-05T18:36:34.040927Z", + "iopub.status.busy": "2023-11-05T18:36:34.040512Z", + "iopub.status.idle": "2023-11-05T18:36:34.658645Z", + "shell.execute_reply": "2023-11-05T18:36:34.657860Z" } }, "outputs": [ @@ -352,8 +352,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 617 ms, sys: 267 ms, total: 883 ms\n", - "Wall time: 552 ms\n" + "CPU times: user 672 ms, sys: 46.9 ms, total: 719 ms\n", + "Wall time: 613 ms\n" ] } ], @@ -367,10 +367,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.871994Z", - "iopub.status.busy": "2023-11-04T15:32:25.871809Z", - "iopub.status.idle": "2023-11-04T15:32:25.876066Z", - "shell.execute_reply": "2023-11-04T15:32:25.875590Z" + "iopub.execute_input": "2023-11-05T18:36:34.662265Z", + "iopub.status.busy": "2023-11-05T18:36:34.661656Z", + "iopub.status.idle": "2023-11-05T18:36:34.666513Z", + "shell.execute_reply": "2023-11-05T18:36:34.665984Z" } }, "outputs": [ @@ -394,10 +394,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:25.878124Z", - "iopub.status.busy": "2023-11-04T15:32:25.877807Z", - "iopub.status.idle": "2023-11-04T15:32:26.166663Z", - "shell.execute_reply": "2023-11-04T15:32:26.166143Z" + "iopub.execute_input": "2023-11-05T18:36:34.669464Z", + "iopub.status.busy": "2023-11-05T18:36:34.668999Z", + "iopub.status.idle": "2023-11-05T18:36:34.985975Z", + "shell.execute_reply": "2023-11-05T18:36:34.985258Z" } }, "outputs": [ @@ -435,17 +435,17 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:26.169025Z", - "iopub.status.busy": "2023-11-04T15:32:26.168674Z", - "iopub.status.idle": "2023-11-04T15:32:26.366652Z", - "shell.execute_reply": "2023-11-04T15:32:26.366153Z" + "iopub.execute_input": "2023-11-05T18:36:34.989368Z", + "iopub.status.busy": "2023-11-05T18:36:34.988823Z", + "iopub.status.idle": "2023-11-05T18:36:35.213584Z", + "shell.execute_reply": "2023-11-05T18:36:35.212839Z" } }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8960dcf3e9754ff1a71dc965d0eccc3e", + "model_id": "ffefdbf9be0f4d8b83298f013df6c373", "version_major": 2, "version_minor": 0 }, @@ -488,10 +488,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2023-11-04T15:32:26.370365Z", - "iopub.status.busy": "2023-11-04T15:32:26.370194Z", - "iopub.status.idle": "2023-11-04T15:32:27.179400Z", - "shell.execute_reply": "2023-11-04T15:32:27.178855Z" + "iopub.execute_input": "2023-11-05T18:36:35.218285Z", + "iopub.status.busy": "2023-11-05T18:36:35.218053Z", + "iopub.status.idle": "2023-11-05T18:36:36.377848Z", + "shell.execute_reply": "2023-11-05T18:36:36.377253Z" } }, "outputs": [ @@ -508,7 +508,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7392955a28c74a8ca7cfd8f34c02abe5", + "model_id": "8e07e7f07fee4edc918f353f11e3c687", "version_major": 2, "version_minor": 0 }, @@ -581,38 +581,23 @@ "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { - "0b10e79a69bd4684a3f472f5b76f53fb": { + "0d8396c8806d40459800c369c8ea2d2e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", - "model_name": "IntSliderModel", + "model_name": "SliderStyleModel", "state": { - "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", - "_model_name": "IntSliderModel", + "_model_name": "SliderStyleModel", "_view_count": null, - "_view_module": "@jupyter-widgets/controls", + "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", - "_view_name": "IntSliderView", - "behavior": "drag-tap", - "continuous_update": true, - "description": "age", - "description_allow_html": false, - "disabled": false, - "layout": "IPY_MODEL_1a580141ce0c46f5a63b88833d66f575", - "max": 160, - "min": 0, - "orientation": "horizontal", - "readout": true, - "readout_format": "d", - "step": 1, - "style": "IPY_MODEL_3500212c2f0d4cdcb753c7beac71c310", - "tabbable": null, - "tooltip": null, - "value": 0 + "_view_name": "StyleView", + "description_width": "", + "handle_color": null } }, - "1a580141ce0c46f5a63b88833d66f575": { + "13f9c9bc45b54ddfa056a030f8c83ba3": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", @@ -665,7 +650,36 @@ "width": null } }, - "1d57fbb65e8b47bd91eb1ae18226190b": { + "311aa4270e43497ab600c21ea16dcb9a": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_c767341aa9e54abaad2709fc9886bb5b", + "msg_id": "", + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": "
" + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "tabbable": null, + "tooltip": null + } + }, + "37918d0ccda04d0890cac407616a0b62": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", @@ -718,7 +732,7 @@ "width": null } }, - "1e24ecc36d2e470eb1232bccf2f9e3f7": { + "47b0c753a23e4d1fa97560818db0c282": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", @@ -771,7 +785,23 @@ "width": null } }, - "2dfca8e21a504a91bfaf9da68d0c474f": { + "63f2f8ea638842c4b7abbd512efb04e0": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "SliderStyleModel", + "state": { + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "SliderStyleModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/base", + "_view_module_version": "2.0.0", + "_view_name": "StyleView", + "description_width": "", + "handle_color": null + } + }, + "6dce777fe72640f0bea41d7cc5b940b8": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", @@ -824,23 +854,7 @@ "width": null } }, - "3500212c2f0d4cdcb753c7beac71c310": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "SliderStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "SliderStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "description_width": "", - "handle_color": null - } - }, - "3a8805535ad54666b8e456f775700b29": { + "76aa13605586491980aa2bbb77b0732f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "IntSliderModel", @@ -858,90 +872,51 @@ "description": "age", "description_allow_html": false, "disabled": false, - "layout": "IPY_MODEL_1d57fbb65e8b47bd91eb1ae18226190b", + "layout": "IPY_MODEL_6dce777fe72640f0bea41d7cc5b940b8", "max": 160, "min": 0, "orientation": "horizontal", "readout": true, "readout_format": "d", "step": 1, - "style": "IPY_MODEL_852c3e1a1f2b46b0ab5facdf34d26345", + "style": "IPY_MODEL_63f2f8ea638842c4b7abbd512efb04e0", "tabbable": null, "tooltip": null, "value": 0 } }, - "5d05b854a3e6467ab5088ec21d4cae1b": { - "model_module": "@jupyter-widgets/output", - "model_module_version": "1.0.0", - "model_name": "OutputModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_f6561ad6e33c4089bd3e687e35c284bd", - "msg_id": "", - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": "
" - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "tabbable": null, - "tooltip": null - } - }, - "7392955a28c74a8ca7cfd8f34c02abe5": { + "81ff5a1ed27945719704edc4513aecab": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", - "model_name": "VBoxModel", + "model_name": "IntSliderModel", "state": { - "_dom_classes": [ - "widget-interact" - ], + "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", - "_model_name": "VBoxModel", + "_model_name": "IntSliderModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", - "_view_name": "VBoxView", - "box_style": "", - "children": [ - "IPY_MODEL_0b10e79a69bd4684a3f472f5b76f53fb", - "IPY_MODEL_8f9636d17fd5406199643a35677acfd3" - ], - "layout": "IPY_MODEL_9072f71b1a824904a7b652988f60c3c3", + "_view_name": "IntSliderView", + "behavior": "drag-tap", + "continuous_update": true, + "description": "age", + "description_allow_html": false, + "disabled": false, + "layout": "IPY_MODEL_9f73ec8614e24faaba5fce5a0c2324fa", + "max": 160, + "min": 0, + "orientation": "horizontal", + "readout": true, + "readout_format": "d", + "step": 1, + "style": "IPY_MODEL_0d8396c8806d40459800c369c8ea2d2e", "tabbable": null, - "tooltip": null - } - }, - "852c3e1a1f2b46b0ab5facdf34d26345": { - "model_module": "@jupyter-widgets/controls", - "model_module_version": "2.0.0", - "model_name": "SliderStyleModel", - "state": { - "_model_module": "@jupyter-widgets/controls", - "_model_module_version": "2.0.0", - "_model_name": "SliderStyleModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/base", - "_view_module_version": "2.0.0", - "_view_name": "StyleView", - "description_width": "", - "handle_color": null + "tooltip": null, + "value": 0 } }, - "8960dcf3e9754ff1a71dc965d0eccc3e": { + "8e07e7f07fee4edc918f353f11e3c687": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "VBoxModel", @@ -958,52 +933,15 @@ "_view_name": "VBoxView", "box_style": "", "children": [ - "IPY_MODEL_3a8805535ad54666b8e456f775700b29", - "IPY_MODEL_5d05b854a3e6467ab5088ec21d4cae1b" + "IPY_MODEL_81ff5a1ed27945719704edc4513aecab", + "IPY_MODEL_b32d2dc629174a5fa99e8e8082db13ed" ], - "layout": "IPY_MODEL_1e24ecc36d2e470eb1232bccf2f9e3f7", + "layout": "IPY_MODEL_47b0c753a23e4d1fa97560818db0c282", "tabbable": null, "tooltip": null } }, - "8f9636d17fd5406199643a35677acfd3": { - "model_module": "@jupyter-widgets/output", - "model_module_version": "1.0.0", - "model_name": "OutputModel", - "state": { - "_dom_classes": [], - "_model_module": "@jupyter-widgets/output", - "_model_module_version": "1.0.0", - "_model_name": "OutputModel", - "_view_count": null, - "_view_module": "@jupyter-widgets/output", - "_view_module_version": "1.0.0", - "_view_name": "OutputView", - "layout": "IPY_MODEL_2dfca8e21a504a91bfaf9da68d0c474f", - "msg_id": "", - "outputs": [ - { - "ename": "ValueError", - "evalue": "x and y must have same first dimension, but have shapes (342,) and (341,)", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/ipywidgets/widgets/interaction.py:240\u001b[0m, in \u001b[0;36minteractive.update\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m 238\u001b[0m value \u001b[38;5;241m=\u001b[39m widget\u001b[38;5;241m.\u001b[39mget_interact_value()\n\u001b[1;32m 239\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwargs[widget\u001b[38;5;241m.\u001b[39m_kwarg] \u001b[38;5;241m=\u001b[39m value\n\u001b[0;32m--> 240\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 241\u001b[0m show_inline_matplotlib_plots()\n\u001b[1;32m 242\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauto_display \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", - "Cell \u001b[0;32mIn[13], line 3\u001b[0m, in \u001b[0;36mplot_cell_properties\u001b[0;34m(age)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot_cell_properties\u001b[39m(age):\n\u001b[1;32m 2\u001b[0m t \u001b[38;5;241m=\u001b[39m node\u001b[38;5;241m.\u001b[39mresult\u001b[38;5;241m.\u001b[39meffective_conductivity(age)\n\u001b[0;32m----> 3\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mvalues\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m plt\u001b[38;5;241m.\u001b[39mgca()\u001b[38;5;241m.\u001b[39minvert_yaxis()\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mxlabel(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConductivity\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", - "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/pyplot.py:3578\u001b[0m, in \u001b[0;36mplot\u001b[0;34m(scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 3570\u001b[0m \u001b[38;5;129m@_copy_docstring_and_deprecators\u001b[39m(Axes\u001b[38;5;241m.\u001b[39mplot)\n\u001b[1;32m 3571\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot\u001b[39m(\n\u001b[1;32m 3572\u001b[0m \u001b[38;5;241m*\u001b[39margs: \u001b[38;5;28mfloat\u001b[39m \u001b[38;5;241m|\u001b[39m ArrayLike \u001b[38;5;241m|\u001b[39m \u001b[38;5;28mstr\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3576\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m 3577\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mlist\u001b[39m[Line2D]:\n\u001b[0;32m-> 3578\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mgca\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3579\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3580\u001b[0m \u001b[43m \u001b[49m\u001b[43mscalex\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscalex\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3581\u001b[0m \u001b[43m \u001b[49m\u001b[43mscaley\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscaley\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3582\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdata\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m}\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mis\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3583\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3584\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_axes.py:1721\u001b[0m, in \u001b[0;36mAxes.plot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1478\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1479\u001b[0m \u001b[38;5;124;03mPlot y versus x as lines and/or markers.\u001b[39;00m\n\u001b[1;32m 1480\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1718\u001b[0m \u001b[38;5;124;03m(``'green'``) or hex strings (``'#008000'``).\u001b[39;00m\n\u001b[1;32m 1719\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1720\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m cbook\u001b[38;5;241m.\u001b[39mnormalize_kwargs(kwargs, mlines\u001b[38;5;241m.\u001b[39mLine2D)\n\u001b[0;32m-> 1721\u001b[0m lines \u001b[38;5;241m=\u001b[39m [\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_lines(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, data\u001b[38;5;241m=\u001b[39mdata, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)]\n\u001b[1;32m 1722\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m lines:\n\u001b[1;32m 1723\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39madd_line(line)\n", - "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:303\u001b[0m, in \u001b[0;36m_process_plot_var_args.__call__\u001b[0;34m(self, axes, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 301\u001b[0m this \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 302\u001b[0m args \u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m1\u001b[39m:]\n\u001b[0;32m--> 303\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot_args\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 304\u001b[0m \u001b[43m \u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mthis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:499\u001b[0m, in \u001b[0;36m_process_plot_var_args._plot_args\u001b[0;34m(self, axes, tup, kwargs, return_kwargs, ambiguous_fmt_datakey)\u001b[0m\n\u001b[1;32m 496\u001b[0m axes\u001b[38;5;241m.\u001b[39myaxis\u001b[38;5;241m.\u001b[39mupdate_units(y)\n\u001b[1;32m 498\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m!=\u001b[39m y\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]:\n\u001b[0;32m--> 499\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y must have same first dimension, but \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 500\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhave shapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 501\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m y\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 502\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y can be no greater than 2D, but have \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 503\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mshapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n", - "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (342,) and (341,)" - ] - } - ], - "tabbable": null, - "tooltip": null - } - }, - "9072f71b1a824904a7b652988f60c3c3": { + "9f73ec8614e24faaba5fce5a0c2324fa": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", @@ -1056,7 +994,44 @@ "width": null } }, - "f6561ad6e33c4089bd3e687e35c284bd": { + "b32d2dc629174a5fa99e8e8082db13ed": { + "model_module": "@jupyter-widgets/output", + "model_module_version": "1.0.0", + "model_name": "OutputModel", + "state": { + "_dom_classes": [], + "_model_module": "@jupyter-widgets/output", + "_model_module_version": "1.0.0", + "_model_name": "OutputModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/output", + "_view_module_version": "1.0.0", + "_view_name": "OutputView", + "layout": "IPY_MODEL_37918d0ccda04d0890cac407616a0b62", + "msg_id": "", + "outputs": [ + { + "ename": "ValueError", + "evalue": "x and y must have same first dimension, but have shapes (342,) and (341,)", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/ipywidgets/widgets/interaction.py:240\u001b[0m, in \u001b[0;36minteractive.update\u001b[0;34m(self, *args)\u001b[0m\n\u001b[1;32m 238\u001b[0m value \u001b[38;5;241m=\u001b[39m widget\u001b[38;5;241m.\u001b[39mget_interact_value()\n\u001b[1;32m 239\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwargs[widget\u001b[38;5;241m.\u001b[39m_kwarg] \u001b[38;5;241m=\u001b[39m value\n\u001b[0;32m--> 240\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mf\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 241\u001b[0m show_inline_matplotlib_plots()\n\u001b[1;32m 242\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mauto_display \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mresult \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n", + "Cell \u001b[0;32mIn[13], line 3\u001b[0m, in \u001b[0;36mplot_cell_properties\u001b[0;34m(age)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot_cell_properties\u001b[39m(age):\n\u001b[1;32m 2\u001b[0m t \u001b[38;5;241m=\u001b[39m node\u001b[38;5;241m.\u001b[39mresult\u001b[38;5;241m.\u001b[39meffective_conductivity(age)\n\u001b[0;32m----> 3\u001b[0m \u001b[43mplt\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mvalues\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m(\u001b[49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m]\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43mt\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m[\u001b[49m\u001b[43m:\u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4\u001b[0m plt\u001b[38;5;241m.\u001b[39mgca()\u001b[38;5;241m.\u001b[39minvert_yaxis()\n\u001b[1;32m 5\u001b[0m plt\u001b[38;5;241m.\u001b[39mxlabel(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mConductivity\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/pyplot.py:3578\u001b[0m, in \u001b[0;36mplot\u001b[0;34m(scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 3570\u001b[0m \u001b[38;5;129m@_copy_docstring_and_deprecators\u001b[39m(Axes\u001b[38;5;241m.\u001b[39mplot)\n\u001b[1;32m 3571\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mplot\u001b[39m(\n\u001b[1;32m 3572\u001b[0m \u001b[38;5;241m*\u001b[39margs: \u001b[38;5;28mfloat\u001b[39m \u001b[38;5;241m|\u001b[39m ArrayLike \u001b[38;5;241m|\u001b[39m \u001b[38;5;28mstr\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 3576\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs,\n\u001b[1;32m 3577\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m \u001b[38;5;28mlist\u001b[39m[Line2D]:\n\u001b[0;32m-> 3578\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mgca\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 3579\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3580\u001b[0m \u001b[43m \u001b[49m\u001b[43mscalex\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscalex\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3581\u001b[0m \u001b[43m \u001b[49m\u001b[43mscaley\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mscaley\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3582\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdata\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m}\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mif\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mis\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;129;43;01mnot\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[38;5;28;43;01melse\u001b[39;49;00m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3583\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 3584\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_axes.py:1721\u001b[0m, in \u001b[0;36mAxes.plot\u001b[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1478\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1479\u001b[0m \u001b[38;5;124;03mPlot y versus x as lines and/or markers.\u001b[39;00m\n\u001b[1;32m 1480\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1718\u001b[0m \u001b[38;5;124;03m(``'green'``) or hex strings (``'#008000'``).\u001b[39;00m\n\u001b[1;32m 1719\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 1720\u001b[0m kwargs \u001b[38;5;241m=\u001b[39m cbook\u001b[38;5;241m.\u001b[39mnormalize_kwargs(kwargs, mlines\u001b[38;5;241m.\u001b[39mLine2D)\n\u001b[0;32m-> 1721\u001b[0m lines \u001b[38;5;241m=\u001b[39m [\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_lines(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, data\u001b[38;5;241m=\u001b[39mdata, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)]\n\u001b[1;32m 1722\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m line \u001b[38;5;129;01min\u001b[39;00m lines:\n\u001b[1;32m 1723\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39madd_line(line)\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:303\u001b[0m, in \u001b[0;36m_process_plot_var_args.__call__\u001b[0;34m(self, axes, data, *args, **kwargs)\u001b[0m\n\u001b[1;32m 301\u001b[0m this \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m0\u001b[39m],\n\u001b[1;32m 302\u001b[0m args \u001b[38;5;241m=\u001b[39m args[\u001b[38;5;241m1\u001b[39m:]\n\u001b[0;32m--> 303\u001b[0m \u001b[38;5;28;01myield from\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_plot_args\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 304\u001b[0m \u001b[43m \u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mthis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mambiguous_fmt_datakey\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/.cache/pypoetry/virtualenvs/warmth-atxSUjif-py3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py:499\u001b[0m, in \u001b[0;36m_process_plot_var_args._plot_args\u001b[0;34m(self, axes, tup, kwargs, return_kwargs, ambiguous_fmt_datakey)\u001b[0m\n\u001b[1;32m 496\u001b[0m axes\u001b[38;5;241m.\u001b[39myaxis\u001b[38;5;241m.\u001b[39mupdate_units(y)\n\u001b[1;32m 498\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m] \u001b[38;5;241m!=\u001b[39m y\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]:\n\u001b[0;32m--> 499\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y must have same first dimension, but \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 500\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhave shapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 501\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m x\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m \u001b[38;5;129;01mor\u001b[39;00m y\u001b[38;5;241m.\u001b[39mndim \u001b[38;5;241m>\u001b[39m \u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 502\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx and y can be no greater than 2D, but have \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 503\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mshapes \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mx\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m and \u001b[39m\u001b[38;5;132;01m{\u001b[39;00my\u001b[38;5;241m.\u001b[39mshape\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n", + "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (342,) and (341,)" + ] + } + ], + "tabbable": null, + "tooltip": null + } + }, + "c767341aa9e54abaad2709fc9886bb5b": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", @@ -1108,6 +1083,31 @@ "visibility": null, "width": null } + }, + "ffefdbf9be0f4d8b83298f013df6c373": { + "model_module": "@jupyter-widgets/controls", + "model_module_version": "2.0.0", + "model_name": "VBoxModel", + "state": { + "_dom_classes": [ + "widget-interact" + ], + "_model_module": "@jupyter-widgets/controls", + "_model_module_version": "2.0.0", + "_model_name": "VBoxModel", + "_view_count": null, + "_view_module": "@jupyter-widgets/controls", + "_view_module_version": "2.0.0", + "_view_name": "VBoxView", + "box_style": "", + "children": [ + "IPY_MODEL_76aa13605586491980aa2bbb77b0732f", + "IPY_MODEL_311aa4270e43497ab600c21ea16dcb9a" + ], + "layout": "IPY_MODEL_13f9c9bc45b54ddfa056a030f8c83ba3", + "tabbable": null, + "tooltip": null + } } }, "version_major": 2, diff --git a/searchindex.js b/searchindex.js index 4dbd62c..959f77d 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["apireference", "example", "index", "notebooks/Build_within_Python", "theory"], "filenames": ["apireference.rst", "example.rst", "index.rst", "notebooks/Build_within_Python.ipynb", "theory.md"], "titles": ["API Reference", "Example", "Welcome to warmth\u2019s documentation!", "Build 1D model", "Background theory"], "terms": {"class": [0, 4], "warmth": [0, 3, 4], "main": 0, "properti": [0, 4], "return": 0, "type": 0, "load": 0, "path": [0, 3], "str": 0, "overrid": 0, "current": [0, 4], "data": [0, 3, 4], "build": [0, 1, 2, 4], "single_nod": [0, 3], "1d": [0, 1, 2], "locat": 0, "hc": 0, "initi": 0, "crustal": [0, 4], "thick": [0, 3, 4], "m": [0, 3], "float": 0, "hlith": 0, "depth": [0, 3], "base": [0, 3, 4], "lithospher": [0, 4], "thermal": 0, "asthenospher": 0, "boundari": 0, "kcrust": 0, "conduct": [0, 3], "crust": [0, 4], "20c": 0, "w": 0, "k": 0, "2": [0, 3], "klith": 0, "mantl": 0, "kasth": 0, "rhp": [0, 3], "radiogen": 0, "heat": [0, 2, 3], "product": 0, "3": [0, 3], "crustsolid": 0, "densiti": 0, "lithsolid": 0, "asthsolid": 0, "th": 0, "t0": 0, "seab": 0, "temperatur": [0, 3], "c": [0, 3], "tm": 0, "lab": 0, "qbase": [0, 3], "flow": [0, 3], "moho": 0, "sediments_input": [0, 3], "present": [0, 4], "dai": [0, 4], "sediment": [0, 3, 4], "see": [0, 4], "single_node_sediments_inputs_templ": [0, 3], "pd": [0, 3], "datafram": [0, 3], "x": 0, "node": [0, 2, 3], "y": 0, "paleowd": [0, 3], "paleo": 0, "water": 0, "multi": 0, "rift": [0, 3], "np": [0, 3], "ndarrai": 0, "float64": 0, "episod": 0, "list": 0, "int": [0, 3], "water_depth_differ": 0, "differ": 0, "between": 0, "observ": 0, "sediment_fill_margin": 0, "maximum": 0, "when": [0, 3], "fit": 0, "i": [0, 3, 4], "consid": 0, "achiev": 0, "total_beta_test": 0, "total": [0, 3], "number": 0, "beta": [0, 3, 4], "factor": [0, 4], "test": [0, 4], "error": 0, "from": [0, 3, 4], "none": 0, "simulated_at": 0, "timestamp": 0, "finish": 0, "bool": 0, "whether": 0, "found": 0, "true": [0, 3], "smaller": 0, "than": 0, "accept": 0, "clean": 0, "up": 0, "input": [0, 4], "grid": [0, 2], "origin_x": 0, "origin_i": 0, "num_nodes_x": 0, "num_nodes_i": 0, "step_x": 0, "step_i": 0, "defin": [0, 4], "geometri": 0, "3d": [0, 2], "location_grid": 0, "all": [0, 3], "A": 0, "2d": 0, "arrai": [0, 3], "make_grid_arr": 0, "templat": 0, "store": 0, "object": 0, "indexing_arr": 0, "indic": 0, "arri": 0, "dump": 0, "filepath": 0, "save": 0, "file": [0, 4], "util": 0, "creat": [0, 3], "singl": [0, 3], "input_horizons_templ": 0, "us": [0, 2], "map": 0, "emtpi": 0, "append": [0, 3], "extract_nod": 0, "thread": 0, "formatfil": 0, "irap_binari": 0, "facies_dict": 0, "dict": 0, "extract": 0, "concurr": 0, "process": 0, "directori": 0, "option": 0, "format": [0, 4], "support": 0, "xtgeo": [0, 4], "default": 0, "lithologi": 0, "valu": [0, 3, 4], "faci": 0, "rais": 0, "valueerror": 0, "invalid": [0, 3], "tabl": 0, "check": 0, "self": 0, "input_horizon": 0, "sort": 0, "ascend": 0, "ag": [0, 3], "define_geometri": 0, "xinc": 0, "yinc": 0, "fformat": 0, "overwrit": 0, "distanc": 0, "direct": 0, "iter_nod": 0, "iter": 0, "yield": 0, "set_eustatic_sea_level": [0, 3], "sealevel": 0, "set": 0, "eustat": 0, "sea": 0, "level": 0, "correct": 0, "subsid": [0, 4], "initial_hlith_max": 0, "allow": 0, "calibr": 0, "initial_hlith_min": 0, "minimum": 0, "time_start": [0, 3], "start": 0, "ma": [0, 3], "time_end": [0, 3], "end": 0, "positive_down": 0, "ar": [0, 4], "posit": [0, 4], "downward": 0, "positv": 0, "time_step_ma": 0, "time": [0, 3], "step": [0, 3], "solv": [0, 4], "1": [0, 3], "forward_model": [0, 3], "current_nod": 0, "simulate_single_nod": 0, "simulate_continent": 0, "run": [0, 3, 4], "static": 0, "compact": 0, "top_m": 0, "base_m": 0, "phi0": 0, "phi_decai": 0, "base_maximum_burial_depth_m": 0, "0": [0, 3], "top": [0, 3], "poros": 0, "surfac": 0, "fraction": 0, "exponenti": 0, "decai": [0, 3], "burial": 0, "To": [0, 3, 4], "make": 0, "sure": 0, "irrevers": 0, "base_result": 0, "decompact": 0, "without": 0, "pore": 0, "space": 0, "For": [0, 4], "calcul": 0, "deposit": 0, "rate": 0, "grain_thick": [0, 3], "add_sedi": 0, "sedrat": 0, "sed": 0, "xsed_old": 0, "tsed_old": 0, "hpsed_old": 0, "idsed_old": 0, "int32": 0, "tupl": 0, "take": 0, "care": 0, "thi": [0, 3, 4], "unit": 0, "referenc": 0, "sedimentari": 0, "column": [0, 3], "xsed": 0, "m3": 0, "id": 0, "sedflag": 0, "exist": 0, "tsed": 0, "hpsed": 0, "ids": 0, "calculate_new_temperatur": 0, "coord_crust_lith": 0, "t_old": 0, "hp": 0, "new": [0, 3], "profil": 0, "If": 0, "coord": 0, "vertic": 0, "mesh": [0, 4], "previou": 0, "_description_": 0, "implicit_euler_solv": 0, "t_start": 0, "coord_al": 0, "density_al": 0, "conductivity_pack": 0, "sourc": [0, 4], "k_last_nod": 0, "hp_last_nod": 0, "equat": [0, 2], "backward": 0, "euler": 0, "scheme": 0, "condit": 0, "whole": 0, "term": 0, "postprocess": [0, 3], "sediments_id": 0, "sediment_input": 0, "k_crust": 0, "k_lith": 0, "k_asth": 0, "typeddict": 0, "resultvalu": 0, "requir": [0, 4], "kei": 0, "layerid": 0, "top_crust": 0, "geolog": 0, "top_lithospher": 0, "top_asthenospher": 0, "crust_thick": 0, "lithosphere_thick": 0, "cell": 0, "sediment_id": 0, "filter": 0, "layer": [0, 4], "centr": 0, "center": 0, "sediment_poros": 0, "effective_conduct": [0, 3], "effect": 0, "heatflow": 0, "basement_heatflow": [0, 3], "basement": [0, 3], "model": [1, 2, 4], "background": 2, "theori": 2, "pre": 2, "requisit": 2, "simul": [2, 3], "dolfinx": 2, "resqml": 2, "output": 2, "depend": 2, "exampl": 2, "api": 2, "refer": 2, "builder": [2, 3], "paramet": [2, 3], "forward": 2, "result": [2, 3, 4], "index": 2, "modul": 2, "search": 2, "page": 2, "download": 3, "notebook": 3, "import": 3, "sy": 3, "numpi": 3, "panda": 3, "node_templ": 3, "h1": 3, "152": 3, "500000": 3, "301755e": 3, "09": 3, "620000": 3, "500": 3, "2720": 3, "2448": 3, "h2": 3, "810": 3, "20": 3, "538462": 3, "079433e": 3, "599730": 3, "490": 3, "2708": 3, "2437": 3, "h3": 3, "1608": 3, "66": 3, "h4": 3, "1973": 3, "100": 3, "h5": [3, 4], "2262": 3, "145": 3, "h6": 3, "2362": 3, "904762": 3, "4": 3, "719506e": 3, "10": 3, "447705": 3, "415": 3, "2618": 3, "2356": 3, "h7": 3, "2427": 3, "160": 3, "horizon": [3, 4], "from_dict": 3, "topag": 3, "k_cond": 3, "phi": 3, "5": 3, "solidu": 3, "6": 3, "liquidu": 3, "7": 3, "concat": 3, "ignore_index": 3, "tmp": 3, "ipykernel_2149": 3, "1143012394": 3, "py": [3, 4], "13": 3, "futurewarn": 3, "The": [3, 4], "behavior": 3, "concaten": 3, "empti": 3, "na": 3, "entri": 3, "deprec": 3, "In": 3, "futur": 3, "version": [3, 4], "longer": 3, "exclud": 3, "determin": 3, "dtype": 3, "retain": 3, "old": 3, "relev": 3, "befor": 3, "oper": 3, "add": 3, "baseag": 3, "phi_mean": 3, "658": 3, "310357": 3, "528332": 3, "798": 3, "511062": 3, "359571": 3, "200000": 3, "365": 3, "332780": 3, "088275": 3, "289": 3, "221878": 3, "232256": 3, "078943": 3, "210571": 3, "65": 3, "053525": 3, "176536": 3, "iloc": 3, "shf": 3, "60e": 3, "30e": 3, "200": 3, "onli": [3, 4], "mulit": 3, "8": 3, "haq87": 3, "9": 3, "parallel": [3, 4], "fals": 3, "cpu": 3, "user": 3, "617": 3, "267": 3, "883": 3, "wall": 3, "552": 3, "24": 3, "11": 3, "matplotlib": 3, "inlin": 3, "pyplot": 3, "plt": 3, "plot": 3, "1000": 3, "gca": 3, "invert_xaxi": 3, "xlabel": 3, "ylabel": 3, "mw": 3, "m2": 3, "show": 3, "home": 3, "runner": 3, "work": 3, "196": 3, "runtimewarn": 3, "encount": 3, "divid": 3, "v": 3, "initial_poro": 3, "initial_decai": 3, "phi1": 3, "12": 3, "ipywidget": 3, "widget": 3, "def": 3, "plot_cell_bound": 3, "t": 3, "invert_yaxi": 3, "ylim": 3, "bottom": 3, "interact": 3, "intslid": 3, "max": 3, "min": 3, "lt": 3, "function": [3, 4], "__main__": 3, "gt": 3, "plot_cell_properti": 3, "under": 4, "activ": 4, "develop": 4, "yhei": 4, "uniform": 4, "reactangular": 4, "nodegrid": 4, "structur": 4, "provid": 4, "gri": 4, "which": 4, "read": 4, "sedimentstack": 4, "complet": 4, "some": 4, "other": 4, "interpol": 4, "can": 4, "script": 4, "1dsed": 4, "each": 4, "pickl": 4, "separ": 4, "improv": 4, "perform": 4, "seri": 4, "regularli": 4, "updat": 4, "petsc": 4, "solver": 4, "packag": 4, "part": 4, "fenic": 4, "project": 4, "comput": 4, "built": 4, "hexahedra": 4, "everi": 4, "rectangl": 4, "e": 4, "aesthenospher": 4, "subdivid": 4, "tetrahedra": 4, "manag": 4, "uniformnodegridfixedsizemeshmodel": 4, "demonstr": 4, "warmth3d_mapa_exampl": 4, "note": 4, "definit": 4, "should": 4, "match": 4, "solut": 4, "write": 4, "1m": 4, "year": 4, "xdmf": 4, "visual": 4, "paraview": 4, "further": 4, "unstructur": 4, "pair": 4, "epc": 4, "o": 4, "resqpy_help": 4, "modifi": 4, "resqpi": 4, "librari": 4, "visualis": 4, "3rd": 4, "parti": 4, "plug": 4, "instal": 4, "fespp": 4, "linux": 4, "ha": 4, "compil": 4, "apt": 4, "get": 4, "pip": 4, "now": 4, "chang": 4, "yet": 4, "merg": 4, "meshio": 4, "ad": 4}, "objects": {"warmth": [[0, 0, 0, "-", "build"], [0, 0, 0, "-", "forward_modelling"], [0, 0, 0, "-", "model"], [0, 0, 0, "-", "parameters"], [0, 0, 0, "-", "postprocessing"], [0, 0, 0, "-", "simulator"]], "warmth.build": [[0, 1, 1, "", "Builder"], [0, 1, 1, "", "Grid"], [0, 1, 1, "", "single_node"]], "warmth.build.Builder": [[0, 2, 1, "", "define_geometry"], [0, 2, 1, "", "extract_nodes"], [0, 3, 1, "", "input_horizons_template"], [0, 2, 1, "", "iter_node"], [0, 3, 1, "", "locations"], [0, 2, 1, "", "set_eustatic_sea_level"], [0, 3, 1, "", "single_node_sediments_inputs_template"]], "warmth.build.Grid": [[0, 2, 1, "", "dump"], [0, 3, 1, "", "indexing_arr"], [0, 3, 1, "", "location_grid"], [0, 2, 1, "", "make_grid_arr"]], "warmth.build.single_node": [[0, 4, 1, "", "T0"], [0, 4, 1, "", "Tm"], [0, 4, 1, "", "X"], [0, 4, 1, "", "Y"], [0, 4, 1, "", "asthsolid"], [0, 4, 1, "", "crustsolid"], [0, 4, 1, "", "error"], [0, 3, 1, "", "fitting"], [0, 4, 1, "", "hLith"], [0, 4, 1, "", "hc"], [0, 4, 1, "", "kAsth"], [0, 4, 1, "", "kCrust"], [0, 4, 1, "", "kLith"], [0, 4, 1, "", "lithsolid"], [0, 4, 1, "", "paleoWD"], [0, 4, 1, "", "qbase"], [0, 3, 1, "", "result"], [0, 4, 1, "", "rhp"], [0, 4, 1, "", "rift"], [0, 4, 1, "", "sediment_fill_margin"], [0, 3, 1, "", "sediments"], [0, 4, 1, "", "sediments_inputs"], [0, 4, 1, "", "simulated_at"], [0, 4, 1, "", "total_beta_tested"], [0, 4, 1, "", "water_depth_difference"]], "warmth.forward_modelling": [[0, 1, 1, "", "Forward_model"]], "warmth.forward_modelling.Forward_model": [[0, 2, 1, "", "add_sediments"], [0, 2, 1, "", "calculate_new_temperature"], [0, 2, 1, "", "compaction"], [0, 2, 1, "", "decompaction"], [0, 2, 1, "", "implicit_euler_solve"], [0, 2, 1, "", "simulate_continental"], [0, 2, 1, "", "simulate_single_node"]], "warmth.model": [[0, 1, 1, "", "Model"]], "warmth.model.Model": [[0, 3, 1, "", "builder"], [0, 2, 1, "", "load"], [0, 3, 1, "", "parameters"], [0, 3, 1, "", "simulator"]], "warmth.parameters": [[0, 1, 1, "", "Parameters"]], "warmth.parameters.Parameters": [[0, 3, 1, "", "initial_hLith_max"], [0, 3, 1, "", "initial_hLith_min"], [0, 3, 1, "", "positive_down"], [0, 3, 1, "", "time_end"], [0, 3, 1, "", "time_start"], [0, 3, 1, "", "time_step_Ma"]], "warmth.postprocessing": [[0, 1, 1, "", "Results"]], "warmth.postprocessing.Results": [[0, 3, 1, "", "ages"], [0, 2, 1, "", "basement_heatflow"], [0, 2, 1, "", "crust_thickness"], [0, 2, 1, "", "depth"], [0, 2, 1, "", "effective_conductivity"], [0, 2, 1, "", "heatflow"], [0, 2, 1, "", "lithosphere_thickness"], [0, 5, 1, "", "resultValues"], [0, 2, 1, "", "sediment_ids"], [0, 2, 1, "", "sediment_porosity"], [0, 2, 1, "", "temperature"], [0, 2, 1, "", "top_asthenosphere"], [0, 2, 1, "", "top_crust"], [0, 2, 1, "", "top_lithosphere"]], "warmth.simulator": [[0, 1, 1, "", "Simulator"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:typeddict"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "typeddict", "Python typeddict"]}, "titleterms": {"api": 0, "refer": 0, "model": [0, 3], "builder": 0, "paramet": 0, "forward": 0, "simul": [0, 4], "result": 0, "exampl": 1, "content": [1, 2], "welcom": 2, "warmth": 2, "": 2, "document": 2, "indic": 2, "tabl": 2, "build": 3, "1d": [3, 4], "background": 4, "theori": 4, "pre": 4, "requisit": 4, "grid": 4, "node": 4, "3d": 4, "heat": 4, "equat": 4, "us": 4, "dolfinx": 4, "resqml": 4, "output": 4, "depend": 4}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "Model": [[0, "module-warmth.model"]], "Model builder": [[0, "module-warmth.build"]], "Parameters": [[0, "module-warmth.parameters"]], "Forward model": [[0, "module-warmth.forward_modelling"]], "Simulator": [[0, "module-warmth.simulator"]], "Results": [[0, "module-warmth.postprocessing"]], "Example": [[1, "example"]], "Contents:": [[1, null], [2, null]], "Welcome to warmth\u2019s documentation!": [[2, "welcome-to-warmth-s-documentation"]], "Indices and tables": [[2, "indices-and-tables"]], "Build 1D model": [[3, "Build-1D-model"]], "Background theory": [[4, "background-theory"]], "Pre-requisite: grid of 1D node simulation": [[4, "pre-requisite-grid-of-1d-node-simulation"]], "3D heat equation simulation using dolfinx": [[4, "d-heat-equation-simulation-using-dolfinx"]], "RESQML output": [[4, "resqml-output"]], "3D dependencies": [[4, "d-dependencies"]]}, "indexentries": {"builder (class in warmth.build)": [[0, "warmth.build.Builder"]], "forward_model (class in warmth.forward_modelling)": [[0, "warmth.forward_modelling.Forward_model"]], "grid (class in warmth.build)": [[0, "warmth.build.Grid"]], "model (class in warmth.model)": [[0, "warmth.model.Model"]], "parameters (class in warmth.parameters)": [[0, "warmth.parameters.Parameters"]], "results (class in warmth.postprocessing)": [[0, "warmth.postprocessing.Results"]], "results.resultvalues (typeddict in warmth.postprocessing)": [[0, "warmth.postprocessing.Results.resultValues"]], "simulator (class in warmth.simulator)": [[0, "warmth.simulator.Simulator"]], "t0 (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.T0"]], "tm (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.Tm"]], "x (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.X"]], "y (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.Y"]], "add_sediments() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.add_sediments"]], "ages (warmth.postprocessing.results property)": [[0, "warmth.postprocessing.Results.ages"]], "asthsolid (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.asthsolid"]], "basement_heatflow() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.basement_heatflow"]], "builder (warmth.model.model property)": [[0, "warmth.model.Model.builder"]], "calculate_new_temperature() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.calculate_new_temperature"]], "compaction() (warmth.forward_modelling.forward_model static method)": [[0, "warmth.forward_modelling.Forward_model.compaction"]], "crust_thickness() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.crust_thickness"]], "crustsolid (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.crustsolid"]], "decompaction() (warmth.forward_modelling.forward_model static method)": [[0, "warmth.forward_modelling.Forward_model.decompaction"]], "define_geometry() (warmth.build.builder method)": [[0, "warmth.build.Builder.define_geometry"]], "depth() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.depth"]], "dump() (warmth.build.grid method)": [[0, "warmth.build.Grid.dump"]], "effective_conductivity() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.effective_conductivity"]], "error (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.error"]], "extract_nodes() (warmth.build.builder method)": [[0, "warmth.build.Builder.extract_nodes"]], "fitting (warmth.build.single_node property)": [[0, "warmth.build.single_node.fitting"]], "hlith (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.hLith"]], "hc (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.hc"]], "heatflow() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.heatflow"]], "implicit_euler_solve() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.implicit_euler_solve"]], "indexing_arr (warmth.build.grid property)": [[0, "warmth.build.Grid.indexing_arr"]], "initial_hlith_max (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.initial_hLith_max"]], "initial_hlith_min (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.initial_hLith_min"]], "input_horizons_template (warmth.build.builder property)": [[0, "warmth.build.Builder.input_horizons_template"]], "iter_node() (warmth.build.builder method)": [[0, "warmth.build.Builder.iter_node"]], "kasth (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.kAsth"]], "kcrust (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.kCrust"]], "klith (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.kLith"]], "lithosphere_thickness() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.lithosphere_thickness"]], "lithsolid (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.lithsolid"]], "load() (warmth.model.model method)": [[0, "warmth.model.Model.load"]], "location_grid (warmth.build.grid property)": [[0, "warmth.build.Grid.location_grid"]], "locations (warmth.build.builder property)": [[0, "warmth.build.Builder.locations"]], "make_grid_arr() (warmth.build.grid method)": [[0, "warmth.build.Grid.make_grid_arr"]], "module": [[0, "module-warmth.build"], [0, "module-warmth.forward_modelling"], [0, "module-warmth.model"], [0, "module-warmth.parameters"], [0, "module-warmth.postprocessing"], [0, "module-warmth.simulator"]], "paleowd (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.paleoWD"]], "parameters (warmth.model.model property)": [[0, "warmth.model.Model.parameters"]], "positive_down (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.positive_down"]], "qbase (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.qbase"]], "result (warmth.build.single_node property)": [[0, "warmth.build.single_node.result"]], "rhp (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.rhp"]], "rift (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.rift"]], "sediment_fill_margin (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.sediment_fill_margin"]], "sediment_ids() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.sediment_ids"]], "sediment_porosity() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.sediment_porosity"]], "sediments (warmth.build.single_node property)": [[0, "warmth.build.single_node.sediments"]], "sediments_inputs (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.sediments_inputs"]], "set_eustatic_sea_level() (warmth.build.builder method)": [[0, "warmth.build.Builder.set_eustatic_sea_level"]], "simulate_continental() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.simulate_continental"]], "simulate_single_node() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.simulate_single_node"]], "simulated_at (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.simulated_at"]], "simulator (warmth.model.model property)": [[0, "warmth.model.Model.simulator"]], "single_node (class in warmth.build)": [[0, "warmth.build.single_node"]], "single_node_sediments_inputs_template (warmth.build.builder property)": [[0, "warmth.build.Builder.single_node_sediments_inputs_template"]], "temperature() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.temperature"]], "time_end (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.time_end"]], "time_start (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.time_start"]], "time_step_ma (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.time_step_Ma"]], "top_asthenosphere() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.top_asthenosphere"]], "top_crust() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.top_crust"]], "top_lithosphere() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.top_lithosphere"]], "total_beta_tested (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.total_beta_tested"]], "warmth.build": [[0, "module-warmth.build"]], "warmth.forward_modelling": [[0, "module-warmth.forward_modelling"]], "warmth.model": [[0, "module-warmth.model"]], "warmth.parameters": [[0, "module-warmth.parameters"]], "warmth.postprocessing": [[0, "module-warmth.postprocessing"]], "warmth.simulator": [[0, "module-warmth.simulator"]], "water_depth_difference (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.water_depth_difference"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["apireference", "example", "index", "notebooks/Build_within_Python", "theory"], "filenames": ["apireference.rst", "example.rst", "index.rst", "notebooks/Build_within_Python.ipynb", "theory.md"], "titles": ["API Reference", "Example", "Welcome to warmth\u2019s documentation!", "Build 1D model", "Background theory"], "terms": {"class": [0, 4], "warmth": [0, 3, 4], "main": 0, "properti": [0, 4], "return": 0, "type": 0, "load": 0, "path": [0, 3], "str": 0, "overrid": 0, "current": [0, 4], "data": [0, 3, 4], "build": [0, 1, 2, 4], "single_nod": [0, 3], "1d": [0, 1, 2], "locat": 0, "hc": 0, "initi": 0, "crustal": [0, 4], "thick": [0, 3, 4], "m": [0, 3], "float": 0, "hlith": 0, "depth": [0, 3], "base": [0, 3, 4], "lithospher": [0, 4], "thermal": 0, "asthenospher": 0, "boundari": 0, "kcrust": 0, "conduct": [0, 3], "crust": [0, 4], "20c": 0, "w": 0, "k": 0, "2": [0, 3], "klith": 0, "mantl": 0, "kasth": 0, "rhp": [0, 3], "radiogen": 0, "heat": [0, 2, 3], "product": 0, "3": [0, 3], "crustsolid": 0, "densiti": 0, "lithsolid": 0, "asthsolid": 0, "th": 0, "t0": 0, "seab": 0, "temperatur": [0, 3], "c": [0, 3], "tm": 0, "lab": 0, "qbase": [0, 3], "flow": [0, 3], "moho": 0, "sediments_input": [0, 3], "present": [0, 4], "dai": [0, 4], "sediment": [0, 3, 4], "see": [0, 4], "single_node_sediments_inputs_templ": [0, 3], "pd": [0, 3], "datafram": [0, 3], "x": 0, "node": [0, 2, 3], "y": 0, "paleowd": [0, 3], "paleo": 0, "water": 0, "multi": 0, "rift": [0, 3], "np": [0, 3], "ndarrai": 0, "float64": 0, "episod": 0, "list": 0, "int": [0, 3], "water_depth_differ": 0, "differ": 0, "between": 0, "observ": 0, "sediment_fill_margin": 0, "maximum": 0, "when": [0, 3], "fit": 0, "i": [0, 3, 4], "consid": 0, "achiev": 0, "total_beta_test": 0, "total": [0, 3], "number": 0, "beta": [0, 3, 4], "factor": [0, 4], "test": [0, 4], "error": 0, "from": [0, 3, 4], "none": 0, "simulated_at": 0, "timestamp": 0, "finish": 0, "bool": 0, "whether": 0, "found": 0, "true": [0, 3], "smaller": 0, "than": 0, "accept": 0, "clean": 0, "up": 0, "input": [0, 4], "grid": [0, 2], "origin_x": 0, "origin_i": 0, "num_nodes_x": 0, "num_nodes_i": 0, "step_x": 0, "step_i": 0, "defin": [0, 4], "geometri": 0, "3d": [0, 2], "location_grid": 0, "all": [0, 3], "A": 0, "2d": 0, "arrai": [0, 3], "make_grid_arr": 0, "templat": 0, "store": 0, "object": 0, "indexing_arr": 0, "indic": 0, "arri": 0, "dump": 0, "filepath": 0, "save": 0, "file": [0, 4], "util": 0, "creat": [0, 3], "singl": [0, 3], "input_horizons_templ": 0, "us": [0, 2], "map": 0, "emtpi": 0, "append": [0, 3], "extract_nod": 0, "thread": 0, "formatfil": 0, "irap_binari": 0, "facies_dict": 0, "dict": 0, "extract": 0, "concurr": 0, "process": 0, "directori": 0, "option": 0, "format": [0, 4], "support": 0, "xtgeo": [0, 4], "default": 0, "lithologi": 0, "valu": [0, 3, 4], "faci": 0, "rais": 0, "valueerror": 0, "invalid": [0, 3], "tabl": 0, "check": 0, "self": 0, "input_horizon": 0, "sort": 0, "ascend": 0, "ag": [0, 3], "define_geometri": 0, "xinc": 0, "yinc": 0, "fformat": 0, "overwrit": 0, "distanc": 0, "direct": 0, "iter_nod": 0, "iter": 0, "yield": 0, "set_eustatic_sea_level": [0, 3], "sealevel": 0, "set": 0, "eustat": 0, "sea": 0, "level": 0, "correct": 0, "subsid": [0, 4], "initial_hlith_max": 0, "allow": 0, "calibr": 0, "initial_hlith_min": 0, "minimum": 0, "time_start": [0, 3], "start": 0, "ma": [0, 3], "time_end": [0, 3], "end": 0, "positive_down": 0, "ar": [0, 4], "posit": [0, 4], "downward": 0, "positv": 0, "time_step_ma": 0, "time": [0, 3], "step": [0, 3], "solv": [0, 4], "1": [0, 3], "forward_model": [0, 3], "current_nod": 0, "simulate_single_nod": 0, "simulate_continent": 0, "run": [0, 3, 4], "static": 0, "compact": 0, "top_m": 0, "base_m": 0, "phi0": 0, "phi_decai": 0, "base_maximum_burial_depth_m": 0, "0": [0, 3], "top": [0, 3], "poros": 0, "surfac": 0, "fraction": 0, "exponenti": 0, "decai": [0, 3], "burial": 0, "To": [0, 3, 4], "make": 0, "sure": 0, "irrevers": 0, "base_result": 0, "decompact": 0, "without": 0, "pore": 0, "space": 0, "For": [0, 4], "calcul": 0, "deposit": 0, "rate": 0, "grain_thick": [0, 3], "add_sedi": 0, "sedrat": 0, "sed": 0, "xsed_old": 0, "tsed_old": 0, "hpsed_old": 0, "idsed_old": 0, "int32": 0, "tupl": 0, "take": 0, "care": 0, "thi": [0, 3, 4], "unit": 0, "referenc": 0, "sedimentari": 0, "column": [0, 3], "xsed": 0, "m3": 0, "id": 0, "sedflag": 0, "exist": 0, "tsed": 0, "hpsed": 0, "ids": 0, "calculate_new_temperatur": 0, "coord_crust_lith": 0, "t_old": 0, "hp": 0, "new": [0, 3], "profil": 0, "If": 0, "coord": 0, "vertic": 0, "mesh": [0, 4], "previou": 0, "_description_": 0, "implicit_euler_solv": 0, "t_start": 0, "coord_al": 0, "density_al": 0, "conductivity_pack": 0, "sourc": [0, 4], "k_last_nod": 0, "hp_last_nod": 0, "equat": [0, 2], "backward": 0, "euler": 0, "scheme": 0, "condit": 0, "whole": 0, "term": 0, "postprocess": [0, 3], "sediments_id": 0, "sediment_input": 0, "k_crust": 0, "k_lith": 0, "k_asth": 0, "typeddict": 0, "resultvalu": 0, "requir": [0, 4], "kei": 0, "layerid": 0, "top_crust": 0, "geolog": 0, "top_lithospher": 0, "top_asthenospher": 0, "crust_thick": 0, "lithosphere_thick": 0, "cell": 0, "sediment_id": 0, "filter": 0, "layer": [0, 4], "centr": 0, "center": 0, "sediment_poros": 0, "effective_conduct": [0, 3], "effect": 0, "heatflow": 0, "basement_heatflow": [0, 3], "basement": [0, 3], "model": [1, 2, 4], "background": 2, "theori": 2, "pre": 2, "requisit": 2, "simul": [2, 3], "dolfinx": 2, "resqml": 2, "output": 2, "depend": 2, "exampl": 2, "api": 2, "refer": 2, "builder": [2, 3], "paramet": [2, 3], "forward": 2, "result": [2, 3, 4], "index": 2, "modul": 2, "search": 2, "page": 2, "download": 3, "notebook": 3, "import": 3, "sy": 3, "numpi": 3, "panda": 3, "node_templ": 3, "h1": 3, "152": 3, "500000": 3, "301755e": 3, "09": 3, "620000": 3, "500": 3, "2720": 3, "2448": 3, "h2": 3, "810": 3, "20": 3, "538462": 3, "079433e": 3, "599730": 3, "490": 3, "2708": 3, "2437": 3, "h3": 3, "1608": 3, "66": 3, "h4": 3, "1973": 3, "100": 3, "h5": [3, 4], "2262": 3, "145": 3, "h6": 3, "2362": 3, "904762": 3, "4": 3, "719506e": 3, "10": 3, "447705": 3, "415": 3, "2618": 3, "2356": 3, "h7": 3, "2427": 3, "160": 3, "horizon": [3, 4], "from_dict": 3, "topag": 3, "k_cond": 3, "phi": 3, "5": 3, "solidu": 3, "6": 3, "liquidu": 3, "7": 3, "concat": 3, "ignore_index": 3, "tmp": 3, "ipykernel_2072": 3, "1143012394": 3, "py": [3, 4], "13": 3, "futurewarn": 3, "The": [3, 4], "behavior": 3, "concaten": 3, "empti": 3, "na": 3, "entri": 3, "deprec": 3, "In": 3, "futur": 3, "version": [3, 4], "longer": 3, "exclud": 3, "determin": 3, "dtype": 3, "retain": 3, "old": 3, "relev": 3, "befor": 3, "oper": 3, "add": 3, "baseag": 3, "phi_mean": 3, "658": 3, "310357": 3, "528332": 3, "798": 3, "511062": 3, "359571": 3, "200000": 3, "365": 3, "332780": 3, "088275": 3, "289": 3, "221878": 3, "232256": 3, "078943": 3, "210571": 3, "65": 3, "053525": 3, "176536": 3, "iloc": 3, "shf": 3, "60e": 3, "30e": 3, "200": 3, "onli": [3, 4], "mulit": 3, "8": 3, "haq87": 3, "9": 3, "parallel": [3, 4], "fals": 3, "cpu": 3, "user": 3, "672": 3, "46": 3, "719": 3, "wall": 3, "613": 3, "24": 3, "11": 3, "matplotlib": 3, "inlin": 3, "pyplot": 3, "plt": 3, "plot": 3, "1000": 3, "gca": 3, "invert_xaxi": 3, "xlabel": 3, "ylabel": 3, "mw": 3, "m2": 3, "show": 3, "home": 3, "runner": 3, "work": 3, "196": 3, "runtimewarn": 3, "encount": 3, "divid": 3, "v": 3, "initial_poro": 3, "initial_decai": 3, "phi1": 3, "12": 3, "ipywidget": 3, "widget": 3, "def": 3, "plot_cell_bound": 3, "t": 3, "invert_yaxi": 3, "ylim": 3, "bottom": 3, "interact": 3, "intslid": 3, "max": 3, "min": 3, "lt": 3, "function": [3, 4], "__main__": 3, "gt": 3, "plot_cell_properti": 3, "under": 4, "activ": 4, "develop": 4, "yhei": 4, "uniform": 4, "reactangular": 4, "nodegrid": 4, "structur": 4, "provid": 4, "gri": 4, "which": 4, "read": 4, "sedimentstack": 4, "complet": 4, "some": 4, "other": 4, "interpol": 4, "can": 4, "script": 4, "1dsed": 4, "each": 4, "pickl": 4, "separ": 4, "improv": 4, "perform": 4, "seri": 4, "regularli": 4, "updat": 4, "petsc": 4, "solver": 4, "packag": 4, "part": 4, "fenic": 4, "project": 4, "comput": 4, "built": 4, "hexahedra": 4, "everi": 4, "rectangl": 4, "e": 4, "aesthenospher": 4, "subdivid": 4, "tetrahedra": 4, "manag": 4, "uniformnodegridfixedsizemeshmodel": 4, "demonstr": 4, "warmth3d_mapa_exampl": 4, "note": 4, "definit": 4, "should": 4, "match": 4, "solut": 4, "write": 4, "1m": 4, "year": 4, "xdmf": 4, "visual": 4, "paraview": 4, "further": 4, "unstructur": 4, "pair": 4, "epc": 4, "o": 4, "resqpy_help": 4, "modifi": 4, "resqpi": 4, "librari": 4, "visualis": 4, "3rd": 4, "parti": 4, "plug": 4, "instal": 4, "fespp": 4, "linux": 4, "ha": 4, "compil": 4, "apt": 4, "get": 4, "pip": 4, "now": 4, "chang": 4, "yet": 4, "merg": 4, "meshio": 4, "ad": 4}, "objects": {"warmth": [[0, 0, 0, "-", "build"], [0, 0, 0, "-", "forward_modelling"], [0, 0, 0, "-", "model"], [0, 0, 0, "-", "parameters"], [0, 0, 0, "-", "postprocessing"], [0, 0, 0, "-", "simulator"]], "warmth.build": [[0, 1, 1, "", "Builder"], [0, 1, 1, "", "Grid"], [0, 1, 1, "", "single_node"]], "warmth.build.Builder": [[0, 2, 1, "", "define_geometry"], [0, 2, 1, "", "extract_nodes"], [0, 3, 1, "", "input_horizons_template"], [0, 2, 1, "", "iter_node"], [0, 3, 1, "", "locations"], [0, 2, 1, "", "set_eustatic_sea_level"], [0, 3, 1, "", "single_node_sediments_inputs_template"]], "warmth.build.Grid": [[0, 2, 1, "", "dump"], [0, 3, 1, "", "indexing_arr"], [0, 3, 1, "", "location_grid"], [0, 2, 1, "", "make_grid_arr"]], "warmth.build.single_node": [[0, 4, 1, "", "T0"], [0, 4, 1, "", "Tm"], [0, 4, 1, "", "X"], [0, 4, 1, "", "Y"], [0, 4, 1, "", "asthsolid"], [0, 4, 1, "", "crustsolid"], [0, 4, 1, "", "error"], [0, 3, 1, "", "fitting"], [0, 4, 1, "", "hLith"], [0, 4, 1, "", "hc"], [0, 4, 1, "", "kAsth"], [0, 4, 1, "", "kCrust"], [0, 4, 1, "", "kLith"], [0, 4, 1, "", "lithsolid"], [0, 4, 1, "", "paleoWD"], [0, 4, 1, "", "qbase"], [0, 3, 1, "", "result"], [0, 4, 1, "", "rhp"], [0, 4, 1, "", "rift"], [0, 4, 1, "", "sediment_fill_margin"], [0, 3, 1, "", "sediments"], [0, 4, 1, "", "sediments_inputs"], [0, 4, 1, "", "simulated_at"], [0, 4, 1, "", "total_beta_tested"], [0, 4, 1, "", "water_depth_difference"]], "warmth.forward_modelling": [[0, 1, 1, "", "Forward_model"]], "warmth.forward_modelling.Forward_model": [[0, 2, 1, "", "add_sediments"], [0, 2, 1, "", "calculate_new_temperature"], [0, 2, 1, "", "compaction"], [0, 2, 1, "", "decompaction"], [0, 2, 1, "", "implicit_euler_solve"], [0, 2, 1, "", "simulate_continental"], [0, 2, 1, "", "simulate_single_node"]], "warmth.model": [[0, 1, 1, "", "Model"]], "warmth.model.Model": [[0, 3, 1, "", "builder"], [0, 2, 1, "", "load"], [0, 3, 1, "", "parameters"], [0, 3, 1, "", "simulator"]], "warmth.parameters": [[0, 1, 1, "", "Parameters"]], "warmth.parameters.Parameters": [[0, 3, 1, "", "initial_hLith_max"], [0, 3, 1, "", "initial_hLith_min"], [0, 3, 1, "", "positive_down"], [0, 3, 1, "", "time_end"], [0, 3, 1, "", "time_start"], [0, 3, 1, "", "time_step_Ma"]], "warmth.postprocessing": [[0, 1, 1, "", "Results"]], "warmth.postprocessing.Results": [[0, 3, 1, "", "ages"], [0, 2, 1, "", "basement_heatflow"], [0, 2, 1, "", "crust_thickness"], [0, 2, 1, "", "depth"], [0, 2, 1, "", "effective_conductivity"], [0, 2, 1, "", "heatflow"], [0, 2, 1, "", "lithosphere_thickness"], [0, 5, 1, "", "resultValues"], [0, 2, 1, "", "sediment_ids"], [0, 2, 1, "", "sediment_porosity"], [0, 2, 1, "", "temperature"], [0, 2, 1, "", "top_asthenosphere"], [0, 2, 1, "", "top_crust"], [0, 2, 1, "", "top_lithosphere"]], "warmth.simulator": [[0, 1, 1, "", "Simulator"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:attribute", "5": "py:typeddict"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "typeddict", "Python typeddict"]}, "titleterms": {"api": 0, "refer": 0, "model": [0, 3], "builder": 0, "paramet": 0, "forward": 0, "simul": [0, 4], "result": 0, "exampl": 1, "content": [1, 2], "welcom": 2, "warmth": 2, "": 2, "document": 2, "indic": 2, "tabl": 2, "build": 3, "1d": [3, 4], "background": 4, "theori": 4, "pre": 4, "requisit": 4, "grid": 4, "node": 4, "3d": 4, "heat": 4, "equat": 4, "us": 4, "dolfinx": 4, "resqml": 4, "output": 4, "depend": 4}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"API Reference": [[0, "api-reference"]], "Model": [[0, "module-warmth.model"]], "Model builder": [[0, "module-warmth.build"]], "Parameters": [[0, "module-warmth.parameters"]], "Forward model": [[0, "module-warmth.forward_modelling"]], "Simulator": [[0, "module-warmth.simulator"]], "Results": [[0, "module-warmth.postprocessing"]], "Example": [[1, "example"]], "Contents:": [[1, null], [2, null]], "Welcome to warmth\u2019s documentation!": [[2, "welcome-to-warmth-s-documentation"]], "Indices and tables": [[2, "indices-and-tables"]], "Build 1D model": [[3, "Build-1D-model"]], "Background theory": [[4, "background-theory"]], "Pre-requisite: grid of 1D node simulation": [[4, "pre-requisite-grid-of-1d-node-simulation"]], "3D heat equation simulation using dolfinx": [[4, "d-heat-equation-simulation-using-dolfinx"]], "RESQML output": [[4, "resqml-output"]], "3D dependencies": [[4, "d-dependencies"]]}, "indexentries": {"builder (class in warmth.build)": [[0, "warmth.build.Builder"]], "forward_model (class in warmth.forward_modelling)": [[0, "warmth.forward_modelling.Forward_model"]], "grid (class in warmth.build)": [[0, "warmth.build.Grid"]], "model (class in warmth.model)": [[0, "warmth.model.Model"]], "parameters (class in warmth.parameters)": [[0, "warmth.parameters.Parameters"]], "results (class in warmth.postprocessing)": [[0, "warmth.postprocessing.Results"]], "results.resultvalues (typeddict in warmth.postprocessing)": [[0, "warmth.postprocessing.Results.resultValues"]], "simulator (class in warmth.simulator)": [[0, "warmth.simulator.Simulator"]], "t0 (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.T0"]], "tm (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.Tm"]], "x (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.X"]], "y (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.Y"]], "add_sediments() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.add_sediments"]], "ages (warmth.postprocessing.results property)": [[0, "warmth.postprocessing.Results.ages"]], "asthsolid (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.asthsolid"]], "basement_heatflow() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.basement_heatflow"]], "builder (warmth.model.model property)": [[0, "warmth.model.Model.builder"]], "calculate_new_temperature() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.calculate_new_temperature"]], "compaction() (warmth.forward_modelling.forward_model static method)": [[0, "warmth.forward_modelling.Forward_model.compaction"]], "crust_thickness() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.crust_thickness"]], "crustsolid (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.crustsolid"]], "decompaction() (warmth.forward_modelling.forward_model static method)": [[0, "warmth.forward_modelling.Forward_model.decompaction"]], "define_geometry() (warmth.build.builder method)": [[0, "warmth.build.Builder.define_geometry"]], "depth() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.depth"]], "dump() (warmth.build.grid method)": [[0, "warmth.build.Grid.dump"]], "effective_conductivity() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.effective_conductivity"]], "error (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.error"]], "extract_nodes() (warmth.build.builder method)": [[0, "warmth.build.Builder.extract_nodes"]], "fitting (warmth.build.single_node property)": [[0, "warmth.build.single_node.fitting"]], "hlith (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.hLith"]], "hc (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.hc"]], "heatflow() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.heatflow"]], "implicit_euler_solve() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.implicit_euler_solve"]], "indexing_arr (warmth.build.grid property)": [[0, "warmth.build.Grid.indexing_arr"]], "initial_hlith_max (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.initial_hLith_max"]], "initial_hlith_min (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.initial_hLith_min"]], "input_horizons_template (warmth.build.builder property)": [[0, "warmth.build.Builder.input_horizons_template"]], "iter_node() (warmth.build.builder method)": [[0, "warmth.build.Builder.iter_node"]], "kasth (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.kAsth"]], "kcrust (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.kCrust"]], "klith (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.kLith"]], "lithosphere_thickness() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.lithosphere_thickness"]], "lithsolid (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.lithsolid"]], "load() (warmth.model.model method)": [[0, "warmth.model.Model.load"]], "location_grid (warmth.build.grid property)": [[0, "warmth.build.Grid.location_grid"]], "locations (warmth.build.builder property)": [[0, "warmth.build.Builder.locations"]], "make_grid_arr() (warmth.build.grid method)": [[0, "warmth.build.Grid.make_grid_arr"]], "module": [[0, "module-warmth.build"], [0, "module-warmth.forward_modelling"], [0, "module-warmth.model"], [0, "module-warmth.parameters"], [0, "module-warmth.postprocessing"], [0, "module-warmth.simulator"]], "paleowd (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.paleoWD"]], "parameters (warmth.model.model property)": [[0, "warmth.model.Model.parameters"]], "positive_down (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.positive_down"]], "qbase (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.qbase"]], "result (warmth.build.single_node property)": [[0, "warmth.build.single_node.result"]], "rhp (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.rhp"]], "rift (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.rift"]], "sediment_fill_margin (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.sediment_fill_margin"]], "sediment_ids() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.sediment_ids"]], "sediment_porosity() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.sediment_porosity"]], "sediments (warmth.build.single_node property)": [[0, "warmth.build.single_node.sediments"]], "sediments_inputs (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.sediments_inputs"]], "set_eustatic_sea_level() (warmth.build.builder method)": [[0, "warmth.build.Builder.set_eustatic_sea_level"]], "simulate_continental() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.simulate_continental"]], "simulate_single_node() (warmth.forward_modelling.forward_model method)": [[0, "warmth.forward_modelling.Forward_model.simulate_single_node"]], "simulated_at (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.simulated_at"]], "simulator (warmth.model.model property)": [[0, "warmth.model.Model.simulator"]], "single_node (class in warmth.build)": [[0, "warmth.build.single_node"]], "single_node_sediments_inputs_template (warmth.build.builder property)": [[0, "warmth.build.Builder.single_node_sediments_inputs_template"]], "temperature() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.temperature"]], "time_end (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.time_end"]], "time_start (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.time_start"]], "time_step_ma (warmth.parameters.parameters property)": [[0, "warmth.parameters.Parameters.time_step_Ma"]], "top_asthenosphere() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.top_asthenosphere"]], "top_crust() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.top_crust"]], "top_lithosphere() (warmth.postprocessing.results method)": [[0, "warmth.postprocessing.Results.top_lithosphere"]], "total_beta_tested (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.total_beta_tested"]], "warmth.build": [[0, "module-warmth.build"]], "warmth.forward_modelling": [[0, "module-warmth.forward_modelling"]], "warmth.model": [[0, "module-warmth.model"]], "warmth.parameters": [[0, "module-warmth.parameters"]], "warmth.postprocessing": [[0, "module-warmth.postprocessing"]], "warmth.simulator": [[0, "module-warmth.simulator"]], "water_depth_difference (warmth.build.single_node attribute)": [[0, "warmth.build.single_node.water_depth_difference"]]}}) \ No newline at end of file