diff --git a/Simple Beam DEMOs/sb_stress.ipynb b/Simple Beam DEMOs/sb_stress.ipynb index 0d43509..026fc24 100644 --- a/Simple Beam DEMOs/sb_stress.ipynb +++ b/Simple Beam DEMOs/sb_stress.ipynb @@ -1,483 +1,600 @@ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ - "# Simple beam - Stress and Strain\n", - "In this first notebook, the stresses and strains inside the element are presented." + "# **Simple beam - Stress and Strain**\n", + "In this fourth notebook, the stresses and strains inside the element are presented." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Goals**\n", + "\n", + "* Understand the differences between the various strains and stresses\n", + "* Learn the relations between them\n", + "* Note how some parameters influence their behaviour" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## **Tasks and exercises**\n", + "\n", + "Answer to the following questions by using and playing with the interactive visualisation tool (bottom of the notebook).\n", + "\n", + "1. What are the differences between the centroid and the neutral axis? Is there a way to superimpose them in this studied case?\n", + "\n", + "
\n", + " Solution:\n", + " The centroid is dependent only on the geometry of the section; on the other hand, the neutral axis is function of the centroid and the internal forces.\n", + " \n", + " Yes, if the external horizontal force P is removed and the axial force N becomes zero, the neutral axis is in the same position of the centroid.\n", + "
\n", + "\n", + "
\n", + "\n", + "2. Does the cross-section influence the maximal stresses and strains? By changing the length of the beam to 8 m, do you ascertain any changes?\n", + "\n", + "
\n", + " Solution:\n", + " Yes; the internal forces do not change, but the resistance of the section (area and inertia) is directly influenced by h and b. Note that increasing h has a bigger impact only on the bending strain and bending stress (power of 2); on the other hand b and h have the same influence, because the axial stress and strain is dependent only on the area: $\\sigma_N = N/A$ and $\\epsilon_N = \\sigma_N/E$ and the shear stress is also only dependent on the area: $\\tau_{max} = \\frac{V S}{I_y b} = \\frac{V\\frac{bh^2}{8}}{\\frac{bh^3}{12}b} = \\frac{3V}{2bh} = \\frac{3V}{2A}$.\n", + " \n", + " Yes; the parameters responsible for the resistance of the section (area and inertia) do not change, but the amplitude of the shear and the bending moment increase, thus the stress and strain inside the section increase, except for the axial strain and stress, that are independent of the length of the beam and they remain the same.\n", + "
\n", + "\n", + "
\n", + "\n", + "3. Consider the starting configuration; assume that the beam is composed of a material with a yield strength of 27.2 MPa.\n", + " 1. Will the beam remain elastic everywhere?\n", + "
\n", + " Solution:\n", + " No, at the position where the bending moment is maximum, the stress in the top compressed fiber is equal to 27.5 MPa, that is bigger than 27.2 MPa.\n", + "
\n", + "\n", + "
\n", + " \n", + " 2. Where will it yield?\n", + "
\n", + " Solution:\n", + " At the center of the beam, where the bending moment is the highest.\n", + "
\n", + "\n", + "
\n", + " \n", + " 3. If you can change only one parameter to assure that the beam remains always elastic, what will you do?\n", + "\n", + "
\n", + " Solution:\n", + " The possible solution are:\n", + " \n", + "
\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **Build the interactive visualisation tool**" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", " Loading BokehJS ...\n", "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " const force = true;\n", "\n", " if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n", " root._bokeh_onload_callbacks = [];\n", " root._bokeh_is_loading = undefined;\n", " }\n", "\n", " const JS_MIME_TYPE = 'application/javascript';\n", " const HTML_MIME_TYPE = 'text/html';\n", " const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n", " const CLASS_NAME = 'output_bokeh rendered_html';\n", "\n", " /**\n", " * Render data to the DOM node\n", " */\n", " function render(props, node) {\n", " const script = document.createElement(\"script\");\n", " node.appendChild(script);\n", " }\n", "\n", " /**\n", " * Handle when an output is cleared or removed\n", " */\n", " function handleClearOutput(event, handle) {\n", " const cell = handle.cell;\n", "\n", " const id = cell.output_area._bokeh_element_id;\n", " const server_id = cell.output_area._bokeh_server_id;\n", " // Clean up Bokeh references\n", " if (id != null && id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", "\n", " if (server_id !== undefined) {\n", " // Clean up Bokeh references\n", " const cmd_clean = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n", " cell.notebook.kernel.execute(cmd_clean, {\n", " iopub: {\n", " output: function(msg) {\n", " const id = msg.content.text.trim();\n", " if (id in Bokeh.index) {\n", " Bokeh.index[id].model.document.clear();\n", " delete Bokeh.index[id];\n", " }\n", " }\n", " }\n", " });\n", " // Destroy server and session\n", " const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n", " cell.notebook.kernel.execute(cmd_destroy);\n", " }\n", " }\n", "\n", " /**\n", " * Handle when a new output is added\n", " */\n", " function handleAddOutput(event, handle) {\n", " const output_area = handle.output_area;\n", " const output = handle.output;\n", "\n", " // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n", " if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n", " return\n", " }\n", "\n", " const toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", "\n", " if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n", " toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n", " // store reference to embed id on output_area\n", " output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " }\n", " if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " const bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " const script_attrs = bk_div.children[0].attributes;\n", " for (let i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", " }\n", "\n", " function register_renderer(events, OutputArea) {\n", "\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " const toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " const props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[toinsert.length - 1]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " /* Handle when an output is cleared or removed */\n", " events.on('clear_output.CodeCell', handleClearOutput);\n", " events.on('delete.Cell', handleClearOutput);\n", "\n", " /* Handle when a new output is added */\n", " events.on('output_added.OutputArea', handleAddOutput);\n", "\n", " /**\n", " * Register the mime type and append_mime function with output_area\n", " */\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " /* Is output safe? */\n", " safe: true,\n", " /* Index of renderer in `output_area.display_order` */\n", " index: 0\n", " });\n", " }\n", "\n", " // register the mime type if in Jupyter Notebook environment and previously unregistered\n", " if (root.Jupyter !== undefined) {\n", " const events = require('base/js/events');\n", " const OutputArea = require('notebook/js/outputarea').OutputArea;\n", "\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " }\n", "\n", " \n", " if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " const NB_LOAD_WARNING = {'data': {'text/html':\n", " \"
\\n\"+\n", " \"

\\n\"+\n", " \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n", " \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n", " \"

\\n\"+\n", " \"\\n\"+\n", " \"\\n\"+\n", " \"from bokeh.resources import INLINE\\n\"+\n", " \"output_notebook(resources=INLINE)\\n\"+\n", " \"\\n\"+\n", " \"
\"}};\n", "\n", " function display_loaded() {\n", " const el = document.getElementById(\"1002\");\n", " if (el != null) {\n", " el.textContent = \"BokehJS is loading...\";\n", " }\n", " if (root.Bokeh !== undefined) {\n", " if (el != null) {\n", " el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(display_loaded, 100)\n", " }\n", " }\n", "\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", " if (root._bokeh_is_loading > 0) {\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " root._bokeh_is_loading = css_urls.length + js_urls.length;\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", "\n", " function on_error(url) {\n", " console.error(\"failed to load \" + url);\n", " }\n", "\n", " for (let i = 0; i < css_urls.length; i++) {\n", " const url = css_urls[i];\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " }\n", "\n", " for (let i = 0; i < js_urls.length; i++) {\n", " const url = js_urls[i];\n", " const element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error.bind(null, url);\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " \n", " const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.2.min.js\"];\n", " const css_urls = [];\n", " \n", "\n", " const inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " function(Bokeh) {\n", " \n", " \n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " \n", " if (root.Bokeh !== undefined || force === true) {\n", " \n", " for (let i = 0; i < inline_js.length; i++) {\n", " inline_js[i].call(root, root.Bokeh);\n", " }\n", " if (force === true) {\n", " display_loaded();\n", " }} else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " } else if (force !== true) {\n", " const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n", " cell.output_area.append_execute_result(NB_LOAD_WARNING)\n", " }\n", "\n", " }\n", "\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(css_urls, js_urls, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(window));" ], "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const NB_LOAD_WARNING = {'data': {'text/html':\n \"
\\n\"+\n \"

\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"

\\n\"+\n \"\\n\"+\n \"\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"\\n\"+\n \"
\"}};\n\n function display_loaded() {\n const el = document.getElementById(\"1002\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.2.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-2.4.2.min.js\"];\n const css_urls = [];\n \n\n const inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n const cell = $(document.getElementById(\"1002\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Import the packages needed\n", "import sys\n", "sys.path.append('../HiddenCode')\n", "import hidden_code_nb_stress\n", "import math\n", "import numpy as np\n", "from cienpy import simplebeam as sb\n", "from cienpy import rectangular_section as beam_section\n", "from cienpy import stress_strain_elastic as stst" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Define the geometry and uniform load. Note that given the graphical nature of the notebook, extreme cases can cause the figures to not be displayed." + "Define the geometry, the external actions, the mechanical property and compute the initial configuration." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Choose the dimensions\n", "L = 6 # [m]\n", "h = 200 # [mm]\n", "b = 100 # [mm]\n", "q = 4; # [kN/m]\n", "P = 10; # [kN]\n", "\n", "# Choose the material parameters\n", "E = 200e3 # [MPa]\n", "\n", "# compute the internal forces (at x=L)\n", "discr_NVM = 100\n", "x_discr = np.linspace(0, L, discr_NVM)\n", "N_discr = sb.compute_N(x_discr, P)\n", "V_discr = sb.compute_V(x_discr, q, L)\n", "M_discr = sb.compute_M(x_discr, q, L)\n", "N = N_discr[-1]\n", "V = V_discr[-1]\n", "M = M_discr[-1]\n", "\n", "# compute the parameters\n", "A = beam_section.compute_area(b, h) # [mm2]\n", "Iy = beam_section.compute_inertia_y(b, h) # [mm4] strong axis\n", "Iz = beam_section.compute_inertia_z(b, h) # [mm4] weak axis\n", "yG = beam_section.compute_centroid_y(h)\n", "y_n_axis = stst.compute_neutral_axis(N, A, Iy, M, yG)\n", "\n", "# compute the reactions\n", "Rx = sb.compute_Rx(P)\n", "Ry_l = sb.compute_Ry_l(q, L)\n", "Ry_r = sb.compute_Ry_r(q, L)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Run the complex code for the interactive visualisation:" + "Run the complex code to generate the **interactive visualisation tool**:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", - "
\n" + "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function embed_document(root) {\n", " \n", - " const docs_json = {\"2176674f-1649-400e-926b-89abf8d8156a\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1923\"}]},\"id\":\"1924\",\"type\":\"Column\"},{\"attributes\":{\"axis\":{\"id\":\"1799\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1802\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"N and M at position x\"},\"id\":\"1785\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2037\"},\"group\":null,\"major_label_policy\":{\"id\":\"2038\"},\"ticker\":{\"id\":\"1800\"},\"visible\":false},\"id\":\"1799\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"1828\"}],\"center\":[{\"id\":\"1831\"},{\"id\":\"1835\"},{\"id\":\"1866\"}],\"height\":200,\"left\":[{\"id\":\"1832\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1860\"},{\"id\":\"1897\"}],\"title\":{\"id\":\"1818\"},\"toolbar\":{\"id\":\"1843\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1820\"},\"x_scale\":{\"id\":\"1824\"},\"y_range\":{\"id\":\"1822\"},\"y_scale\":{\"id\":\"1826\"}},\"id\":\"1817\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2107\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1995\"},\"selection_policy\":{\"id\":\"1994\"}},\"id\":\"1938\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1804\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1800\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2108\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1997\"},\"selection_policy\":{\"id\":\"1996\"}},\"id\":\"1939\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1994\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1808\",\"type\":\"HelpTool\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1999\"},\"selection_policy\":{\"id\":\"1998\"}},\"id\":\"1940\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1995\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1803\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1809\"}},\"id\":\"1805\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1806\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1807\",\"type\":\"ResetTool\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2001\"},\"selection_policy\":{\"id\":\"2000\"}},\"id\":\"1941\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1996\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2066\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1809\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1997\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2067\",\"type\":\"AllLabels\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2003\"},\"selection_policy\":{\"id\":\"2002\"}},\"id\":\"1942\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1858\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2069\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1998\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1856\"}},\"id\":\"1861\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2109\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2005\"},\"selection_policy\":{\"id\":\"2004\"}},\"id\":\"1943\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2070\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1999\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2125\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1862\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"2042\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1863\",\"type\":\"Arrow\"},{\"attributes\":{},\"id\":\"2110\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2143\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2126\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1859\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2144\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2000\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1837\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2111\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2001\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1822\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2002\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"2075\"},\"group\":null,\"major_label_policy\":{\"id\":\"2076\"},\"ticker\":{\"id\":\"1829\"},\"visible\":false},\"id\":\"1828\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2003\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1820\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2112\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2145\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2004\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2146\",\"type\":\"Selection\"},{\"attributes\":{\"tools\":[{\"id\":\"1803\"},{\"id\":\"1804\"},{\"id\":\"1805\"},{\"id\":\"1806\"},{\"id\":\"1807\"},{\"id\":\"1808\"}]},\"id\":\"1810\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2005\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2072\"},\"group\":null,\"major_label_policy\":{\"id\":\"2073\"},\"ticker\":{\"id\":\"1833\"},\"visible\":false},\"id\":\"1832\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1824\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1828\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1831\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"V at position x\"},\"id\":\"1818\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1829\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1832\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1835\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1850\"},\"glyph\":{\"id\":\"1851\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1853\"},\"nonselection_glyph\":{\"id\":\"1852\"},\"view\":{\"id\":\"1855\"}},\"id\":\"1854\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2072\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1826\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"x\":[-1.6666666666666667,0,0,-1.6666666666666667],\"y\":[-10,-10,10,10]},\"selected\":{\"id\":\"2144\"},\"selection_policy\":{\"id\":\"2143\"}},\"id\":\"1856\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1833\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2073\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1841\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2075\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2128\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1836\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1842\"}},\"id\":\"1838\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1839\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2076\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2129\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1840\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1857\",\"type\":\"Line\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1842\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"tools\":[{\"id\":\"1836\"},{\"id\":\"1837\"},{\"id\":\"1838\"},{\"id\":\"1839\"},{\"id\":\"1840\"},{\"id\":\"1841\"}]},\"id\":\"1843\",\"type\":\"Toolbar\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2149\"},\"selection_policy\":{\"id\":\"2148\"}},\"id\":\"2077\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1856\"},\"glyph\":{\"id\":\"1857\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1859\"},\"nonselection_glyph\":{\"id\":\"1858\"},\"view\":{\"id\":\"1861\"}},\"id\":\"1860\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1005\"}},\"id\":\"1223\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"blue\",\"hatch_alpha\":0.2,\"hatch_color\":\"navy\",\"line_alpha\":0.2,\"line_color\":\"navy\",\"x\":{\"field\":\"x_fade\"},\"y\":{\"field\":\"y\"}},\"id\":\"1221\",\"type\":\"Patch\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1507\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"children\":[{\"id\":\"1041\"},{\"id\":\"1905\"},{\"id\":\"1909\"}]},\"id\":\"1910\",\"type\":\"Row\"},{\"attributes\":{\"below\":[{\"id\":\"1527\"}],\"center\":[{\"id\":\"1530\"},{\"id\":\"1534\"}],\"height\":200,\"left\":[{\"id\":\"1531\"}],\"renderers\":[{\"id\":\"1768\"},{\"id\":\"1774\"},{\"id\":\"1780\"}],\"title\":{\"id\":\"1518\"},\"toolbar\":{\"id\":\"1543\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1520\"},\"x_scale\":{\"id\":\"1523\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1525\"}},\"id\":\"1517\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_color\":{\"value\":\"orange\"},\"line_color\":{\"value\":\"orange\"},\"size\":{\"value\":17.954645502230758}},\"id\":\"1227\",\"type\":\"VeeHead\"},{\"attributes\":{\"children\":[{\"id\":\"1906\"},{\"id\":\"1108\"},{\"id\":\"1109\"},{\"id\":\"1907\"},{\"id\":\"1908\"},{\"id\":\"1256\"},{\"id\":\"1255\"},{\"id\":\"1257\"},{\"id\":\"1258\"},{\"id\":\"1259\"},{\"id\":\"1260\"}]},\"id\":\"1909\",\"type\":\"Column\"},{\"attributes\":{\"width\":200},\"id\":\"1916\",\"type\":\"Spacer\"},{\"attributes\":{\"children\":[{\"id\":\"1128\"},{\"id\":\"1910\"}]},\"id\":\"1911\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"2090\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"height\":10},\"id\":\"1912\",\"type\":\"Spacer\"},{\"attributes\":{\"children\":[{\"id\":\"1911\"},{\"id\":\"1913\"}]},\"id\":\"1914\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"1489\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2091\",\"type\":\"Selection\"},{\"attributes\":{\"children\":[{\"id\":\"1008\"},{\"id\":\"1912\"},{\"id\":\"1262\"},{\"id\":\"1296\"},{\"id\":\"1328\"}]},\"id\":\"1913\",\"type\":\"Column\"},{\"attributes\":{\"width\":200},\"id\":\"1917\",\"type\":\"Spacer\"},{\"attributes\":{\"width\":200},\"id\":\"1918\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"2016\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"children\":[{\"id\":\"1817\"},{\"id\":\"1916\"},{\"id\":\"1551\"},{\"id\":\"1917\"},{\"id\":\"1918\"},{\"id\":\"1620\"}]},\"id\":\"1919\",\"type\":\"Row\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1161\"},\"glyph\":{\"id\":\"1162\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1164\"},\"nonselection_glyph\":{\"id\":\"1163\"},\"view\":{\"id\":\"1166\"}},\"id\":\"1165\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"1052\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1055\",\"type\":\"Grid\"},{\"attributes\":{\"children\":[{\"id\":\"1784\"},{\"id\":\"1449\"},{\"id\":\"1414\"},{\"id\":\"1517\"},{\"id\":\"1483\"},{\"id\":\"1586\"}]},\"id\":\"1915\",\"type\":\"Row\"},{\"attributes\":{\"source\":{\"id\":\"1161\"}},\"id\":\"1166\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2017\",\"type\":\"Selection\"},{\"attributes\":{\"children\":[{\"id\":\"1915\"},{\"id\":\"1919\"}]},\"id\":\"1920\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"DataRange1d\"},{\"attributes\":{\"children\":[{\"id\":\"1920\"}]},\"id\":\"1921\",\"type\":\"Row\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.6},\"fill_color\":{\"value\":\"blue\"},\"hatch_alpha\":{\"value\":0.6},\"hatch_color\":{\"value\":\"navy\"},\"height\":{\"value\":0.4},\"line_alpha\":{\"value\":0.6},\"line_color\":{\"value\":\"navy\"},\"width\":{\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1168\",\"type\":\"Rect\"},{\"attributes\":{\"axis_label\":\"Width b [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2008\"},\"group\":null,\"major_label_policy\":{\"id\":\"2009\"},\"ticker\":{\"id\":\"1080\"}},\"id\":\"1052\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"x\":[3.0],\"y\":[0.6]},\"selected\":{\"id\":\"2019\"},\"selection_policy\":{\"id\":\"2018\"}},\"id\":\"1167\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1182\"}},\"id\":\"1187\",\"type\":\"CDSView\"},{\"attributes\":{\"tools\":[{\"id\":\"1467\"},{\"id\":\"1468\"},{\"id\":\"1469\"},{\"id\":\"1470\"},{\"id\":\"1471\"},{\"id\":\"1472\"},{\"id\":\"1474\"}]},\"id\":\"1475\",\"type\":\"Toolbar\"},{\"attributes\":{\"children\":[{\"id\":\"1914\"},{\"id\":\"1921\"}]},\"id\":\"1922\",\"type\":\"Column\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1167\"},\"glyph\":{\"id\":\"1168\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1170\"},\"nonselection_glyph\":{\"id\":\"1169\"},\"view\":{\"id\":\"1172\"}},\"id\":\"1171\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1486\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"navy\"},\"height\":{\"value\":0.4},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"navy\"},\"width\":{\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1169\",\"type\":\"Rect\"},{\"attributes\":{\"data\":{\"x\":[0],\"y\":[0]},\"selected\":{\"id\":\"2091\"},\"selection_policy\":{\"id\":\"2090\"}},\"id\":\"1074\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2092\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_color\":{\"value\":\"green\"},\"line_color\":{\"value\":\"green\"},\"size\":{\"value\":16.785266909588593}},\"id\":\"1179\",\"type\":\"VeeHead\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"blue\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"navy\"},\"height\":{\"value\":0.4},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"navy\"},\"width\":{\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1170\",\"type\":\"Rect\"},{\"attributes\":{},\"id\":\"2093\",\"type\":\"Selection\"},{\"attributes\":{\"children\":[{\"id\":\"1922\"}]},\"id\":\"1923\",\"type\":\"Row\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1173\"},\"glyph\":{\"id\":\"1174\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1176\"},\"nonselection_glyph\":{\"id\":\"1175\"},\"view\":{\"id\":\"1178\"}},\"id\":\"1177\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"text\":[\"q\"],\"x\":[-0.2],\"y\":[0.4]},\"selected\":{\"id\":\"2021\"},\"selection_policy\":{\"id\":\"2020\"}},\"id\":\"1173\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Bending stress and centroid\"},\"id\":\"1484\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1061\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1167\"}},\"id\":\"1172\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1005\"}},\"id\":\"1217\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Cross-section of the beam\"},\"id\":\"1042\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2066\"},\"group\":null,\"major_label_policy\":{\"id\":\"2067\"},\"ticker\":{\"id\":\"1601\"}},\"id\":\"1600\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text_color\":{\"value\":\"blue\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1174\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"2018\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1066\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis\":{\"id\":\"1056\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1059\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2006\"},\"group\":null,\"major_label_policy\":{\"id\":\"2007\"},\"ticker\":{\"id\":\"1080\"}},\"id\":\"1056\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1173\"}},\"id\":\"1178\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2019\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1179\"},\"group\":null,\"line_color\":{\"value\":\"green\"},\"line_width\":{\"value\":2.3978952727983707},\"source\":{\"id\":\"1951\"},\"start\":null,\"x_end\":{\"value\":6},\"x_start\":{\"value\":7.0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1180\",\"type\":\"Arrow\"},{\"attributes\":{},\"id\":\"1050\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2037\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_color\":{\"value\":\"blue\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1175\",\"type\":\"Text\"},{\"attributes\":{\"interval\":50},\"id\":\"1080\",\"type\":\"SingleIntervalTicker\"},{\"attributes\":{},\"id\":\"1539\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1122\"},\"glyph\":{\"id\":\"1123\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1125\"},\"nonselection_glyph\":{\"id\":\"1124\"},\"view\":{\"id\":\"1127\"}},\"id\":\"1126\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"text\":[\"P\"],\"x\":[6.5],\"y\":[0.2]},\"selected\":{\"id\":\"2023\"},\"selection_policy\":{\"id\":\"2022\"}},\"id\":\"1182\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2038\",\"type\":\"AllLabels\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_color\":{\"value\":\"blue\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1176\",\"type\":\"Text\"},{\"attributes\":{\"axis\":{\"id\":\"1596\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1599\",\"type\":\"Grid\"},{\"attributes\":{\"text_align\":{\"value\":\"right\"},\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1125\",\"type\":\"Text\"},{\"attributes\":{\"tools\":[{\"id\":\"1060\"},{\"id\":\"1061\"},{\"id\":\"1062\"},{\"id\":\"1063\"},{\"id\":\"1064\"},{\"id\":\"1065\"}]},\"id\":\"1067\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2040\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1189\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1601\",\"type\":\"BasicTicker\"},{\"attributes\":{\"data\":{\"x\":[0,60],\"y\":[0,0]},\"selected\":{\"id\":\"1986\"},\"selection_policy\":{\"id\":\"1985\"}},\"id\":\"1206\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2025\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1206\"},\"glyph\":{\"id\":\"1207\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1209\"},\"nonselection_glyph\":{\"id\":\"1208\"},\"view\":{\"id\":\"1211\"}},\"id\":\"1210\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1065\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2041\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1182\"},\"glyph\":{\"id\":\"1183\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1185\"},\"nonselection_glyph\":{\"id\":\"1184\"},\"view\":{\"id\":\"1187\"}},\"id\":\"1186\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1060\",\"type\":\"PanTool\"},{\"attributes\":{\"text_color\":{\"value\":\"green\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1183\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"1523\",\"type\":\"LinearScale\"},{\"attributes\":{\"overlay\":{\"id\":\"1066\"}},\"id\":\"1062\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1005\"},\"glyph\":{\"id\":\"1219\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1221\"},\"nonselection_glyph\":{\"id\":\"1220\"},\"view\":{\"id\":\"1223\"}},\"id\":\"1222\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1063\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2026\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1064\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2027\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1532\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1195\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1197\"},\"nonselection_glyph\":{\"id\":\"1196\"},\"view\":{\"id\":\"1199\"}},\"id\":\"1198\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1538\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2094\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_color\":{\"value\":\"green\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1184\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"2095\",\"type\":\"Selection\"},{\"attributes\":{\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1201\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2028\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1190\",\"type\":\"Circle\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_color\":{\"value\":\"green\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1185\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"2020\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1189\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1191\"},\"nonselection_glyph\":{\"id\":\"1190\"},\"view\":{\"id\":\"1193\"}},\"id\":\"1192\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1074\"},\"glyph\":{\"id\":\"1075\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1077\"},\"nonselection_glyph\":{\"id\":\"1076\"},\"view\":{\"id\":\"1079\"}},\"id\":\"1078\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1191\",\"type\":\"Circle\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2115\"},\"selection_policy\":{\"id\":\"2114\"}},\"id\":\"2042\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1193\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2021\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1536\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1224\"},\"group\":null,\"line_color\":{\"value\":\"green\"},\"line_width\":{\"value\":2.3978952727983707},\"source\":{\"id\":\"1938\"},\"start\":null,\"x_end\":{\"value\":60},\"x_start\":{\"value\":70},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1225\",\"type\":\"Arrow\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1862\",\"type\":\"VeeHead\"},{\"attributes\":{},\"id\":\"1504\",\"type\":\"SaveTool\"},{\"attributes\":{\"axis\":{\"id\":\"1308\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1311\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"xF\"},\"y\":{\"field\":\"y\"}},\"id\":\"1196\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1505\",\"type\":\"ResetTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"green\"},\"line_color\":{\"value\":\"green\"},\"size\":{\"value\":16.785266909588593}},\"id\":\"1224\",\"type\":\"VeeHead\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"xF\"},\"y\":{\"field\":\"y\"}},\"id\":\"1195\",\"type\":\"Circle\"},{\"attributes\":{\"overlay\":{\"id\":\"1507\"}},\"id\":\"1503\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":0.3,\"fill_color\":\"blue\",\"hatch_alpha\":0.3,\"hatch_color\":\"navy\",\"line_alpha\":0.3,\"line_color\":\"navy\",\"x\":{\"field\":\"x_fade\"},\"y\":{\"field\":\"y\"}},\"id\":\"1219\",\"type\":\"Patch\"},{\"attributes\":{},\"id\":\"2022\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1004\"},\"glyph\":{\"id\":\"1201\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1203\"},\"nonselection_glyph\":{\"id\":\"1202\"},\"view\":{\"id\":\"1205\"}},\"id\":\"1204\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1199\",\"type\":\"CDSView\"},{\"attributes\":{\"tools\":[{\"id\":\"1501\"},{\"id\":\"1502\"},{\"id\":\"1503\"},{\"id\":\"1504\"},{\"id\":\"1505\"},{\"id\":\"1506\"},{\"id\":\"1508\"}]},\"id\":\"1509\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1506\",\"type\":\"HelpTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"xF\"},\"y\":{\"field\":\"y\"}},\"id\":\"1197\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1520\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"blue\",\"hatch_alpha\":0.1,\"hatch_color\":\"navy\",\"line_alpha\":0.1,\"line_color\":\"navy\",\"x\":{\"field\":\"x_fade\"},\"y\":{\"field\":\"y\"}},\"id\":\"1220\",\"type\":\"Patch\"},{\"attributes\":{},\"id\":\"1979\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Strain\",\"@x %\"],[\"Height\",\"@y mm\"]]},\"id\":\"1542\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis\":{\"id\":\"1497\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1500\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2097\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1202\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1209\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1980\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1535\",\"type\":\"PanTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1203\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Bending strain\"},\"id\":\"1518\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1525\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1004\"}},\"id\":\"1205\",\"type\":\"CDSView\"},{\"attributes\":{\"axis\":{\"id\":\"1527\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1530\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1207\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1005\"},\"glyph\":{\"id\":\"1213\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1215\"},\"nonselection_glyph\":{\"id\":\"1214\"},\"view\":{\"id\":\"1217\"}},\"id\":\"1216\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1074\"}},\"id\":\"1079\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1206\"}},\"id\":\"1211\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":\"Strain \\u03b5\\u2098 [%]\",\"coordinates\":null,\"formatter\":{\"id\":\"2057\"},\"group\":null,\"major_label_policy\":{\"id\":\"2058\"},\"ticker\":{\"id\":\"1782\"}},\"id\":\"1527\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2023\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1208\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"1541\"}},\"id\":\"1537\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"blue\",\"hatch_alpha\":0.2,\"hatch_color\":\"navy\",\"line_alpha\":0.2,\"line_color\":\"navy\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1215\",\"type\":\"Patch\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1084\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1086\"},\"nonselection_glyph\":{\"id\":\"1085\"},\"view\":{\"id\":\"1088\"}},\"id\":\"1087\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2055\"},\"group\":null,\"major_label_policy\":{\"id\":\"2056\"},\"ticker\":{\"id\":\"1532\"},\"visible\":false},\"id\":\"1531\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1531\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1534\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1605\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1928\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1611\",\"type\":\"HoverTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1027\"},{\"id\":\"1028\"},{\"id\":\"1029\"},{\"id\":\"1030\"},{\"id\":\"1031\"},{\"id\":\"1032\"}]},\"id\":\"1034\",\"type\":\"Toolbar\"},{\"attributes\":{\"tools\":[{\"id\":\"1570\"},{\"id\":\"1571\"},{\"id\":\"1572\"},{\"id\":\"1573\"},{\"id\":\"1574\"},{\"id\":\"1575\"},{\"id\":\"1577\"}]},\"id\":\"1578\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1930\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1609\",\"type\":\"HelpTool\"},{\"attributes\":{\"axis\":{\"id\":\"1600\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1603\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1604\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1610\"}},\"id\":\"1606\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1607\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1608\",\"type\":\"ResetTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1610\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1681\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1683\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1684\"},\"glyph\":{\"id\":\"1685\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1687\"},\"nonselection_glyph\":{\"id\":\"1686\"},\"view\":{\"id\":\"1689\"}},\"id\":\"1688\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1697\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1699\"},\"nonselection_glyph\":{\"id\":\"1698\"},\"view\":{\"id\":\"1701\"}},\"id\":\"1700\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1680\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1626\",\"type\":\"LinearScale\"},{\"attributes\":{\"tools\":[{\"id\":\"1604\"},{\"id\":\"1605\"},{\"id\":\"1606\"},{\"id\":\"1607\"},{\"id\":\"1608\"},{\"id\":\"1609\"},{\"id\":\"1611\"}]},\"id\":\"1612\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1631\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1623\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2103\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"below\":[{\"id\":\"1630\"}],\"center\":[{\"id\":\"1633\"},{\"id\":\"1637\"}],\"height\":200,\"renderers\":[{\"id\":\"1730\"},{\"id\":\"1736\"},{\"id\":\"1742\"}],\"right\":[{\"id\":\"1634\"}],\"title\":{\"id\":\"1621\"},\"toolbar\":{\"id\":\"1646\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1623\"},\"x_scale\":{\"id\":\"1626\"},\"y_range\":{\"id\":\"1556\"},\"y_scale\":{\"id\":\"1628\"}},\"id\":\"1620\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Total stress \\u03c4\"},\"id\":\"1621\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2104\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1642\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1628\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1645\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis\":{\"id\":\"1630\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1633\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c4 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2088\"},\"group\":null,\"major_label_policy\":{\"id\":\"2089\"},\"ticker\":{\"id\":\"1631\"}},\"id\":\"1630\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1639\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2085\"},\"group\":null,\"major_label_policy\":{\"id\":\"2086\"},\"ticker\":{\"id\":\"1635\"}},\"id\":\"1634\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1634\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1637\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1933\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1635\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2105\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1934\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1643\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1638\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2106\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1679\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1681\"},\"nonselection_glyph\":{\"id\":\"1680\"},\"view\":{\"id\":\"1683\"}},\"id\":\"1682\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1936\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1644\"}},\"id\":\"1640\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1641\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1937\",\"type\":\"AllLabels\"},{\"attributes\":{\"data\":{\"x\":[-30.0,30.0],\"y\":[100.0,100.0]},\"selected\":{\"id\":\"2136\"},\"selection_policy\":{\"id\":\"2135\"}},\"id\":\"1684\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1644\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1661\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1663\"},\"nonselection_glyph\":{\"id\":\"1662\"},\"view\":{\"id\":\"1665\"}},\"id\":\"1664\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"1019\"}],\"center\":[{\"id\":\"1022\"},{\"id\":\"1026\"},{\"id\":\"1180\"}],\"height\":200,\"left\":[{\"id\":\"1023\"}],\"min_border_left\":0,\"renderers\":[{\"id\":\"1087\"},{\"id\":\"1093\"},{\"id\":\"1099\"},{\"id\":\"1171\"},{\"id\":\"1177\"},{\"id\":\"1186\"},{\"id\":\"1192\"}],\"title\":{\"id\":\"1009\"},\"toolbar\":{\"id\":\"1034\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1015\"},\"y_range\":{\"id\":\"1013\"},\"y_scale\":{\"id\":\"1017\"}},\"id\":\"1008\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2114\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2115\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2135\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"1019\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1022\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1693\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1772\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2116\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0},\"height\":{\"value\":480.0},\"line_alpha\":{\"value\":0},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":240.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1075\",\"type\":\"Rect\"},{\"attributes\":{},\"id\":\"2136\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1298\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1028\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2117\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2151\"},\"selection_policy\":{\"id\":\"2150\"}},\"id\":\"1690\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1654\"}},\"id\":\"1659\",\"type\":\"CDSView\"},{\"attributes\":{\"tools\":[{\"id\":\"1280\"},{\"id\":\"1281\"},{\"id\":\"1282\"},{\"id\":\"1283\"},{\"id\":\"1284\"},{\"id\":\"1285\"},{\"id\":\"1287\"}]},\"id\":\"1288\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1962\"},\"group\":null,\"major_label_policy\":{\"id\":\"1963\"},\"ticker\":{\"id\":\"1305\"},\"visible\":false},\"id\":\"1304\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1959\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1300\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2055\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data\":{\"A\":[20000],\"E\":[200000.0],\"FBD\":[0],\"Iy\":[66666666.666666664],\"Iz\":[16666666.666666666],\"L\":[6],\"M\":[0.0],\"N\":[-10.0],\"P\":[10],\"Rx\":[10],\"Ry_l\":[12.0],\"Ry_r\":[12.0],\"SCALE\":[10],\"V\":[12.0],\"b\":[100],\"h\":[200],\"q\":[4],\"state\":[\"IDLE\"],\"x\":[6],\"xF\":[60],\"y\":[0],\"yG\":[100.0],\"y_n_axis\":[100.0]},\"selected\":{\"id\":\"1982\"},\"selection_policy\":{\"id\":\"1981\"}},\"id\":\"1007\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1315\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1960\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1313\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"below\":[{\"id\":\"1052\"}],\"center\":[{\"id\":\"1055\"},{\"id\":\"1059\"},{\"id\":\"1111\"},{\"id\":\"1120\"}],\"left\":[{\"id\":\"1056\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1078\"},{\"id\":\"1105\"},{\"id\":\"1117\"},{\"id\":\"1126\"}],\"title\":{\"id\":\"1042\"},\"toolbar\":{\"id\":\"1067\"},\"toolbar_location\":null,\"width\":300,\"x_range\":{\"id\":\"1044\"},\"x_scale\":{\"id\":\"1048\"},\"y_range\":{\"id\":\"1046\"},\"y_scale\":{\"id\":\"1050\"}},\"id\":\"1041\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1302\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1655\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1305\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2056\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1317\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1962\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1318\"}},\"id\":\"1314\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2057\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data\":{\"x\":[0,0,60,60],\"x_fade\":[0,0,60,60],\"y\":[4,8,8,4]},\"selected\":{\"id\":\"1988\"},\"selection_policy\":{\"id\":\"1987\"}},\"id\":\"1005\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1316\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1963\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1989\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":[0,0],\"y\":[0,200]},\"selected\":{\"id\":\"2119\"},\"selection_policy\":{\"id\":\"2118\"}},\"id\":\"1006\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2058\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1027\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2118\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1990\",\"type\":\"Selection\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1318\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2124\"},\"selection_policy\":{\"id\":\"2123\"}},\"id\":\"1654\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2119\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2157\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"tools\":[{\"id\":\"1638\"},{\"id\":\"1639\"},{\"id\":\"1640\"},{\"id\":\"1641\"},{\"id\":\"1642\"},{\"id\":\"1643\"},{\"id\":\"1645\"}]},\"id\":\"1646\",\"type\":\"Toolbar\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1698\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2158\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1657\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Simple supported beam\"},\"id\":\"1009\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1393\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1654\"},\"glyph\":{\"id\":\"1655\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1657\"},\"nonselection_glyph\":{\"id\":\"1656\"},\"view\":{\"id\":\"1659\"}},\"id\":\"1658\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,6],\"y\":[0,0]},\"selected\":{\"id\":\"2013\"},\"selection_policy\":{\"id\":\"2012\"}},\"id\":\"1003\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1662\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1672\"},\"glyph\":{\"id\":\"1673\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1675\"},\"nonselection_glyph\":{\"id\":\"1674\"},\"view\":{\"id\":\"1677\"}},\"id\":\"1676\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"N\"}},\"id\":\"1397\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1031\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1656\",\"type\":\"Line\"},{\"attributes\":{\"end\":0.9,\"start\":-0.4},\"id\":\"1013\",\"type\":\"Range1d\"},{\"attributes\":{\"data\":{\"x\":[0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2134\"},\"selection_policy\":{\"id\":\"2133\"}},\"id\":\"1672\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2096\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"end\":7.2,\"start\":-1.2000000000000002},\"id\":\"1011\",\"type\":\"Range1d\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2060\"},\"group\":null,\"major_label_policy\":{\"id\":\"2061\"},\"ticker\":{\"id\":\"1498\"},\"visible\":false},\"id\":\"1497\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1661\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1395\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1691\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1663\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1498\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1015\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1991\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1710\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1667\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2120\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1665\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2138\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1992\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":[-3.0,3.0],\"y\":[0,0]},\"selected\":{\"id\":\"2126\"},\"selection_policy\":{\"id\":\"2125\"}},\"id\":\"1666\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1690\"},\"glyph\":{\"id\":\"1691\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1693\"},\"nonselection_glyph\":{\"id\":\"1692\"},\"view\":{\"id\":\"1695\"}},\"id\":\"1694\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2121\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1669\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2139\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1666\"},\"glyph\":{\"id\":\"1667\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1669\"},\"nonselection_glyph\":{\"id\":\"1668\"},\"view\":{\"id\":\"1671\"}},\"id\":\"1670\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":480.0},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":240.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1077\",\"type\":\"Rect\"},{\"attributes\":{\"tools\":[{\"id\":\"1312\"},{\"id\":\"1313\"},{\"id\":\"1314\"},{\"id\":\"1315\"},{\"id\":\"1316\"},{\"id\":\"1317\"},{\"id\":\"1319\"}]},\"id\":\"1320\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"1708\"}},\"id\":\"1713\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1675\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1668\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1968\"},\"group\":null,\"major_label_policy\":{\"id\":\"1969\"},\"ticker\":{\"id\":\"1337\"}},\"id\":\"1336\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1032\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1030\",\"type\":\"SaveTool\"},{\"attributes\":{\"source\":{\"id\":\"1702\"}},\"id\":\"1707\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1946\"},\"group\":null,\"major_label_policy\":{\"id\":\"1947\"},\"ticker\":{\"id\":\"1024\"},\"visible\":false},\"id\":\"1023\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1666\"}},\"id\":\"1671\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1673\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1330\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1685\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1023\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1026\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1965\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1672\"}},\"id\":\"1677\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1674\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2060\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"1336\"}],\"center\":[{\"id\":\"1339\"},{\"id\":\"1343\"}],\"height\":200,\"left\":[{\"id\":\"1340\"}],\"renderers\":[{\"id\":\"1388\"},{\"id\":\"1394\"},{\"id\":\"1412\"}],\"title\":{\"id\":\"1930\"},\"toolbar\":{\"id\":\"1352\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1332\"},\"y_range\":{\"id\":\"1330\"},\"y_scale\":{\"id\":\"1334\"}},\"id\":\"1328\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1703\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1332\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1966\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1684\"}},\"id\":\"1689\",\"type\":\"CDSView\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1679\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2061\",\"type\":\"AllLabels\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Position\",\"@x m\"],[\"Bending moment\",\"@y kNm\"]]},\"id\":\"1351\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1968\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.1,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1686\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1334\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2063\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1690\"}},\"id\":\"1695\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1337\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1336\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1339\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1969\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1345\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1687\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2064\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1692\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1340\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1343\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2139\"},\"selection_policy\":{\"id\":\"2138\"}},\"id\":\"1708\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis_label\":\"Bending moment M [kNm]\",\"coordinates\":null,\"formatter\":{\"id\":\"1965\"},\"group\":null,\"major_label_policy\":{\"id\":\"1966\"},\"ticker\":{\"id\":\"1341\"}},\"id\":\"1340\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1697\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1391\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1393\"},\"nonselection_glyph\":{\"id\":\"1392\"},\"view\":{\"id\":\"1395\"}},\"id\":\"1394\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1341\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1771\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2140\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1701\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1349\",\"type\":\"HelpTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1033\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1699\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1344\",\"type\":\"PanTool\"},{\"attributes\":{\"data\":{\"x\":[-1.2,1.2],\"y\":[0,0]},\"selected\":{\"id\":\"2153\"},\"selection_policy\":{\"id\":\"2152\"}},\"id\":\"1702\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2141\",\"type\":\"Selection\"},{\"attributes\":{\"overlay\":{\"id\":\"1350\"}},\"id\":\"1346\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1347\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1705\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"1033\"}},\"id\":\"1029\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1715\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1717\"},\"nonselection_glyph\":{\"id\":\"1716\"},\"view\":{\"id\":\"1719\"}},\"id\":\"1718\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1348\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1702\"},\"glyph\":{\"id\":\"1703\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1705\"},\"nonselection_glyph\":{\"id\":\"1704\"},\"view\":{\"id\":\"1707\"}},\"id\":\"1706\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1711\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2123\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1949\"},\"group\":null,\"major_label_policy\":{\"id\":\"1950\"},\"ticker\":{\"id\":\"1020\"}},\"id\":\"1019\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1708\"},\"glyph\":{\"id\":\"1709\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1711\"},\"nonselection_glyph\":{\"id\":\"1710\"},\"view\":{\"id\":\"1713\"}},\"id\":\"1712\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1367\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1369\"},\"nonselection_glyph\":{\"id\":\"1368\"},\"view\":{\"id\":\"1371\"}},\"id\":\"1370\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1704\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0,60],\"y\":[0,0]},\"selected\":{\"id\":\"1984\"},\"selection_policy\":{\"id\":\"1983\"}},\"id\":\"1004\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1350\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1709\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2124\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"orange\"},\"line_color\":{\"value\":\"orange\"},\"size\":{\"value\":16.785266909588593}},\"id\":\"1233\",\"type\":\"VeeHead\"},{\"attributes\":{},\"id\":\"1426\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1236\",\"type\":\"VeeHead\"},{\"attributes\":{},\"id\":\"1540\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1423\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1236\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"1942\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1237\",\"type\":\"Arrow\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Axial stress\"},\"id\":\"1415\",\"type\":\"Title\"},{\"attributes\":{\"fill_color\":{\"value\":\"orange\"},\"line_color\":{\"value\":\"orange\"},\"size\":{\"value\":17.954645502230758}},\"id\":\"1230\",\"type\":\"VeeHead\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1541\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1227\"},\"group\":null,\"line_color\":{\"value\":\"orange\"},\"line_width\":{\"value\":2.5649493574615367},\"source\":{\"id\":\"1939\"},\"start\":null,\"x_end\":{\"value\":60},\"x_start\":{\"value\":60},\"y_end\":{\"value\":0},\"y_start\":{\"value\":-12.0}},\"id\":\"1228\",\"type\":\"Arrow\"},{\"attributes\":{\"axis\":{\"id\":\"1425\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1428\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1239\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"1943\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1240\",\"type\":\"Arrow\"},{\"attributes\":{},\"id\":\"1421\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1230\"},\"group\":null,\"line_color\":{\"value\":\"orange\"},\"line_width\":{\"value\":2.5649493574615367},\"source\":{\"id\":\"1940\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":-12.0}},\"id\":\"1231\",\"type\":\"Arrow\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c3\\u2099 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2052\"},\"group\":null,\"major_label_policy\":{\"id\":\"2053\"},\"ticker\":{\"id\":\"1426\"}},\"id\":\"1425\",\"type\":\"LinearAxis\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1239\",\"type\":\"VeeHead\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1440\",\"type\":\"HoverTool\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1233\"},\"group\":null,\"line_color\":{\"value\":\"orange\"},\"line_width\":{\"value\":2.3978952727983707},\"source\":{\"id\":\"1941\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":-10},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1234\",\"type\":\"Arrow\"},{\"attributes\":{},\"id\":\"1594\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1434\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis_label\":\"Shear force V [kN]\",\"coordinates\":null,\"formatter\":{\"id\":\"1959\"},\"group\":null,\"major_label_policy\":{\"id\":\"1960\"},\"ticker\":{\"id\":\"1309\"}},\"id\":\"1308\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1244\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2049\"},\"group\":null,\"major_label_policy\":{\"id\":\"2050\"},\"ticker\":{\"id\":\"1430\"},\"visible\":false},\"id\":\"1429\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data\":{\"x\":[0.0],\"y\":[0.0]},\"selected\":{\"id\":\"1992\"},\"selection_policy\":{\"id\":\"1991\"}},\"id\":\"1249\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis\":{\"id\":\"1429\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1432\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1592\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"1990\"},\"selection_policy\":{\"id\":\"1989\"}},\"id\":\"1242\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1430\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c3 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2069\"},\"group\":null,\"major_label_policy\":{\"id\":\"2070\"},\"ticker\":{\"id\":\"1597\"}},\"id\":\"1596\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1242\"},\"glyph\":{\"id\":\"1244\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1246\"},\"nonselection_glyph\":{\"id\":\"1245\"},\"view\":{\"id\":\"1248\"}},\"id\":\"1247\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1245\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1438\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1309\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1433\",\"type\":\"PanTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1246\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"1439\"}},\"id\":\"1435\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1250\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"1436\",\"type\":\"SaveTool\"},{\"attributes\":{\"source\":{\"id\":\"1242\"}},\"id\":\"1248\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1437\",\"type\":\"ResetTool\"},{\"attributes\":{\"end\":6,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1899\"}]},\"start\":0,\"step\":0.02,\"title\":\"Change the position x along the beam [m]\",\"value\":6},\"id\":\"1256\",\"type\":\"Slider\"},{\"attributes\":{},\"id\":\"1556\",\"type\":\"DataRange1d\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1249\"},\"glyph\":{\"id\":\"1250\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1252\"},\"nonselection_glyph\":{\"id\":\"1251\"},\"view\":{\"id\":\"1254\"}},\"id\":\"1253\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1251\",\"type\":\"Scatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1439\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"end\":5.0,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1904\"}]},\"start\":0.1,\"step\":0.1,\"title\":\"Change the uniform load q [kN/m]\",\"value\":4},\"id\":\"1255\",\"type\":\"Slider\"},{\"attributes\":{},\"id\":\"2033\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"text\":\"Free-body diagram (FBD):\"},\"id\":\"1257\",\"type\":\"Div\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1252\",\"type\":\"Scatter\"},{\"attributes\":{\"source\":{\"id\":\"1249\"}},\"id\":\"1254\",\"type\":\"CDSView\"},{\"attributes\":{\"tools\":[{\"id\":\"1535\"},{\"id\":\"1536\"},{\"id\":\"1537\"},{\"id\":\"1538\"},{\"id\":\"1539\"},{\"id\":\"1540\"},{\"id\":\"1542\"}]},\"id\":\"1543\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2034\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1493\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1496\",\"type\":\"Grid\"},{\"attributes\":{\"active\":0,\"js_property_callbacks\":{\"change:active\":[{\"id\":\"1903\"}]},\"labels\":[\"Right-hand\",\"Left-hand\"]},\"id\":\"1258\",\"type\":\"RadioButtonGroup\"},{\"attributes\":{},\"id\":\"1563\",\"type\":\"BasicTicker\"},{\"attributes\":{\"text\":\"Axial force P=10 kN (applied)\"},\"id\":\"1259\",\"type\":\"Div\"},{\"attributes\":{},\"id\":\"1494\",\"type\":\"BasicTicker\"},{\"attributes\":{\"text\":\"\\n

Forces and Moments:

\\n P = 10 kN
\\n Rx = 10 kN
\\n Ry (left) = 12.0 kN
\\n Ry (right) = 12.0 kN
\\n No cross section analysed.
\\n N = 0 kN
\\n V = 0 kN
\\n M = 0 kNm\\n \\n \",\"width\":170},\"id\":\"1261\",\"type\":\"Div\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c3\\u2098 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2063\"},\"group\":null,\"major_label_policy\":{\"id\":\"2064\"},\"ticker\":{\"id\":\"1494\"}},\"id\":\"1493\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1491\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Position\",\"@x m\"],[\"Axial force\",\"@y kN\"]]},\"id\":\"1287\",\"type\":\"HoverTool\"},{\"attributes\":{\"active\":[0],\"js_property_callbacks\":{\"change:active\":[{\"id\":\"1902\"}]},\"labels\":[\"Apply or remove axial force P\"]},\"id\":\"1260\",\"type\":\"CheckboxButtonGroup\"},{\"attributes\":{\"below\":[{\"id\":\"1272\"}],\"center\":[{\"id\":\"1275\"},{\"id\":\"1279\"}],\"height\":160,\"left\":[{\"id\":\"1276\"}],\"renderers\":[{\"id\":\"1364\"},{\"id\":\"1370\"},{\"id\":\"1400\"}],\"title\":{\"id\":\"1263\"},\"toolbar\":{\"id\":\"1288\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1268\"},\"y_range\":{\"id\":\"1266\"},\"y_scale\":{\"id\":\"1270\"}},\"id\":\"1262\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1554\",\"type\":\"DataRange1d\"},{\"attributes\":{\"below\":[{\"id\":\"1562\"}],\"center\":[{\"id\":\"1565\"},{\"id\":\"1569\"}],\"height\":200,\"left\":[{\"id\":\"1566\"}],\"renderers\":[{\"id\":\"1694\"},{\"id\":\"1700\"},{\"id\":\"1706\"}],\"title\":{\"id\":\"1552\"},\"toolbar\":{\"id\":\"1578\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1554\"},\"x_scale\":{\"id\":\"1558\"},\"y_range\":{\"id\":\"1556\"},\"y_scale\":{\"id\":\"1560\"}},\"id\":\"1551\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1560\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1266\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1455\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1268\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1272\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1275\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1573\",\"type\":\"SaveTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"N V M Diagrams\"},\"id\":\"1263\",\"type\":\"Title\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Shear stress\"},\"id\":\"1552\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1270\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1281\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1562\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1565\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1956\"},\"group\":null,\"major_label_policy\":{\"id\":\"1957\"},\"ticker\":{\"id\":\"1273\"},\"visible\":false},\"id\":\"1272\",\"type\":\"LinearAxis\"},{\"attributes\":{\"tools\":[{\"id\":\"1433\"},{\"id\":\"1434\"},{\"id\":\"1435\"},{\"id\":\"1436\"},{\"id\":\"1437\"},{\"id\":\"1438\"},{\"id\":\"1440\"}]},\"id\":\"1441\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1558\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c4\\u1d65 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2082\"},\"group\":null,\"major_label_policy\":{\"id\":\"2083\"},\"ticker\":{\"id\":\"1563\"}},\"id\":\"1562\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1273\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1571\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1771\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1773\"},\"nonselection_glyph\":{\"id\":\"1772\"},\"view\":{\"id\":\"1775\"}},\"id\":\"1774\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1577\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis_label\":\"Axial force N [kN]\",\"coordinates\":null,\"formatter\":{\"id\":\"1953\"},\"group\":null,\"major_label_policy\":{\"id\":\"1954\"},\"ticker\":{\"id\":\"1277\"}},\"id\":\"1276\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1276\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1279\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1277\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2079\"},\"group\":null,\"major_label_policy\":{\"id\":\"2080\"},\"ticker\":{\"id\":\"1567\"},\"visible\":false},\"id\":\"1566\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1566\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1569\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1567\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1285\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1280\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1452\",\"type\":\"DataRange1d\"},{\"attributes\":{\"below\":[{\"id\":\"1459\"}],\"center\":[{\"id\":\"1462\"},{\"id\":\"1466\"}],\"height\":200,\"left\":[{\"id\":\"1463\"}],\"renderers\":[{\"id\":\"1748\"},{\"id\":\"1754\"},{\"id\":\"1760\"}],\"title\":{\"id\":\"1450\"},\"toolbar\":{\"id\":\"1475\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1452\"},\"x_scale\":{\"id\":\"1455\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1457\"}},\"id\":\"1449\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"overlay\":{\"id\":\"1286\"}},\"id\":\"1282\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1575\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1283\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Strain\",\"@x %\"],[\"Height\",\"@y mm\"]]},\"id\":\"1474\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1284\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1570\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1576\"}},\"id\":\"1572\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1471\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Axial strain\"},\"id\":\"1450\",\"type\":\"Title\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1286\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis\":{\"id\":\"1459\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1462\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1574\",\"type\":\"ResetTool\"},{\"attributes\":{\"below\":[{\"id\":\"1304\"}],\"center\":[{\"id\":\"1307\"},{\"id\":\"1311\"}],\"height\":160,\"left\":[{\"id\":\"1308\"}],\"renderers\":[{\"id\":\"1376\"},{\"id\":\"1382\"},{\"id\":\"1406\"}],\"title\":{\"id\":\"1928\"},\"toolbar\":{\"id\":\"1320\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1300\"},\"y_range\":{\"id\":\"1298\"},\"y_scale\":{\"id\":\"1302\"}},\"id\":\"1296\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1468\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1457\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1576\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis_label\":\"Strain \\u03b5\\u2099 [%]\",\"coordinates\":null,\"formatter\":{\"id\":\"2046\"},\"group\":null,\"major_label_policy\":{\"id\":\"2047\"},\"ticker\":{\"id\":\"1762\"}},\"id\":\"1459\",\"type\":\"LinearAxis\"},{\"attributes\":{\"below\":[{\"id\":\"1596\"}],\"center\":[{\"id\":\"1599\"},{\"id\":\"1603\"}],\"height\":200,\"renderers\":[{\"id\":\"1712\"},{\"id\":\"1718\"},{\"id\":\"1724\"}],\"right\":[{\"id\":\"1600\"}],\"title\":{\"id\":\"1587\"},\"toolbar\":{\"id\":\"1612\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1589\"},\"x_scale\":{\"id\":\"1592\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1594\"}},\"id\":\"1586\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Position\",\"@x m\"],[\"Shear force\",\"@y kN\"]]},\"id\":\"1319\",\"type\":\"HoverTool\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2044\"},\"group\":null,\"major_label_policy\":{\"id\":\"2045\"},\"ticker\":{\"id\":\"1464\"},\"visible\":false},\"id\":\"1463\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1463\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1466\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1312\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1464\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1589\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1472\",\"type\":\"HelpTool\"},{\"attributes\":{\"axis\":{\"id\":\"1304\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1307\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1467\",\"type\":\"PanTool\"},{\"attributes\":{\"below\":[{\"id\":\"1493\"}],\"center\":[{\"id\":\"1496\"},{\"id\":\"1500\"}],\"height\":200,\"left\":[{\"id\":\"1497\"}],\"renderers\":[{\"id\":\"1676\"},{\"id\":\"1682\"},{\"id\":\"1688\"}],\"title\":{\"id\":\"1484\"},\"toolbar\":{\"id\":\"1509\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1486\"},\"x_scale\":{\"id\":\"1489\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1491\"}},\"id\":\"1483\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"overlay\":{\"id\":\"1473\"}},\"id\":\"1469\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Total stress \\u03c3 and neutral axis\"},\"id\":\"1587\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1470\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1597\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1473\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1088\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":6,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1085\",\"type\":\"Line\"},{\"attributes\":{\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1870\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"white\",\"hatch_alpha\":0.1,\"line_alpha\":0.1,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1091\",\"type\":\"Patch\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1096\",\"type\":\"Circle\"},{\"attributes\":{\"line_width\":6,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1084\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":6,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1086\",\"type\":\"Line\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"hatch_pattern\":{\"value\":\"/\"},\"height\":{\"value\":200},\"line_width\":{\"value\":3},\"width\":{\"value\":100},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1102\",\"type\":\"Rect\"},{\"attributes\":{\"source\":{\"id\":\"1089\"}},\"id\":\"1094\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_color\":\"white\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1090\",\"type\":\"Patch\"},{\"attributes\":{\"data\":{\"x\":[0,0.15,-0.15],\"y\":[0,-0.16887495373796552,-0.16887495373796552]},\"selected\":{\"id\":\"2015\"},\"selection_policy\":{\"id\":\"2014\"}},\"id\":\"1089\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1089\"},\"glyph\":{\"id\":\"1090\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1092\"},\"nonselection_glyph\":{\"id\":\"1091\"},\"view\":{\"id\":\"1094\"}},\"id\":\"1093\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"end\":300,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1900\"}]},\"start\":10,\"step\":10,\"title\":\"Change the width b [mm]\",\"value\":100},\"id\":\"1108\",\"type\":\"Slider\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1851\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"white\",\"hatch_alpha\":0.2,\"line_alpha\":0.2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1092\",\"type\":\"Patch\"},{\"attributes\":{\"data\":{\"x\":[0],\"y\":[0]},\"selected\":{\"id\":\"2093\"},\"selection_policy\":{\"id\":\"2092\"}},\"id\":\"1101\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[-1.6666666666666667,0,0,-1.6666666666666667],\"y\":[-10,-10,10,10]},\"selected\":{\"id\":\"2104\"},\"selection_policy\":{\"id\":\"2103\"}},\"id\":\"1850\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[6],\"y\":[-0.0975]},\"selected\":{\"id\":\"2017\"},\"selection_policy\":{\"id\":\"2016\"}},\"id\":\"1095\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"radius\":{\"value\":0.15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1097\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"radius\":{\"value\":0.15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1098\",\"type\":\"Circle\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1865\",\"type\":\"VeeHead\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_pattern\":{\"value\":\"/\"},\"height\":{\"value\":200},\"line_alpha\":{\"value\":0.1},\"line_width\":{\"value\":3},\"width\":{\"value\":100},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1103\",\"type\":\"Rect\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_pattern\":{\"value\":\"/\"},\"height\":{\"value\":200},\"line_alpha\":{\"value\":0.2},\"line_width\":{\"value\":3},\"width\":{\"value\":100},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1104\",\"type\":\"Rect\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1853\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1850\"}},\"id\":\"1855\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1095\"},\"glyph\":{\"id\":\"1096\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1098\"},\"nonselection_glyph\":{\"id\":\"1097\"},\"view\":{\"id\":\"1100\"}},\"id\":\"1099\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1852\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1095\"}},\"id\":\"1100\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1865\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"2077\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1866\",\"type\":\"Arrow\"},{\"attributes\":{\"text\":\"\\n

Geometrical and mechanical parameters:

\\n h = 200 mm
\\n b = 100 mm
\\n L = 6 m
\\n A = 2.00e+04 mm2
\\n Iy = 6.67e+07 mm4
\\n Iz = 1.67e+07 mm4\",\"width\":170},\"id\":\"1107\",\"type\":\"Div\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"2106\"},\"selection_policy\":{\"id\":\"2105\"}},\"id\":\"1868\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1113\"},\"glyph\":{\"id\":\"1114\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1116\"},\"nonselection_glyph\":{\"id\":\"1115\"},\"view\":{\"id\":\"1118\"}},\"id\":\"1117\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0.0],\"y\":[0.0]},\"selected\":{\"id\":\"2108\"},\"selection_policy\":{\"id\":\"2107\"}},\"id\":\"1875\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"gray\"},\"line_color\":{\"value\":\"gray\"},\"size\":{\"value\":15.380572041353537}},\"id\":\"1110\",\"type\":\"VeeHead\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1101\"},\"glyph\":{\"id\":\"1102\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1104\"},\"nonselection_glyph\":{\"id\":\"1103\"},\"view\":{\"id\":\"1106\"}},\"id\":\"1105\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1877\",\"type\":\"Scatter\"},{\"attributes\":{\"source\":{\"id\":\"1101\"}},\"id\":\"1106\",\"type\":\"CDSView\"},{\"attributes\":{\"end\":600,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1901\"}]},\"start\":20,\"step\":20,\"title\":\"Change the height h [mm]\",\"value\":200},\"id\":\"1109\",\"type\":\"Slider\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1868\"},\"glyph\":{\"id\":\"1870\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1872\"},\"nonselection_glyph\":{\"id\":\"1871\"},\"view\":{\"id\":\"1874\"}},\"id\":\"1873\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1110\"},\"group\":null,\"line_color\":{\"value\":\"gray\"},\"line_width\":{\"value\":2.1972245773362196},\"source\":{\"id\":\"2010\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":128.0},\"y_start\":{\"value\":0}},\"id\":\"1111\",\"type\":\"Arrow\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1871\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1113\"}},\"id\":\"1118\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1872\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1131\",\"type\":\"DataRange1d\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1115\",\"type\":\"Text\"},{\"attributes\":{\"source\":{\"id\":\"1868\"}},\"id\":\"1874\",\"type\":\"CDSView\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1114\",\"type\":\"Text\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1883\",\"type\":\"Text\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1875\"},\"glyph\":{\"id\":\"1876\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1878\"},\"nonselection_glyph\":{\"id\":\"1877\"},\"view\":{\"id\":\"1880\"}},\"id\":\"1879\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"text\":[\"y\"],\"x\":[0],\"y\":[136.0]},\"selected\":{\"id\":\"2095\"},\"selection_policy\":{\"id\":\"2094\"}},\"id\":\"1113\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1116\",\"type\":\"Text\"},{\"attributes\":{\"data\":{\"text\":[\"\"],\"x\":[11.0],\"y\":[1]},\"selected\":{\"id\":\"2110\"},\"selection_policy\":{\"id\":\"2109\"}},\"id\":\"1881\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"gray\"},\"line_color\":{\"value\":\"gray\"},\"size\":{\"value\":15.380572041353537}},\"id\":\"1119\",\"type\":\"VeeHead\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1876\",\"type\":\"Scatter\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1119\"},\"group\":null,\"line_color\":{\"value\":\"gray\"},\"line_width\":{\"value\":2.1972245773362196},\"source\":{\"id\":\"2011\"},\"start\":null,\"x_end\":{\"value\":-80.0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1120\",\"type\":\"Arrow\"},{\"attributes\":{\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1882\",\"type\":\"Text\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1878\",\"type\":\"Scatter\"},{\"attributes\":{\"text_align\":{\"value\":\"right\"},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1123\",\"type\":\"Text\"},{\"attributes\":{\"source\":{\"id\":\"1875\"}},\"id\":\"1880\",\"type\":\"CDSView\"},{\"attributes\":{\"text_baseline\":{\"value\":\"top\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1888\",\"type\":\"Text\"},{\"attributes\":{\"text_align\":{\"value\":\"right\"},\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1124\",\"type\":\"Text\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0},\"height\":{\"value\":18.0},\"line_alpha\":{\"value\":0},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":72.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1162\",\"type\":\"Rect\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1881\"},\"glyph\":{\"id\":\"1882\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1884\"},\"nonselection_glyph\":{\"id\":\"1883\"},\"view\":{\"id\":\"1886\"}},\"id\":\"1885\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1887\"},\"glyph\":{\"id\":\"1888\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1890\"},\"nonselection_glyph\":{\"id\":\"1889\"},\"view\":{\"id\":\"1892\"}},\"id\":\"1891\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"text\":[\"z\"],\"x\":[-88.0],\"y\":[0]},\"selected\":{\"id\":\"2097\"},\"selection_policy\":{\"id\":\"2096\"}},\"id\":\"1122\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[30.0],\"y\":[0]},\"selected\":{\"id\":\"1980\"},\"selection_policy\":{\"id\":\"1979\"}},\"id\":\"1161\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1884\",\"type\":\"Text\"},{\"attributes\":{\"source\":{\"id\":\"1122\"}},\"id\":\"1127\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"text\":[\"\"],\"x\":[6],\"y\":[-5]},\"selected\":{\"id\":\"2112\"},\"selection_policy\":{\"id\":\"2111\"}},\"id\":\"1887\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":18.0},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":72.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1163\",\"type\":\"Rect\"},{\"attributes\":{\"below\":[{\"id\":\"1139\"}],\"center\":[{\"id\":\"1142\"},{\"id\":\"1146\"},{\"id\":\"1225\"},{\"id\":\"1228\"},{\"id\":\"1231\"},{\"id\":\"1234\"},{\"id\":\"1237\"},{\"id\":\"1240\"}],\"height\":200,\"left\":[{\"id\":\"1143\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1165\"},{\"id\":\"1198\"},{\"id\":\"1204\"},{\"id\":\"1210\"},{\"id\":\"1216\"},{\"id\":\"1222\"},{\"id\":\"1247\"},{\"id\":\"1253\"}],\"title\":{\"id\":\"1129\"},\"toolbar\":{\"id\":\"1154\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1131\"},\"x_scale\":{\"id\":\"1135\"},\"y_range\":{\"id\":\"1133\"},\"y_scale\":{\"id\":\"1137\"}},\"id\":\"1128\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"source\":{\"id\":\"1881\"}},\"id\":\"1886\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1133\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1887\"}},\"id\":\"1892\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1135\",\"type\":\"LinearScale\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"top\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1889\",\"type\":\"Text\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1936\"},\"group\":null,\"major_label_policy\":{\"id\":\"1937\"},\"ticker\":{\"id\":\"1140\"},\"visible\":false},\"id\":\"1139\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1893\"},\"glyph\":{\"id\":\"1894\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1896\"},\"nonselection_glyph\":{\"id\":\"1895\"},\"view\":{\"id\":\"1898\"}},\"id\":\"1897\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1933\"},\"group\":null,\"major_label_policy\":{\"id\":\"1934\"},\"ticker\":{\"id\":\"1144\"},\"visible\":false},\"id\":\"1143\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"top\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1890\",\"type\":\"Text\"},{\"attributes\":{\"data\":{\"text\":[\"\"],\"x\":[5],\"y\":[0]},\"selected\":{\"id\":\"2146\"},\"selection_policy\":{\"id\":\"2145\"}},\"id\":\"1893\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1895\",\"type\":\"Text\"},{\"attributes\":{\"axis\":{\"id\":\"1139\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1142\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1893\"}},\"id\":\"1898\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1137\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Forces and Moments Scheme\"},\"id\":\"1129\",\"type\":\"Title\"},{\"attributes\":{\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1894\",\"type\":\"Text\"},{\"attributes\":{\"axis\":{\"id\":\"1143\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1146\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1152\",\"type\":\"HelpTool\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1896\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"1140\",\"type\":\"BasicTicker\"},{\"attributes\":{\"args\":{\"M_stress_diag\":{\"id\":\"1676\"},\"N_stress_diag\":{\"id\":\"1658\"},\"V_stress_diag\":{\"id\":\"1694\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div\":{\"id\":\"1107\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_b\":{\"id\":\"1003\"},\"section\":{\"id\":\"1105\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"support_r\":{\"id\":\"1099\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data used\\n const db = source.data\\n const b = cb_obj.value // value of the slider\\n const h = db['h'][0]\\n const A = compute_area(b, h)\\n const Iy = compute_inertia_y(b, h)\\n const yG = db['yG'][0]\\n const N = db['N'][0]\\n const M = db['M'][0]\\n\\n // apply the changes\\n db['b'][0] = b\\n db['A'][0] = A\\n db['Iy'][0] = Iy\\n db['Iz'][0] = compute_inertia_z(b, h)\\n db['y_n_axis'][0] = compute_neutral_axis(N, A, Iy, M, yG)\\n\\n // update\\n update_div_geo(db, div)\\n update_section(db, section)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n\\n // emit the changes\\n source.change.emit()\\n\\n \\n function update_div_geo(data, div) {\\n // compute the parameters and dimensions\\n const L = Math.round(data['L'][0]*10)/10\\n const b = Math.round(data['b'][0])\\n const h = Math.round(data['h'][0])\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const Iz = data['Iz'][0]\\n // change the div text\\n div.text = `\\n

Geometrical and mechanical parameters:

\\n h = `+h+` mm
\\n b = `+b+` mm
\\n L = `+L+` m
\\n A = `+A.toExponential(2)+` mm2
\\n Iy = `+Iy.toExponential(2)+` mm4
\\n Iz = `+Iz.toExponential(2)+` mm4` \\n }\\n \\n \\n function update_section(data, glyph_section) {\\n // change the plot of the section\\n glyph_section.glyph.width = data['b'][0]\\n glyph_section.glyph.height = data['h'][0]\\n }\\n \\n \\n function compute_area(b, h) {\\n return b*h\\n }\\n \\n \\n function compute_inertia_y(b, h) {\\n return b*h**3/12\\n }\\n \\n \\n function compute_inertia_z(b, h) {\\n return h*b**3/12\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function compute_centroid_y(h) {\\n return h/2\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \"},\"id\":\"1900\",\"type\":\"CustomJS\"},{\"attributes\":{},\"id\":\"1144\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":18.0},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":72.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1164\",\"type\":\"Rect\"},{\"attributes\":{\"args\":{\"M_stress_diag\":{\"id\":\"1676\"},\"N_stress_diag\":{\"id\":\"1658\"},\"V_stress_diag\":{\"id\":\"1694\"},\"arr_head\":{\"id\":\"1253\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div_P\":{\"id\":\"1259\"},\"div_f\":{\"id\":\"1261\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_M\":{\"id\":\"1242\"},\"s_q\":{\"id\":\"1005\"},\"s_sb\":{\"id\":\"1004\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data\\n const db = source.data\\n const data_sb = s_sb.data\\n const data_q = s_q.data\\n const FBD = db['FBD'][0]\\n const pos = cb_obj.value\\n const q = db['q'][0]\\n const L = db['L'][0]\\n\\n // update data\\n db['N'][0] = compute_N(db['P'][0])\\n db['V'][0] = compute_V(pos, q, L)\\n db['M'][0] = compute_M(pos, q, L)\\n db['x'][0] = pos\\n\\n // check state\\n check_state(db)\\n\\n // update:\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_scheme_position(db, data_sb, data_q)\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_div_forces(db, div_f)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // apply the changes\\n source.change.emit()\\n s_sb.change.emit()\\n s_q.change.emit()\\n\\n // declare functions\\n \\n function compute_N(P) {\\n return -P\\n }\\n \\n \\n function compute_V(x, q, L) {\\n return q*x-q*L/2\\n }\\n \\n \\n function compute_M(x, q, L) {\\n return q*x/2*(x-L)\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_scheme_position(data, data_scheme_beam, data_scheme_q) {\\n const L = data['L'][0]*data['SCALE'][0]\\n const pos = data['x'][0]*data['SCALE'][0]\\n \\n // move position of the point\\n data['xF'][0] = pos\\n \\n switch(data['state'][0]) {\\n case 'IDLE':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = L\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = L\\n data_scheme_q['x'][3] = L\\n break\\n case 'R_SEC':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n case 'L_SEC':\\n // beam\\n data_scheme_beam['x'][0] = L\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = L\\n data_scheme_q['x'][1] = L\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function update_div_forces(data, div) {\\n switch(data['state'][0]) {\\n case 'IDLE':\\n var str_sec = \\\"No cross section analysed.\\\"\\n break\\n case 'R_SEC':\\n case 'L_SEC':\\n var str_sec = \\\"Cross section at \\\"+Math.round(data['x'][0]*10)/10+\\\" m.\\\"\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n const P = data['P'][0]\\n const Rx = data['Rx'][0]\\n const Ry_l = Math.round(data['Ry_l'][0]*10)/10\\n const Ry_r = Math.round(data['Ry_r'][0]*10)/10\\n const N = Math.abs(data['N'][0])\\n const V = Math.round(Math.abs(data['V'][0])*10)/10\\n const M = Math.round(data['M'][0]*10)/10\\n \\n div.text = `\\n

Forces and Moments:

\\n P = `+P+` kN
\\n Rx = `+Rx+` kN
\\n Ry (left) = `+Ry_r+` kN
\\n Ry (right) = `+Ry_l+` kN
\\n `+str_sec+`
\\n N = `+N+` kN
\\n V = `+V+` kN
\\n M = `+M+` kNm\\n \\n ` \\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function parabola(x, a1, a2, a3) {\\n return Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a2 * x[i] + a1);\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_NVM_diagram(diagram, y) {\\n const y_ = [...y]\\n const source = diagram.data_source\\n y_.unshift(0)\\n y_.push(0)\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function check_state(data) {\\n const FBD = data['FBD'][0]\\n const pos = data['x'][0]\\n const L = data['L'][0]\\n if (FBD == 0 && pos != L) {\\n data['state'][0] = 'R_SEC'\\n } else if (FBD == 1 && pos != 0) {\\n data['state'][0] = 'L_SEC'\\n } else {\\n data['state'][0] = 'IDLE'\\n }\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \"},\"id\":\"1899\",\"type\":\"CustomJS\"},{\"attributes\":{},\"id\":\"1148\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1147\",\"type\":\"PanTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1153\"}},\"id\":\"1149\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"args\":{\"M_stress_diag\":{\"id\":\"1676\"},\"N_stress_diag\":{\"id\":\"1658\"},\"V_stress_diag\":{\"id\":\"1694\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div\":{\"id\":\"1107\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_b\":{\"id\":\"1003\"},\"s_ss\":{\"id\":\"1006\"},\"section\":{\"id\":\"1105\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"support_r\":{\"id\":\"1099\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data used\\n const db = source.data\\n const data_ss = s_ss.data\\n const b = db['b'][0]\\n const h = cb_obj.value // value of the slider\\n const A = compute_area(b, h)\\n const Iy = compute_inertia_y(b, h)\\n const N = db['N'][0]\\n const M = db['M'][0]\\n const yG = compute_centroid_y(h)\\n\\n // apply the changes\\n db['h'][0] = h\\n db['A'][0] = A\\n db['Iy'][0] = Iy\\n db['Iz'][0] = compute_inertia_z(b, h)\\n db['yG'][0] = yG\\n db['y_n_axis'][0] = compute_neutral_axis(N, A, Iy, M, yG)\\n data_ss['y'][1] = h // change the height of the section in the diagrams\\n\\n // update\\n update_div_geo(db, div)\\n update_section(db, section)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n\\n // emit the changes\\n source.change.emit()\\n s_ss.change.emit()\\n\\n \\n function update_div_geo(data, div) {\\n // compute the parameters and dimensions\\n const L = Math.round(data['L'][0]*10)/10\\n const b = Math.round(data['b'][0])\\n const h = Math.round(data['h'][0])\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const Iz = data['Iz'][0]\\n // change the div text\\n div.text = `\\n

Geometrical and mechanical parameters:

\\n h = `+h+` mm
\\n b = `+b+` mm
\\n L = `+L+` m
\\n A = `+A.toExponential(2)+` mm2
\\n Iy = `+Iy.toExponential(2)+` mm4
\\n Iz = `+Iz.toExponential(2)+` mm4` \\n }\\n \\n \\n function update_section(data, glyph_section) {\\n // change the plot of the section\\n glyph_section.glyph.width = data['b'][0]\\n glyph_section.glyph.height = data['h'][0]\\n }\\n \\n \\n function compute_area(b, h) {\\n return b*h\\n }\\n \\n \\n function compute_inertia_y(b, h) {\\n return b*h**3/12\\n }\\n \\n \\n function compute_inertia_z(b, h) {\\n return h*b**3/12\\n }\\n \\n \\n function compute_centroid_y(h) {\\n return h/2\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \"},\"id\":\"1901\",\"type\":\"CustomJS\"},{\"attributes\":{},\"id\":\"1150\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1151\",\"type\":\"ResetTool\"},{\"attributes\":{\"args\":{\"N_diag\":{\"id\":\"1364\"},\"N_stress_diag\":{\"id\":\"1658\"},\"arr_head\":{\"id\":\"1253\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"div_P\":{\"id\":\"1259\"},\"div_f\":{\"id\":\"1261\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_M\":{\"id\":\"1242\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve var from the object that uses callback\\n var f = cb_obj.active // checkbox P\\n if (f.length==0) f = [1]\\n const db = source.data\\n\\n // apply the changes\\n db['P'][0] = 10*(1-f)\\n db['N'][0] = compute_N(db['P'][0])\\n db['Rx'][0] = compute_Rx(db['P'][0])\\n\\n // update\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_N_diagram(db, N_diag)\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_div_forces(db, div_f)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // emit the changes\\n source.change.emit()\\n\\n // declare functions\\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function compute_Rx(P) {\\n return P\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_NVM_diagram(diagram, y) {\\n const y_ = [...y]\\n const source = diagram.data_source\\n y_.unshift(0)\\n y_.push(0)\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function compute_N(P) {\\n return -P\\n }\\n \\n \\n function update_N_diagram(data, glyph, discr=100) {\\n const P = data['P'][0]\\n const N_discr = Array.from({length: discr}, (_, i) => compute_N(P))\\n update_NVM_diagram(glyph, N_discr)\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function update_div_forces(data, div) {\\n switch(data['state'][0]) {\\n case 'IDLE':\\n var str_sec = \\\"No cross section analysed.\\\"\\n break\\n case 'R_SEC':\\n case 'L_SEC':\\n var str_sec = \\\"Cross section at \\\"+Math.round(data['x'][0]*10)/10+\\\" m.\\\"\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n const P = data['P'][0]\\n const Rx = data['Rx'][0]\\n const Ry_l = Math.round(data['Ry_l'][0]*10)/10\\n const Ry_r = Math.round(data['Ry_r'][0]*10)/10\\n const N = Math.abs(data['N'][0])\\n const V = Math.round(Math.abs(data['V'][0])*10)/10\\n const M = Math.round(data['M'][0]*10)/10\\n \\n div.text = `\\n

Forces and Moments:

\\n P = `+P+` kN
\\n Rx = `+Rx+` kN
\\n Ry (left) = `+Ry_r+` kN
\\n Ry (right) = `+Ry_l+` kN
\\n `+str_sec+`
\\n N = `+N+` kN
\\n V = `+V+` kN
\\n M = `+M+` kNm\\n \\n ` \\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \"},\"id\":\"1902\",\"type\":\"CustomJS\"},{\"attributes\":{\"args\":{\"arr_head\":{\"id\":\"1253\"},\"div_P\":{\"id\":\"1259\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"s_M\":{\"id\":\"1242\"},\"s_q\":{\"id\":\"1005\"},\"s_sb\":{\"id\":\"1004\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data\\n const db = source.data\\n const FBD = cb_obj.active\\n const data_sb = s_sb.data\\n const data_q = s_q.data\\n const pos = db['x'][0]\\n\\n // apply the changes\\n db['FBD'][0] = FBD\\n\\n // update\\n check_state(db)\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_scheme_position(db, data_sb, data_q)\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // emit the changes\\n source.change.emit()\\n s_sb.change.emit()\\n s_q.change.emit()\\n\\n \\n function check_state(data) {\\n const FBD = data['FBD'][0]\\n const pos = data['x'][0]\\n const L = data['L'][0]\\n if (FBD == 0 && pos != L) {\\n data['state'][0] = 'R_SEC'\\n } else if (FBD == 1 && pos != 0) {\\n data['state'][0] = 'L_SEC'\\n } else {\\n data['state'][0] = 'IDLE'\\n }\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_scheme_position(data, data_scheme_beam, data_scheme_q) {\\n const L = data['L'][0]*data['SCALE'][0]\\n const pos = data['x'][0]*data['SCALE'][0]\\n \\n // move position of the point\\n data['xF'][0] = pos\\n \\n switch(data['state'][0]) {\\n case 'IDLE':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = L\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = L\\n data_scheme_q['x'][3] = L\\n break\\n case 'R_SEC':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n case 'L_SEC':\\n // beam\\n data_scheme_beam['x'][0] = L\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = L\\n data_scheme_q['x'][1] = L\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \"},\"id\":\"1903\",\"type\":\"CustomJS\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1153\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"args\":{\"M_diag\":{\"id\":\"1388\"},\"M_stress_diag\":{\"id\":\"1676\"},\"V_diag\":{\"id\":\"1376\"},\"V_stress_diag\":{\"id\":\"1694\"},\"arr_head\":{\"id\":\"1253\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div_P\":{\"id\":\"1259\"},\"div_f\":{\"id\":\"1261\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_M\":{\"id\":\"1242\"},\"s_q\":{\"id\":\"1005\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data\\n const db = source.data\\n const q = cb_obj.value\\n const pos = db['x'][0]\\n const L = db['L'][0]\\n\\n // update q\\n db['q'][0] = q\\n db['V'][0] = compute_V(pos, q, L)\\n db['M'][0] = compute_M(pos, q, L)\\n db['Ry_l'][0] = compute_Ry_l(q, L)\\n db['Ry_r'][0] = compute_Ry_r(q, L)\\n\\n // update\\n update_u_load(db, s_q)\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_V_diagram(db, V_diag)\\n update_M_diagram(db, M_diag)\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_div_forces(db, div_f)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // apply changes\\n source.change.emit()\\n\\n // declare functions\\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function parabola(x, a1, a2, a3) {\\n return Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a2 * x[i] + a1);\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function compute_V(x, q, L) {\\n return q*x-q*L/2\\n }\\n \\n \\n function compute_M(x, q, L) {\\n return q*x/2*(x-L)\\n }\\n \\n \\n function compute_Ry_l(q, L) {\\n return q*L/2\\n }\\n \\n \\n function compute_Ry_r(q, L) {\\n return q*L/2\\n }\\n \\n \\n function update_NVM_diagram(diagram, y) {\\n const y_ = [...y]\\n const source = diagram.data_source\\n y_.unshift(0)\\n y_.push(0)\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_V_diagram(data, glyph, discr=100) {\\n const L = data['L'][0]\\n const q = data['q'][0]\\n const x = linspace(0, L, 100)\\n const V_discr = Array.from({length: discr}, (_, i) => compute_V(x[i], q, L))\\n update_NVM_diagram(glyph, V_discr)\\n }\\n \\n \\n function update_M_diagram(data, glyph, discr=100) {\\n const L = data['L'][0]\\n const q = data['q'][0]\\n const x = linspace(0, L, 100)\\n const M_discr = Array.from({length: discr}, (_, i) => compute_M(x[i], q, L))\\n update_NVM_diagram(glyph, M_discr)\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function update_u_load(data, source_q, OFFSET_Q=4) {\\n const q = data['q'][0]\\n source_q.data['y'][1] = OFFSET_Q+q\\n source_q.data['y'][2] = OFFSET_Q+q\\n source_q.change.emit()\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function compute_centroid_y(h) {\\n return h/2\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function update_div_forces(data, div) {\\n switch(data['state'][0]) {\\n case 'IDLE':\\n var str_sec = \\\"No cross section analysed.\\\"\\n break\\n case 'R_SEC':\\n case 'L_SEC':\\n var str_sec = \\\"Cross section at \\\"+Math.round(data['x'][0]*10)/10+\\\" m.\\\"\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n const P = data['P'][0]\\n const Rx = data['Rx'][0]\\n const Ry_l = Math.round(data['Ry_l'][0]*10)/10\\n const Ry_r = Math.round(data['Ry_r'][0]*10)/10\\n const N = Math.abs(data['N'][0])\\n const V = Math.round(Math.abs(data['V'][0])*10)/10\\n const M = Math.round(data['M'][0]*10)/10\\n \\n div.text = `\\n

Forces and Moments:

\\n P = `+P+` kN
\\n Rx = `+Rx+` kN
\\n Ry (left) = `+Ry_r+` kN
\\n Ry (right) = `+Ry_l+` kN
\\n `+str_sec+`
\\n N = `+N+` kN
\\n V = `+V+` kN
\\n M = `+M+` kNm\\n \\n ` \\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \"},\"id\":\"1904\",\"type\":\"CustomJS\"},{\"attributes\":{\"tools\":[{\"id\":\"1147\"},{\"id\":\"1148\"},{\"id\":\"1149\"},{\"id\":\"1150\"},{\"id\":\"1151\"},{\"id\":\"1152\"}]},\"id\":\"1154\",\"type\":\"Toolbar\"},{\"attributes\":{\"width\":10},\"id\":\"1905\",\"type\":\"Spacer\"},{\"attributes\":{\"fill_alpha\":0.3,\"fill_color\":\"blue\",\"hatch_alpha\":0.3,\"hatch_color\":\"navy\",\"line_alpha\":0.3,\"line_color\":\"navy\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1213\",\"type\":\"Patch\"},{\"attributes\":{\"height\":10},\"id\":\"1908\",\"type\":\"Spacer\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"blue\",\"hatch_alpha\":0.1,\"hatch_color\":\"navy\",\"line_alpha\":0.1,\"line_color\":\"navy\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1214\",\"type\":\"Patch\"},{\"attributes\":{\"children\":[{\"id\":\"1107\"},{\"id\":\"1261\"}]},\"id\":\"1907\",\"type\":\"Row\"},{\"attributes\":{\"height\":10},\"id\":\"1906\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"2006\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2148\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2007\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1946\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"1425\"}],\"center\":[{\"id\":\"1428\"},{\"id\":\"1432\"}],\"height\":200,\"left\":[{\"id\":\"1429\"}],\"renderers\":[{\"id\":\"1658\"},{\"id\":\"1664\"},{\"id\":\"1670\"}],\"title\":{\"id\":\"1415\"},\"toolbar\":{\"id\":\"1441\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1417\"},\"x_scale\":{\"id\":\"1421\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1423\"}},\"id\":\"1414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2149\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1413\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2008\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1947\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2150\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1981\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2009\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1949\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2044\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2151\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1361\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1982\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1950\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2045\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2130\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2046\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2131\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.06060606060606061,0.12121212121212122,0.18181818181818182,0.24242424242424243,0.30303030303030304,0.36363636363636365,0.42424242424242425,0.48484848484848486,0.5454545454545454,0.6060606060606061,0.6666666666666667,0.7272727272727273,0.7878787878787878,0.8484848484848485,0.9090909090909092,0.9696969696969697,1.0303030303030303,1.0909090909090908,1.1515151515151516,1.2121212121212122,1.2727272727272727,1.3333333333333335,1.393939393939394,1.4545454545454546,1.5151515151515151,1.5757575757575757,1.6363636363636365,1.696969696969697,1.7575757575757576,1.8181818181818183,1.878787878787879,1.9393939393939394,2.0,2.0606060606060606,2.121212121212121,2.1818181818181817,2.2424242424242427,2.303030303030303,2.3636363636363638,2.4242424242424243,2.484848484848485,2.5454545454545454,2.606060606060606,2.666666666666667,2.7272727272727275,2.787878787878788,2.8484848484848486,2.909090909090909,2.9696969696969697,3.0303030303030303,3.090909090909091,3.1515151515151514,3.2121212121212124,3.272727272727273,3.3333333333333335,3.393939393939394,3.4545454545454546,3.515151515151515,3.5757575757575757,3.6363636363636367,3.6969696969696972,3.757575757575758,3.8181818181818183,3.878787878787879,3.9393939393939394,4.0,4.0606060606060606,4.121212121212121,4.181818181818182,4.242424242424242,4.303030303030303,4.363636363636363,4.424242424242425,4.484848484848485,4.545454545454546,4.606060606060606,4.666666666666667,4.7272727272727275,4.787878787878788,4.848484848484849,4.909090909090909,4.96969696969697,5.03030303030303,5.090909090909091,5.151515151515151,5.212121212121212,5.2727272727272725,5.333333333333334,5.3939393939393945,5.454545454545455,5.515151515151516,5.575757575757576,5.636363636363637,5.696969696969697,5.757575757575758,5.818181818181818,5.878787878787879,5.9393939393939394,6.0,6],\"y\":[0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,0]},\"selected\":{\"id\":\"2028\"},\"selection_policy\":{\"id\":\"2027\"}},\"id\":\"1360\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2047\",\"type\":\"AllLabels\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2100\"},\"selection_policy\":{\"id\":\"2099\"}},\"id\":\"2010\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2026\"},\"selection_policy\":{\"id\":\"2025\"}},\"id\":\"1951\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2102\"},\"selection_policy\":{\"id\":\"2101\"}},\"id\":\"2011\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"tools\":[{\"id\":\"1344\"},{\"id\":\"1345\"},{\"id\":\"1346\"},{\"id\":\"1347\"},{\"id\":\"1348\"},{\"id\":\"1349\"},{\"id\":\"1351\"}]},\"id\":\"1352\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1360\"},\"glyph\":{\"id\":\"1361\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1363\"},\"nonselection_glyph\":{\"id\":\"1362\"},\"view\":{\"id\":\"1365\"}},\"id\":\"1364\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2079\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1983\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1363\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2080\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1372\"}},\"id\":\"1377\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1984\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1409\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1411\"},\"nonselection_glyph\":{\"id\":\"1410\"},\"view\":{\"id\":\"1413\"}},\"id\":\"1412\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1360\"}},\"id\":\"1365\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2082\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1362\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1502\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2152\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1368\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2083\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1367\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2030\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1369\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2153\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2031\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1373\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1371\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.06060606060606061,0.12121212121212122,0.18181818181818182,0.24242424242424243,0.30303030303030304,0.36363636363636365,0.42424242424242425,0.48484848484848486,0.5454545454545454,0.6060606060606061,0.6666666666666667,0.7272727272727273,0.7878787878787878,0.8484848484848485,0.9090909090909092,0.9696969696969697,1.0303030303030303,1.0909090909090908,1.1515151515151516,1.2121212121212122,1.2727272727272727,1.3333333333333335,1.393939393939394,1.4545454545454546,1.5151515151515151,1.5757575757575757,1.6363636363636365,1.696969696969697,1.7575757575757576,1.8181818181818183,1.878787878787879,1.9393939393939394,2.0,2.0606060606060606,2.121212121212121,2.1818181818181817,2.2424242424242427,2.303030303030303,2.3636363636363638,2.4242424242424243,2.484848484848485,2.5454545454545454,2.606060606060606,2.666666666666667,2.7272727272727275,2.787878787878788,2.8484848484848486,2.909090909090909,2.9696969696969697,3.0303030303030303,3.090909090909091,3.1515151515151514,3.2121212121212124,3.272727272727273,3.3333333333333335,3.393939393939394,3.4545454545454546,3.515151515151515,3.5757575757575757,3.6363636363636367,3.6969696969696972,3.757575757575758,3.8181818181818183,3.878787878787879,3.9393939393939394,4.0,4.0606060606060606,4.121212121212121,4.181818181818182,4.242424242424242,4.303030303030303,4.363636363636363,4.424242424242425,4.484848484848485,4.545454545454546,4.606060606060606,4.666666666666667,4.7272727272727275,4.787878787878788,4.848484848484849,4.909090909090909,4.96969696969697,5.03030303030303,5.090909090909091,5.151515151515151,5.212121212121212,5.2727272727272725,5.333333333333334,5.3939393939393945,5.454545454545455,5.515151515151516,5.575757575757576,5.636363636363637,5.696969696969697,5.757575757575758,5.818181818181818,5.878787878787879,5.9393939393939394,6.0,6],\"y\":[0,-12.0,-11.757575757575758,-11.515151515151516,-11.272727272727273,-11.030303030303031,-10.787878787878787,-10.545454545454545,-10.303030303030303,-10.06060606060606,-9.818181818181818,-9.575757575757576,-9.333333333333332,-9.09090909090909,-8.848484848484848,-8.606060606060606,-8.363636363636363,-8.121212121212121,-7.878787878787879,-7.636363636363637,-7.393939393939394,-7.151515151515151,-6.909090909090909,-6.666666666666666,-6.424242424242424,-6.181818181818182,-5.9393939393939394,-5.696969696969697,-5.454545454545454,-5.212121212121212,-4.96969696969697,-4.727272727272727,-4.484848484848484,-4.242424242424242,-4.0,-3.757575757575758,-3.5151515151515156,-3.2727272727272734,-3.0303030303030294,-2.787878787878787,-2.545454545454545,-2.3030303030303028,-2.0606060606060606,-1.8181818181818183,-1.5757575757575761,-1.3333333333333321,-1.09090909090909,-0.8484848484848477,-0.6060606060606055,-0.3636363636363633,-0.1212121212121211,0.1212121212121211,0.3636363636363633,0.6060606060606055,0.8484848484848495,1.0909090909090917,1.333333333333334,1.5757575757575761,1.8181818181818183,2.0606060606060606,2.3030303030303028,2.5454545454545467,2.787878787878789,3.030303030303031,3.2727272727272734,3.5151515151515156,3.757575757575758,4.0,4.242424242424242,4.484848484848484,4.727272727272727,4.969696969696969,5.212121212121211,5.454545454545453,5.696969696969699,5.939393939393941,6.181818181818183,6.424242424242426,6.666666666666668,6.90909090909091,7.151515151515152,7.3939393939393945,7.636363636363637,7.878787878787879,8.121212121212121,8.363636363636363,8.606060606060606,8.848484848484848,9.09090909090909,9.333333333333336,9.575757575757578,9.81818181818182,10.060606060606062,10.303030303030305,10.545454545454547,10.787878787878789,11.030303030303031,11.272727272727273,11.515151515151516,11.757575757575758,12.0,0]},\"selected\":{\"id\":\"2031\"},\"selection_policy\":{\"id\":\"2030\"}},\"id\":\"1372\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"V\"}},\"id\":\"1405\",\"type\":\"Circle\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1375\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1419\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1985\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1379\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1381\"},\"nonselection_glyph\":{\"id\":\"1380\"},\"view\":{\"id\":\"1383\"}},\"id\":\"1382\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1372\"},\"glyph\":{\"id\":\"1373\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1375\"},\"nonselection_glyph\":{\"id\":\"1374\"},\"view\":{\"id\":\"1377\"}},\"id\":\"1376\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1953\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"M\"}},\"id\":\"1409\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1986\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"M\"}},\"id\":\"1411\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2049\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1374\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2133\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1954\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1380\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2050\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1381\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2134\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1956\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1379\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2052\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1501\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1508\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1957\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1385\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2012\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2053\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1383\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.06060606060606061,0.12121212121212122,0.18181818181818182,0.24242424242424243,0.30303030303030304,0.36363636363636365,0.42424242424242425,0.48484848484848486,0.5454545454545454,0.6060606060606061,0.6666666666666667,0.7272727272727273,0.7878787878787878,0.8484848484848485,0.9090909090909092,0.9696969696969697,1.0303030303030303,1.0909090909090908,1.1515151515151516,1.2121212121212122,1.2727272727272727,1.3333333333333335,1.393939393939394,1.4545454545454546,1.5151515151515151,1.5757575757575757,1.6363636363636365,1.696969696969697,1.7575757575757576,1.8181818181818183,1.878787878787879,1.9393939393939394,2.0,2.0606060606060606,2.121212121212121,2.1818181818181817,2.2424242424242427,2.303030303030303,2.3636363636363638,2.4242424242424243,2.484848484848485,2.5454545454545454,2.606060606060606,2.666666666666667,2.7272727272727275,2.787878787878788,2.8484848484848486,2.909090909090909,2.9696969696969697,3.0303030303030303,3.090909090909091,3.1515151515151514,3.2121212121212124,3.272727272727273,3.3333333333333335,3.393939393939394,3.4545454545454546,3.515151515151515,3.5757575757575757,3.6363636363636367,3.6969696969696972,3.757575757575758,3.8181818181818183,3.878787878787879,3.9393939393939394,4.0,4.0606060606060606,4.121212121212121,4.181818181818182,4.242424242424242,4.303030303030303,4.363636363636363,4.424242424242425,4.484848484848485,4.545454545454546,4.606060606060606,4.666666666666667,4.7272727272727275,4.787878787878788,4.848484848484849,4.909090909090909,4.96969696969697,5.03030303030303,5.090909090909091,5.151515151515151,5.212121212121212,5.2727272727272725,5.333333333333334,5.3939393939393945,5.454545454545455,5.515151515151516,5.575757575757576,5.636363636363637,5.696969696969697,5.757575757575758,5.818181818181818,5.878787878787879,5.9393939393939394,6.0,6],\"y\":[0,-0.0,-0.7199265381083563,-1.4251606978879707,-2.115702479338843,-2.7915518824609737,-3.452708907254362,-4.099173553719009,-4.730945821854913,-5.348025711662076,-5.950413223140496,-6.5381083562901745,-7.111111111111112,-7.669421487603306,-8.213039485766759,-8.74196510560147,-9.25619834710744,-9.755739210284665,-10.240587695133149,-10.710743801652892,-11.166207529843895,-11.606978879706153,-12.03305785123967,-12.444444444444445,-12.841138659320476,-13.223140495867767,-13.590449954086317,-13.943067033976122,-14.28099173553719,-14.604224058769512,-14.912764003673093,-15.206611570247935,-15.485766758494032,-15.750229568411386,-16.0,-16.235078053259873,-16.455463728191,-16.661157024793386,-16.852157943067034,-17.02846648301194,-17.1900826446281,-17.33700642791552,-17.469237832874196,-17.58677685950413,-17.689623507805326,-17.77777777777778,-17.85123966942149,-17.910009182736456,-17.95408631772268,-17.983471074380166,-17.99816345270891,-17.99816345270891,-17.983471074380166,-17.95408631772268,-17.910009182736456,-17.85123966942149,-17.77777777777778,-17.689623507805326,-17.58677685950413,-17.469237832874196,-17.33700642791552,-17.1900826446281,-17.028466483011936,-16.852157943067034,-16.661157024793386,-16.455463728191,-16.235078053259873,-16.0,-15.750229568411386,-15.485766758494032,-15.206611570247935,-14.912764003673095,-14.604224058769514,-14.280991735537192,-13.943067033976122,-13.590449954086315,-13.223140495867765,-12.841138659320475,-12.444444444444443,-12.033057851239668,-11.606978879706151,-11.166207529843893,-10.710743801652892,-10.240587695133149,-9.755739210284665,-9.25619834710744,-8.741965105601471,-8.21303948576676,-7.669421487603308,-7.111111111111105,-6.538108356290169,-5.950413223140491,-5.348025711662071,-4.730945821854909,-4.099173553719005,-3.452708907254359,-2.791551882460971,-2.1157024793388413,-1.4251606978879694,-0.7199265381083556,0.0,0]},\"selected\":{\"id\":\"2034\"},\"selection_policy\":{\"id\":\"2033\"}},\"id\":\"1384\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2013\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1387\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1987\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1384\"},\"glyph\":{\"id\":\"1385\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1387\"},\"nonselection_glyph\":{\"id\":\"1386\"},\"view\":{\"id\":\"1389\"}},\"id\":\"1388\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"M\"}},\"id\":\"1410\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"1384\"}},\"id\":\"1389\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1988\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1386\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1403\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1405\"},\"nonselection_glyph\":{\"id\":\"1404\"},\"view\":{\"id\":\"1407\"}},\"id\":\"1406\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1392\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2085\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"N\"}},\"id\":\"1398\",\"type\":\"Circle\"},{\"attributes\":{\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1391\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2086\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1401\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2155\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1397\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1399\"},\"nonselection_glyph\":{\"id\":\"1398\"},\"view\":{\"id\":\"1401\"}},\"id\":\"1400\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"V\"}},\"id\":\"1403\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2014\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2088\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"N\"}},\"id\":\"1399\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2156\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"V\"}},\"id\":\"1404\",\"type\":\"Circle\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1407\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2015\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2089\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1417\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data\":{\"x\":[-0.00012,0.00012],\"y\":[0,0]},\"selected\":{\"id\":\"2131\"},\"selection_policy\":{\"id\":\"2130\"}},\"id\":\"1776\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1715\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1716\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1717\",\"type\":\"Line\"},{\"attributes\":{\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1721\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1719\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[-30.0,30.0],\"y\":[100.0,100.0]},\"selected\":{\"id\":\"2141\"},\"selection_policy\":{\"id\":\"2140\"}},\"id\":\"1720\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1775\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1723\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1733\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1735\"},\"nonselection_glyph\":{\"id\":\"1734\"},\"view\":{\"id\":\"1737\"}},\"id\":\"1736\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1720\"},\"glyph\":{\"id\":\"1721\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1723\"},\"nonselection_glyph\":{\"id\":\"1722\"},\"view\":{\"id\":\"1725\"}},\"id\":\"1724\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1720\"}},\"id\":\"1725\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1722\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1734\",\"type\":\"Line\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1727\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1726\"}},\"id\":\"1731\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1729\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1726\"},\"glyph\":{\"id\":\"1727\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1729\"},\"nonselection_glyph\":{\"id\":\"1728\"},\"view\":{\"id\":\"1731\"}},\"id\":\"1730\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2156\"},\"selection_policy\":{\"id\":\"2155\"}},\"id\":\"1726\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1728\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2099\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAACO4ziO4zg2QI7jOI7jOEZAqqqqqqqqUECO4ziO4zhWQHIcx3Ecx1tAqqqqqqqqYEAcx3Ecx3FjQI7jOI7jOGZAAAAAAAAAaUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"2117\"},\"selection_policy\":{\"id\":\"2116\"}},\"id\":\"1744\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1733\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2100\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1777\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1735\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1739\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1737\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2101\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":[-1.2,1.2],\"y\":[0,0]},\"selected\":{\"id\":\"2158\"},\"selection_policy\":{\"id\":\"2157\"}},\"id\":\"1738\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1773\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1741\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2102\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1751\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1753\"},\"nonselection_glyph\":{\"id\":\"1752\"},\"view\":{\"id\":\"1755\"}},\"id\":\"1754\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1738\"},\"glyph\":{\"id\":\"1739\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1741\"},\"nonselection_glyph\":{\"id\":\"1740\"},\"view\":{\"id\":\"1743\"}},\"id\":\"1742\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1747\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1740\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1744\"},\"glyph\":{\"id\":\"1745\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1747\"},\"nonselection_glyph\":{\"id\":\"1746\"},\"view\":{\"id\":\"1749\"}},\"id\":\"1748\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1738\"}},\"id\":\"1743\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1745\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1752\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1744\"}},\"id\":\"1749\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1746\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1767\",\"type\":\"Line\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1751\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":480.0},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":240.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1076\",\"type\":\"Rect\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1753\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1757\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1755\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[-0.00012,0.00012],\"y\":[0,0]},\"selected\":{\"id\":\"2121\"},\"selection_policy\":{\"id\":\"2120\"}},\"id\":\"1756\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1759\",\"type\":\"Line\"},{\"attributes\":{\"desired_num_ticks\":3,\"num_minor_ticks\":2},\"id\":\"1762\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1756\"},\"glyph\":{\"id\":\"1757\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1759\"},\"nonselection_glyph\":{\"id\":\"1758\"},\"view\":{\"id\":\"1761\"}},\"id\":\"1760\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1765\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1758\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1764\"},\"glyph\":{\"id\":\"1765\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1767\"},\"nonselection_glyph\":{\"id\":\"1766\"},\"view\":{\"id\":\"1769\"}},\"id\":\"1768\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1756\"}},\"id\":\"1761\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1779\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAACO4ziO4zg2QI7jOI7jOEZAqqqqqqqqUECO4ziO4zhWQHIcx3Ecx1tAqqqqqqqqYEAcx3Ecx3FjQI7jOI7jOGZAAAAAAAAAaUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"2129\"},\"selection_policy\":{\"id\":\"2128\"}},\"id\":\"1764\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1764\"}},\"id\":\"1769\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1766\",\"type\":\"Line\"},{\"attributes\":{\"desired_num_ticks\":3,\"num_minor_ticks\":2},\"id\":\"1782\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"1791\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1776\"},\"glyph\":{\"id\":\"1777\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1779\"},\"nonselection_glyph\":{\"id\":\"1778\"},\"view\":{\"id\":\"1781\"}},\"id\":\"1780\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1787\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1778\",\"type\":\"Line\"},{\"attributes\":{\"below\":[{\"id\":\"1795\"}],\"center\":[{\"id\":\"1798\"},{\"id\":\"1802\"},{\"id\":\"1863\"}],\"height\":200,\"left\":[{\"id\":\"1799\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1854\"},{\"id\":\"1873\"},{\"id\":\"1879\"},{\"id\":\"1885\"},{\"id\":\"1891\"}],\"title\":{\"id\":\"1785\"},\"toolbar\":{\"id\":\"1810\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1787\"},\"x_scale\":{\"id\":\"1791\"},\"y_range\":{\"id\":\"1789\"},\"y_scale\":{\"id\":\"1793\"}},\"id\":\"1784\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"source\":{\"id\":\"1776\"}},\"id\":\"1781\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1789\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1796\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"2040\"},\"group\":null,\"major_label_policy\":{\"id\":\"2041\"},\"ticker\":{\"id\":\"1796\"},\"visible\":false},\"id\":\"1795\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1793\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1795\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1798\",\"type\":\"Grid\"}],\"root_ids\":[\"1924\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", - " const render_items = [{\"docid\":\"2176674f-1649-400e-926b-89abf8d8156a\",\"root_ids\":[\"1924\"],\"roots\":{\"1924\":\"4e288455-6575-4c67-b895-f85c8923ceaa\"}}];\n", + " const docs_json = {\"01c53cca-b8cd-4ae6-a2a0-b26d6b8dbc69\":{\"defs\":[],\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1923\"}]},\"id\":\"1924\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"1423\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1962\"},\"group\":null,\"major_label_policy\":{\"id\":\"1963\"},\"ticker\":{\"id\":\"1305\"},\"visible\":false},\"id\":\"1304\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Axial stress\"},\"id\":\"1415\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1540\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1539\",\"type\":\"ResetTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1928\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1426\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1425\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1428\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1421\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1541\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1298\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c3\\u2099 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2052\"},\"group\":null,\"major_label_policy\":{\"id\":\"2053\"},\"ticker\":{\"id\":\"1426\"}},\"id\":\"1425\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1440\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1434\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1300\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2049\"},\"group\":null,\"major_label_policy\":{\"id\":\"2050\"},\"ticker\":{\"id\":\"1430\"},\"visible\":false},\"id\":\"1429\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1594\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1429\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1432\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"group\":null},\"id\":\"1930\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1317\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1430\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1959\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Total stress \\u03c3 and neutral axis\"},\"id\":\"1587\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"N\"}},\"id\":\"1398\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1302\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1592\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1438\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1960\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1305\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1433\",\"type\":\"PanTool\"},{\"attributes\":{\"axis\":{\"id\":\"1304\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1307\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"1439\"}},\"id\":\"1435\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1315\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1436\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1962\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1437\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1316\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1989\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1963\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1563\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1439\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1990\",\"type\":\"Selection\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1318\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"axis\":{\"id\":\"1493\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1496\",\"type\":\"Grid\"},{\"attributes\":{\"tools\":[{\"id\":\"1535\"},{\"id\":\"1536\"},{\"id\":\"1537\"},{\"id\":\"1538\"},{\"id\":\"1539\"},{\"id\":\"1540\"},{\"id\":\"1542\"}]},\"id\":\"1543\",\"type\":\"Toolbar\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"N\"}},\"id\":\"1397\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1560\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2060\"},\"group\":null,\"major_label_policy\":{\"id\":\"2061\"},\"ticker\":{\"id\":\"1498\"},\"visible\":false},\"id\":\"1497\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1337\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1334\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"N\"}},\"id\":\"1399\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1494\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1554\",\"type\":\"DataRange1d\"},{\"attributes\":{\"below\":[{\"id\":\"1562\"}],\"center\":[{\"id\":\"1565\"},{\"id\":\"1569\"}],\"height\":200,\"left\":[{\"id\":\"1566\"}],\"renderers\":[{\"id\":\"1694\"},{\"id\":\"1700\"},{\"id\":\"1706\"}],\"title\":{\"id\":\"1552\"},\"toolbar\":{\"id\":\"1578\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1554\"},\"x_scale\":{\"id\":\"1558\"},\"y_range\":{\"id\":\"1556\"},\"y_scale\":{\"id\":\"1560\"}},\"id\":\"1551\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1455\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1991\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1397\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1399\"},\"nonselection_glyph\":{\"id\":\"1398\"},\"view\":{\"id\":\"1401\"}},\"id\":\"1400\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1556\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1992\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1573\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Position\",\"@x m\"],[\"Bending moment\",\"@y kNm\"]]},\"id\":\"1351\",\"type\":\"HoverTool\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Shear stress\"},\"id\":\"1552\",\"type\":\"Title\"},{\"attributes\":{\"tools\":[{\"id\":\"1433\"},{\"id\":\"1434\"},{\"id\":\"1435\"},{\"id\":\"1436\"},{\"id\":\"1437\"},{\"id\":\"1438\"},{\"id\":\"1440\"}]},\"id\":\"1441\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis\":{\"id\":\"1562\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1565\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1558\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1771\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1773\"},\"nonselection_glyph\":{\"id\":\"1772\"},\"view\":{\"id\":\"1775\"}},\"id\":\"1774\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c4\\u1d65 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2082\"},\"group\":null,\"major_label_policy\":{\"id\":\"2083\"},\"ticker\":{\"id\":\"1563\"}},\"id\":\"1562\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1571\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1577\",\"type\":\"HoverTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1312\"},{\"id\":\"1313\"},{\"id\":\"1314\"},{\"id\":\"1315\"},{\"id\":\"1316\"},{\"id\":\"1317\"},{\"id\":\"1319\"}]},\"id\":\"1320\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2079\"},\"group\":null,\"major_label_policy\":{\"id\":\"2080\"},\"ticker\":{\"id\":\"1567\"},\"visible\":false},\"id\":\"1566\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1566\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1569\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1452\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1567\",\"type\":\"BasicTicker\"},{\"attributes\":{\"below\":[{\"id\":\"1459\"}],\"center\":[{\"id\":\"1462\"},{\"id\":\"1466\"}],\"height\":200,\"left\":[{\"id\":\"1463\"}],\"renderers\":[{\"id\":\"1748\"},{\"id\":\"1754\"},{\"id\":\"1760\"}],\"title\":{\"id\":\"1450\"},\"toolbar\":{\"id\":\"1475\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1452\"},\"x_scale\":{\"id\":\"1455\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1457\"}},\"id\":\"1449\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"below\":[{\"id\":\"1336\"}],\"center\":[{\"id\":\"1339\"},{\"id\":\"1343\"}],\"height\":200,\"left\":[{\"id\":\"1340\"}],\"renderers\":[{\"id\":\"1388\"},{\"id\":\"1394\"},{\"id\":\"1412\"}],\"title\":{\"id\":\"1930\"},\"toolbar\":{\"id\":\"1352\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1332\"},\"y_range\":{\"id\":\"1330\"},\"y_scale\":{\"id\":\"1334\"}},\"id\":\"1328\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1965\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Strain\",\"@x %\"],[\"Height\",\"@y mm\"]]},\"id\":\"1474\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1330\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1575\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1966\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1471\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1570\",\"type\":\"PanTool\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1968\"},\"group\":null,\"major_label_policy\":{\"id\":\"1969\"},\"ticker\":{\"id\":\"1337\"}},\"id\":\"1336\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Axial strain\"},\"id\":\"1450\",\"type\":\"Title\"},{\"attributes\":{\"overlay\":{\"id\":\"1576\"}},\"id\":\"1572\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1459\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1462\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1332\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1968\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1468\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1457\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1574\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis\":{\"id\":\"1336\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1339\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1969\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1345\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis_label\":\"Strain \\u03b5\\u2099 [%]\",\"coordinates\":null,\"formatter\":{\"id\":\"2046\"},\"group\":null,\"major_label_policy\":{\"id\":\"2047\"},\"ticker\":{\"id\":\"1762\"}},\"id\":\"1459\",\"type\":\"LinearAxis\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1576\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1395\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c3\\u2098 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2063\"},\"group\":null,\"major_label_policy\":{\"id\":\"2064\"},\"ticker\":{\"id\":\"1494\"}},\"id\":\"1493\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"Bending moment M [kNm]\",\"coordinates\":null,\"formatter\":{\"id\":\"1965\"},\"group\":null,\"major_label_policy\":{\"id\":\"1966\"},\"ticker\":{\"id\":\"1341\"}},\"id\":\"1340\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2044\"},\"group\":null,\"major_label_policy\":{\"id\":\"2045\"},\"ticker\":{\"id\":\"1464\"},\"visible\":false},\"id\":\"1463\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1340\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1343\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1933\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"axis\":{\"id\":\"1463\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1466\",\"type\":\"Grid\"},{\"attributes\":{\"below\":[{\"id\":\"1596\"}],\"center\":[{\"id\":\"1599\"},{\"id\":\"1603\"}],\"height\":200,\"renderers\":[{\"id\":\"1712\"},{\"id\":\"1718\"},{\"id\":\"1724\"}],\"right\":[{\"id\":\"1600\"}],\"title\":{\"id\":\"1587\"},\"toolbar\":{\"id\":\"1612\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1589\"},\"x_scale\":{\"id\":\"1592\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1594\"}},\"id\":\"1586\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1341\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1464\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1934\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1349\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1472\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1344\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1589\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1467\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1936\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1350\"}},\"id\":\"1346\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2120\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"1497\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1500\",\"type\":\"Grid\"},{\"attributes\":{\"overlay\":{\"id\":\"1473\"}},\"id\":\"1469\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1350\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1470\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1937\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1347\",\"type\":\"SaveTool\"},{\"attributes\":{\"below\":[{\"id\":\"1493\"}],\"center\":[{\"id\":\"1496\"},{\"id\":\"1500\"}],\"height\":200,\"left\":[{\"id\":\"1497\"}],\"renderers\":[{\"id\":\"1676\"},{\"id\":\"1682\"},{\"id\":\"1688\"}],\"title\":{\"id\":\"1484\"},\"toolbar\":{\"id\":\"1509\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1486\"},\"x_scale\":{\"id\":\"1489\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1491\"}},\"id\":\"1483\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1348\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c3 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2069\"},\"group\":null,\"major_label_policy\":{\"id\":\"2070\"},\"ticker\":{\"id\":\"1597\"}},\"id\":\"1596\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1367\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1369\"},\"nonselection_glyph\":{\"id\":\"1368\"},\"view\":{\"id\":\"1371\"}},\"id\":\"1370\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1597\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1473\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"hatch_pattern\":{\"value\":\"/\"},\"height\":{\"value\":200},\"line_width\":{\"value\":3},\"width\":{\"value\":100},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1102\",\"type\":\"Rect\"},{\"attributes\":{},\"id\":\"2114\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1236\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"1942\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1237\",\"type\":\"Arrow\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1088\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2115\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1239\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"1943\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1240\",\"type\":\"Arrow\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":6,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1085\",\"type\":\"Line\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1236\",\"type\":\"VeeHead\"},{\"attributes\":{},\"id\":\"2116\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_color\":{\"value\":\"orange\"},\"line_color\":{\"value\":\"orange\"},\"size\":{\"value\":16.785266909588593}},\"id\":\"1233\",\"type\":\"VeeHead\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1772\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1230\"},\"group\":null,\"line_color\":{\"value\":\"orange\"},\"line_width\":{\"value\":2.5649493574615367},\"source\":{\"id\":\"1940\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":-12.0}},\"id\":\"1231\",\"type\":\"Arrow\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"white\",\"hatch_alpha\":0.1,\"line_alpha\":0.1,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1091\",\"type\":\"Patch\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1239\",\"type\":\"VeeHead\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"radius\":{\"value\":0.15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1096\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2117\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1233\"},\"group\":null,\"line_color\":{\"value\":\"orange\"},\"line_width\":{\"value\":2.3978952727983707},\"source\":{\"id\":\"1941\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":-10},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1234\",\"type\":\"Arrow\"},{\"attributes\":{\"line_width\":6,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1084\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2121\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":6,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1086\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1309\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1691\",\"type\":\"Line\"},{\"attributes\":{\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1244\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2044\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0},\"height\":{\"value\":18.0},\"line_alpha\":{\"value\":0},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":72.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1162\",\"type\":\"Rect\"},{\"attributes\":{\"source\":{\"id\":\"1654\"}},\"id\":\"1659\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"1990\"},\"selection_policy\":{\"id\":\"1989\"}},\"id\":\"1242\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":\"white\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1090\",\"type\":\"Patch\"},{\"attributes\":{},\"id\":\"2045\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1242\"},\"glyph\":{\"id\":\"1244\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1246\"},\"nonselection_glyph\":{\"id\":\"1245\"},\"view\":{\"id\":\"1248\"}},\"id\":\"1247\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,0.15,-0.15],\"y\":[0,-0.16887495373796552,-0.16887495373796552]},\"selected\":{\"id\":\"2015\"},\"selection_policy\":{\"id\":\"2014\"}},\"id\":\"1089\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1089\"},\"glyph\":{\"id\":\"1090\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1092\"},\"nonselection_glyph\":{\"id\":\"1091\"},\"view\":{\"id\":\"1094\"}},\"id\":\"1093\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1245\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"white\",\"hatch_alpha\":0.2,\"line_alpha\":0.2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1092\",\"type\":\"Patch\"},{\"attributes\":{\"overlay\":{\"id\":\"1318\"}},\"id\":\"1314\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2046\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1246\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1089\"}},\"id\":\"1094\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[0.0],\"y\":[0.0]},\"selected\":{\"id\":\"1992\"},\"selection_policy\":{\"id\":\"1991\"}},\"id\":\"1249\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[0],\"y\":[0]},\"selected\":{\"id\":\"2093\"},\"selection_policy\":{\"id\":\"2092\"}},\"id\":\"1101\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1655\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1242\"}},\"id\":\"1248\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[6],\"y\":[-0.0975]},\"selected\":{\"id\":\"2017\"},\"selection_policy\":{\"id\":\"2016\"}},\"id\":\"1095\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2047\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1250\",\"type\":\"Scatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"radius\":{\"value\":0.15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1097\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1252\",\"type\":\"Scatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1251\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"2118\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"text\":\"Free-body diagram (FBD):\"},\"id\":\"1257\",\"type\":\"Div\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_pattern\":{\"value\":\"/\"},\"height\":{\"value\":200},\"line_alpha\":{\"value\":0.1},\"line_width\":{\"value\":3},\"width\":{\"value\":100},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1103\",\"type\":\"Rect\"},{\"attributes\":{\"end\":6,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1899\"}]},\"start\":0,\"step\":0.02,\"title\":\"Change the position x along the beam [m]\",\"value\":6},\"id\":\"1256\",\"type\":\"Slider\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"radius\":{\"value\":0.15},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1098\",\"type\":\"Circle\"},{\"attributes\":{\"end\":5.0,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1904\"}]},\"start\":0.1,\"step\":0.1,\"title\":\"Change the uniform load q [kN/m]\",\"value\":4},\"id\":\"1255\",\"type\":\"Slider\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"white\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_pattern\":{\"value\":\"/\"},\"height\":{\"value\":200},\"line_alpha\":{\"value\":0.2},\"line_width\":{\"value\":3},\"width\":{\"value\":100},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1104\",\"type\":\"Rect\"},{\"attributes\":{},\"id\":\"2119\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1249\"},\"glyph\":{\"id\":\"1250\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1252\"},\"nonselection_glyph\":{\"id\":\"1251\"},\"view\":{\"id\":\"1254\"}},\"id\":\"1253\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1095\"},\"glyph\":{\"id\":\"1096\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1098\"},\"nonselection_glyph\":{\"id\":\"1097\"},\"view\":{\"id\":\"1100\"}},\"id\":\"1099\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2124\"},\"selection_policy\":{\"id\":\"2123\"}},\"id\":\"1654\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1249\"}},\"id\":\"1254\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1095\"}},\"id\":\"1100\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2157\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1101\"},\"glyph\":{\"id\":\"1102\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1104\"},\"nonselection_glyph\":{\"id\":\"1103\"},\"view\":{\"id\":\"1106\"}},\"id\":\"1105\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active\":0,\"js_property_callbacks\":{\"change:active\":[{\"id\":\"1903\"}]},\"labels\":[\"Right-hand\",\"Left-hand\"]},\"id\":\"1258\",\"type\":\"RadioButtonGroup\"},{\"attributes\":{\"tools\":[{\"id\":\"1638\"},{\"id\":\"1639\"},{\"id\":\"1640\"},{\"id\":\"1641\"},{\"id\":\"1642\"},{\"id\":\"1643\"},{\"id\":\"1645\"}]},\"id\":\"1646\",\"type\":\"Toolbar\"},{\"attributes\":{\"text\":\"\\n

Geometrical and mechanical parameters:

\\n h = 200 mm
\\n b = 100 mm
\\n L = 6 m
\\n A = 2.00e+04 mm2
\\n Iy = 6.67e+07 mm4
\\n Iz = 1.67e+07 mm4\",\"width\":170},\"id\":\"1107\",\"type\":\"Div\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1698\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2158\",\"type\":\"Selection\"},{\"attributes\":{\"text\":\"Axial force P=10 kN (applied)\"},\"id\":\"1259\",\"type\":\"Div\"},{\"attributes\":{\"fill_color\":{\"value\":\"gray\"},\"line_color\":{\"value\":\"gray\"},\"size\":{\"value\":15.380572041353537}},\"id\":\"1110\",\"type\":\"VeeHead\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1657\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1654\"},\"glyph\":{\"id\":\"1655\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1657\"},\"nonselection_glyph\":{\"id\":\"1656\"},\"view\":{\"id\":\"1659\"}},\"id\":\"1658\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1101\"}},\"id\":\"1106\",\"type\":\"CDSView\"},{\"attributes\":{\"text\":\"\\n

Forces and Moments:

\\n P = 10 kN
\\n Rx = 10 kN
\\n Ry (left) = 12.0 kN
\\n Ry (right) = 12.0 kN
\\n No cross section analysed.
\\n N = 0 kN
\\n V = 0 kN
\\n M = 0 kNm\\n \\n \",\"width\":170},\"id\":\"1261\",\"type\":\"Div\"},{\"attributes\":{\"end\":300,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1900\"}]},\"start\":10,\"step\":10,\"title\":\"Change the width b [mm]\",\"value\":100},\"id\":\"1108\",\"type\":\"Slider\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1662\",\"type\":\"Line\"},{\"attributes\":{\"end\":600,\"js_property_callbacks\":{\"change:value\":[{\"id\":\"1901\"}]},\"start\":20,\"step\":20,\"title\":\"Change the height h [mm]\",\"value\":200},\"id\":\"1109\",\"type\":\"Slider\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1672\"},\"glyph\":{\"id\":\"1673\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1675\"},\"nonselection_glyph\":{\"id\":\"1674\"},\"view\":{\"id\":\"1677\"}},\"id\":\"1676\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1110\"},\"group\":null,\"line_color\":{\"value\":\"gray\"},\"line_width\":{\"value\":2.1972245773362196},\"source\":{\"id\":\"2010\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":128.0},\"y_start\":{\"value\":0}},\"id\":\"1111\",\"type\":\"Arrow\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Position\",\"@x m\"],[\"Axial force\",\"@y kN\"]]},\"id\":\"1287\",\"type\":\"HoverTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1656\",\"type\":\"Line\"},{\"attributes\":{\"active\":[0],\"js_property_callbacks\":{\"change:active\":[{\"id\":\"1902\"}]},\"labels\":[\"Apply or remove axial force P\"]},\"id\":\"1260\",\"type\":\"CheckboxButtonGroup\"},{\"attributes\":{\"data\":{\"x\":[0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2134\"},\"selection_policy\":{\"id\":\"2133\"}},\"id\":\"1672\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"below\":[{\"id\":\"1272\"}],\"center\":[{\"id\":\"1275\"},{\"id\":\"1279\"}],\"height\":160,\"left\":[{\"id\":\"1276\"}],\"renderers\":[{\"id\":\"1364\"},{\"id\":\"1370\"},{\"id\":\"1400\"}],\"title\":{\"id\":\"1263\"},\"toolbar\":{\"id\":\"1288\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1268\"},\"y_range\":{\"id\":\"1266\"},\"y_scale\":{\"id\":\"1270\"}},\"id\":\"1262\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"source\":{\"id\":\"1113\"}},\"id\":\"1118\",\"type\":\"CDSView\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1661\",\"type\":\"Line\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1116\",\"type\":\"Text\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1115\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"1266\",\"type\":\"DataRange1d\"},{\"attributes\":{\"angle\":{\"value\":1.5707963267948966},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1114\",\"type\":\"Text\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1663\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1268\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"text\":[\"y\"],\"x\":[0],\"y\":[136.0]},\"selected\":{\"id\":\"2095\"},\"selection_policy\":{\"id\":\"2094\"}},\"id\":\"1113\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2030\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis\":{\"id\":\"1272\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1275\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1113\"},\"glyph\":{\"id\":\"1114\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1116\"},\"nonselection_glyph\":{\"id\":\"1115\"},\"view\":{\"id\":\"1118\"}},\"id\":\"1117\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[-3.0,3.0],\"y\":[0,0]},\"selected\":{\"id\":\"2126\"},\"selection_policy\":{\"id\":\"2125\"}},\"id\":\"1666\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"N V M Diagrams\"},\"id\":\"1263\",\"type\":\"Title\"},{\"attributes\":{\"fill_color\":{\"value\":\"gray\"},\"line_color\":{\"value\":\"gray\"},\"size\":{\"value\":15.380572041353537}},\"id\":\"1119\",\"type\":\"VeeHead\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1711\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1270\",\"type\":\"LinearScale\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1119\"},\"group\":null,\"line_color\":{\"value\":\"gray\"},\"line_width\":{\"value\":2.1972245773362196},\"source\":{\"id\":\"2011\"},\"start\":null,\"x_end\":{\"value\":-80.0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1120\",\"type\":\"Arrow\"},{\"attributes\":{},\"id\":\"2031\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1281\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1665\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1667\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1956\"},\"group\":null,\"major_label_policy\":{\"id\":\"1957\"},\"ticker\":{\"id\":\"1273\"},\"visible\":false},\"id\":\"1272\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text_align\":{\"value\":\"right\"},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1123\",\"type\":\"Text\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1693\",\"type\":\"Line\"},{\"attributes\":{\"text_align\":{\"value\":\"right\"},\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1125\",\"type\":\"Text\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1669\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1273\",\"type\":\"BasicTicker\"},{\"attributes\":{\"text_align\":{\"value\":\"right\"},\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"gray\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1124\",\"type\":\"Text\"},{\"attributes\":{\"data\":{\"x\":[30.0],\"y\":[0]},\"selected\":{\"id\":\"1980\"},\"selection_policy\":{\"id\":\"1979\"}},\"id\":\"1161\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1666\"},\"glyph\":{\"id\":\"1667\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1669\"},\"nonselection_glyph\":{\"id\":\"1668\"},\"view\":{\"id\":\"1671\"}},\"id\":\"1670\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Axial force N [kN]\",\"coordinates\":null,\"formatter\":{\"id\":\"1953\"},\"group\":null,\"major_label_policy\":{\"id\":\"1954\"},\"ticker\":{\"id\":\"1277\"}},\"id\":\"1276\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data\":{\"text\":[\"z\"],\"x\":[-88.0],\"y\":[0]},\"selected\":{\"id\":\"2097\"},\"selection_policy\":{\"id\":\"2096\"}},\"id\":\"1122\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1709\",\"type\":\"Line\"},{\"attributes\":{\"below\":[{\"id\":\"1139\"}],\"center\":[{\"id\":\"1142\"},{\"id\":\"1146\"},{\"id\":\"1225\"},{\"id\":\"1228\"},{\"id\":\"1231\"},{\"id\":\"1234\"},{\"id\":\"1237\"},{\"id\":\"1240\"}],\"height\":200,\"left\":[{\"id\":\"1143\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1165\"},{\"id\":\"1198\"},{\"id\":\"1204\"},{\"id\":\"1210\"},{\"id\":\"1216\"},{\"id\":\"1222\"},{\"id\":\"1247\"},{\"id\":\"1253\"}],\"title\":{\"id\":\"1129\"},\"toolbar\":{\"id\":\"1154\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1131\"},\"x_scale\":{\"id\":\"1135\"},\"y_range\":{\"id\":\"1133\"},\"y_scale\":{\"id\":\"1137\"}},\"id\":\"1128\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis\":{\"id\":\"1276\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1279\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1675\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1131\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1277\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1668\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":18.0},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":72.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1163\",\"type\":\"Rect\"},{\"attributes\":{\"source\":{\"id\":\"1702\"}},\"id\":\"1707\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1133\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1285\",\"type\":\"HelpTool\"},{\"attributes\":{\"source\":{\"id\":\"1666\"}},\"id\":\"1671\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1135\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1280\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2049\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1936\"},\"group\":null,\"major_label_policy\":{\"id\":\"1937\"},\"ticker\":{\"id\":\"1140\"},\"visible\":false},\"id\":\"1139\",\"type\":\"LinearAxis\"},{\"attributes\":{\"overlay\":{\"id\":\"1286\"}},\"id\":\"1282\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1673\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1933\"},\"group\":null,\"major_label_policy\":{\"id\":\"1934\"},\"ticker\":{\"id\":\"1144\"},\"visible\":false},\"id\":\"1143\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1283\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2050\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1284\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"1672\"}},\"id\":\"1677\",\"type\":\"CDSView\"},{\"attributes\":{\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1685\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1674\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1139\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1142\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2052\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1137\",\"type\":\"LinearScale\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1286\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"1684\"}},\"id\":\"1689\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Forces and Moments Scheme\"},\"id\":\"1129\",\"type\":\"Title\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1679\",\"type\":\"Line\"},{\"attributes\":{\"axis\":{\"id\":\"1143\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1146\",\"type\":\"Grid\"},{\"attributes\":{\"tools\":[{\"id\":\"1280\"},{\"id\":\"1281\"},{\"id\":\"1282\"},{\"id\":\"1283\"},{\"id\":\"1284\"},{\"id\":\"1285\"},{\"id\":\"1287\"}]},\"id\":\"1288\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2053\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1152\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1686\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1140\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"1690\"}},\"id\":\"1695\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1312\",\"type\":\"PanTool\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2151\"},\"selection_policy\":{\"id\":\"2150\"}},\"id\":\"1690\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1144\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1690\"},\"glyph\":{\"id\":\"1691\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1693\"},\"nonselection_glyph\":{\"id\":\"1692\"},\"view\":{\"id\":\"1695\"}},\"id\":\"1694\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":18.0},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":72.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1164\",\"type\":\"Rect\"},{\"attributes\":{\"line_alpha\":0.2,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1687\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Shear force V [kN]\",\"coordinates\":null,\"formatter\":{\"id\":\"1959\"},\"group\":null,\"major_label_policy\":{\"id\":\"1960\"},\"ticker\":{\"id\":\"1309\"}},\"id\":\"1308\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1692\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1148\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2139\"},\"selection_policy\":{\"id\":\"2138\"}},\"id\":\"1708\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1147\",\"type\":\"PanTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Position\",\"@x m\"],[\"Shear force\",\"@y kN\"]]},\"id\":\"1319\",\"type\":\"HoverTool\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1697\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"1153\"}},\"id\":\"1149\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1313\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1150\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1771\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1151\",\"type\":\"ResetTool\"},{\"attributes\":{\"data\":{\"x\":[-1.2,1.2],\"y\":[0,0]},\"selected\":{\"id\":\"2153\"},\"selection_policy\":{\"id\":\"2152\"}},\"id\":\"1702\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1701\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1699\",\"type\":\"Line\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1153\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1703\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1710\",\"type\":\"Line\"},{\"attributes\":{\"tools\":[{\"id\":\"1147\"},{\"id\":\"1148\"},{\"id\":\"1149\"},{\"id\":\"1150\"},{\"id\":\"1151\"},{\"id\":\"1152\"}]},\"id\":\"1154\",\"type\":\"Toolbar\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1705\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1715\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1717\"},\"nonselection_glyph\":{\"id\":\"1716\"},\"view\":{\"id\":\"1719\"}},\"id\":\"1718\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"blue\",\"hatch_alpha\":0.1,\"hatch_color\":\"navy\",\"line_alpha\":0.1,\"line_color\":\"navy\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1214\",\"type\":\"Patch\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1702\"},\"glyph\":{\"id\":\"1703\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1705\"},\"nonselection_glyph\":{\"id\":\"1704\"},\"view\":{\"id\":\"1707\"}},\"id\":\"1706\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2123\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1708\"}},\"id\":\"1713\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"blue\",\"hatch_alpha\":0.2,\"hatch_color\":\"navy\",\"line_alpha\":0.2,\"line_color\":\"navy\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1215\",\"type\":\"Patch\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1708\"},\"glyph\":{\"id\":\"1709\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1711\"},\"nonselection_glyph\":{\"id\":\"1710\"},\"view\":{\"id\":\"1713\"}},\"id\":\"1712\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"below\":[{\"id\":\"1304\"}],\"center\":[{\"id\":\"1307\"},{\"id\":\"1311\"}],\"height\":160,\"left\":[{\"id\":\"1308\"}],\"renderers\":[{\"id\":\"1376\"},{\"id\":\"1382\"},{\"id\":\"1406\"}],\"title\":{\"id\":\"1928\"},\"toolbar\":{\"id\":\"1320\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1300\"},\"y_range\":{\"id\":\"1298\"},\"y_scale\":{\"id\":\"1302\"}},\"id\":\"1296\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1704\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2124\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2135\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1870\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1946\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2136\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1947\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"1949\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1950\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1851\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[-1.6666666666666667,0,0,-1.6666666666666667],\"y\":[-10,-10,10,10]},\"selected\":{\"id\":\"2104\"},\"selection_policy\":{\"id\":\"2103\"}},\"id\":\"1850\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"2106\"},\"selection_policy\":{\"id\":\"2105\"}},\"id\":\"1868\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1865\",\"type\":\"VeeHead\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1853\",\"type\":\"Line\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2026\"},\"selection_policy\":{\"id\":\"2025\"}},\"id\":\"1951\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1850\"}},\"id\":\"1855\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1852\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1865\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"2077\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1866\",\"type\":\"Arrow\"},{\"attributes\":{\"data\":{\"x\":[0.0],\"y\":[0.0]},\"selected\":{\"id\":\"2108\"},\"selection_policy\":{\"id\":\"2107\"}},\"id\":\"1875\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2079\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1881\"}},\"id\":\"1886\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1868\"},\"glyph\":{\"id\":\"1870\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1872\"},\"nonselection_glyph\":{\"id\":\"1871\"},\"view\":{\"id\":\"1874\"}},\"id\":\"1873\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2080\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1871\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1872\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2082\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.1},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1877\",\"type\":\"Scatter\"},{\"attributes\":{\"source\":{\"id\":\"1868\"}},\"id\":\"1874\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2083\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"red\"},\"hatch_alpha\":{\"value\":0.2},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1878\",\"type\":\"Scatter\"},{\"attributes\":{\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1882\",\"type\":\"Text\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"marker\":{\"value\":\"triangle\"},\"size\":{\"value\":0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1876\",\"type\":\"Scatter\"},{\"attributes\":{},\"id\":\"2138\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1883\",\"type\":\"Text\"},{\"attributes\":{\"data\":{\"text\":[\"\"],\"x\":[11.0],\"y\":[1]},\"selected\":{\"id\":\"2110\"},\"selection_policy\":{\"id\":\"2109\"}},\"id\":\"1881\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1875\"},\"glyph\":{\"id\":\"1876\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1878\"},\"nonselection_glyph\":{\"id\":\"1877\"},\"view\":{\"id\":\"1880\"}},\"id\":\"1879\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2139\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1875\"}},\"id\":\"1880\",\"type\":\"CDSView\"},{\"attributes\":{\"text_baseline\":{\"value\":\"top\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1888\",\"type\":\"Text\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1895\",\"type\":\"Text\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1884\",\"type\":\"Text\"},{\"attributes\":{\"data\":{\"text\":[\"\"],\"x\":[6],\"y\":[-5]},\"selected\":{\"id\":\"2112\"},\"selection_policy\":{\"id\":\"2111\"}},\"id\":\"1887\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1881\"},\"glyph\":{\"id\":\"1882\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1884\"},\"nonselection_glyph\":{\"id\":\"1883\"},\"view\":{\"id\":\"1886\"}},\"id\":\"1885\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1887\"}},\"id\":\"1892\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1953\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_baseline\":{\"value\":\"top\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1889\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"1954\",\"type\":\"AllLabels\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"top\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1890\",\"type\":\"Text\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1887\"},\"glyph\":{\"id\":\"1888\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1890\"},\"nonselection_glyph\":{\"id\":\"1889\"},\"view\":{\"id\":\"1892\"}},\"id\":\"1891\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"text\":[\"\"],\"x\":[5],\"y\":[0]},\"selected\":{\"id\":\"2146\"},\"selection_policy\":{\"id\":\"2145\"}},\"id\":\"1893\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1956\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1893\"}},\"id\":\"1898\",\"type\":\"CDSView\"},{\"attributes\":{\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1894\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"1957\",\"type\":\"AllLabels\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_baseline\":{\"value\":\"middle\"},\"text_color\":{\"value\":\"red\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1896\",\"type\":\"Text\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1893\"},\"glyph\":{\"id\":\"1894\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1896\"},\"nonselection_glyph\":{\"id\":\"1895\"},\"view\":{\"id\":\"1898\"}},\"id\":\"1897\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"args\":{\"M_stress_diag\":{\"id\":\"1676\"},\"N_stress_diag\":{\"id\":\"1658\"},\"V_stress_diag\":{\"id\":\"1694\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div\":{\"id\":\"1107\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_b\":{\"id\":\"1003\"},\"section\":{\"id\":\"1105\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"support_r\":{\"id\":\"1099\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data used\\n const db = source.data\\n const b = cb_obj.value // value of the slider\\n const h = db['h'][0]\\n const A = compute_area(b, h)\\n const Iy = compute_inertia_y(b, h)\\n const yG = db['yG'][0]\\n const N = db['N'][0]\\n const M = db['M'][0]\\n\\n // apply the changes\\n db['b'][0] = b\\n db['A'][0] = A\\n db['Iy'][0] = Iy\\n db['Iz'][0] = compute_inertia_z(b, h)\\n db['y_n_axis'][0] = compute_neutral_axis(N, A, Iy, M, yG)\\n\\n // update\\n update_div_geo(db, div)\\n update_section(db, section)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n\\n // emit the changes\\n source.change.emit()\\n\\n \\n function update_div_geo(data, div) {\\n // compute the parameters and dimensions\\n const L = Math.round(data['L'][0]*10)/10\\n const b = Math.round(data['b'][0])\\n const h = Math.round(data['h'][0])\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const Iz = data['Iz'][0]\\n // change the div text\\n div.text = `\\n

Geometrical and mechanical parameters:

\\n h = `+h+` mm
\\n b = `+b+` mm
\\n L = `+L+` m
\\n A = `+A.toExponential(2)+` mm2
\\n Iy = `+Iy.toExponential(2)+` mm4
\\n Iz = `+Iz.toExponential(2)+` mm4` \\n }\\n \\n \\n function update_section(data, glyph_section) {\\n // change the plot of the section\\n glyph_section.glyph.width = data['b'][0]\\n glyph_section.glyph.height = data['h'][0]\\n }\\n \\n \\n function compute_area(b, h) {\\n return b*h\\n }\\n \\n \\n function compute_inertia_y(b, h) {\\n return b*h**3/12\\n }\\n \\n \\n function compute_inertia_z(b, h) {\\n return h*b**3/12\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function compute_centroid_y(h) {\\n return h/2\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \"},\"id\":\"1900\",\"type\":\"CustomJS\"},{\"attributes\":{\"args\":{\"M_stress_diag\":{\"id\":\"1676\"},\"N_stress_diag\":{\"id\":\"1658\"},\"V_stress_diag\":{\"id\":\"1694\"},\"arr_head\":{\"id\":\"1253\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div_P\":{\"id\":\"1259\"},\"div_f\":{\"id\":\"1261\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_M\":{\"id\":\"1242\"},\"s_q\":{\"id\":\"1005\"},\"s_sb\":{\"id\":\"1004\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data\\n const db = source.data\\n const data_sb = s_sb.data\\n const data_q = s_q.data\\n const FBD = db['FBD'][0]\\n const pos = cb_obj.value\\n const q = db['q'][0]\\n const L = db['L'][0]\\n\\n // update data\\n db['N'][0] = compute_N(db['P'][0])\\n db['V'][0] = compute_V(pos, q, L)\\n db['M'][0] = compute_M(pos, q, L)\\n db['x'][0] = pos\\n\\n // check state\\n check_state(db)\\n\\n // update:\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_scheme_position(db, data_sb, data_q)\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_div_forces(db, div_f)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // apply the changes\\n source.change.emit()\\n s_sb.change.emit()\\n s_q.change.emit()\\n\\n // declare functions\\n \\n function compute_N(P) {\\n return -P\\n }\\n \\n \\n function compute_V(x, q, L) {\\n return q*x-q*L/2\\n }\\n \\n \\n function compute_M(x, q, L) {\\n return q*x/2*(x-L)\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_scheme_position(data, data_scheme_beam, data_scheme_q) {\\n const L = data['L'][0]*data['SCALE'][0]\\n const pos = data['x'][0]*data['SCALE'][0]\\n \\n // move position of the point\\n data['xF'][0] = pos\\n \\n switch(data['state'][0]) {\\n case 'IDLE':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = L\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = L\\n data_scheme_q['x'][3] = L\\n break\\n case 'R_SEC':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n case 'L_SEC':\\n // beam\\n data_scheme_beam['x'][0] = L\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = L\\n data_scheme_q['x'][1] = L\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function update_div_forces(data, div) {\\n switch(data['state'][0]) {\\n case 'IDLE':\\n var str_sec = \\\"No cross section analysed.\\\"\\n break\\n case 'R_SEC':\\n case 'L_SEC':\\n var str_sec = \\\"Cross section at \\\"+Math.round(data['x'][0]*10)/10+\\\" m.\\\"\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n const P = data['P'][0]\\n const Rx = data['Rx'][0]\\n const Ry_l = Math.round(data['Ry_l'][0]*10)/10\\n const Ry_r = Math.round(data['Ry_r'][0]*10)/10\\n const N = Math.abs(data['N'][0])\\n const V = Math.round(Math.abs(data['V'][0])*10)/10\\n const M = Math.round(data['M'][0]*10)/10\\n \\n div.text = `\\n

Forces and Moments:

\\n P = `+P+` kN
\\n Rx = `+Rx+` kN
\\n Ry (left) = `+Ry_r+` kN
\\n Ry (right) = `+Ry_l+` kN
\\n `+str_sec+`
\\n N = `+N+` kN
\\n V = `+V+` kN
\\n M = `+M+` kNm\\n \\n ` \\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function parabola(x, a1, a2, a3) {\\n return Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a2 * x[i] + a1);\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_NVM_diagram(diagram, y) {\\n const y_ = [...y]\\n const source = diagram.data_source\\n y_.unshift(0)\\n y_.push(0)\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function check_state(data) {\\n const FBD = data['FBD'][0]\\n const pos = data['x'][0]\\n const L = data['L'][0]\\n if (FBD == 0 && pos != L) {\\n data['state'][0] = 'R_SEC'\\n } else if (FBD == 1 && pos != 0) {\\n data['state'][0] = 'L_SEC'\\n } else {\\n data['state'][0] = 'IDLE'\\n }\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \"},\"id\":\"1899\",\"type\":\"CustomJS\"},{\"attributes\":{\"args\":{\"M_stress_diag\":{\"id\":\"1676\"},\"N_stress_diag\":{\"id\":\"1658\"},\"V_stress_diag\":{\"id\":\"1694\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div\":{\"id\":\"1107\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_b\":{\"id\":\"1003\"},\"s_ss\":{\"id\":\"1006\"},\"section\":{\"id\":\"1105\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"support_r\":{\"id\":\"1099\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data used\\n const db = source.data\\n const data_ss = s_ss.data\\n const b = db['b'][0]\\n const h = cb_obj.value // value of the slider\\n const A = compute_area(b, h)\\n const Iy = compute_inertia_y(b, h)\\n const N = db['N'][0]\\n const M = db['M'][0]\\n const yG = compute_centroid_y(h)\\n\\n // apply the changes\\n db['h'][0] = h\\n db['A'][0] = A\\n db['Iy'][0] = Iy\\n db['Iz'][0] = compute_inertia_z(b, h)\\n db['yG'][0] = yG\\n db['y_n_axis'][0] = compute_neutral_axis(N, A, Iy, M, yG)\\n data_ss['y'][1] = h // change the height of the section in the diagrams\\n\\n // update\\n update_div_geo(db, div)\\n update_section(db, section)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n\\n // emit the changes\\n source.change.emit()\\n s_ss.change.emit()\\n\\n \\n function update_div_geo(data, div) {\\n // compute the parameters and dimensions\\n const L = Math.round(data['L'][0]*10)/10\\n const b = Math.round(data['b'][0])\\n const h = Math.round(data['h'][0])\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const Iz = data['Iz'][0]\\n // change the div text\\n div.text = `\\n

Geometrical and mechanical parameters:

\\n h = `+h+` mm
\\n b = `+b+` mm
\\n L = `+L+` m
\\n A = `+A.toExponential(2)+` mm2
\\n Iy = `+Iy.toExponential(2)+` mm4
\\n Iz = `+Iz.toExponential(2)+` mm4` \\n }\\n \\n \\n function update_section(data, glyph_section) {\\n // change the plot of the section\\n glyph_section.glyph.width = data['b'][0]\\n glyph_section.glyph.height = data['h'][0]\\n }\\n \\n \\n function compute_area(b, h) {\\n return b*h\\n }\\n \\n \\n function compute_inertia_y(b, h) {\\n return b*h**3/12\\n }\\n \\n \\n function compute_inertia_z(b, h) {\\n return h*b**3/12\\n }\\n \\n \\n function compute_centroid_y(h) {\\n return h/2\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \"},\"id\":\"1901\",\"type\":\"CustomJS\"},{\"attributes\":{},\"id\":\"2140\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"args\":{\"N_diag\":{\"id\":\"1364\"},\"N_stress_diag\":{\"id\":\"1658\"},\"arr_head\":{\"id\":\"1253\"},\"axial_strain_diag\":{\"id\":\"1748\"},\"div_P\":{\"id\":\"1259\"},\"div_f\":{\"id\":\"1261\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_M\":{\"id\":\"1242\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve var from the object that uses callback\\n var f = cb_obj.active // checkbox P\\n if (f.length==0) f = [1]\\n const db = source.data\\n\\n // apply the changes\\n db['P'][0] = 10*(1-f)\\n db['N'][0] = compute_N(db['P'][0])\\n db['Rx'][0] = compute_Rx(db['P'][0])\\n\\n // update\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_N_diagram(db, N_diag)\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_div_forces(db, div_f)\\n update_axial_stress_strain(db, N_stress_diag, axial_strain_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // emit the changes\\n source.change.emit()\\n\\n // declare functions\\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function compute_Rx(P) {\\n return P\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_NVM_diagram(diagram, y) {\\n const y_ = [...y]\\n const source = diagram.data_source\\n y_.unshift(0)\\n y_.push(0)\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function compute_N(P) {\\n return -P\\n }\\n \\n \\n function update_N_diagram(data, glyph, discr=100) {\\n const P = data['P'][0]\\n const N_discr = Array.from({length: discr}, (_, i) => compute_N(P))\\n update_NVM_diagram(glyph, N_discr)\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function compute_epsilon_axial(sigma_axial, E) {\\n return sigma_axial/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function update_div_forces(data, div) {\\n switch(data['state'][0]) {\\n case 'IDLE':\\n var str_sec = \\\"No cross section analysed.\\\"\\n break\\n case 'R_SEC':\\n case 'L_SEC':\\n var str_sec = \\\"Cross section at \\\"+Math.round(data['x'][0]*10)/10+\\\" m.\\\"\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n const P = data['P'][0]\\n const Rx = data['Rx'][0]\\n const Ry_l = Math.round(data['Ry_l'][0]*10)/10\\n const Ry_r = Math.round(data['Ry_r'][0]*10)/10\\n const N = Math.abs(data['N'][0])\\n const V = Math.round(Math.abs(data['V'][0])*10)/10\\n const M = Math.round(data['M'][0]*10)/10\\n \\n div.text = `\\n

Forces and Moments:

\\n P = `+P+` kN
\\n Rx = `+Rx+` kN
\\n Ry (left) = `+Ry_r+` kN
\\n Ry (right) = `+Ry_l+` kN
\\n `+str_sec+`
\\n N = `+N+` kN
\\n V = `+V+` kN
\\n M = `+M+` kNm\\n \\n ` \\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \"},\"id\":\"1902\",\"type\":\"CustomJS\"},{\"attributes\":{},\"id\":\"2085\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"args\":{\"arr_head\":{\"id\":\"1253\"},\"div_P\":{\"id\":\"1259\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"s_M\":{\"id\":\"1242\"},\"s_q\":{\"id\":\"1005\"},\"s_sb\":{\"id\":\"1004\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data\\n const db = source.data\\n const FBD = cb_obj.active\\n const data_sb = s_sb.data\\n const data_q = s_q.data\\n const pos = db['x'][0]\\n\\n // apply the changes\\n db['FBD'][0] = FBD\\n\\n // update\\n check_state(db)\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_scheme_position(db, data_sb, data_q)\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // emit the changes\\n source.change.emit()\\n s_sb.change.emit()\\n s_q.change.emit()\\n\\n \\n function check_state(data) {\\n const FBD = data['FBD'][0]\\n const pos = data['x'][0]\\n const L = data['L'][0]\\n if (FBD == 0 && pos != L) {\\n data['state'][0] = 'R_SEC'\\n } else if (FBD == 1 && pos != 0) {\\n data['state'][0] = 'L_SEC'\\n } else {\\n data['state'][0] = 'IDLE'\\n }\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_scheme_position(data, data_scheme_beam, data_scheme_q) {\\n const L = data['L'][0]*data['SCALE'][0]\\n const pos = data['x'][0]*data['SCALE'][0]\\n \\n // move position of the point\\n data['xF'][0] = pos\\n \\n switch(data['state'][0]) {\\n case 'IDLE':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = L\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = L\\n data_scheme_q['x'][3] = L\\n break\\n case 'R_SEC':\\n // beam\\n data_scheme_beam['x'][0] = 0\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = 0\\n data_scheme_q['x'][1] = 0\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n case 'L_SEC':\\n // beam\\n data_scheme_beam['x'][0] = L\\n data_scheme_beam['x'][1] = pos\\n // unif load\\n data_scheme_q['x'][0] = L\\n data_scheme_q['x'][1] = L\\n data_scheme_q['x'][2] = pos\\n data_scheme_q['x'][3] = pos\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \"},\"id\":\"1903\",\"type\":\"CustomJS\"},{\"attributes\":{},\"id\":\"2141\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2086\",\"type\":\"AllLabels\"},{\"attributes\":{\"args\":{\"M_diag\":{\"id\":\"1388\"},\"M_stress_diag\":{\"id\":\"1676\"},\"V_diag\":{\"id\":\"1376\"},\"V_stress_diag\":{\"id\":\"1694\"},\"arr_head\":{\"id\":\"1253\"},\"bending_strain_diag\":{\"id\":\"1768\"},\"centroid\":{\"id\":\"1688\"},\"div_P\":{\"id\":\"1259\"},\"div_f\":{\"id\":\"1261\"},\"fN\":{\"id\":\"1237\"},\"fP\":{\"id\":\"1225\"},\"fRx\":{\"id\":\"1234\"},\"fRyl\":{\"id\":\"1231\"},\"fRyr\":{\"id\":\"1228\"},\"fV\":{\"id\":\"1240\"},\"label_M_section\":{\"id\":\"1891\"},\"label_N_section\":{\"id\":\"1885\"},\"label_V_section\":{\"id\":\"1897\"},\"neutral_axis\":{\"id\":\"1724\"},\"s_M\":{\"id\":\"1242\"},\"s_q\":{\"id\":\"1005\"},\"s_section_M\":{\"id\":\"1868\"},\"section_M_head\":{\"id\":\"1879\"},\"section_N\":{\"id\":\"1863\"},\"section_V\":{\"id\":\"1866\"},\"sigma_stress_diag\":{\"id\":\"1712\"},\"source\":{\"id\":\"1007\"},\"tau_stress_diag\":{\"id\":\"1730\"}},\"code\":\"\\n // retrieve data\\n const db = source.data\\n const q = cb_obj.value\\n const pos = db['x'][0]\\n const L = db['L'][0]\\n\\n // update q\\n db['q'][0] = q\\n db['V'][0] = compute_V(pos, q, L)\\n db['M'][0] = compute_M(pos, q, L)\\n db['Ry_l'][0] = compute_Ry_l(q, L)\\n db['Ry_r'][0] = compute_Ry_r(q, L)\\n\\n // update\\n update_u_load(db, s_q)\\n update_reactions(db, fRx, fRyl, fRyr)\\n update_external_forces(db, fP, div_P)\\n update_V_diagram(db, V_diag)\\n update_M_diagram(db, M_diag)\\n update_internal_forces(db, fN, fV, arr_head, s_M)\\n update_div_forces(db, div_f)\\n update_bending_stress_strain(db, M_stress_diag, bending_strain_diag, centroid)\\n update_shear_stress(db, V_stress_diag)\\n update_total_stress(db, sigma_stress_diag, tau_stress_diag, neutral_axis)\\n update_NVM_section(db, section_N, section_V, section_M_head, s_section_M, label_N_section, label_V_section, label_M_section)\\n\\n // apply changes\\n source.change.emit()\\n\\n // declare functions\\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function linspace(start, stop, discr = 100) {\\n const step = (stop - start) / (discr-1);\\n return Array.from({length: discr}, (_, i) => start + step * i);\\n }\\n \\n \\n function parabola(x, a1, a2, a3) {\\n return Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a2 * x[i] + a1);\\n }\\n \\n \\n function arrow_alpha(straight_arrow, alpha=1) {\\n straight_arrow.end.line_alpha = alpha\\n straight_arrow.end.fill_alpha = alpha\\n straight_arrow.line_alpha = alpha\\n }\\n \\n \\n function update_arrow(straight_arrow, intensity, x_start=0, x_end=0, y_start=0, y_end=0, AHF=7) {\\n straight_arrow.end.size = arrow_growth(intensity)*AHF\\n straight_arrow.x_start = x_start\\n straight_arrow.x_end = x_end\\n straight_arrow.y_start = y_start\\n straight_arrow.y_end = y_end\\n straight_arrow.line_width = arrow_growth(intensity)\\n }\\n \\n \\n function compute_V(x, q, L) {\\n return q*x-q*L/2\\n }\\n \\n \\n function compute_M(x, q, L) {\\n return q*x/2*(x-L)\\n }\\n \\n \\n function compute_Ry_l(q, L) {\\n return q*L/2\\n }\\n \\n \\n function compute_Ry_r(q, L) {\\n return q*L/2\\n }\\n \\n \\n function update_NVM_diagram(diagram, y) {\\n const y_ = [...y]\\n const source = diagram.data_source\\n y_.unshift(0)\\n y_.push(0)\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_V_diagram(data, glyph, discr=100) {\\n const L = data['L'][0]\\n const q = data['q'][0]\\n const x = linspace(0, L, 100)\\n const V_discr = Array.from({length: discr}, (_, i) => compute_V(x[i], q, L))\\n update_NVM_diagram(glyph, V_discr)\\n }\\n \\n \\n function update_M_diagram(data, glyph, discr=100) {\\n const L = data['L'][0]\\n const q = data['q'][0]\\n const x = linspace(0, L, 100)\\n const M_discr = Array.from({length: discr}, (_, i) => compute_M(x[i], q, L))\\n update_NVM_diagram(glyph, M_discr)\\n }\\n \\n \\n function update_reactions(data, glyph_Rx, glyph_Ry_l, glyph_Ry_r, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n const Ry_l = data['Ry_l'][0]\\n const Ry_r = data['Ry_r'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_Rx) // Rx\\n arrow_alpha(glyph_Ry_l) // Ry left\\n arrow_alpha(glyph_Ry_r) // Ry right\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_Rx, 1) // Rx\\n arrow_alpha(glyph_Ry_l, 1) // Ry left\\n arrow_alpha(glyph_Ry_r, alpha) // Ry right\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_Rx, alpha) //Rx\\n arrow_alpha(glyph_Ry_l, alpha) //Ry left\\n arrow_alpha(glyph_Ry_r, 1) // Ry right\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n update_arrow(glyph_Rx, -P, -P, 0, 0, 0) // Rx\\n update_arrow(glyph_Ry_r, Ry_r, L, L, -Ry_r, 0) // Ry right\\n update_arrow(glyph_Ry_l, Ry_l, 0, 0, -Ry_l, 0) // Ry left\\n }\\n \\n \\n function update_external_forces(data, glyph_P, div_P, alpha=0.3) {\\n const P = data['P'][0]\\n const L = data['L'][0]*data['SCALE'][0]\\n \\n // update visibility\\n switch(data['state'][0]) {\\n case 'IDLE':\\n arrow_alpha(glyph_P) // P\\n break\\n case 'R_SEC':\\n arrow_alpha(glyph_P, alpha) // P\\n break\\n case 'L_SEC':\\n arrow_alpha(glyph_P, 1) //P\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n \\n // update size\\n if (P==0) {\\n div_P.text = \\\"Axial force P=0 kN (removed)\\\"\\n update_arrow(glyph_P) // P\\n } else {\\n div_P.text = \\\"Axial force P=\\\"+P+\\\" kN (applied)\\\"\\n update_arrow(glyph_P, P, L+P, L, 0, 0) // P\\n }\\n }\\n \\n \\n function update_u_load(data, source_q, OFFSET_Q=4) {\\n const q = data['q'][0]\\n source_q.data['y'][1] = OFFSET_Q+q\\n source_q.data['y'][2] = OFFSET_Q+q\\n source_q.change.emit()\\n }\\n \\n \\n function update_internal_forces(data, glyph_N, glyph_V, glyph_M_head, source_M, lambda=0.25, offset_N=1.5, offset_V=1) {\\n const pos = data['x'][0]\\n const SCALE = data['SCALE'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n switch(data['state'][0]) {\\n case 'IDLE':\\n // internal forces\\n update_arrow(glyph_N)\\n update_arrow(glyph_V)\\n update_curvedArrow(0, 0, 0, 0, 0, source_M, glyph_M_head)\\n break;\\n case 'R_SEC':\\n // internal forces\\n update_arrow(glyph_N, -N, pos*SCALE-N+offset_N, pos*SCALE+offset_N, 0, 0)\\n update_arrow(glyph_V, -V, pos*SCALE+offset_V, pos*SCALE+offset_V, -V/2, V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n case 'L_SEC':\\n // internal forces\\n update_arrow(glyph_N, N, pos*SCALE+N-offset_N, pos*SCALE-offset_N, 0, 0)\\n update_arrow(glyph_V, V, pos*SCALE-offset_V, pos*SCALE-offset_V, V/2, -V/2)\\n var b = -6\\n var c = -M/2*0.8\\n var a = b+lambda*c\\n update_curvedArrow(a, b, c, pos*SCALE, 0, source_M, glyph_M_head)\\n break;\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n }\\n \\n \\n function update_curvedArrow(a, b, c, pos_x, pos_y, source, arr_head, discr=10, AHF=6) {\\n const data_M = source.data\\n if (c==0) {\\n var a1 = 0\\n var a3 = 0\\n } else {\\n var a1 = b\\n var a3 = (a-b)/c**2\\n }\\n const step = 2*c / (discr-1);\\n const x = Array.from({length: discr}, (_, i) => -c + step * i);\\n const y = Array.from({length: x.length}, (_, i) => a3 * x[i]**2 + a1)\\n var theta = -Math.atan(2/c*(a-b))\\n if (c<0) {\\n theta = theta+Math.PI\\n }\\n data_M['x'] = y.map(y => y+pos_x)\\n data_M['y'] = x.map(x => x+pos_y)\\n \\n arr_head.glyph.size = arrow_growth(2*c)*AHF\\n arr_head.glyph.angle = theta\\n arr_head.glyph.x = y[y.length-1]+pos_x\\n arr_head.glyph.y = x[x.length-1]+pos_y\\n source.change.emit()\\n }\\n \\n \\n function update_axial_stress_strain(data, glyph_stress, glyph_strain, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const A = data['A'][0]\\n const E = data['E'][0]\\n const N = data['N'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_axial = new Array(discr)\\n let strain_axial = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n strain_axial[i] = compute_epsilon_axial(sigma_axial[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_axial, y_discr)\\n update_strain_diagram(glyph_strain, strain_axial, y_discr)\\n }\\n \\n \\n function update_bending_stress_strain(data, glyph_stress, glyph_strain, glyph_centroid, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const E = data['E'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const M = data['M'][0]\\n const y_discr = linspace(0, h, discr)\\n let sigma_bending = new Array(discr)\\n let strain_bending = new Array(discr)\\n const src_centroid = glyph_centroid.data_source\\n \\n // apply the changes\\n src_centroid.data.y = [yG, yG]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n strain_bending[i] = compute_epsilon_bending(sigma_bending[i], E)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, sigma_bending, y_discr)\\n update_strain_diagram(glyph_strain, strain_bending, y_discr)\\n src_centroid.change.emit()\\n }\\n \\n \\n function update_shear_stress(data, glyph_stress, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const yG = data['yG'][0]\\n const Iy = data['Iy'][0]\\n const V = data['V'][0]\\n const y_discr = linspace(0, h, discr)\\n let tau_shear = new Array(discr)\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_stress, tau_shear, y_discr)\\n }\\n \\n \\n function update_total_stress(data, glyph_sigma, glyph_tau, glyph_neutral_axis, discr=10) { \\n // define parameters\\n const h = data['h'][0]\\n const b = data['b'][0]\\n const M = data['M'][0]\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const A = data['A'][0]\\n const Iy = data['Iy'][0]\\n const yG = data['yG'][0]\\n const y_discr = linspace(0, h, discr)\\n const y_n_axis = compute_neutral_axis(N, A, Iy, M, yG)\\n let sigma_bending = new Array(discr)\\n let tau_shear = new Array(discr)\\n let sigma_axial = new Array(discr)\\n let total_sigma = new Array(discr)\\n let total_tau = new Array(discr)\\n const src_n_axis = glyph_neutral_axis.data_source\\n \\n \\n // apply the changes\\n db['y_n_axis'][0] = y_n_axis\\n src_n_axis.data.y = [y_n_axis, y_n_axis]\\n \\n // compute the arrays\\n for (var i = 0; i < discr; i++) {\\n // sigma\\n sigma_axial[i] = compute_sigma_axial(N, A)\\n sigma_bending[i] = compute_sigma_bending(y_discr[i], M, Iy, yG)\\n total_sigma[i] = compute_total_sigma(sigma_axial[i], sigma_bending[i])\\n // tau\\n var S = compute_first_moment_of_area_implicit(y_discr[i], data)\\n tau_shear[i] = compute_tau_shear(V, S, Iy, b)\\n \\n total_tau[i] = compute_total_tau(tau_shear[i])\\n }\\n \\n // change the diagrams\\n update_stress_diagram(glyph_sigma, total_sigma, y_discr)\\n update_stress_diagram(glyph_tau, total_tau, y_discr)\\n src_n_axis.change.emit()\\n }\\n \\n \\n function compute_epsilon_bending(sigma_bending, E) {\\n return sigma_bending/E*100\\n }\\n \\n \\n function compute_sigma_axial(N, A) {\\n return N*1000/A\\n }\\n \\n \\n function update_stress_diagram(diagram, x, y) {\\n const x_ = [...x]\\n const y_ = [...y]\\n const source = diagram.data_source\\n x_.unshift(0)\\n x_.push(0)\\n y_.unshift(y[0])\\n y_.push(y[y.length-1])\\n source.data.x = x_\\n source.data.y = y_\\n source.change.emit()\\n }\\n \\n \\n function update_strain_diagram(diagram, x, y) {\\n const source = diagram.data_source\\n source.data.x = x\\n source.data.y = y\\n source.change.emit()\\n }\\n \\n \\n function compute_neutral_axis(N, A, Iy, M, yG) {\\n if (M == 0) {\\n return yG\\n }\\n else {\\n return yG - N/A*Iy/M/1000\\n }\\n }\\n \\n \\n function compute_centroid_y(h) {\\n return h/2\\n }\\n \\n \\n function compute_sigma_bending(y, M, Iy, yG) {\\n return M*1e6/Iy*(y-yG)\\n }\\n \\n \\n function compute_total_sigma(sigma_axial, sigma_bending) {\\n return sigma_bending+sigma_axial\\n }\\n \\n \\n function compute_total_tau(tau_shear, tau_torsion=0) {\\n return tau_shear + tau_torsion\\n }\\n \\n \\n function compute_first_moment_of_area(y, b, h, yG) {\\n return b/2*(h**2/4-(y-yG)**2)\\n }\\n \\n \\n function compute_first_moment_of_area_implicit(y_, data) {\\n return compute_first_moment_of_area(y_, data['b'][0], data['h'][0], data['yG'][0])\\n }\\n \\n \\n function compute_tau_shear(V, S, Iy, b_or_t) {\\n return V*1000*S/(Iy*b_or_t)\\n }\\n \\n \\n function update_div_forces(data, div) {\\n switch(data['state'][0]) {\\n case 'IDLE':\\n var str_sec = \\\"No cross section analysed.\\\"\\n break\\n case 'R_SEC':\\n case 'L_SEC':\\n var str_sec = \\\"Cross section at \\\"+Math.round(data['x'][0]*10)/10+\\\" m.\\\"\\n break\\n default:\\n console.error(\\\"State \\\"+data['state'][0]+\\\" in state machine not implemented\\\")\\n }\\n const P = data['P'][0]\\n const Rx = data['Rx'][0]\\n const Ry_l = Math.round(data['Ry_l'][0]*10)/10\\n const Ry_r = Math.round(data['Ry_r'][0]*10)/10\\n const N = Math.abs(data['N'][0])\\n const V = Math.round(Math.abs(data['V'][0])*10)/10\\n const M = Math.round(data['M'][0]*10)/10\\n \\n div.text = `\\n

Forces and Moments:

\\n P = `+P+` kN
\\n Rx = `+Rx+` kN
\\n Ry (left) = `+Ry_r+` kN
\\n Ry (right) = `+Ry_l+` kN
\\n `+str_sec+`
\\n N = `+N+` kN
\\n V = `+V+` kN
\\n M = `+M+` kNm\\n \\n ` \\n }\\n \\n \\n function update_NVM_section(data, glyph_N, glyph_V, glyph_M_head, source_M, label_N_section, label_V_section, label_M_section, lambda=0.25, offset_N=1.5, offset_V=2) {\\n const x = 0\\n const y = 0\\n const N = data['N'][0]\\n const V = data['V'][0]\\n const M = data['M'][0]\\n \\n update_arrow(glyph_N, -N, x-N+offset_N, x+offset_N, y, y)\\n update_arrow(glyph_V, -V, x+offset_V, x+offset_V, y-V/2, y+V/2)\\n var b = 6\\n var c = -M/2*0.8\\n var a = b-lambda*c\\n update_curvedArrow(a, b, c, x, y, source_M, glyph_M_head)\\n \\n if (N==0) {\\n label_N_section.glyph.text=''\\n } else {\\n label_N_section.glyph.text='N'\\n }\\n \\n if (V==0) {\\n label_V_section.glyph.text=''\\n } else {\\n label_V_section.glyph.text='V'\\n }\\n \\n if (M==0) {\\n label_M_section.glyph.text=''\\n } else {\\n label_M_section.glyph.text='M'\\n }\\n }\\n \\n \\n function arrow_growth(variable) {\\n return Math.log(Math.abs(variable)+1)\\n }\\n \\n \"},\"id\":\"1904\",\"type\":\"CustomJS\"},{\"attributes\":{\"width\":10},\"id\":\"1905\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"2088\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"height\":10},\"id\":\"1906\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"2089\",\"type\":\"AllLabels\"},{\"attributes\":{\"children\":[{\"id\":\"1107\"},{\"id\":\"1261\"}]},\"id\":\"1907\",\"type\":\"Row\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1715\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2006\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2007\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1729\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1716\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2008\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1777\",\"type\":\"Line\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1995\"},\"selection_policy\":{\"id\":\"1994\"}},\"id\":\"1938\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[-30.0,30.0],\"y\":[100.0,100.0]},\"selected\":{\"id\":\"2141\"},\"selection_policy\":{\"id\":\"2140\"}},\"id\":\"1720\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1717\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2009\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1719\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1997\"},\"selection_policy\":{\"id\":\"1996\"}},\"id\":\"1939\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1981\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1721\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1734\",\"type\":\"Line\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"1999\"},\"selection_policy\":{\"id\":\"1998\"}},\"id\":\"1940\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1982\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1504\",\"type\":\"SaveTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1733\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1735\"},\"nonselection_glyph\":{\"id\":\"1734\"},\"view\":{\"id\":\"1737\"}},\"id\":\"1736\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"overlay\":{\"id\":\"1507\"}},\"id\":\"1503\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1723\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1720\"},\"glyph\":{\"id\":\"1721\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1723\"},\"nonselection_glyph\":{\"id\":\"1722\"},\"view\":{\"id\":\"1725\"}},\"id\":\"1724\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1720\"}},\"id\":\"1725\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1722\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1015\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2001\"},\"selection_policy\":{\"id\":\"2000\"}},\"id\":\"1941\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1726\"},\"glyph\":{\"id\":\"1727\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1729\"},\"nonselection_glyph\":{\"id\":\"1728\"},\"view\":{\"id\":\"1731\"}},\"id\":\"1730\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,60],\"y\":[0,0]},\"selected\":{\"id\":\"1984\"},\"selection_policy\":{\"id\":\"1983\"}},\"id\":\"1004\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1726\"}},\"id\":\"1731\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2100\"},\"selection_policy\":{\"id\":\"2099\"}},\"id\":\"2010\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1727\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1775\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2003\"},\"selection_policy\":{\"id\":\"2002\"}},\"id\":\"1942\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0],\"y\":[0,0.0,22.22222222222222,44.44444444444444,66.66666666666666,88.88888888888889,111.11111111111111,133.33333333333331,155.55555555555554,177.77777777777777,200.0,200]},\"selected\":{\"id\":\"2156\"},\"selection_policy\":{\"id\":\"2155\"}},\"id\":\"1726\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2099\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"blue\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1728\",\"type\":\"Line\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2102\"},\"selection_policy\":{\"id\":\"2101\"}},\"id\":\"2011\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAACO4ziO4zg2QI7jOI7jOEZAqqqqqqqqUECO4ziO4zhWQHIcx3Ecx1tAqqqqqqqqYEAcx3Ecx3FjQI7jOI7jOGZAAAAAAAAAaUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"2117\"},\"selection_policy\":{\"id\":\"2116\"}},\"id\":\"1744\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1733\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2100\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2005\"},\"selection_policy\":{\"id\":\"2004\"}},\"id\":\"1943\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"x\":[-1.2,1.2],\"y\":[0,0]},\"selected\":{\"id\":\"2158\"},\"selection_policy\":{\"id\":\"2157\"}},\"id\":\"1738\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1735\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2101\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1983\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1737\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1739\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1984\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":[-0.00012,0.00012],\"y\":[0,0]},\"selected\":{\"id\":\"2131\"},\"selection_policy\":{\"id\":\"2130\"}},\"id\":\"1776\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2102\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1741\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0,6],\"y\":[0,0]},\"selected\":{\"id\":\"2013\"},\"selection_policy\":{\"id\":\"2012\"}},\"id\":\"1003\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1751\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1753\"},\"nonselection_glyph\":{\"id\":\"1752\"},\"view\":{\"id\":\"1755\"}},\"id\":\"1754\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1738\"},\"glyph\":{\"id\":\"1739\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1741\"},\"nonselection_glyph\":{\"id\":\"1740\"},\"view\":{\"id\":\"1743\"}},\"id\":\"1742\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"x\":[0,0,60,60],\"x_fade\":[0,0,60,60],\"y\":[4,8,8,4]},\"selected\":{\"id\":\"1988\"},\"selection_policy\":{\"id\":\"1987\"}},\"id\":\"1005\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1747\",\"type\":\"Line\"},{\"attributes\":{\"end\":0.9,\"start\":-0.4},\"id\":\"1013\",\"type\":\"Range1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1740\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1744\"},\"glyph\":{\"id\":\"1745\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1747\"},\"nonselection_glyph\":{\"id\":\"1746\"},\"view\":{\"id\":\"1749\"}},\"id\":\"1748\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1738\"}},\"id\":\"1743\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1745\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0,0],\"y\":[0,200]},\"selected\":{\"id\":\"2119\"},\"selection_policy\":{\"id\":\"2118\"}},\"id\":\"1006\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"A\":[20000],\"E\":[200000.0],\"FBD\":[0],\"Iy\":[66666666.666666664],\"Iz\":[16666666.666666666],\"L\":[6],\"M\":[0.0],\"N\":[-10.0],\"P\":[10],\"Rx\":[10],\"Ry_l\":[12.0],\"Ry_r\":[12.0],\"SCALE\":[10],\"V\":[12.0],\"b\":[100],\"h\":[200],\"q\":[4],\"state\":[\"IDLE\"],\"x\":[6],\"xF\":[60],\"y\":[0],\"yG\":[100.0],\"y_n_axis\":[100.0]},\"selected\":{\"id\":\"1982\"},\"selection_policy\":{\"id\":\"1981\"}},\"id\":\"1007\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1752\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1744\"}},\"id\":\"1749\",\"type\":\"CDSView\"},{\"attributes\":{\"below\":[{\"id\":\"1019\"}],\"center\":[{\"id\":\"1022\"},{\"id\":\"1026\"},{\"id\":\"1180\"}],\"height\":200,\"left\":[{\"id\":\"1023\"}],\"min_border_left\":0,\"renderers\":[{\"id\":\"1087\"},{\"id\":\"1093\"},{\"id\":\"1099\"},{\"id\":\"1171\"},{\"id\":\"1177\"},{\"id\":\"1186\"},{\"id\":\"1192\"}],\"title\":{\"id\":\"1009\"},\"toolbar\":{\"id\":\"1034\"},\"toolbar_location\":null,\"width\":700,\"x_range\":{\"id\":\"1011\"},\"x_scale\":{\"id\":\"1015\"},\"y_range\":{\"id\":\"1013\"},\"y_scale\":{\"id\":\"1017\"}},\"id\":\"1008\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1746\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Simple supported beam\"},\"id\":\"1009\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1767\",\"type\":\"Line\"},{\"attributes\":{\"below\":[{\"id\":\"1052\"}],\"center\":[{\"id\":\"1055\"},{\"id\":\"1059\"},{\"id\":\"1111\"},{\"id\":\"1120\"}],\"left\":[{\"id\":\"1056\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1078\"},{\"id\":\"1105\"},{\"id\":\"1117\"},{\"id\":\"1126\"}],\"title\":{\"id\":\"1042\"},\"toolbar\":{\"id\":\"1067\"},\"toolbar_location\":null,\"width\":300,\"x_range\":{\"id\":\"1044\"},\"x_scale\":{\"id\":\"1048\"},\"y_range\":{\"id\":\"1046\"},\"y_scale\":{\"id\":\"1050\"}},\"id\":\"1041\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1751\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.2},\"height\":{\"value\":480.0},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":240.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1077\",\"type\":\"Rect\"},{\"attributes\":{},\"id\":\"1020\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1791\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1985\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"end\":7.2,\"start\":-1.2000000000000002},\"id\":\"1011\",\"type\":\"Range1d\"},{\"attributes\":{\"data\":{\"x\":[-0.00012,0.00012],\"y\":[0,0]},\"selected\":{\"id\":\"2121\"},\"selection_policy\":{\"id\":\"2120\"}},\"id\":\"1756\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1753\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1986\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1031\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1755\",\"type\":\"CDSView\"},{\"attributes\":{\"axis\":{\"id\":\"1019\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1022\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1757\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1017\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1759\",\"type\":\"Line\"},{\"attributes\":{\"tools\":[{\"id\":\"1027\"},{\"id\":\"1028\"},{\"id\":\"1029\"},{\"id\":\"1030\"},{\"id\":\"1031\"},{\"id\":\"1032\"}]},\"id\":\"1034\",\"type\":\"Toolbar\"},{\"attributes\":{\"desired_num_ticks\":3,\"num_minor_ticks\":2},\"id\":\"1762\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{\"axis_label\":\"Position [m]\",\"coordinates\":null,\"formatter\":{\"id\":\"1949\"},\"group\":null,\"major_label_policy\":{\"id\":\"1950\"},\"ticker\":{\"id\":\"1020\"}},\"id\":\"1019\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1756\"},\"glyph\":{\"id\":\"1757\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1759\"},\"nonselection_glyph\":{\"id\":\"1758\"},\"view\":{\"id\":\"1761\"}},\"id\":\"1760\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1032\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1765\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1758\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"1946\"},\"group\":null,\"major_label_policy\":{\"id\":\"1947\"},\"ticker\":{\"id\":\"1024\"},\"visible\":false},\"id\":\"1023\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1764\"},\"glyph\":{\"id\":\"1765\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1767\"},\"nonselection_glyph\":{\"id\":\"1766\"},\"view\":{\"id\":\"1769\"}},\"id\":\"1768\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis\":{\"id\":\"1023\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1026\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2012\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1756\"}},\"id\":\"1761\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1779\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0],\"y\":[0]},\"selected\":{\"id\":\"2091\"},\"selection_policy\":{\"id\":\"2090\"}},\"id\":\"1074\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2013\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]},\"y\":{\"__ndarray__\":\"AAAAAAAAAACO4ziO4zg2QI7jOI7jOEZAqqqqqqqqUECO4ziO4zhWQHIcx3Ecx1tAqqqqqqqqYEAcx3Ecx3FjQI7jOI7jOGZAAAAAAAAAaUA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[10]}},\"selected\":{\"id\":\"2129\"},\"selection_policy\":{\"id\":\"2128\"}},\"id\":\"1764\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1028\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1027\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1987\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1764\"}},\"id\":\"1769\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1033\"}},\"id\":\"1029\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1766\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1030\",\"type\":\"SaveTool\"},{\"attributes\":{\"desired_num_ticks\":3,\"num_minor_ticks\":2},\"id\":\"1782\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"1988\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1773\",\"type\":\"Line\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1033\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1776\"},\"glyph\":{\"id\":\"1777\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1779\"},\"nonselection_glyph\":{\"id\":\"1778\"},\"view\":{\"id\":\"1781\"}},\"id\":\"1780\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1787\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1778\",\"type\":\"Line\"},{\"attributes\":{\"below\":[{\"id\":\"1795\"}],\"center\":[{\"id\":\"1798\"},{\"id\":\"1802\"},{\"id\":\"1863\"}],\"height\":200,\"left\":[{\"id\":\"1799\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1854\"},{\"id\":\"1873\"},{\"id\":\"1879\"},{\"id\":\"1885\"},{\"id\":\"1891\"}],\"title\":{\"id\":\"1785\"},\"toolbar\":{\"id\":\"1810\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1787\"},\"x_scale\":{\"id\":\"1791\"},\"y_range\":{\"id\":\"1789\"},\"y_scale\":{\"id\":\"1793\"}},\"id\":\"1784\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1501\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"1776\"}},\"id\":\"1781\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1789\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2014\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1796\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1066\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"2040\"},\"group\":null,\"major_label_policy\":{\"id\":\"2041\"},\"ticker\":{\"id\":\"1796\"},\"visible\":false},\"id\":\"1795\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2015\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1508\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1793\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2148\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1419\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1413\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2107\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2149\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2150\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2108\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1994\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2151\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1361\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1995\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2130\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1996\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.06060606060606061,0.12121212121212122,0.18181818181818182,0.24242424242424243,0.30303030303030304,0.36363636363636365,0.42424242424242425,0.48484848484848486,0.5454545454545454,0.6060606060606061,0.6666666666666667,0.7272727272727273,0.7878787878787878,0.8484848484848485,0.9090909090909092,0.9696969696969697,1.0303030303030303,1.0909090909090908,1.1515151515151516,1.2121212121212122,1.2727272727272727,1.3333333333333335,1.393939393939394,1.4545454545454546,1.5151515151515151,1.5757575757575757,1.6363636363636365,1.696969696969697,1.7575757575757576,1.8181818181818183,1.878787878787879,1.9393939393939394,2.0,2.0606060606060606,2.121212121212121,2.1818181818181817,2.2424242424242427,2.303030303030303,2.3636363636363638,2.4242424242424243,2.484848484848485,2.5454545454545454,2.606060606060606,2.666666666666667,2.7272727272727275,2.787878787878788,2.8484848484848486,2.909090909090909,2.9696969696969697,3.0303030303030303,3.090909090909091,3.1515151515151514,3.2121212121212124,3.272727272727273,3.3333333333333335,3.393939393939394,3.4545454545454546,3.515151515151515,3.5757575757575757,3.6363636363636367,3.6969696969696972,3.757575757575758,3.8181818181818183,3.878787878787879,3.9393939393939394,4.0,4.0606060606060606,4.121212121212121,4.181818181818182,4.242424242424242,4.303030303030303,4.363636363636363,4.424242424242425,4.484848484848485,4.545454545454546,4.606060606060606,4.666666666666667,4.7272727272727275,4.787878787878788,4.848484848484849,4.909090909090909,4.96969696969697,5.03030303030303,5.090909090909091,5.151515151515151,5.212121212121212,5.2727272727272725,5.333333333333334,5.3939393939393945,5.454545454545455,5.515151515151516,5.575757575757576,5.636363636363637,5.696969696969697,5.757575757575758,5.818181818181818,5.878787878787879,5.9393939393939394,6.0,6],\"y\":[0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,-10.0,0]},\"selected\":{\"id\":\"2028\"},\"selection_policy\":{\"id\":\"2027\"}},\"id\":\"1360\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2066\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2131\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1997\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2067\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2069\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1998\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2070\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2109\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"tools\":[{\"id\":\"1344\"},{\"id\":\"1345\"},{\"id\":\"1346\"},{\"id\":\"1347\"},{\"id\":\"1348\"},{\"id\":\"1349\"},{\"id\":\"1351\"}]},\"id\":\"1352\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1999\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1360\"},\"glyph\":{\"id\":\"1361\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1363\"},\"nonselection_glyph\":{\"id\":\"1362\"},\"view\":{\"id\":\"1365\"}},\"id\":\"1364\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2110\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1506\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1363\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1063\",\"type\":\"SaveTool\"},{\"attributes\":{\"source\":{\"id\":\"1372\"}},\"id\":\"1377\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2000\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1368\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1074\"}},\"id\":\"1079\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1360\"}},\"id\":\"1365\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2111\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1362\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2001\",\"type\":\"Selection\"},{\"attributes\":{\"below\":[{\"id\":\"1527\"}],\"center\":[{\"id\":\"1530\"},{\"id\":\"1534\"}],\"height\":200,\"left\":[{\"id\":\"1531\"}],\"renderers\":[{\"id\":\"1768\"},{\"id\":\"1774\"},{\"id\":\"1780\"}],\"title\":{\"id\":\"1518\"},\"toolbar\":{\"id\":\"1543\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1520\"},\"x_scale\":{\"id\":\"1523\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1525\"}},\"id\":\"1517\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1065\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2152\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1367\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1369\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2002\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2037\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2153\",\"type\":\"Selection\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.06060606060606061,0.12121212121212122,0.18181818181818182,0.24242424242424243,0.30303030303030304,0.36363636363636365,0.42424242424242425,0.48484848484848486,0.5454545454545454,0.6060606060606061,0.6666666666666667,0.7272727272727273,0.7878787878787878,0.8484848484848485,0.9090909090909092,0.9696969696969697,1.0303030303030303,1.0909090909090908,1.1515151515151516,1.2121212121212122,1.2727272727272727,1.3333333333333335,1.393939393939394,1.4545454545454546,1.5151515151515151,1.5757575757575757,1.6363636363636365,1.696969696969697,1.7575757575757576,1.8181818181818183,1.878787878787879,1.9393939393939394,2.0,2.0606060606060606,2.121212121212121,2.1818181818181817,2.2424242424242427,2.303030303030303,2.3636363636363638,2.4242424242424243,2.484848484848485,2.5454545454545454,2.606060606060606,2.666666666666667,2.7272727272727275,2.787878787878788,2.8484848484848486,2.909090909090909,2.9696969696969697,3.0303030303030303,3.090909090909091,3.1515151515151514,3.2121212121212124,3.272727272727273,3.3333333333333335,3.393939393939394,3.4545454545454546,3.515151515151515,3.5757575757575757,3.6363636363636367,3.6969696969696972,3.757575757575758,3.8181818181818183,3.878787878787879,3.9393939393939394,4.0,4.0606060606060606,4.121212121212121,4.181818181818182,4.242424242424242,4.303030303030303,4.363636363636363,4.424242424242425,4.484848484848485,4.545454545454546,4.606060606060606,4.666666666666667,4.7272727272727275,4.787878787878788,4.848484848484849,4.909090909090909,4.96969696969697,5.03030303030303,5.090909090909091,5.151515151515151,5.212121212121212,5.2727272727272725,5.333333333333334,5.3939393939393945,5.454545454545455,5.515151515151516,5.575757575757576,5.636363636363637,5.696969696969697,5.757575757575758,5.818181818181818,5.878787878787879,5.9393939393939394,6.0,6],\"y\":[0,-12.0,-11.757575757575758,-11.515151515151516,-11.272727272727273,-11.030303030303031,-10.787878787878787,-10.545454545454545,-10.303030303030303,-10.06060606060606,-9.818181818181818,-9.575757575757576,-9.333333333333332,-9.09090909090909,-8.848484848484848,-8.606060606060606,-8.363636363636363,-8.121212121212121,-7.878787878787879,-7.636363636363637,-7.393939393939394,-7.151515151515151,-6.909090909090909,-6.666666666666666,-6.424242424242424,-6.181818181818182,-5.9393939393939394,-5.696969696969697,-5.454545454545454,-5.212121212121212,-4.96969696969697,-4.727272727272727,-4.484848484848484,-4.242424242424242,-4.0,-3.757575757575758,-3.5151515151515156,-3.2727272727272734,-3.0303030303030294,-2.787878787878787,-2.545454545454545,-2.3030303030303028,-2.0606060606060606,-1.8181818181818183,-1.5757575757575761,-1.3333333333333321,-1.09090909090909,-0.8484848484848477,-0.6060606060606055,-0.3636363636363633,-0.1212121212121211,0.1212121212121211,0.3636363636363633,0.6060606060606055,0.8484848484848495,1.0909090909090917,1.333333333333334,1.5757575757575761,1.8181818181818183,2.0606060606060606,2.3030303030303028,2.5454545454545467,2.787878787878789,3.030303030303031,3.2727272727272734,3.5151515151515156,3.757575757575758,4.0,4.242424242424242,4.484848484848484,4.727272727272727,4.969696969696969,5.212121212121211,5.454545454545453,5.696969696969699,5.939393939393941,6.181818181818183,6.424242424242426,6.666666666666668,6.90909090909091,7.151515151515152,7.3939393939393945,7.636363636363637,7.878787878787879,8.121212121212121,8.363636363636363,8.606060606060606,8.848484848484848,9.09090909090909,9.333333333333336,9.575757575757578,9.81818181818182,10.060606060606062,10.303030303030305,10.545454545454547,10.787878787878789,11.030303030303031,11.272727272727273,11.515151515151516,11.757575757575758,12.0,0]},\"selected\":{\"id\":\"2031\"},\"selection_policy\":{\"id\":\"2030\"}},\"id\":\"1372\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2003\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2038\",\"type\":\"AllLabels\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1371\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1373\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2112\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1380\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2040\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1375\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2004\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2025\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1379\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1381\"},\"nonselection_glyph\":{\"id\":\"1380\"},\"view\":{\"id\":\"1383\"}},\"id\":\"1382\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"interval\":50},\"id\":\"1080\",\"type\":\"SingleIntervalTicker\"},{\"attributes\":{},\"id\":\"2041\",\"type\":\"AllLabels\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1372\"},\"glyph\":{\"id\":\"1373\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1375\"},\"nonselection_glyph\":{\"id\":\"1374\"},\"view\":{\"id\":\"1377\"}},\"id\":\"1376\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1084\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1086\"},\"nonselection_glyph\":{\"id\":\"1085\"},\"view\":{\"id\":\"1088\"}},\"id\":\"1087\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1417\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2005\",\"type\":\"Selection\"},{\"attributes\":{\"below\":[{\"id\":\"1425\"}],\"center\":[{\"id\":\"1428\"},{\"id\":\"1432\"}],\"height\":200,\"left\":[{\"id\":\"1429\"}],\"renderers\":[{\"id\":\"1658\"},{\"id\":\"1664\"},{\"id\":\"1670\"}],\"title\":{\"id\":\"1415\"},\"toolbar\":{\"id\":\"1441\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1417\"},\"x_scale\":{\"id\":\"1421\"},\"y_range\":{\"id\":\"1419\"},\"y_scale\":{\"id\":\"1423\"}},\"id\":\"1414\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2026\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1374\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2027\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1409\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1411\"},\"nonselection_glyph\":{\"id\":\"1410\"},\"view\":{\"id\":\"1413\"}},\"id\":\"1412\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2133\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1381\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1060\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2028\",\"type\":\"Selection\"},{\"attributes\":{\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1379\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2134\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1003\"},\"glyph\":{\"id\":\"1391\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1393\"},\"nonselection_glyph\":{\"id\":\"1392\"},\"view\":{\"id\":\"1395\"}},\"id\":\"1394\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1064\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1502\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1060\"},{\"id\":\"1061\"},{\"id\":\"1062\"},{\"id\":\"1063\"},{\"id\":\"1064\"},{\"id\":\"1065\"}]},\"id\":\"1067\",\"type\":\"Toolbar\"},{\"attributes\":{\"data\":{\"x\":[0,0.0,0.06060606060606061,0.12121212121212122,0.18181818181818182,0.24242424242424243,0.30303030303030304,0.36363636363636365,0.42424242424242425,0.48484848484848486,0.5454545454545454,0.6060606060606061,0.6666666666666667,0.7272727272727273,0.7878787878787878,0.8484848484848485,0.9090909090909092,0.9696969696969697,1.0303030303030303,1.0909090909090908,1.1515151515151516,1.2121212121212122,1.2727272727272727,1.3333333333333335,1.393939393939394,1.4545454545454546,1.5151515151515151,1.5757575757575757,1.6363636363636365,1.696969696969697,1.7575757575757576,1.8181818181818183,1.878787878787879,1.9393939393939394,2.0,2.0606060606060606,2.121212121212121,2.1818181818181817,2.2424242424242427,2.303030303030303,2.3636363636363638,2.4242424242424243,2.484848484848485,2.5454545454545454,2.606060606060606,2.666666666666667,2.7272727272727275,2.787878787878788,2.8484848484848486,2.909090909090909,2.9696969696969697,3.0303030303030303,3.090909090909091,3.1515151515151514,3.2121212121212124,3.272727272727273,3.3333333333333335,3.393939393939394,3.4545454545454546,3.515151515151515,3.5757575757575757,3.6363636363636367,3.6969696969696972,3.757575757575758,3.8181818181818183,3.878787878787879,3.9393939393939394,4.0,4.0606060606060606,4.121212121212121,4.181818181818182,4.242424242424242,4.303030303030303,4.363636363636363,4.424242424242425,4.484848484848485,4.545454545454546,4.606060606060606,4.666666666666667,4.7272727272727275,4.787878787878788,4.848484848484849,4.909090909090909,4.96969696969697,5.03030303030303,5.090909090909091,5.151515151515151,5.212121212121212,5.2727272727272725,5.333333333333334,5.3939393939393945,5.454545454545455,5.515151515151516,5.575757575757576,5.636363636363637,5.696969696969697,5.757575757575758,5.818181818181818,5.878787878787879,5.9393939393939394,6.0,6],\"y\":[0,-0.0,-0.7199265381083563,-1.4251606978879707,-2.115702479338843,-2.7915518824609737,-3.452708907254362,-4.099173553719009,-4.730945821854913,-5.348025711662076,-5.950413223140496,-6.5381083562901745,-7.111111111111112,-7.669421487603306,-8.213039485766759,-8.74196510560147,-9.25619834710744,-9.755739210284665,-10.240587695133149,-10.710743801652892,-11.166207529843895,-11.606978879706153,-12.03305785123967,-12.444444444444445,-12.841138659320476,-13.223140495867767,-13.590449954086317,-13.943067033976122,-14.28099173553719,-14.604224058769512,-14.912764003673093,-15.206611570247935,-15.485766758494032,-15.750229568411386,-16.0,-16.235078053259873,-16.455463728191,-16.661157024793386,-16.852157943067034,-17.02846648301194,-17.1900826446281,-17.33700642791552,-17.469237832874196,-17.58677685950413,-17.689623507805326,-17.77777777777778,-17.85123966942149,-17.910009182736456,-17.95408631772268,-17.983471074380166,-17.99816345270891,-17.99816345270891,-17.983471074380166,-17.95408631772268,-17.910009182736456,-17.85123966942149,-17.77777777777778,-17.689623507805326,-17.58677685950413,-17.469237832874196,-17.33700642791552,-17.1900826446281,-17.028466483011936,-16.852157943067034,-16.661157024793386,-16.455463728191,-16.235078053259873,-16.0,-15.750229568411386,-15.485766758494032,-15.206611570247935,-14.912764003673095,-14.604224058769514,-14.280991735537192,-13.943067033976122,-13.590449954086315,-13.223140495867765,-12.841138659320475,-12.444444444444443,-12.033057851239668,-11.606978879706151,-11.166207529843893,-10.710743801652892,-10.240587695133149,-9.755739210284665,-9.25619834710744,-8.741965105601471,-8.21303948576676,-7.669421487603308,-7.111111111111105,-6.538108356290169,-5.950413223140491,-5.348025711662071,-4.730945821854909,-4.099173553719005,-3.452708907254359,-2.791551882460971,-2.1157024793388413,-1.4251606978879694,-0.7199265381083556,0.0,0]},\"selected\":{\"id\":\"2034\"},\"selection_policy\":{\"id\":\"2033\"}},\"id\":\"1384\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2115\"},\"selection_policy\":{\"id\":\"2114\"}},\"id\":\"2042\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1505\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2072\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1003\"}},\"id\":\"1383\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1385\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1403\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1405\"},\"nonselection_glyph\":{\"id\":\"1404\"},\"view\":{\"id\":\"1407\"}},\"id\":\"1406\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2073\",\"type\":\"AllLabels\"},{\"attributes\":{\"line_alpha\":0.2,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1387\",\"type\":\"Line\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1384\"},\"glyph\":{\"id\":\"1385\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1387\"},\"nonselection_glyph\":{\"id\":\"1386\"},\"view\":{\"id\":\"1389\"}},\"id\":\"1388\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1074\"},\"glyph\":{\"id\":\"1075\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1077\"},\"nonselection_glyph\":{\"id\":\"1076\"},\"view\":{\"id\":\"1079\"}},\"id\":\"1078\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2075\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1392\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1384\"}},\"id\":\"1389\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1386\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"1066\"}},\"id\":\"1062\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2076\",\"type\":\"AllLabels\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"V\"}},\"id\":\"1405\",\"type\":\"Circle\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1393\",\"type\":\"Line\"},{\"attributes\":{\"line_width\":3,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1391\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"M\"}},\"id\":\"1409\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1498\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"2155\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1401\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"V\"}},\"id\":\"1403\",\"type\":\"Circle\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"M\"}},\"id\":\"1411\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"2156\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1407\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{},\"selected\":{\"id\":\"2149\"},\"selection_policy\":{\"id\":\"2148\"}},\"id\":\"2077\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"M\"}},\"id\":\"1410\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1061\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"V\"}},\"id\":\"1404\",\"type\":\"Circle\"},{\"attributes\":{\"height\":10},\"id\":\"1908\",\"type\":\"Spacer\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2037\"},\"group\":null,\"major_label_policy\":{\"id\":\"2038\"},\"ticker\":{\"id\":\"1800\"},\"visible\":false},\"id\":\"1799\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"N and M at position x\"},\"id\":\"1785\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1804\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis\":{\"id\":\"1799\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1802\",\"type\":\"Grid\"},{\"attributes\":{\"axis\":{\"id\":\"1795\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1798\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2066\"},\"group\":null,\"major_label_policy\":{\"id\":\"2067\"},\"ticker\":{\"id\":\"1601\"}},\"id\":\"1600\",\"type\":\"LinearAxis\"},{\"attributes\":{\"children\":[{\"id\":\"1041\"},{\"id\":\"1905\"},{\"id\":\"1909\"}]},\"id\":\"1910\",\"type\":\"Row\"},{\"attributes\":{\"children\":[{\"id\":\"1906\"},{\"id\":\"1108\"},{\"id\":\"1109\"},{\"id\":\"1907\"},{\"id\":\"1908\"},{\"id\":\"1256\"},{\"id\":\"1255\"},{\"id\":\"1257\"},{\"id\":\"1258\"},{\"id\":\"1259\"},{\"id\":\"1260\"}]},\"id\":\"1909\",\"type\":\"Column\"},{\"attributes\":{\"below\":[{\"id\":\"1828\"}],\"center\":[{\"id\":\"1831\"},{\"id\":\"1835\"},{\"id\":\"1866\"}],\"height\":200,\"left\":[{\"id\":\"1832\"}],\"match_aspect\":true,\"renderers\":[{\"id\":\"1860\"},{\"id\":\"1897\"}],\"title\":{\"id\":\"1818\"},\"toolbar\":{\"id\":\"1843\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1820\"},\"x_scale\":{\"id\":\"1824\"},\"y_range\":{\"id\":\"1822\"},\"y_scale\":{\"id\":\"1826\"}},\"id\":\"1817\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1800\",\"type\":\"BasicTicker\"},{\"attributes\":{\"width\":200},\"id\":\"1916\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"2090\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"children\":[{\"id\":\"1128\"},{\"id\":\"1910\"}]},\"id\":\"1911\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"1489\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1808\",\"type\":\"HelpTool\"},{\"attributes\":{\"height\":10},\"id\":\"1912\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"1803\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2091\",\"type\":\"Selection\"},{\"attributes\":{\"children\":[{\"id\":\"1911\"},{\"id\":\"1913\"}]},\"id\":\"1914\",\"type\":\"Row\"},{\"attributes\":{\"overlay\":{\"id\":\"1809\"}},\"id\":\"1805\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"children\":[{\"id\":\"1008\"},{\"id\":\"1912\"},{\"id\":\"1262\"},{\"id\":\"1296\"},{\"id\":\"1328\"}]},\"id\":\"1913\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"1806\",\"type\":\"SaveTool\"},{\"attributes\":{\"width\":200},\"id\":\"1917\",\"type\":\"Spacer\"},{\"attributes\":{},\"id\":\"1807\",\"type\":\"ResetTool\"},{\"attributes\":{\"width\":200},\"id\":\"1918\",\"type\":\"Spacer\"},{\"attributes\":{\"children\":[{\"id\":\"1817\"},{\"id\":\"1916\"},{\"id\":\"1551\"},{\"id\":\"1917\"},{\"id\":\"1918\"},{\"id\":\"1620\"}]},\"id\":\"1919\",\"type\":\"Row\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1809\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"children\":[{\"id\":\"1784\"},{\"id\":\"1449\"},{\"id\":\"1414\"},{\"id\":\"1517\"},{\"id\":\"1483\"},{\"id\":\"1586\"}]},\"id\":\"1915\",\"type\":\"Row\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1858\",\"type\":\"Line\"},{\"attributes\":{\"children\":[{\"id\":\"1915\"},{\"id\":\"1919\"}]},\"id\":\"1920\",\"type\":\"Column\"},{\"attributes\":{\"children\":[{\"id\":\"1920\"}]},\"id\":\"1921\",\"type\":\"Row\"},{\"attributes\":{\"source\":{\"id\":\"1856\"}},\"id\":\"1861\",\"type\":\"CDSView\"},{\"attributes\":{\"tools\":[{\"id\":\"1467\"},{\"id\":\"1468\"},{\"id\":\"1469\"},{\"id\":\"1470\"},{\"id\":\"1471\"},{\"id\":\"1472\"},{\"id\":\"1474\"}]},\"id\":\"1475\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1862\"},\"group\":null,\"line_color\":{\"value\":\"red\"},\"line_width\":{\"value\":0.0},\"source\":{\"id\":\"2042\"},\"start\":null,\"x_end\":{\"value\":0},\"x_start\":{\"value\":0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1863\",\"type\":\"Arrow\"},{\"attributes\":{},\"id\":\"1486\",\"type\":\"DataRange1d\"},{\"attributes\":{\"children\":[{\"id\":\"1914\"},{\"id\":\"1921\"}]},\"id\":\"1922\",\"type\":\"Column\"},{\"attributes\":{},\"id\":\"2092\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1859\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1523\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2093\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Bending stress and centroid\"},\"id\":\"1484\",\"type\":\"Title\"},{\"attributes\":{\"children\":[{\"id\":\"1922\"}]},\"id\":\"1923\",\"type\":\"Row\"},{\"attributes\":{},\"id\":\"1837\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1491\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1822\",\"type\":\"DataRange1d\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1507\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"formatter\":{\"id\":\"2075\"},\"group\":null,\"major_label_policy\":{\"id\":\"2076\"},\"ticker\":{\"id\":\"1829\"},\"visible\":false},\"id\":\"1828\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1596\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1599\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1820\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1601\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1538\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2094\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"tools\":[{\"id\":\"1803\"},{\"id\":\"1804\"},{\"id\":\"1805\"},{\"id\":\"1806\"},{\"id\":\"1807\"},{\"id\":\"1808\"}]},\"id\":\"1810\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2055\"},\"group\":null,\"major_label_policy\":{\"id\":\"2056\"},\"ticker\":{\"id\":\"1532\"},\"visible\":false},\"id\":\"1531\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis\":{\"id\":\"1531\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1534\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2072\"},\"group\":null,\"major_label_policy\":{\"id\":\"2073\"},\"ticker\":{\"id\":\"1833\"},\"visible\":false},\"id\":\"1832\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1824\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2095\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1828\"},\"coordinates\":null,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1831\",\"type\":\"Grid\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"V at position x\"},\"id\":\"1818\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1829\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Bending strain\"},\"id\":\"1518\",\"type\":\"Title\"},{\"attributes\":{\"axis\":{\"id\":\"1832\"},\"coordinates\":null,\"dimension\":1,\"grid_line_alpha\":0,\"group\":null,\"ticker\":null},\"id\":\"1835\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2096\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1850\"},\"glyph\":{\"id\":\"1851\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1853\"},\"nonselection_glyph\":{\"id\":\"1852\"},\"view\":{\"id\":\"1855\"}},\"id\":\"1854\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1826\",\"type\":\"LinearScale\"},{\"attributes\":{\"fill_color\":{\"value\":\"red\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"value\":0.0}},\"id\":\"1862\",\"type\":\"VeeHead\"},{\"attributes\":{},\"id\":\"1833\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1841\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1836\",\"type\":\"PanTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1501\"},{\"id\":\"1502\"},{\"id\":\"1503\"},{\"id\":\"1504\"},{\"id\":\"1505\"},{\"id\":\"1506\"},{\"id\":\"1508\"}]},\"id\":\"1509\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"1842\"}},\"id\":\"1838\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"2097\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1520\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1839\",\"type\":\"SaveTool\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Strain\",\"@x %\"],[\"Height\",\"@y mm\"]]},\"id\":\"1542\",\"type\":\"HoverTool\"},{\"attributes\":{},\"id\":\"1840\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis\":{\"id\":\"1527\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1530\",\"type\":\"Grid\"},{\"attributes\":{\"data\":{\"x\":[-1.6666666666666667,0,0,-1.6666666666666667],\"y\":[-10,-10,10,10]},\"selected\":{\"id\":\"2144\"},\"selection_policy\":{\"id\":\"2143\"}},\"id\":\"1856\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"overlay\":{\"id\":\"1541\"}},\"id\":\"1537\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1536\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1842\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1525\",\"type\":\"LinearScale\"},{\"attributes\":{\"tools\":[{\"id\":\"1836\"},{\"id\":\"1837\"},{\"id\":\"1838\"},{\"id\":\"1839\"},{\"id\":\"1840\"},{\"id\":\"1841\"}]},\"id\":\"1843\",\"type\":\"Toolbar\"},{\"attributes\":{\"axis_label\":\"Strain \\u03b5\\u2098 [%]\",\"coordinates\":null,\"formatter\":{\"id\":\"2057\"},\"group\":null,\"major_label_policy\":{\"id\":\"2058\"},\"ticker\":{\"id\":\"1782\"}},\"id\":\"1527\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1857\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1535\",\"type\":\"PanTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1856\"},\"glyph\":{\"id\":\"1857\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1859\"},\"nonselection_glyph\":{\"id\":\"1858\"},\"view\":{\"id\":\"1861\"}},\"id\":\"1860\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1532\",\"type\":\"BasicTicker\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1224\"},\"group\":null,\"line_color\":{\"value\":\"green\"},\"line_width\":{\"value\":2.3978952727983707},\"source\":{\"id\":\"1938\"},\"start\":null,\"x_end\":{\"value\":60},\"x_start\":{\"value\":70},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1225\",\"type\":\"Arrow\"},{\"attributes\":{},\"id\":\"1605\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"green\"},\"line_color\":{\"value\":\"green\"},\"size\":{\"value\":16.785266909588593}},\"id\":\"1224\",\"type\":\"VeeHead\"},{\"attributes\":{\"fill_alpha\":0.2,\"fill_color\":\"blue\",\"hatch_alpha\":0.2,\"hatch_color\":\"navy\",\"line_alpha\":0.2,\"line_color\":\"navy\",\"x\":{\"field\":\"x_fade\"},\"y\":{\"field\":\"y\"}},\"id\":\"1221\",\"type\":\"Patch\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1611\",\"type\":\"HoverTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1570\"},{\"id\":\"1571\"},{\"id\":\"1572\"},{\"id\":\"1573\"},{\"id\":\"1574\"},{\"id\":\"1575\"},{\"id\":\"1577\"}]},\"id\":\"1578\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1609\",\"type\":\"HelpTool\"},{\"attributes\":{\"axis\":{\"id\":\"1600\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1603\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1161\"}},\"id\":\"1166\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1604\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2016\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"1610\"}},\"id\":\"1606\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1607\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1608\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"2017\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1161\"},\"glyph\":{\"id\":\"1162\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1164\"},\"nonselection_glyph\":{\"id\":\"1163\"},\"view\":{\"id\":\"1166\"}},\"id\":\"1165\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1610\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1182\"},\"glyph\":{\"id\":\"1183\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1185\"},\"nonselection_glyph\":{\"id\":\"1184\"},\"view\":{\"id\":\"1187\"}},\"id\":\"1186\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1681\",\"type\":\"Line\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.6},\"fill_color\":{\"value\":\"blue\"},\"hatch_alpha\":{\"value\":0.6},\"hatch_color\":{\"value\":\"navy\"},\"height\":{\"value\":0.4},\"line_alpha\":{\"value\":0.6},\"line_color\":{\"value\":\"navy\"},\"width\":{\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1168\",\"type\":\"Rect\"},{\"attributes\":{\"data\":{\"x\":[3.0],\"y\":[0.6]},\"selected\":{\"id\":\"2019\"},\"selection_policy\":{\"id\":\"2018\"}},\"id\":\"1167\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data\":{\"text\":[\"P\"],\"x\":[6.5],\"y\":[0.2]},\"selected\":{\"id\":\"2023\"},\"selection_policy\":{\"id\":\"2022\"}},\"id\":\"1182\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1684\"},\"glyph\":{\"id\":\"1685\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1687\"},\"nonselection_glyph\":{\"id\":\"1686\"},\"view\":{\"id\":\"1689\"}},\"id\":\"1688\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1167\"},\"glyph\":{\"id\":\"1168\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1170\"},\"nonselection_glyph\":{\"id\":\"1169\"},\"view\":{\"id\":\"1172\"}},\"id\":\"1171\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"blue\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"navy\"},\"height\":{\"value\":0.4},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"navy\"},\"width\":{\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1169\",\"type\":\"Rect\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":1.5,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1680\",\"type\":\"Line\"},{\"attributes\":{\"fill_color\":{\"value\":\"green\"},\"line_color\":{\"value\":\"green\"},\"size\":{\"value\":16.785266909588593}},\"id\":\"1179\",\"type\":\"VeeHead\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1697\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1699\"},\"nonselection_glyph\":{\"id\":\"1698\"},\"view\":{\"id\":\"1701\"}},\"id\":\"1700\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"blue\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"navy\"},\"height\":{\"value\":0.4},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"navy\"},\"width\":{\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1170\",\"type\":\"Rect\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1173\"},\"glyph\":{\"id\":\"1174\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1176\"},\"nonselection_glyph\":{\"id\":\"1175\"},\"view\":{\"id\":\"1178\"}},\"id\":\"1177\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data\":{\"text\":[\"q\"],\"x\":[-0.2],\"y\":[0.4]},\"selected\":{\"id\":\"2021\"},\"selection_policy\":{\"id\":\"2020\"}},\"id\":\"1173\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1006\"}},\"id\":\"1683\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1167\"}},\"id\":\"1172\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2018\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"text_color\":{\"value\":\"blue\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1174\",\"type\":\"Text\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Total stress \\u03c4\"},\"id\":\"1621\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2019\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1173\"}},\"id\":\"1178\",\"type\":\"CDSView\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1179\"},\"group\":null,\"line_color\":{\"value\":\"green\"},\"line_width\":{\"value\":2.3978952727983707},\"source\":{\"id\":\"1951\"},\"start\":null,\"x_end\":{\"value\":6},\"x_start\":{\"value\":7.0},\"y_end\":{\"value\":0},\"y_start\":{\"value\":0}},\"id\":\"1180\",\"type\":\"Arrow\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_color\":{\"value\":\"blue\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1175\",\"type\":\"Text\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_color\":{\"value\":\"blue\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1176\",\"type\":\"Text\"},{\"attributes\":{\"tools\":[{\"id\":\"1604\"},{\"id\":\"1605\"},{\"id\":\"1606\"},{\"id\":\"1607\"},{\"id\":\"1608\"},{\"id\":\"1609\"},{\"id\":\"1611\"}]},\"id\":\"1612\",\"type\":\"Toolbar\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1005\"},\"glyph\":{\"id\":\"1213\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1215\"},\"nonselection_glyph\":{\"id\":\"1214\"},\"view\":{\"id\":\"1217\"}},\"id\":\"1216\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Stress \\u03c4 [MPa]\",\"coordinates\":null,\"formatter\":{\"id\":\"2088\"},\"group\":null,\"major_label_policy\":{\"id\":\"2089\"},\"ticker\":{\"id\":\"1631\"}},\"id\":\"1630\",\"type\":\"LinearAxis\"},{\"attributes\":{\"coordinates\":null,\"end\":{\"id\":\"1227\"},\"group\":null,\"line_color\":{\"value\":\"orange\"},\"line_width\":{\"value\":2.5649493574615367},\"source\":{\"id\":\"1939\"},\"start\":null,\"x_end\":{\"value\":60},\"x_start\":{\"value\":60},\"y_end\":{\"value\":0},\"y_start\":{\"value\":-12.0}},\"id\":\"1228\",\"type\":\"Arrow\"},{\"attributes\":{\"axis\":{\"id\":\"1056\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1059\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1189\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1631\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1208\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0,60],\"y\":[0,0]},\"selected\":{\"id\":\"1986\"},\"selection_policy\":{\"id\":\"1985\"}},\"id\":\"1206\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1044\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1182\"}},\"id\":\"1187\",\"type\":\"CDSView\"},{\"attributes\":{\"text_color\":{\"value\":\"green\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1183\",\"type\":\"Text\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2006\"},\"group\":null,\"major_label_policy\":{\"id\":\"2007\"},\"ticker\":{\"id\":\"1080\"}},\"id\":\"1056\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1623\",\"type\":\"DataRange1d\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1195\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1197\"},\"nonselection_glyph\":{\"id\":\"1196\"},\"view\":{\"id\":\"1199\"}},\"id\":\"1198\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Width b [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2008\"},\"group\":null,\"major_label_policy\":{\"id\":\"2009\"},\"ticker\":{\"id\":\"1080\"}},\"id\":\"1052\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text_alpha\":{\"value\":0.1},\"text_color\":{\"value\":\"green\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1184\",\"type\":\"Text\"},{\"attributes\":{\"below\":[{\"id\":\"1630\"}],\"center\":[{\"id\":\"1633\"},{\"id\":\"1637\"}],\"height\":200,\"renderers\":[{\"id\":\"1730\"},{\"id\":\"1736\"},{\"id\":\"1742\"}],\"right\":[{\"id\":\"1634\"}],\"title\":{\"id\":\"1621\"},\"toolbar\":{\"id\":\"1646\"},\"toolbar_location\":null,\"width\":200,\"x_range\":{\"id\":\"1623\"},\"x_scale\":{\"id\":\"1626\"},\"y_range\":{\"id\":\"1556\"},\"y_scale\":{\"id\":\"1628\"}},\"id\":\"1620\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1190\",\"type\":\"Circle\"},{\"attributes\":{\"axis\":{\"id\":\"1308\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1311\",\"type\":\"Grid\"},{\"attributes\":{\"axis\":{\"id\":\"1052\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1055\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1628\",\"type\":\"LinearScale\"},{\"attributes\":{\"text_alpha\":{\"value\":0.2},\"text_color\":{\"value\":\"green\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1185\",\"type\":\"Text\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1007\"},\"glyph\":{\"id\":\"1189\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1191\"},\"nonselection_glyph\":{\"id\":\"1190\"},\"view\":{\"id\":\"1193\"}},\"id\":\"1192\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2020\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1191\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1642\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1193\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1626\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2021\",\"type\":\"Selection\"},{\"attributes\":{\"fill_color\":{\"value\":\"orange\"},\"line_color\":{\"value\":\"orange\"},\"size\":{\"value\":17.954645502230758}},\"id\":\"1230\",\"type\":\"VeeHead\"},{\"attributes\":{\"callback\":null,\"tooltips\":[[\"Stress\",\"@x MPa\"],[\"Height\",\"@y mm\"]]},\"id\":\"1645\",\"type\":\"HoverTool\"},{\"attributes\":{\"source\":{\"id\":\"1005\"}},\"id\":\"1223\",\"type\":\"CDSView\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.1},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"xF\"},\"y\":{\"field\":\"y\"}},\"id\":\"1196\",\"type\":\"Circle\"},{\"attributes\":{\"axis\":{\"id\":\"1630\"},\"coordinates\":null,\"group\":null,\"ticker\":null},\"id\":\"1633\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0.1},\"height\":{\"value\":480.0},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":240.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1076\",\"type\":\"Rect\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1005\"},\"glyph\":{\"id\":\"1219\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1221\"},\"nonselection_glyph\":{\"id\":\"1220\"},\"view\":{\"id\":\"1223\"}},\"id\":\"1222\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.5},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.5},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"xF\"},\"y\":{\"field\":\"y\"}},\"id\":\"1195\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1639\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"fill_color\":{\"value\":\"orange\"},\"line_color\":{\"value\":\"orange\"},\"size\":{\"value\":17.954645502230758}},\"id\":\"1227\",\"type\":\"VeeHead\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1679\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1681\"},\"nonselection_glyph\":{\"id\":\"1680\"},\"view\":{\"id\":\"1683\"}},\"id\":\"1682\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2022\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1004\"},\"glyph\":{\"id\":\"1201\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1203\"},\"nonselection_glyph\":{\"id\":\"1202\"},\"view\":{\"id\":\"1205\"}},\"id\":\"1204\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Height h [mm]\",\"coordinates\":null,\"formatter\":{\"id\":\"2085\"},\"group\":null,\"major_label_policy\":{\"id\":\"2086\"},\"ticker\":{\"id\":\"1635\"}},\"id\":\"1634\",\"type\":\"LinearAxis\"},{\"attributes\":{\"source\":{\"id\":\"1007\"}},\"id\":\"1199\",\"type\":\"CDSView\"},{\"attributes\":{\"axis\":{\"id\":\"1634\"},\"coordinates\":null,\"dimension\":1,\"group\":null,\"ticker\":null},\"id\":\"1637\",\"type\":\"Grid\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.2},\"fill_color\":{\"value\":\"magenta\"},\"hatch_alpha\":{\"value\":0.2},\"hatch_color\":{\"value\":\"magenta\"},\"line_alpha\":{\"value\":0.2},\"line_color\":{\"value\":\"magenta\"},\"size\":{\"value\":10},\"x\":{\"field\":\"xF\"},\"y\":{\"field\":\"y\"}},\"id\":\"1197\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1635\",\"type\":\"BasicTicker\"},{\"attributes\":{\"fill_alpha\":0.3,\"fill_color\":\"blue\",\"hatch_alpha\":0.3,\"hatch_color\":\"navy\",\"line_alpha\":0.3,\"line_color\":\"navy\",\"x\":{\"field\":\"x_fade\"},\"y\":{\"field\":\"y\"}},\"id\":\"1219\",\"type\":\"Patch\"},{\"attributes\":{\"line_alpha\":0.1,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1202\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1979\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1201\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1643\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1207\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1638\",\"type\":\"PanTool\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1203\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1980\",\"type\":\"Selection\"},{\"attributes\":{\"source\":{\"id\":\"1122\"}},\"id\":\"1127\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.2,\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1209\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1050\",\"type\":\"LinearScale\"},{\"attributes\":{\"data\":{\"x\":[-30.0,30.0],\"y\":[100.0,100.0]},\"selected\":{\"id\":\"2136\"},\"selection_policy\":{\"id\":\"2135\"}},\"id\":\"1684\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1004\"}},\"id\":\"1205\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1644\"}},\"id\":\"1640\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1641\",\"type\":\"SaveTool\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1006\"},\"glyph\":{\"id\":\"1661\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1663\"},\"nonselection_glyph\":{\"id\":\"1662\"},\"view\":{\"id\":\"1665\"}},\"id\":\"1664\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_alpha\":{\"value\":0},\"fill_color\":{\"value\":\"#1f77b4\"},\"hatch_alpha\":{\"value\":0},\"height\":{\"value\":480.0},\"line_alpha\":{\"value\":0},\"line_color\":{\"value\":\"#1f77b4\"},\"width\":{\"value\":240.0},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1075\",\"type\":\"Rect\"},{\"attributes\":{\"source\":{\"id\":\"1206\"}},\"id\":\"1211\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1048\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2023\",\"type\":\"Selection\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1206\"},\"glyph\":{\"id\":\"1207\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1209\"},\"nonselection_glyph\":{\"id\":\"1208\"},\"view\":{\"id\":\"1211\"}},\"id\":\"1210\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"coordinates\":null,\"group\":null,\"text\":\"Cross-section of the beam\"},\"id\":\"1042\",\"type\":\"Title\"},{\"attributes\":{\"fill_alpha\":0.3,\"fill_color\":\"blue\",\"hatch_alpha\":0.3,\"hatch_color\":\"navy\",\"line_alpha\":0.3,\"line_color\":\"navy\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1213\",\"type\":\"Patch\"},{\"attributes\":{\"source\":{\"id\":\"1005\"}},\"id\":\"1217\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom_units\":\"screen\",\"coordinates\":null,\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"group\":null,\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"syncable\":false,\"top_units\":\"screen\"},\"id\":\"1644\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"fill_alpha\":0.1,\"fill_color\":\"blue\",\"hatch_alpha\":0.1,\"hatch_color\":\"navy\",\"line_alpha\":0.1,\"line_color\":\"navy\",\"x\":{\"field\":\"x_fade\"},\"y\":{\"field\":\"y\"}},\"id\":\"1220\",\"type\":\"Patch\"},{\"attributes\":{\"coordinates\":null,\"data_source\":{\"id\":\"1122\"},\"glyph\":{\"id\":\"1123\"},\"group\":null,\"hover_glyph\":null,\"muted_glyph\":{\"id\":\"1125\"},\"nonselection_glyph\":{\"id\":\"1124\"},\"view\":{\"id\":\"1127\"}},\"id\":\"1126\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2055\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2056\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2057\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2058\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2033\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2034\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2125\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2143\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2126\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2144\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2145\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2146\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2103\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2104\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2060\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2061\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2063\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2064\",\"type\":\"AllLabels\"},{\"attributes\":{},\"id\":\"2128\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2105\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2129\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2106\",\"type\":\"Selection\"}],\"root_ids\":[\"1924\"]},\"title\":\"Bokeh Application\",\"version\":\"2.4.2\"}};\n", + " const render_items = [{\"docid\":\"01c53cca-b8cd-4ae6-a2a0-b26d6b8dbc69\",\"root_ids\":[\"1924\"],\"roots\":{\"1924\":\"d94629b0-ef5a-4113-9780-0052e36c0c72\"}}];\n", " root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n", "\n", " }\n", " if (root.Bokeh !== undefined) {\n", " embed_document(root);\n", " } else {\n", " let attempts = 0;\n", " const timer = setInterval(function(root) {\n", " if (root.Bokeh !== undefined) {\n", " clearInterval(timer);\n", " embed_document(root);\n", " } else {\n", " attempts++;\n", " if (attempts > 100) {\n", " clearInterval(timer);\n", " console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n", " }\n", " }\n", " }, 10, root)\n", " }\n", "})(window);" ], "application/vnd.bokehjs_exec.v0+json": "" }, "metadata": { "application/vnd.bokehjs_exec.v0+json": { "id": "1924" } }, "output_type": "display_data" } ], "source": [ "hidden_code_nb_stress.main_code(L, h, b, A, Iy, Iz, yG, y_n_axis, q, P, E, N, V, M, Rx, Ry_l, Ry_r, discr_NVM, x_discr, N_discr, V_discr, M_discr)" ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## **Legend**\n", + "\n", + "Brief description on how to use the interactive visualization tool. For more information on specific features, check the comments in the desired file in the HiddenCode folder.\n", + "\n", + "* **Slider of the width b:** move the slider to change the width b of the cross-section of the beam.\n", + "* **Slider of height h:** move the slider to change the height h of the cross-section of the beam.\n", + "* **Slider of the position x:** move the slider to change the position x along the beam.\n", + "* **Slider of the uniform load q:** move the slider to change the uniform load q.\n", + "* **Textbox \"Geometrical and mechanical parameters:** small summary with the value of h, b, L, A (area), Iy (inertia with respect to the strong axis) and Iz (inertia with respect to the weak axis).\n", + "* **Textbox \"Forces and Moments:** small summary with the value of the magnitude of the reaction forces and the internal forces at the position x.\n", + "* **Figure \"Simple supported beam\":** in this figure, the initial state is presented with the static scheme, the length of the beam, the horizontal force P and the uniform load q.\n", + "* **Figure \"Cross-section of the beam\":** in this figure, the cross section (constant along the beam) and the remaining two axis (y and z) are depicted.\n", + "* **Figure \"Forces and Moments Scheme\":** this figure has a dynamic representation of the studied case with the position x indicated by a magenta dot, the internal forces shown in with red arrows, the reaction forces with yellow arrows, the external force P with a green arrow and the uniform load q in blue.\n", + "* **Radio buttons of the FBD:** choose between right-hand or left-hand free-body diagram.\n", + "* **Button of the force P:** apply or remove the external force P.\n", + "* **Figures \"N V M Diagrams\":** plots that show the axial force N, shear force V and bending moment M diagrams, with a magenta dot that represents the x position. By hovering with the cursor over the desired position, a small window will show the position and the value of the internal force.\n", + "* **9 small bottom figures:** plots that show the strains, stresses and right-hand free-body diagram section (with N, V and M). By hovering with the cursor over the desired position, a small window will show the height and the value of the stress or strain.\n", + "\n", + "### Recommendations\n", + "\n", + "Considering the innate graphical nature of the interactive visualization tool, the input in the definition of the variables with extreme configuration can lead to small glitches or unclear plots; it's recommended to change these values carefully.\n", + "\n", + "### EXTRA: Note on the slow reactivity of the tool\n", + "\n", + "The slow reactivity of the tool is given by the two textboxes (called Div Widgets) which automatically call a specific funtion every time they are modified. This function redraws everything in the tool (figures, plots, diagrams, textboxes, sliders, ...), generating this problem. Considering that a real solution does not exist in the current version of the lib used (Bokeh 2.4.2), these textboxes will be removed in the next DEMOs." + ] } ], "metadata": { "interpreter": { "hash": "f29f3a16a5c47811d2900cf82e6584cc83572ddcd5db25d9cf9bef77823b3d45" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }