{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Preliminary sizing of a rotor blade\n",
"\n",
"As previously mentioned we will use the work of Adkins and Liebeck to perform both optimisation and off design analysis. Let us start with the rotor blade optimisation.\n",
"\n",
"The method has been implemented in Python in the package called `tuduam`, i.e TU Delft Urban Air Mobility. Hence, when creating the input we have to keep in mind the [documentation](https://saullocastro.github.io/tuduam/) on what the functions expect. Feel free to roam around the documentation to see what other functionalities are offered by the package. Keep in mind however that the package is under active development.\n",
"\n",
"The design is initiated with the specified conditions of power (or thrust), hub and tip radius, rotational rate, freestream velocity, number of blades, and a finite number of stations at which blade geometry is to be determined. Let us define this in the next block\n",
"\n",
"## Defining the conditions\n",
"\n",
"Most of the code below does not need explaining, however as previously mentioned we must take into account the [API documentation](https://saullocastro.github.io/tuduam/) . Here it says that the blade parameter must be defined in the `Propeller` data structure. Furthermore, BEM analysis requires airfoil polar at a large range of reynolds numbers. `tuduam` relies on the user to input this data in the form of a path to a directory which contains all the polars. These files should be in the common format outputted by [xfoil](https://web.mit.edu/drela/Public/web/xfoil/). A tutorial on how to create this data has also been made which can be found in the course. Sample data for the NACA 4412 is readily available however in the `tuduam` repository. The NACA 4412 is shown in [Figure 1](#figure1)\n",
"\n",
"
\n",
"
\n",
" \n",
"
\n",
"
\n", "Figure 1: The NACA 4412 airfoil\n", "
\n", "a_snd=335.62572904948746 \n", "rho_cr=1.0899402822825992 \n", "dyn_vis=1.7736932645281385e-05 \n", "prop_class=Propeller(n_blades=6.0, r_prop=0.55, rpm_cruise=1200.0, xi_0=0.1, chord_arr=None, rad_arr=None, \n", "pitch_arr=None, tc_ratio=0.12)\n", "\n" ], "text/plain": [ "\u001b[33ma_snd\u001b[0m=\u001b[1;36m335\u001b[0m\u001b[1;36m.62572904948746\u001b[0m \n", "\u001b[33mrho_cr\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.0899402822825992\u001b[0m \n", "\u001b[33mdyn_vis\u001b[0m=\u001b[1;36m1\u001b[0m\u001b[1;36m.7736932645281385e-05\u001b[0m \n", "\u001b[33mprop_class\u001b[0m=\u001b[1;35mPropeller\u001b[0m\u001b[1m(\u001b[0m\u001b[33mn_blades\u001b[0m=\u001b[1;36m6\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[33mr_prop\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.55\u001b[0m, \u001b[33mrpm_cruise\u001b[0m=\u001b[1;36m1200\u001b[0m\u001b[1;36m.0\u001b[0m, \u001b[33mxi_0\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.1\u001b[0m, \u001b[33mchord_arr\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mrad_arr\u001b[0m=\u001b[3;35mNone\u001b[0m, \n", "\u001b[33mpitch_arr\u001b[0m=\u001b[3;35mNone\u001b[0m, \u001b[33mtc_ratio\u001b[0m=\u001b[1;36m0\u001b[0m\u001b[1;36m.12\u001b[0m\u001b[1m)\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import os\n", "import tuduam as tud\n", "import rich\n", "import tuduam.propulsion as prop\n", "\n", "# Define parameters required according to API documentation\n", "data_path = os.path.realpath(os.path.join(os.path.abspath('.'), 'tuduam', 'examples', 'data')) # Path to airfoil data\n", "coord_path = os.path.realpath(os.path.join(os.path.abspath('.'), 'tuduam', 'examples', 'naca_4412.txt')) # Path to airfoil coordinates\n", "n_stations = 25 # number of stations\n", "\n", "# Define operational parameters\n", "thrust_req = 400 # N\n", "v_cruise = 210/3.6 #m/s\n", "h_cruise = 1200 # m\n", "isa = tud.ISA(h_cruise) # ISA altitude class\n", "a_snd = isa.soundspeed() # Speed of sound m/s\n", "rho_cr = isa.density() # Air density kg/m^3 \n", "dyn_vis = isa.viscosity_dyn() # Dynamic viscosity Pa*s\n", "\n", "# Define the specified conditions for the propeller geometry in the data structure\n", "prop_class = tud.Propeller(\n", " n_blades=6, # Number of blades\n", " r_prop=0.55, # propeller radius m\n", " rpm_cruise=1200, # revolutions per minute\n", " tc_ratio=0.12, # Thickness to chord ratio of airfoil\n", " xi_0=0.1 # nondimensional hub radius (r_hub/R)\n", " ) \n", "\n", "rich.print(f\"{a_snd=} \\n{rho_cr=} \\n{dyn_vis=} \\n{prop_class=}\")\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Running the optimisation\n", "\n", "Having defined the conditions we now run the actual optimisation. In the code it will be as simple as calling a single line however there is much going on in the background. A general overview of procedure is described here however for a full description refer to the paper (download link available in the course in sources). \n", "\n", "The general procedure can be condensed to the following:\n", "\n", "1. Select an initial estimate for $\\zeta$, the displacement velocity ratio ($\\zeta$ = 0 will work).\n", "2. Determine the values for $F$, the Prandtl momentum loss factor, and $\\phi$, the flow angle, at each blade station.\n", "3. Determine the product $Wc$, the local velocity multiplied by the local chord. Additionally, compute the Reynolds number.\n", "4. Determine $\\epsilon$, the drag-to-lift ratio, and $\\alpha$, the angle of attack, from airfoil section data.\n", "5. If $\\epsilon$ is to be minimized, change $C_l$, and repeat Steps 3 and 4 until this is accomplished at each station.\n", "6. Determine $\\alpha$ and $\\alpha'$, the axial and rotational interference factor, respectively.\n", "7. Compute the chord from Step 3, and the blade twist $\\beta = \\alpha + \\phi$.\n", "8. Determine the four derivatives in I and J, and numerically integrate these from the non-dimensional hub radius, $\\xi_0$ to the non-dimensional radius $\\xi$ = 1.\n", "9. Determine $\\zeta$ and $T_c$, the thrust coefficient.\n", "10. If this new value for $\\zeta$ is not sufficiently close to the old one (e.g., within 0.1\\%), start over at step 2 using the new $\\zeta$.\n", "11. Determine propeller efficiency as $\\eta = \\frac{T}{P_c}$, and other features such as solidity.\n", "\n", "Let us now run the optimisation and plot the resulting blade geometry. The plotting is performed using a class called `PlotBlade`, which has a method for both a 3D and 2D plot. Feel free to play with the parameters of the rotor by rerunning the above code box with new parameters. Note that the optimisation will crash however for infeasible designs." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
{\n", " 'chord_arr': array([0.06450542, 0.0815267 , 0.0970076 , 0.11083296, 0.12292547,\n", " 0.13324371, 0.14178268, 0.1484006 , 0.15344058, 0.15682568,\n", " 0.15863253, 0.1589442 , 0.15784599, 0.15542109, 0.15174425,\n", " 0.14687961, 0.14087312, 0.13374916, 0.12549776, 0.11606204,\n", " 0.1054556 , 0.0931046 , 0.07862803, 0.06075668, 0.03493964]),\n", " 'pitch_arr': array([1.50066203, 1.46814551, 1.43597542, 1.4042232 , 1.37295481,\n", " 1.34048482, 1.31210253, 1.27738256, 1.24858189, 1.22049744,\n", " 1.19315549, 1.16657602, 1.14077307, 1.11575523, 1.09152613,\n", " 1.06808489, 1.0436814 , 1.02179809, 1.00067843, 0.98030877,\n", " 0.96416404, 0.94524556, 0.92702529, 0.90948357, 0.89260002]),\n", " 'alpha_arr': array([0.04363323, 0.04537856, 0.04712389, 0.04886922, 0.05061455,\n", " 0.05061455, 0.05410521, 0.05061455, 0.05235988, 0.05410521,\n", " 0.05585054, 0.05759587, 0.05934119, 0.06108652, 0.06283185,\n", " 0.06457718, 0.06457718, 0.06632251, 0.06806784, 0.06981317,\n", " 0.07504916, 0.07679449, 0.07853982, 0.08028515, 0.08203047]),\n", " 'station_arr': array([0.0649, 0.0847, 0.1045, 0.1243, 0.1441, 0.1639, 0.1837, 0.2035,\n", " 0.2233, 0.2431, 0.2629, 0.2827, 0.3025, 0.3223, 0.3421, 0.3619,\n", " 0.3817, 0.4015, 0.4213, 0.4411, 0.4609, 0.4807, 0.5005, 0.5203,\n", " 0.5401]),\n", " 'drag_to_lift_arr': array([0.02467022, 0.02453238, 0.02441314, 0.02412773, 0.02379947,\n", " 0.02349407, 0.02362806, 0.00833238, 0.00831749, 0.0082426 ,\n", " 0.00819419, 0.00815943, 0.00812609, 0.00811742, 0.00807504,\n", " 0.00803422, 0.00794982, 0.00791248, 0.00788762, 0.00788581,\n", " 0.02165054, 0.02161504, 0.02146528, 0.02128869, 0.02137814]),\n", " 'v_e': 84.42019742325951,\n", " 'solidity': array([0.94912391, 0.91915302, 0.88646351, 0.85146964, 0.81460912,\n", " 0.77631708, 0.73703042, 0.69637412, 0.65617987, 0.61603246,\n", " 0.57619974, 0.53689612, 0.49828701, 0.46049087, 0.42357523,\n", " 0.38756479, 0.35243364, 0.31810968, 0.28445652, 0.25126068,\n", " 0.21849139, 0.18495599, 0.15001845, 0.11150943, 0.06177541]),\n", " 'cl': array([0.74153846, 0.75207692, 0.76261538, 0.77315385, 0.78369231,\n", " 0.79423077, 0.80476923, 0.81530769, 0.82584615, 0.83638462,\n", " 0.84692308, 0.85746154, 0.868 , 0.87853846, 0.88907692,\n", " 0.89961538, 0.91015385, 0.92069231, 0.93123077, 0.94176923,\n", " 0.95230769, 0.96284615, 0.97338462, 0.98392308, 0.99446154]),\n", " 'cd': array([0.01829392, 0.01845023, 0.01861784, 0.01865444, 0.01865146,\n", " 0.01865971, 0.01901514, 0.00679345, 0.00686897, 0.00689399,\n", " 0.00693985, 0.0069964 , 0.00705345, 0.00713147, 0.00717933,\n", " 0.0072277 , 0.00723556, 0.00728496, 0.00734519, 0.00742662,\n", " 0.02061798, 0.02081196, 0.02089398, 0.02094644, 0.02125974]),\n", " 'eff': 0.7873405743678134,\n", " 'tc': 0.2269752189628377,\n", " 'pc': 0.28828086136051734,\n", " 'zeta': 0.44719577704754987\n", "}\n", "\n" ], "text/plain": [ "\u001b[1m{\u001b[0m\n", " \u001b[32m'chord_arr'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.06450542\u001b[0m, \u001b[1;36m0.0815267\u001b[0m , \u001b[1;36m0.0970076\u001b[0m , \u001b[1;36m0.11083296\u001b[0m, \u001b[1;36m0.12292547\u001b[0m,\n", " \u001b[1;36m0.13324371\u001b[0m, \u001b[1;36m0.14178268\u001b[0m, \u001b[1;36m0.1484006\u001b[0m , \u001b[1;36m0.15344058\u001b[0m, \u001b[1;36m0.15682568\u001b[0m,\n", " \u001b[1;36m0.15863253\u001b[0m, \u001b[1;36m0.1589442\u001b[0m , \u001b[1;36m0.15784599\u001b[0m, \u001b[1;36m0.15542109\u001b[0m, \u001b[1;36m0.15174425\u001b[0m,\n", " \u001b[1;36m0.14687961\u001b[0m, \u001b[1;36m0.14087312\u001b[0m, \u001b[1;36m0.13374916\u001b[0m, \u001b[1;36m0.12549776\u001b[0m, \u001b[1;36m0.11606204\u001b[0m,\n", " \u001b[1;36m0.1054556\u001b[0m , \u001b[1;36m0.0931046\u001b[0m , \u001b[1;36m0.07862803\u001b[0m, \u001b[1;36m0.06075668\u001b[0m, \u001b[1;36m0.03493964\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'pitch_arr'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m1.50066203\u001b[0m, \u001b[1;36m1.46814551\u001b[0m, \u001b[1;36m1.43597542\u001b[0m, \u001b[1;36m1.4042232\u001b[0m , \u001b[1;36m1.37295481\u001b[0m,\n", " \u001b[1;36m1.34048482\u001b[0m, \u001b[1;36m1.31210253\u001b[0m, \u001b[1;36m1.27738256\u001b[0m, \u001b[1;36m1.24858189\u001b[0m, \u001b[1;36m1.22049744\u001b[0m,\n", " \u001b[1;36m1.19315549\u001b[0m, \u001b[1;36m1.16657602\u001b[0m, \u001b[1;36m1.14077307\u001b[0m, \u001b[1;36m1.11575523\u001b[0m, \u001b[1;36m1.09152613\u001b[0m,\n", " \u001b[1;36m1.06808489\u001b[0m, \u001b[1;36m1.0436814\u001b[0m , \u001b[1;36m1.02179809\u001b[0m, \u001b[1;36m1.00067843\u001b[0m, \u001b[1;36m0.98030877\u001b[0m,\n", " \u001b[1;36m0.96416404\u001b[0m, \u001b[1;36m0.94524556\u001b[0m, \u001b[1;36m0.92702529\u001b[0m, \u001b[1;36m0.90948357\u001b[0m, \u001b[1;36m0.89260002\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'alpha_arr'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.04363323\u001b[0m, \u001b[1;36m0.04537856\u001b[0m, \u001b[1;36m0.04712389\u001b[0m, \u001b[1;36m0.04886922\u001b[0m, \u001b[1;36m0.05061455\u001b[0m,\n", " \u001b[1;36m0.05061455\u001b[0m, \u001b[1;36m0.05410521\u001b[0m, \u001b[1;36m0.05061455\u001b[0m, \u001b[1;36m0.05235988\u001b[0m, \u001b[1;36m0.05410521\u001b[0m,\n", " \u001b[1;36m0.05585054\u001b[0m, \u001b[1;36m0.05759587\u001b[0m, \u001b[1;36m0.05934119\u001b[0m, \u001b[1;36m0.06108652\u001b[0m, \u001b[1;36m0.06283185\u001b[0m,\n", " \u001b[1;36m0.06457718\u001b[0m, \u001b[1;36m0.06457718\u001b[0m, \u001b[1;36m0.06632251\u001b[0m, \u001b[1;36m0.06806784\u001b[0m, \u001b[1;36m0.06981317\u001b[0m,\n", " \u001b[1;36m0.07504916\u001b[0m, \u001b[1;36m0.07679449\u001b[0m, \u001b[1;36m0.07853982\u001b[0m, \u001b[1;36m0.08028515\u001b[0m, \u001b[1;36m0.08203047\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'station_arr'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.0649\u001b[0m, \u001b[1;36m0.0847\u001b[0m, \u001b[1;36m0.1045\u001b[0m, \u001b[1;36m0.1243\u001b[0m, \u001b[1;36m0.1441\u001b[0m, \u001b[1;36m0.1639\u001b[0m, \u001b[1;36m0.1837\u001b[0m, \u001b[1;36m0.2035\u001b[0m,\n", " \u001b[1;36m0.2233\u001b[0m, \u001b[1;36m0.2431\u001b[0m, \u001b[1;36m0.2629\u001b[0m, \u001b[1;36m0.2827\u001b[0m, \u001b[1;36m0.3025\u001b[0m, \u001b[1;36m0.3223\u001b[0m, \u001b[1;36m0.3421\u001b[0m, \u001b[1;36m0.3619\u001b[0m,\n", " \u001b[1;36m0.3817\u001b[0m, \u001b[1;36m0.4015\u001b[0m, \u001b[1;36m0.4213\u001b[0m, \u001b[1;36m0.4411\u001b[0m, \u001b[1;36m0.4609\u001b[0m, \u001b[1;36m0.4807\u001b[0m, \u001b[1;36m0.5005\u001b[0m, \u001b[1;36m0.5203\u001b[0m,\n", " \u001b[1;36m0.5401\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'drag_to_lift_arr'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.02467022\u001b[0m, \u001b[1;36m0.02453238\u001b[0m, \u001b[1;36m0.02441314\u001b[0m, \u001b[1;36m0.02412773\u001b[0m, \u001b[1;36m0.02379947\u001b[0m,\n", " \u001b[1;36m0.02349407\u001b[0m, \u001b[1;36m0.02362806\u001b[0m, \u001b[1;36m0.00833238\u001b[0m, \u001b[1;36m0.00831749\u001b[0m, \u001b[1;36m0.0082426\u001b[0m ,\n", " \u001b[1;36m0.00819419\u001b[0m, \u001b[1;36m0.00815943\u001b[0m, \u001b[1;36m0.00812609\u001b[0m, \u001b[1;36m0.00811742\u001b[0m, \u001b[1;36m0.00807504\u001b[0m,\n", " \u001b[1;36m0.00803422\u001b[0m, \u001b[1;36m0.00794982\u001b[0m, \u001b[1;36m0.00791248\u001b[0m, \u001b[1;36m0.00788762\u001b[0m, \u001b[1;36m0.00788581\u001b[0m,\n", " \u001b[1;36m0.02165054\u001b[0m, \u001b[1;36m0.02161504\u001b[0m, \u001b[1;36m0.02146528\u001b[0m, \u001b[1;36m0.02128869\u001b[0m, \u001b[1;36m0.02137814\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'v_e'\u001b[0m: \u001b[1;36m84.42019742325951\u001b[0m,\n", " \u001b[32m'solidity'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.94912391\u001b[0m, \u001b[1;36m0.91915302\u001b[0m, \u001b[1;36m0.88646351\u001b[0m, \u001b[1;36m0.85146964\u001b[0m, \u001b[1;36m0.81460912\u001b[0m,\n", " \u001b[1;36m0.77631708\u001b[0m, \u001b[1;36m0.73703042\u001b[0m, \u001b[1;36m0.69637412\u001b[0m, \u001b[1;36m0.65617987\u001b[0m, \u001b[1;36m0.61603246\u001b[0m,\n", " \u001b[1;36m0.57619974\u001b[0m, \u001b[1;36m0.53689612\u001b[0m, \u001b[1;36m0.49828701\u001b[0m, \u001b[1;36m0.46049087\u001b[0m, \u001b[1;36m0.42357523\u001b[0m,\n", " \u001b[1;36m0.38756479\u001b[0m, \u001b[1;36m0.35243364\u001b[0m, \u001b[1;36m0.31810968\u001b[0m, \u001b[1;36m0.28445652\u001b[0m, \u001b[1;36m0.25126068\u001b[0m,\n", " \u001b[1;36m0.21849139\u001b[0m, \u001b[1;36m0.18495599\u001b[0m, \u001b[1;36m0.15001845\u001b[0m, \u001b[1;36m0.11150943\u001b[0m, \u001b[1;36m0.06177541\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'cl'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.74153846\u001b[0m, \u001b[1;36m0.75207692\u001b[0m, \u001b[1;36m0.76261538\u001b[0m, \u001b[1;36m0.77315385\u001b[0m, \u001b[1;36m0.78369231\u001b[0m,\n", " \u001b[1;36m0.79423077\u001b[0m, \u001b[1;36m0.80476923\u001b[0m, \u001b[1;36m0.81530769\u001b[0m, \u001b[1;36m0.82584615\u001b[0m, \u001b[1;36m0.83638462\u001b[0m,\n", " \u001b[1;36m0.84692308\u001b[0m, \u001b[1;36m0.85746154\u001b[0m, \u001b[1;36m0.868\u001b[0m , \u001b[1;36m0.87853846\u001b[0m, \u001b[1;36m0.88907692\u001b[0m,\n", " \u001b[1;36m0.89961538\u001b[0m, \u001b[1;36m0.91015385\u001b[0m, \u001b[1;36m0.92069231\u001b[0m, \u001b[1;36m0.93123077\u001b[0m, \u001b[1;36m0.94176923\u001b[0m,\n", " \u001b[1;36m0.95230769\u001b[0m, \u001b[1;36m0.96284615\u001b[0m, \u001b[1;36m0.97338462\u001b[0m, \u001b[1;36m0.98392308\u001b[0m, \u001b[1;36m0.99446154\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'cd'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.01829392\u001b[0m, \u001b[1;36m0.01845023\u001b[0m, \u001b[1;36m0.01861784\u001b[0m, \u001b[1;36m0.01865444\u001b[0m, \u001b[1;36m0.01865146\u001b[0m,\n", " \u001b[1;36m0.01865971\u001b[0m, \u001b[1;36m0.01901514\u001b[0m, \u001b[1;36m0.00679345\u001b[0m, \u001b[1;36m0.00686897\u001b[0m, \u001b[1;36m0.00689399\u001b[0m,\n", " \u001b[1;36m0.00693985\u001b[0m, \u001b[1;36m0.0069964\u001b[0m , \u001b[1;36m0.00705345\u001b[0m, \u001b[1;36m0.00713147\u001b[0m, \u001b[1;36m0.00717933\u001b[0m,\n", " \u001b[1;36m0.0072277\u001b[0m , \u001b[1;36m0.00723556\u001b[0m, \u001b[1;36m0.00728496\u001b[0m, \u001b[1;36m0.00734519\u001b[0m, \u001b[1;36m0.00742662\u001b[0m,\n", " \u001b[1;36m0.02061798\u001b[0m, \u001b[1;36m0.02081196\u001b[0m, \u001b[1;36m0.02089398\u001b[0m, \u001b[1;36m0.02094644\u001b[0m, \u001b[1;36m0.02125974\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'eff'\u001b[0m: \u001b[1;36m0.7873405743678134\u001b[0m,\n", " \u001b[32m'tc'\u001b[0m: \u001b[1;36m0.2269752189628377\u001b[0m,\n", " \u001b[32m'pc'\u001b[0m: \u001b[1;36m0.28828086136051734\u001b[0m,\n", " \u001b[32m'zeta'\u001b[0m: \u001b[1;36m0.44719577704754987\u001b[0m\n", "\u001b[1m}\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
power required = 4.05 Kw\n",
"
\n"
],
"text/plain": [
"power required = \u001b[1;36m4.05\u001b[0m Kw\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"\n",
"# Initialise BEM class\n",
"design = prop.BEM(data_path, prop_class, rho_cr, \n",
" dyn_vis, v_cruise, n_stations, a_snd, T=thrust_req)\n",
"\n",
"# Execute the BEM optimisation with initial estimate of 0\n",
"res_dict = design.optimise_blade(zeta_init=0)\n",
"\n",
"# Print the resulting dictionary \n",
"rich.print(res_dict)\n",
"rich.print(f'power required = {np.round(res_dict[\"pc\"]*rho_cr*(prop_class.rpm_cruise/60)**3*32*prop_class.r_prop**5/1e3,2)} Kw')\n",
"\n",
"# Plot the resulting blade geometry \n",
"plot = prop.PlotBlade(prop_class, coord_path)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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44OiKGdeQSHOMRaLBY1Gg6enJwA+Pj7cfffd9OzZk/Hjx/PWW29x4403AuDn58f8+fO57LLLsFgsPPLII3z99deUl5cTGhrKzTffzPTp011l19bWUllZCcBzzz3HvHnzWLhwYYO/7aPq6uoAXHEMHjyY2267jX/9618UFBRQVVUFQHV1NZWVldjtdqZOncovv/xCQUEBUVFR3Hrrrdxxxx2uMm+//XYqKipITU3ltddew2q1ctVVV/H888+j1+sBMJvNPP3003zxxRdUVFTQrVs3nnrqKYYOHXrK8/bHugHMnDmTxYsXc/vttzNz5kzKysqYNGkS//nPf3jttdd4/fXXcTgc3HHHHdx///0NyqqpqQGgsrISjabd/T4WolmpqkpVVRWRkZGn/vto1pnnmtiAAQPUu+66y/XabrerkZGR6syZM0+4/zXXXKNeeumlDdalpKSof//7312vb7zxRvWKK644q7iysrJOOpmtLLLIIossssjStpesrKxTfs+3m5Yli8XC5s2befjhh13rNBoNo0ePZt26dSc8Zt26dUybNq3BurFjxx7XMXTVqlWEhoYSEBDAhRdeyL/+9S+CgoJOGovZbMZsNrteq0fmIs7KysLX19fdqgkhhBCiFVRWVhIdHY2Pj88p92s3yVJxcTF2u52wsLAG68PCwti7d+8Jj8nPzz/h/vn5+a7X48aN48orryQ+Pp60tDQeeeQRLr74YtatW4dWqz1huTNnzuSpp546br2vr68kS0IIIUQ7c7ouNO0mWWou1157ret5z5496dWrFwkJCaxatYpRo0ad8JiHH364QYvV0cxUCCGEEOeedtPbLzg4GK1WS0FBQYP1BQUFhIeHn/CY8PBwt/YH6NixI8HBwRw8ePCk+xiNRlcrkrQmCSGEEOe2dpMsGQwG+vXrx/Lly13rHA4Hy5cvJzU19YTHpKamNtgfYNmyZSfdHyA7O5uSkhIiIiKaJnAhhBBCtGvt6jLctGnTuPHGG+nfvz8DBgzg5ZdfpqamhilTpgAwefJkOnTowMyZMwG49957GT58OC+99BKXXnopn376KZs2beKdd94BnLcJP/XUU1x11VWEh4eTlpbGAw88QGJiImPHjm21egpxvrI7VDaml1JYVU+oj4kB8YFoNe4Px9FU5QghBLSzZGnixIkUFRXxxBNPkJ+fT3JyMkuXLnV1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",
"text/plain": [
"\n",
" \n",
"
\n",
"
rpm_hvr=4135.43320654644\n", "\n" ], "text/plain": [ "\u001b[33mrpm_hvr\u001b[0m=\u001b[1;36m4135\u001b[0m\u001b[1;36m.43320654644\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
{\n", " 'thrust': 4880.664989838316,\n", " 'torque': 294.0218860337935,\n", " 'eff': 0.3833096128070276,\n", " 'thrust_coeff': 0.5728390932248073,\n", " 'power_coeff': 0.1971153712449012,\n", " 'AoA': array([0.12277787, 0.21520819, 0.27347206, 0.31892348, 0.34060297,\n", " 0.34950426, 0.34547205, 0.35195982, 0.33585566, 0.32746425,\n", " 0.31953733, 0.30883281, 0.29703362, 0.28429357, 0.27132936,\n", " 0.25596598, 0.24239548, 0.22354675, 0.2082226 , 0.19300554,\n", " 0.18230526, 0.17562534, 0.16223733, 0.14912745, 0.13591189]),\n", " 'lift_coeff': array([1.19482265, 1.35056012, 1.40478863, 1.1920388 , 1.19503635,\n", " 1.19855278, 1.55793305, 1.55460521, 1.58987287, 1.6089598 ,\n", " 1.63197297, 1.6621659 , 1.70106215, 1.72257239, 1.73685942,\n", " 1.75631737, 1.76430709, 1.73880235, 1.71841164, 1.6939743 ,\n", " 1.67804967, 1.74210487, 1.73295633, 1.7226558 , 1.67964973]),\n", " 'drag_coeff': array([0.02334077, 0.04634767, 0.08521674, 0.14794629, 0.14831832,\n", " 0.14875475, 0.11732507, 0.02192104, 0.10682134, 0.02643343,\n", " 0.09170785, 0.08135113, 0.06912503, 0.06115158, 0.05001949,\n", " 0.0637648 , 0.081345 , 0.10155172, 0.02521023, 0.022538 ,\n", " 0.18440827, 0.02069385, 0.01885703, 0.01682833, 0.03141791])\n", "}\n", "\n" ], "text/plain": [ "\u001b[1m{\u001b[0m\n", " \u001b[32m'thrust'\u001b[0m: \u001b[1;36m4880.664989838316\u001b[0m,\n", " \u001b[32m'torque'\u001b[0m: \u001b[1;36m294.0218860337935\u001b[0m,\n", " \u001b[32m'eff'\u001b[0m: \u001b[1;36m0.3833096128070276\u001b[0m,\n", " \u001b[32m'thrust_coeff'\u001b[0m: \u001b[1;36m0.5728390932248073\u001b[0m,\n", " \u001b[32m'power_coeff'\u001b[0m: \u001b[1;36m0.1971153712449012\u001b[0m,\n", " \u001b[32m'AoA'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.12277787\u001b[0m, \u001b[1;36m0.21520819\u001b[0m, \u001b[1;36m0.27347206\u001b[0m, \u001b[1;36m0.31892348\u001b[0m, \u001b[1;36m0.34060297\u001b[0m,\n", " \u001b[1;36m0.34950426\u001b[0m, \u001b[1;36m0.34547205\u001b[0m, \u001b[1;36m0.35195982\u001b[0m, \u001b[1;36m0.33585566\u001b[0m, \u001b[1;36m0.32746425\u001b[0m,\n", " \u001b[1;36m0.31953733\u001b[0m, \u001b[1;36m0.30883281\u001b[0m, \u001b[1;36m0.29703362\u001b[0m, \u001b[1;36m0.28429357\u001b[0m, \u001b[1;36m0.27132936\u001b[0m,\n", " \u001b[1;36m0.25596598\u001b[0m, \u001b[1;36m0.24239548\u001b[0m, \u001b[1;36m0.22354675\u001b[0m, \u001b[1;36m0.2082226\u001b[0m , \u001b[1;36m0.19300554\u001b[0m,\n", " \u001b[1;36m0.18230526\u001b[0m, \u001b[1;36m0.17562534\u001b[0m, \u001b[1;36m0.16223733\u001b[0m, \u001b[1;36m0.14912745\u001b[0m, \u001b[1;36m0.13591189\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'lift_coeff'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m1.19482265\u001b[0m, \u001b[1;36m1.35056012\u001b[0m, \u001b[1;36m1.40478863\u001b[0m, \u001b[1;36m1.1920388\u001b[0m , \u001b[1;36m1.19503635\u001b[0m,\n", " \u001b[1;36m1.19855278\u001b[0m, \u001b[1;36m1.55793305\u001b[0m, \u001b[1;36m1.55460521\u001b[0m, \u001b[1;36m1.58987287\u001b[0m, \u001b[1;36m1.6089598\u001b[0m ,\n", " \u001b[1;36m1.63197297\u001b[0m, \u001b[1;36m1.6621659\u001b[0m , \u001b[1;36m1.70106215\u001b[0m, \u001b[1;36m1.72257239\u001b[0m, \u001b[1;36m1.73685942\u001b[0m,\n", " \u001b[1;36m1.75631737\u001b[0m, \u001b[1;36m1.76430709\u001b[0m, \u001b[1;36m1.73880235\u001b[0m, \u001b[1;36m1.71841164\u001b[0m, \u001b[1;36m1.6939743\u001b[0m ,\n", " \u001b[1;36m1.67804967\u001b[0m, \u001b[1;36m1.74210487\u001b[0m, \u001b[1;36m1.73295633\u001b[0m, \u001b[1;36m1.7226558\u001b[0m , \u001b[1;36m1.67964973\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m,\n", " \u001b[32m'drag_coeff'\u001b[0m: \u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.02334077\u001b[0m, \u001b[1;36m0.04634767\u001b[0m, \u001b[1;36m0.08521674\u001b[0m, \u001b[1;36m0.14794629\u001b[0m, \u001b[1;36m0.14831832\u001b[0m,\n", " \u001b[1;36m0.14875475\u001b[0m, \u001b[1;36m0.11732507\u001b[0m, \u001b[1;36m0.02192104\u001b[0m, \u001b[1;36m0.10682134\u001b[0m, \u001b[1;36m0.02643343\u001b[0m,\n", " \u001b[1;36m0.09170785\u001b[0m, \u001b[1;36m0.08135113\u001b[0m, \u001b[1;36m0.06912503\u001b[0m, \u001b[1;36m0.06115158\u001b[0m, \u001b[1;36m0.05001949\u001b[0m,\n", " \u001b[1;36m0.0637648\u001b[0m , \u001b[1;36m0.081345\u001b[0m , \u001b[1;36m0.10155172\u001b[0m, \u001b[1;36m0.02521023\u001b[0m, \u001b[1;36m0.022538\u001b[0m ,\n", " \u001b[1;36m0.18440827\u001b[0m, \u001b[1;36m0.02069385\u001b[0m, \u001b[1;36m0.01885703\u001b[0m, \u001b[1;36m0.01682833\u001b[0m, \u001b[1;36m0.03141791\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\n", "\u001b[1m}\u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
The power required for a single rotor is 127.32957449453333 kW\n",
"
\n"
],
"text/plain": [
"The power required for a single rotor is \u001b[1;36m127.32957449453333\u001b[0m kW\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"from scipy.optimize import minimize\n",
"\n",
"# Define constants required for analysis\n",
"mach_max = 0.7 # Point when shockwave occurs over the airfoil\n",
"isa = tud.ISA(0) # Assume sea level\n",
"rho = isa.density()\n",
"dyn_vis = isa.viscosity_dyn()\n",
"a_snd = isa.soundspeed()\n",
"\n",
"# Operations conditions\n",
"vtip_max = mach_max*a_snd\n",
"omega_max = vtip_max/prop_class.r_prop\n",
"rpm_hvr = omega_max/(2*np.pi)*60 # Vertical speed of the vtol\n",
"v_hvr = 10 # Vertical speed of the vtol plus additional \n",
"delta_pitch = np.radians(-39)\n",
"\n",
"rich.print(f\"{rpm_hvr=}\")\n",
"\n",
"hover_cond = prop.OffDesignAnalysisBEM(data_path, prop_class, v_hvr, rpm_hvr, rho, dyn_vis, a_snd)\n",
"res = hover_cond.analyse_propeller(delta_pitch, abs_extrapolation=7)\n",
"\n",
"power_req = res[\"power_coeff\"]*rho*(rpm_hvr/60)**3*32*prop_class.r_prop**5/1e3\n",
"\n",
"rich.print(res)\n",
"rich.print(f\"The power required for a single rotor is {power_req} kW\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Finding the max thrust of a blade\n",
"\n",
" Let us now try a range of values for the both the change in pitch and rpm values to see if we can achieve better thrust values. We could opt to use `scipy.optimize` for this purpose however the analysis is prone to failure due to either to high AoA or a non-converging solution. This will complicate the optimisation where we'll have to assign penalization when such an error occurs. Instead we'll use a brute force method since the analysis is swift. We'll create a mesh where x will be the rpm and y the pitch. Then for each coordinate we'll compute the thrust, after which a surface plot can be created. This is implemented below, the cell takes about 30 seconds to run, so some patience is required. \n",
"\n",
"Feel free to play with the parameters!"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"type": "surface",
"x": [
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
],
[
2500,
2625.802554349726,
2751.605108699452,
2877.407663049178,
3003.2102173989047,
3129.0127717486307,
3254.8153260983568,
3380.617880448083,
3506.420434797809,
3632.2229891475354,
3758.0255434972614,
3883.8280978469875,
4009.6306521967135,
4135.43320654644
]
],
"y": [
[
-20,
-20,
-20,
-20,
-20,
-20,
-20,
-20,
-20,
-20,
-20,
-20,
-20,
-20
],
[
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307,
-22.307692307692307
],
[
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613,
-24.615384615384613
],
[
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923,
-26.923076923076923
],
[
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923,
-29.23076923076923
],
[
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537,
-31.538461538461537
],
[
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385,
-33.84615384615385
],
[
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615,
-36.15384615384615
],
[
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846,
-38.46153846153846
],
[
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077,
-40.76923076923077
],
[
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307,
-43.07692307692307
],
[
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539,
-45.38461538461539
],
[
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769,
-47.69230769230769
],
[
-50,
-50,
-50,
-50,
-50,
-50,
-50,
-50,
-50,
-50,
-50,
-50,
-50,
-50
]
],
"z": [
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
[
1644.9805942340527,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
[
1754.3723417560554,
1909.8325395256875,
2094.7390439227997,
2227.9386124657613,
2424.015975272703,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
[
1788.2045430504713,
2000.1413546377992,
2190.3050587089833,
2371.3537140903036,
2558.5512895262164,
2739.580197064251,
2952.9407670467153,
3214.936771930843,
3466.555753847954,
3735.3170363503273,
0,
0,
0,
0
],
[
0,
1966.1647004448696,
2198.3824448956834,
2406.630306539484,
2628.2325283383516,
2841.1239371424426,
3075.0217970678077,
3313.117422435967,
3587.6250134048937,
3806.5197829469207,
4047.9382878268602,
4367.743367651179,
4677.039945417227,
4961.453426482769
],
[
0,
0,
0,
2341.556106159199,
2620.508677832222,
2860.802695100131,
3070.0804765551175,
3342.398638573938,
3608.82920301148,
3884.9131202103326,
4153.804551352748,
4400.7908302798305,
4726.356136788472,
5056.105721635944
],
[
0,
0,
2072.466714492745,
2330.5860203697243,
2557.658358801618,
2815.417280576389,
3036.517240018243,
3208.086199983006,
3584.9412345150654,
3729.1924952906106,
4126.845253495085,
4418.942030800594,
4680.712750419967,
5047.023684025042
],
[
0,
0,
0,
0,
0,
0,
2901.8103488236457,
3101.411775384202,
3437.582050184207,
3471.2193928174283,
3967.9446978859205,
4100.1688332333215,
4286.250287353709,
4692.026274704892
],
[
0,
0,
0,
0,
2103.6163984870223,
0,
2629.487052966837,
2855.5575882547664,
3090.2071082396924,
3319.4979150314193,
3686.1139815737115,
3896.370488331132,
4039.328525944125,
4526.540516600487
],
[
0,
0,
0,
0,
0,
0,
0,
0,
2739.5354854876414,
3017.5507816092577,
3292.7919645160855,
3523.6668158841603,
3877.220477473252,
4152.020321380765
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2761.922618219546,
3032.990775036191,
3325.8742478157883,
3561.0997885934835
],
[
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
]
]
}
],
"layout": {
"autosize": true,
"margin": {
"b": 65,
"l": 65,
"r": 50,
"t": 90
},
"scene": {
"camera": {
"eye": {
"x": 1.8,
"y": 1.8,
"z": 1.8
}
},
"xaxis": {
"title": {
"text": "RPM"
}
},
"yaxis": {
"title": {
"text": "Delta pitch [deg]"
}
},
"zaxis": {
"title": {
"text": "Thrust [N]"
}
}
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Thrust plot 14 x 14 mesh "
}
}
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import plotly.graph_objects as go\n",
"\n",
"n = 14 # Mesh size\n",
"\n",
"pitch_arr = np.linspace(-20, -50, n)\n",
"rpm_arr = np.linspace(2500,rpm_hvr, n)\n",
"X,Y = np.meshgrid(rpm_arr,pitch_arr)\n",
"Z_thrust = np.zeros(X.shape)\n",
"Z_eff = np.zeros(X.shape)\n",
"Z_power = np.zeros(X.shape)\n",
"\n",
"for col, rpm in enumerate(rpm_arr):\n",
" hover_cond = prop.OffDesignAnalysisBEM(data_path, prop_class, v_hvr, rpm, rho, dyn_vis, a_snd)\n",
"\n",
" for row, dpitch in enumerate(np.radians(pitch_arr)):\n",
" try:\n",
" res = hover_cond.analyse_propeller(dpitch, abs_extrapolation=7)\n",
" except ValueError:\n",
" continue\n",
" except RuntimeError as error:\n",
" continue\n",
"\n",
" power_req = res[\"power_coeff\"]*rho*(rpm_hvr/60)**3*32*prop_class.r_prop**5/1e3\n",
"\n",
" Z_thrust[row,col] = res[\"thrust\"]\n",
" Z_eff[row,col] = res[\"eff\"]*100\n",
" Z_power[row,col] = power_req\n",
"\n",
"\n",
"# Create the figure\n",
"fig = go.Figure(data=[go.Surface(z=Z_thrust, x=X, y=Y)])\n",
"fig.update_layout(\n",
" scene=dict(\n",
" xaxis_title='RPM',\n",
" yaxis_title= 'Delta pitch [deg]',\n",
" zaxis_title=f'Thrust [N]'))\n",
"\n",
"fig.update_layout(\n",
" scene_camera=dict(\n",
" eye=dict(x=1.8, y=1.8, z=1.8)))\n",
"\n",
"fig.update_layout(title=f'Thrust plot {n} x {n} mesh ', autosize=True,\n",
" margin=dict(l=65, r=50, b=65, t=90))\n",
"\n",
"# Show the plot\n",
"fig.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Iteration of the rotor design.\n",
"\n",
"So what happens if the maximum thrust we find is not sufficient? Remember when a thrust or power value was specified for which the rotor would be optimized? We can increase this value to increase the maximum thrust value, this however does come at a cost that the blade is less efficient at the cruise setting. With the updated geometry we can then perform the offdesign analysis again to find the newly acquired maximum thrust. This process is then repeated until the engineer is sufficiently happy with the margin on the maximum thrust and the design thrust of the propeller.\n",
"\n",
"The opportunity is given below to go through this process yourself with the code cell below where all of the relevant code has been appended. The mesh spacing has been increased to decrease computation time, however when nearing to your final design you can decrease the mesh spacing again. The design point is described in the first few lines of code. Sometimes the results are odd with the majority failing or having no solution at all. In this case it is advised to increase the radius of your propeller or change the amount of blades to reduce disk and/or blade loading."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.002286861458457408,
0.00288497995903235,
0.0034274452763790094,
0.00434541636138748,
0.005051905350128478,
0.005563608197570488,
0.005852698312099367,
0.005896914420423805,
0.005579384837764407,
0.005236964541781375,
0.004749845969404809,
0.004095767847343397,
0.003224642310691683,
0.0026889038125549173,
0.0020418589479615874,
0.0012222892153605815,
0.000656675436020888,
-0.0007381707734202137,
-0.0014971027549136415,
-0.0017495907690296996,
-0.001976300881120403,
-0.0020416167618490877,
-0.0020345835043810052,
-0.001898079986342619,
-0.001672531375138981,
-0.0013913295807070603,
-0.0011101277862751399,
-0.0005588548340569551,
-0.000040973791775740054,
0.0004769072505054749,
0.0009669617011725489,
0.001406928286934169,
0.0017968070077903344,
0.0019778330724113465,
0.002142163182063874
],
"y": [
-0.04173604893319002,
-0.03891382381832058,
-0.036094551386544826,
-0.03046486457227434,
-0.024846397953759834,
-0.019238265726073223,
-0.013641944230761333,
-0.00805861454106164,
-0.002494477291470869,
0.00027784747911536843,
0.0030424952736580356,
0.00579828501891966,
0.00854255930011593,
0.009909381611145438,
0.011270298555987587,
0.012622062183239325,
0.013289676484202886,
0.013913295807070604,
0.013175407648477437,
0.012464388906036766,
0.011057114836623829,
0.009658403548182566,
0.00826353074776309,
0.005480281049730233,
0.002701755644647265,
-0.00007381707734202137,
-0.0028493897993313077,
-0.00840112577992862,
-0.013954633370382136,
-0.01950814096083565,
-0.02506312489283601,
-0.03062076623962069,
-0.03618106500118967,
-0.03896195255274758,
-0.04174372590923359
],
"z": [
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005,
0.061950000000000005
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.004665878385514361,
0.005310775401227957,
0.005884790886436273,
0.006820177265337063,
0.007486213828317784,
0.007904165034530024,
0.00803859011872114,
0.007861136468689021,
0.007222952870372575,
0.006669952020546926,
0.005932659191407546,
0.004982721770752324,
0.0037563463811265073,
0.0030155719314040935,
0.0021330344206711175,
0.001030764165371771,
0.00028116075230731163,
-0.0015245774652858318,
-0.0024619544782470562,
-0.002754309563610225,
-0.002984612081810158,
-0.003009358161544777,
-0.0029419582516225307,
-0.0026512190646664205,
-0.002247069428901861,
-0.0017720382626320208,
-0.0012970070963621801,
-0.0003611210699235555,
0.0005322360382119002,
0.0014255931463473563,
0.002283509489230172,
0.0030776324546582354,
0.003807962042631545,
0.00415540645399188,
0.0044815864062006305
],
"y": [
-0.05315322007614113,
-0.04952742619873776,
-0.045907730631195555,
-0.03868663442569455,
-0.03148871179766588,
-0.024312133254151217,
-0.017159947950081137,
-0.01003459520940008,
-0.002948881482816452,
0.0005738509579335872,
0.0040807277930446535,
0.007569309698572292,
0.011034108195641469,
0.012755530486425998,
0.014464756157488245,
0.016155077067980944,
0.016983162255616094,
0.017720382626320207,
0.016747157663989844,
0.015829427321395893,
0.014024458185513698,
0.012237174148228816,
0.010457817913763425,
0.006912521726527156,
0.0033769828350687136,
-0.0001524577465285832,
-0.00368189832812588,
-0.010741999153292705,
-0.017805758964376212,
-0.024869518775459717,
-0.0319363277414738,
-0.039008625186362916,
-0.046086411110127054,
-0.0496268286494744,
-0.05316907568178011
],
"z": [
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085,
0.08085
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.007682179334120087,
0.008315239127483224,
0.008863385049197488,
0.009704935277679393,
0.010223812793895577,
0.010445491759340704,
0.010327515238190338,
0.009835917681784928,
0.008792379959661837,
0.00799039532215901,
0.006967634618369109,
0.00569013229963259,
0.0040814658814654625,
0.0031242877034139264,
0.0019972817820646423,
0.0006070428586038503,
-0.000325835443743391,
-0.0025239304336588508,
-0.003612002276554801,
-0.003927357887446002,
-0.004133499750984034,
-0.0040933913867403325,
-0.003942894989353097,
-0.003455091676951101,
-0.0028314261699109076,
-0.002122846791221841,
-0.0014142674125327743,
-0.000014091429484414759,
0.0013351362305746197,
0.002684363890633654,
0.003991134614868252,
0.005221482854618865,
0.00637540860988549,
0.006931143019606584,
0.0074614032678330154
],
"y": [
-0.06367227929840019,
-0.0592913030447124,
-0.05492042251275925,
-0.04620894861405683,
-0.03753583845794602,
-0.028898063327906447,
-0.020300671084805415,
-0.011747700017336778,
-0.0032603511411432654,
0.0009500074152291915,
0.005134117095091597,
0.009287939609750096,
0.013402388809643518,
0.015441441110467883,
0.017460301967822982,
0.01944786608780071,
0.02041338012693259,
0.02122846791221841,
0.0200226756958022,
0.01890875454717118,
0.016731390858582305,
0.014583304763023875,
0.012448343105720473,
0.008200630378929864,
0.003969070806914671,
-0.00025239304336588505,
-0.004473856893646441,
-0.012918803738554484,
-0.021369808016503306,
-0.029820812294452125,
-0.03827686443326826,
-0.04674200272164558,
-0.05521622715958407,
-0.05945586330898696,
-0.06369852817491026
],
"z": [
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975,
0.09975
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.011097016852431451,
0.011673681463975103,
0.012152733687849025,
0.01281800097258768,
0.013112341184181366,
0.013065038038930998,
0.012627285343001716,
0.011760038141325624,
0.010258310419796291,
0.009185325679721518,
0.00785854873170545,
0.006238934620680193,
0.004238632197742994,
0.003062778688468881,
0.0016917004038553094,
0.000018023717465578525,
-0.0010921293112045286,
-0.0036567069161536014,
-0.004869728714023049,
-0.005194477784097961,
-0.005355913985899139,
-0.005234274263458101,
-0.004985738437046416,
-0.0042739195313496415,
-0.0034059208053813,
-0.0024403096917432303,
-0.0014746985781051596,
0.00043700117163703576,
0.0022901334887773924,
0.00414326580591775,
0.005947591929223242,
0.007664066903625979,
0.00929269072912596,
0.010082599544958517,
0.010843224644490156
],
"y": [
-0.07319027587633291,
-0.0681136570021406,
-0.06305166495561294,
-0.05297156134555142,
-0.04294703968061543,
-0.0329737119125056,
-0.023058891455054235,
-0.01320842903932717,
-0.0034530410034200936,
0.0013763844832402157,
0.0061677802179725275,
0.010915295469710998,
0.01560576609355747,
0.017924673115684398,
0.020214326482482104,
0.022458636683519502,
0.023539836666577277,
0.0244030969174323,
0.0229737784359567,
0.021677564086229093,
0.019158269525096944,
0.016681392764192175,
0.014223530879251408,
0.009339986130232026,
0.004479844305476025,
-0.00036567069161536016,
-0.005211185688706745,
-0.014905141048422442,
-0.0246078725047369,
-0.03431060396105136,
-0.044020648831198134,
-0.05374385784624306,
-0.06348023100618615,
-0.06835207429307381,
-0.0732283056282609
],
"z": [
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865,
0.11865
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.015030138864824957,
0.015495603390387669,
0.015852258688326723,
0.01623914160133387,
0.016212549449371116,
0.01580512500072557,
0.014962463641585398,
0.013641041680901142,
0.011612359740663119,
0.010238948319386041,
0.008582632906287458,
0.006599889810317908,
0.004192790726616097,
0.002793384575042612,
0.0011763599682218136,
-0.0007779732442323188,
-0.0020598056878056215,
-0.004962895622971401,
-0.006270722796841114,
-0.006588385999335556,
-0.006679666266206159,
-0.006455399772968159,
-0.006089681283819406,
-0.0051188640047498575,
-0.003973951961482458,
-0.002720230690591403,
-0.001466509419700348,
0.0010191712765570313,
0.0034395664362402156,
0.0058599615959234,
0.008225952141794756,
0.010494014382804825,
0.0126641483189536,
0.013722012980122072,
0.014747234873003452
],
"y": [
-0.08158111366050264,
-0.07587464107392855,
-0.07018802006984638,
-0.05887433280915767,
-0.047636081561938104,
-0.03646731085344015,
-0.025377946474909742,
-0.014375929059343632,
-0.0035029469299747698,
0.0018680339124864354,
0.007187400640468738,
0.012447212620975387,
0.01762960342976368,
0.020185065985672428,
0.022700825376597414,
0.02515504486179755,
0.026326570173420334,
0.02720230690591403,
0.02555831393098436,
0.02409497035673086,
0.021267541120683273,
0.018497681473862153,
0.015753628884280488,
0.010309197186599308,
0.004896528020905139,
-0.0004962895622971402,
-0.005889107145499419,
-0.016678712628402363,
-0.02748022906080043,
-0.038281745493198495,
-0.04909318771684251,
-0.05992249636472923,
-0.07076967143685864,
-0.07619822186854629,
-0.08163272777498154
],
"z": [
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755,
0.13755
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.01924429670282946,
0.019558631211661237,
0.01975453114641834,
0.01979102729370854,
0.01937747205951498,
0.018549395816060073,
0.017247581276306476,
0.015424654610624323,
0.012831903213456805,
0.011144693420426628,
0.009149553734802302,
0.006799110326953961,
0.0039867720802144015,
0.002367420723510212,
0.0005112002186566785,
-0.0017121674658283383,
-0.003155468115479927,
-0.006363443918844128,
-0.00773888613216973,
-0.008036573721415818,
-0.008039776029534634,
-0.0076995180728369,
-0.007205295169842094,
-0.005956293300888203,
-0.004517796113414836,
-0.002960864351866798,
-0.00140393259031876,
0.0016862440179623837,
0.004705359881798722,
0.00772447574563506,
0.010684374322434062,
0.013537681782565862,
0.016284398126030455,
0.017628147654244083,
0.01893636681023531
],
"y": [
-0.08879284064762595,
-0.0825300313498423,
-0.07629267582773402,
-0.06389432611054363,
-0.051592700740919664,
-0.03938016358615952,
-0.027269441534100877,
-0.01527071609501389,
-0.003437440197816846,
0.00239520029105293,
0.008161660963166728,
0.013851760308254399,
0.019442589928208097,
0.022192187941969272,
0.024890878404379695,
0.027510662162196445,
0.028749283469213766,
0.029608643518667977,
0.027764222350576694,
0.026151430541131337,
0.02305311580061751,
0.020028617009562266,
0.017037208126885015,
0.011110388668016348,
0.005224295250228278,
-0.0006363443918844129,
-0.006496984033997104,
-0.018223354073357564,
-0.02996499637812325,
-0.04170663868288893,
-0.0534610078754923,
-0.06523828546620351,
-0.07703847145502256,
-0.08294492789335094,
-0.08885902046438192
],
"z": [
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645,
0.15645
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.023612743080705927,
0.023743794671306766,
0.023748407720435946,
0.023378318194279293,
0.022527762210530294,
0.02123467133163046,
0.019435826286843948,
0.017080651659582096,
0.013903626512754395,
0.011897866752484037,
0.009563366784387342,
0.006849551191875636,
0.003642625287624426,
0.0018115729608498164,
-0.0002723564488681324,
-0.0027482453371482527,
-0.004340217697408985,
-0.007816124325597584,
-0.00923338925236257,
-0.009500063451735367,
-0.009401219143122622,
-0.008935703064242035,
-0.00830581688144828,
-0.006767879724623097,
-0.005027640901443243,
-0.003160963536791721,
-0.0012942861721401988,
0.0024137808488685123,
0.006045984744994221,
0.009678188641119929,
0.013247173266509803,
0.01670236320457518,
0.02004375845531605,
0.021682846445318562,
0.023284002872879586
],
"y": [
-0.09478826225725853,
-0.08804739091982304,
-0.08133778407968996,
-0.06801236389133097,
-0.05480574879272106,
-0.041708559434669515,
-0.028736428065827536,
-0.015901860485116076,
-0.003270512136870143,
0.002941989196154931,
0.00907320283619379,
0.015110622984325481,
0.021026111592977847,
0.023927579802159725,
0.02676651901673683,
0.029508538289676523,
0.03079200733369967,
0.03160963536791721,
0.029582071288097162,
0.027839014133728877,
0.02450922231150425,
0.021270097531456547,
0.018071616597901963,
0.011743436624858043,
0.005465279847497945,
-0.0007816124325597585,
-0.007028504712617462,
-0.019528542172193356,
-0.03204733833015067,
-0.04456613448810799,
-0.05710056289471651,
-0.0696631293488972,
-0.08225383385065,
-0.088557002225852,
-0.09486954995024474
],
"z": [
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535,
0.17535
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.027838553982682045,
0.027774646535956554,
0.027577867402222653,
0.026785694073729657,
0.025488608334604736,
0.023726471690950407,
0.021432848299262473,
0.018554589484737573,
0.014812664704658062,
0.012503225747490581,
0.009848320404101255,
0.006794799999686728,
0.0032230800159394352,
0.0011980509874506638,
-0.0010927214150549085,
-0.0037953960472865266,
-0.005518774087025858,
-0.009221940263190375,
-0.010660908374250997,
-0.010890744133535166,
-0.010686057217061496,
-0.010096042408263464,
-0.009333294406354508,
-0.007515480691118113,
-0.005485072276668276,
-0.0033217921752100375,
-0.0011585120737517992,
0.0031414737917629994,
0.0073617366450727546,
0.011581999498382511,
0.015735826508188062,
0.019770068999686058,
0.02368472697287649,
0.025608838037719607,
0.027493087596460204
],
"y": [
-0.09960581116693254,
-0.09246793081840546,
-0.08536693823093114,
-0.07127561633914078,
-0.05732446793935093,
-0.043502426703245736,
-0.029827936511351592,
-0.0163157524680896,
-0.0030433388716705504,
0.003471138315064857,
0.009889707323063084,
0.016197613047903032,
0.022361656504637208,
0.025377280263109325,
0.028319128499475918,
0.031146624676578954,
0.03245708703418273,
0.03321792175210037,
0.03102953068144086,
0.02917681823636149,
0.025655832151466537,
0.022241820573624598,
0.018875763085151244,
0.012224801182520619,
0.0056328596975744084,
-0.0009221940263190374,
-0.0074772477502124835,
-0.020594732750209933,
-0.03373435040683903,
-0.04687396806346814,
-0.06003202960062362,
-0.07322329012272659,
-0.08644774962977705,
-0.09306920132356547,
-0.09970171934566971
],
"z": [
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425,
0.19425
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.0324723265719477,
0.032159716972842214,
0.03170977083105079,
0.030397868919410122,
0.028564088145562876,
0.026249629472314857,
0.023385824628323084,
0.019917738996513182,
0.015556965837244674,
0.012923368666746822,
0.00993269648526553,
0.006530014675726423,
0.0025917203497121564,
0.00037536740987033444,
-0.002115658615343366,
-0.005032427922883476,
-0.006875354896174159,
-0.010764596355485328,
-0.012190279098119984,
-0.012366199302312596,
-0.012031356997268133,
-0.011298238718434446,
-0.01038658293410904,
-0.008261130971549163,
-0.005915940540691783,
-0.003433413567148465,
-0.000950886593605147,
0.003986700044944303,
0.008841884757882189,
0.013697069470820071,
0.018483585912414984,
0.023146499465592565,
0.02768581013035279,
0.029921131327061413,
0.032115251560964266
],
"y": [
-0.10294643111340543,
-0.09550262161445448,
-0.0881018705009255,
-0.0734295434301333,
-0.05892083822394448,
-0.044562837366732486,
-0.03037707005120824,
-0.016380759631540544,
-0.002664328717115456,
0.004051794068204677,
0.010655965051427763,
0.01713096087838503,
0.02343802900219672,
0.026514057970343074,
0.029503970167645544,
0.03236040137013999,
0.033668053492205786,
0.03433413567148465,
0.03200169397637666,
0.030061083588608328,
0.026395154740181382,
0.02285409520947806,
0.019369011579823264,
0.01249357276844195,
0.005687027373735737,
-0.0010764596355485327,
-0.007839946644832802,
-0.021375532340485733,
-0.03493695306739183,
-0.04849837379429792,
-0.06208132371391497,
-0.0757030261804118,
-0.08936348119378837,
-0.09620447329683213,
-0.10305838291550248
],
"z": [
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315,
0.21315
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.03640618554312573,
0.03587486997457873,
0.03520298865212702,
0.033437528745509495,
0.031137918974054116,
0.028346329063932293,
0.02499247613819168,
0.021020133895270392,
0.01613411425196856,
0.01322723744243214,
0.009954889672743501,
0.0062608446413407685,
0.0020185931697097132,
-0.0003555509231342735,
-0.0030108265237876576,
-0.006101855961545606,
-0.008040954791357736,
-0.012074483354349876,
-0.013480849467469573,
-0.013608067220056513,
-0.013159673955706898,
-0.012303640005033657,
-0.011264870574284307,
-0.008878087054195271,
-0.006266398327858717,
-0.0035141438476174658,
-0.0007618893673762141,
0.004714506442325352,
0.010106562799684096,
0.015498619157042842,
0.020820392637449236,
0.02601565693934141,
0.03108441206271935,
0.03358364818593214,
0.03604071458297352
],
"y": [
-0.10536152811508134,
-0.09768604811205325,
-0.09005886604244259,
-0.07494939570347342,
-0.060023457511490345,
-0.04526656208646819,
-0.030702858395115638,
-0.016351665610799645,
-0.0023144093936967374,
0.0045448355345772936,
0.011278505835966086,
0.017867282337102684,
0.02426769689791142,
0.027380967898164466,
0.030397643031582725,
0.033264594571407034,
0.03456283612775047,
0.03514143847617465,
0.03269370610449711,
0.030685484926917903,
0.026910532238846478,
0.023275643557685508,
0.019703542189967168,
0.012665594908048756,
0.005704924319598183,
-0.0012074483354349878,
-0.008119820990468159,
-0.021954225887217987,
-0.03581760954401825,
-0.04968099320081851,
-0.06356852582432747,
-0.07749952658791211,
-0.0914739954915724,
-0.09847330442675686,
-0.10548710274196657
],
"z": [
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205,
0.23205
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.0402284866243054,
0.03946440625608337,
0.03855812479492522,
0.03631895859380061,
0.033539428239518776,
0.030262194059960567,
0.026416155508657918,
0.02194443214843639,
0.016548401684130153,
0.013381122845287873,
0.009844121164811708,
0.005880516205527219,
0.0013623269837919026,
-0.0011527295943607532,
-0.003952188358385625,
-0.007192470510512439,
-0.009210774646796947,
-0.013347875067829487,
-0.014713956943424372,
-0.014786008873300668,
-0.014219107268372706,
-0.013239822493930032,
-0.012075676298670414,
-0.009434541503691739,
-0.006565884960015288,
-0.003555027323402729,
-0.0005441696867901705,
0.005449105367847729,
0.011357059766723958,
0.01726501416560019,
0.023101868018008363,
0.028810740886774048,
0.034391632771897225,
0.03714652844122479,
0.03985876378267151
],
"y": [
-0.10658141075172915,
-0.09875591000128804,
-0.09098380075111825,
-0.0755997567515926,
-0.06041860045309795,
-0.045424314405552925,
-0.03064359435909317,
-0.01609779691382722,
-0.0018990442203248251,
0.005024140175531019,
0.011808506670681436,
0.018432698665017903,
0.02484866380829623,
0.027960541679447018,
0.030965636550055173,
0.033805217769822246,
0.03507551217894608,
0.03555027323402729,
0.03300926111844608,
0.030954111655333866,
0.027110770230466017,
0.02342226415638499,
0.019803167032656683,
0.01268243408579696,
0.0056471275393713445,
-0.0013347875067829485,
-0.008316702552937242,
-0.0222912109453001,
-0.03629775423782574,
-0.050304297530351386,
-0.0643375365730127,
-0.07841882796591819,
-0.09254817170906786,
-0.09962619145571051,
-0.10672022865243459
],
"z": [
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095,
0.25095
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.04367332235761895,
0.04268217193774568,
0.04154862870492374,
0.03885436380043377,
0.035619006206738774,
0.03188527376772336,
0.027581970076913202,
0.022652138009128794,
0.016796752657177897,
0.01339916369847177,
0.009631353426099047,
0.005436364714880256,
0.000686044033161571,
-0.0019454233710054138,
-0.004861676401069781,
-0.008219347151275088,
-0.010296882402634074,
-0.014496070566928549,
-0.015807484263748395,
-0.015823123362735156,
-0.015142437495965232,
-0.0140488124716441,
-0.012770076790489675,
-0.009899341239693705,
-0.006800777188179827,
-0.0035598203237172613,
-0.000318863459254695,
0.006134571707080702,
0.012502571185646884,
0.01887057066421306,
0.0251673737363049,
0.03133602327674291,
0.037376519285527106,
0.040361169086682025,
0.04330310104395235
],
"y": [
-0.10671923014456981,
-0.0988226001147479,
-0.09098395436719374,
-0.07548061571888853,
-0.06019761734320062,
-0.04511756395544971,
-0.030269447696769675,
-0.015676462280067575,
-0.0014603746981056145,
0.005456320961391906,
0.01222225748699337,
0.018814241165791695,
0.02518008614374593,
0.028258636924641162,
0.031221219141000973,
0.03400405008233086,
0.035233109562646206,
0.03559820323717261,
0.03298911783888566,
0.030907689409234922,
0.027034753961272008,
0.023329972931885455,
0.01970057146944694,
0.012569333965558876,
0.005530871313299151,
-0.001449607056692855,
-0.008430085426684861,
-0.022402639023122423,
-0.03640998318892061,
-0.05041732735471879,
-0.06445366366165084,
-0.07854218582262384,
-0.09268289383763777,
-0.09976774391571164,
-0.10686998927846587
],
"z": [
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003,
0.26985000000000003
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.046480501647526415,
0.045287908798005046,
0.04395398323022019,
0.04086213393985996,
0.037233220320098445,
0.03310964218641467,
0.0284207331796769,
0.023109960212579737,
0.01688052457676982,
0.013299408788595313,
0.009350827932935707,
0.004978248922485601,
0.00005447231080785153,
-0.002661814887905324,
-0.0056607675231455,
-0.009097851585002523,
-0.011212125227068832,
-0.015432256371261287,
-0.01668170142386627,
-0.016645018740273403,
-0.01586498978177017,
-0.01467509594030279,
-0.013301469565092861,
-0.010243284834493303,
-0.006958967754672146,
-0.00353331795658749,
-0.00010766815850283369,
0.006715364894013781,
0.013453598315572293,
0.020191831737130805,
0.026859398799557573,
0.033399766415547184,
0.03981293458509965,
0.04298418549031,
0.04611303658004132
],
"y": [
-0.10591929096449414,
-0.09802548610981955,
-0.09019341028063002,
-0.07471444569870608,
-0.05947005141362529,
-0.04444170871774218,
-0.029660282123799245,
-0.015150463241990517,
-0.001041883025834571,
0.005808701298142749,
0.012498790155858952,
0.019003691937120024,
0.025267850518989415,
0.02828881756405103,
0.031186326558142557,
0.033892475573230434,
0.03507270880941626,
0.035333179565874895,
0.03268379552314501,
0.030596145612329022,
0.026729490918122295,
0.02304185039782219,
0.019434457610652645,
0.01235547589238066,
0.005375260614884741,
-0.0015432256371261288,
-0.008461711889136999,
-0.022311030198255755,
-0.036197385922665526,
-0.05008374164707531,
-0.0640009618842276,
-0.07797373824431646,
-0.09200207072734184,
-0.09903166922522579,
-0.10607978643075526
],
"z": [
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875,
0.28875
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.04895641029160699,
0.04756588512552793,
0.04603646459217048,
0.04256093742362036,
0.03855760785941229,
0.034068144509729816,
0.029023099690933724,
0.023366915256112647,
0.016807910933981946,
0.013070054060897859,
0.00897106923288992,
0.004455398303046768,
-0.0006019645591821589,
-0.0033806576513977504,
-0.006437141478170155,
-0.009924200943505608,
-0.012056637704552866,
-0.016258615438048355,
-0.01743188841822712,
-0.017341213556172404,
-0.016465386995670957,
-0.015186763870062129,
-0.013727576766991382,
-0.010503632752837392,
-0.007057456151037951,
-0.0034723841819601117,
0.0001126877871177297,
0.007255052651817733,
0.014314080296150692,
0.021373107940483648,
0.028362687901177408,
0.03522726203132061,
0.04196683033091323,
0.04530189063888994,
0.048595282336683136
],
"y": [
-0.10408698065852548,
-0.09627075050712587,
-0.08851955481747845,
-0.07321226682344019,
-0.058152109784060255,
-0.04331957336081301,
-0.028747174784574538,
-0.014460927840045715,
-0.0005974048969061433,
0.006119742850881401,
0.012667800998113241,
0.019020755760088506,
0.02512007612123021,
0.02805267427064712,
0.030855203496559642,
0.033456125891040356,
0.034574490595374575,
0.034723841819601114,
0.032057656925564684,
0.029983285633473227,
0.026159715358051276,
0.022524745021710677,
0.018974319485647935,
0.012016544229377276,
0.005162824111910122,
-0.0016258615438048357,
-0.008414547199519793,
-0.022004925403300152,
-0.035634324284131824,
-0.04926372316496349,
-0.06292563927667126,
-0.076646086403956,
-0.09042506454681772,
-0.09733081223368663,
-0.10425607025908118
],
"z": [
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765,
0.30765
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.050856871688652106,
0.049290704059357225,
0.04758927020539984,
0.04378060382349745,
0.039457925787877476,
0.03466181596593867,
0.029324641245349746,
0.023392295136245717,
0.01658071856683526,
0.012728551740743698,
0.008524692730529568,
0.003915035046327859,
-0.0012221609140576992,
-0.004034238098643026,
-0.007116847732553405,
-0.010618782662917613,
-0.012748495557154791,
-0.016893675198863606,
-0.017983298451594548,
-0.0178419990598965,
-0.016883069153187782,
-0.015531867194957737,
-0.014004819144666409,
-0.010653137349826192,
-0.007085029595525934,
-0.0033816556165631507,
0.0003217183623996328,
0.007701413075392697,
0.014999948053588242,
0.02229848303178379,
0.02952938489764807,
0.03663854716131608,
0.043625969822787825,
0.04708586459735806,
0.05050517950452954
],
"y": [
-0.10136182138586043,
-0.09369300916207503,
-0.08609177163908512,
-0.0710920206954916,
-0.056349053614920805,
-0.04184259798713412,
-0.027606441162529246,
-0.013667613021424375,
-0.00016802043548994755,
0.0063587793448522615,
0.012709884903126288,
0.018858266359013956,
0.024743106481799348,
0.02756389208176023,
0.0302495282801302,
0.03272568290603426,
0.033774551056759014,
0.033816556165631506,
0.031159410135974928,
0.02911719388355699,
0.02537063488269839,
0.0218200425141466,
0.018357297256628904,
0.011580471083343515,
0.0049117644313308485,
-0.0016893675198863607,
-0.00829049947110357,
-0.02150627831369709,
-0.034762601976767865,
-0.04801892563983865,
-0.06130903665330716,
-0.07465996489749159,
-0.08807171037239192,
-0.09479447678504094,
-0.1015375156079286
],
"z": [
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655,
0.32655
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.05195907447293423,
0.05025708176837782,
0.04842444554476759,
0.04436724254038567,
0.039813594163599225,
0.03480269347012441,
0.0292692187004343,
0.02316091244690738,
0.01620342331953062,
0.012293555142964624,
0.008044013816858694,
0.003402541933591299,
-0.0017484396739859982,
-0.00455908881207153,
-0.007631024988264702,
-0.011107956073524723,
-0.01321222346950543,
-0.017263079299388084,
-0.01826812765688833,
-0.018084319990998802,
-0.01706348706395063,
-0.015663787931646377,
-0.01409425222457215,
-0.0106677650685053,
-0.007032248281952332,
-0.003266087976345543,
0.0005000723292612461,
0.00800626423666406,
0.01543407003263458,
0.0228618758286051,
0.030224359865048712,
0.037469264734343886,
0.04459659043649061,
0.048127592407800526,
0.05161940132339429
],
"y": [
-0.09789287127800947,
-0.09043539427487118,
-0.08304696958893046,
-0.06847727716864165,
-0.05416998355370352,
-0.04010437304895684,
-0.026314971813000368,
-0.01282940077271313,
0.00020733020579002427,
0.006497823048289676,
0.01260877986607569,
0.018512579732269052,
0.024147075561391958,
0.026840029304997817,
0.02939487841420857,
0.03173566534010692,
0.03271271231490293,
0.03266087976345543,
0.030040387639357655,
0.02804827160175762,
0.02440930111254529,
0.020970582343205868,
0.01762163158622326,
0.011075645170092664,
0.00464014246147815,
-0.0017263079299388087,
-0.008092758321355767,
-0.020839469567629203,
-0.03362761220422116,
-0.046415754840813124,
-0.05923842363600386,
-0.0721232395166724,
-0.08507020248281874,
-0.09156094704519128,
-0.0980724073027231
],
"z": [
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545,
0.34545
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.05256141604670816,
0.050741121010389786,
0.048795976787210656,
0.044531140780270095,
0.039791877863258635,
0.034615642792234495,
0.028940010973767298,
0.022715042733112742,
0.015678554777863216,
0.011748308483597928,
0.007493454303494654,
0.002864052562809088,
-0.0022522610066334613,
-0.005035146327704109,
-0.008067730022496288,
-0.011487346196556837,
-0.01354673200679725,
-0.017466370701263053,
-0.018378395538308834,
-0.018154292774921657,
-0.017081841313843476,
-0.01564732721086908,
-0.014050509164975694,
-0.010582204862095237,
-0.0069141418602375534,
-0.0031212296715191095,
0.0006716825171993353,
0.008232537057264075,
0.01571848208521235,
0.02320442711316063,
0.030627947547678523,
0.03793910371402174,
0.04513789561219026,
0.048706079264559325,
0.05223680816087017
],
"y": [
-0.09354606501792673,
-0.0863674082053008,
-0.07925861687547993,
-0.06525063066425336,
-0.05150813328768597,
-0.03801016510093628,
-0.024791658845406794,
-0.011880560714219543,
0.0005764117787348793,
0.006574341931955414,
0.012390621829882813,
0.017997305279395057,
0.0233315133459676,
0.025872859510204772,
0.028274474708831845,
0.030459506910763257,
0.031356399659874815,
0.031212296715191094,
0.028652605475319295,
0.02672869012897347,
0.023230186850307075,
0.019934293471775336,
0.016729225220890164,
0.010472792781290935,
0.0043281451141797865,
-0.0017466370701263055,
-0.007821419254432397,
-0.019984956719605602,
-0.032190413474461825,
-0.044395870229318055,
-0.05663625972557681,
-0.06893952815636012,
-0.08130567552166797,
-0.08750621557502314,
-0.09372771527321985
],
"z": [
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435,
0.36435
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.052435461413762895,
0.050531826263199055,
0.048510143983839835,
0.044112638038735254,
0.03926655300420822,
0.03400730301889737,
0.028275864518404997,
0.022025018651212962,
0.015006866446850953,
0.0111082348196452,
0.0069026806575714595,
0.002342985109111578,
-0.0026770942416502793,
-0.005399618748862892,
-0.008358237513666262,
-0.011682802377735313,
-0.013675616770396894,
-0.017427333382109635,
-0.018244040654778075,
-0.01798651905540857,
-0.016881240212692654,
-0.015433624696470138,
-0.01383254791281363,
-0.01037069066215078,
-0.006719958005415321,
-0.0029511782198844844,
0.0008176015656463521,
0.008331551710948952,
0.015774673578974323,
0.023217795446999694,
0.030601893750627374,
0.037879749638339226,
0.04505136311013522,
0.04860765806383437,
0.05212853887889491
],
"y": [
-0.08844472446294757,
-0.08160826295389752,
-0.0748415107783759,
-0.06151713442791803,
-0.04845765354486818,
-0.03564215532916788,
-0.023105494447581344,
-0.01087555463351993,
0.0009012745126066339,
0.0065596482850260665,
0.012036777790271559,
0.017304779294931738,
0.022300914398831008,
0.024673505150429452,
0.02690667723497102,
0.028923750385574428,
0.029737100826996498,
0.029511782198844844,
0.027039349619445926,
0.02520127197515581,
0.021873663354217754,
0.018748211800512175,
0.015713382380393565,
0.009797084073918907,
0.003992320701089752,
-0.0017427333382109634,
-0.007477787377511679,
-0.0189618373228188,
-0.030487712868242985,
-0.04201358841366717,
-0.05357431862585557,
-0.06519778723821958,
-0.07688399425075916,
-0.08274452509041107,
-0.08862596873012152
],
"z": [
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004,
0.38325000000000004
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.051521519534224965,
0.049573731258100204,
0.047515687443703804,
0.043068833200096066,
0.03820300791105608,
0.03295128823806535,
0.027258546411988032,
0.02108068021751549,
0.014186153024277254,
0.010375046151361712,
0.006277274878939894,
0.0018487369917031442,
-0.0030097974947930163,
-0.0056375247069300576,
-0.008485762995610385,
-0.01167579345293281,
-0.013579524188754627,
-0.01712606244482394,
-0.017846413519867255,
-0.01756343919663861,
-0.01644621285882309,
-0.015009245460019808,
-0.013428945861463386,
-0.010025784480152927,
-0.006446214237607837,
-0.002756388456791103,
0.0009334373240256302,
0.008291037778004773,
0.015582484909020922,
0.022873932040037077,
0.030110251401917403,
0.03724734077935325,
0.04428520017234463,
0.04777656598427241,
0.05123485513471868
],
"y": [
-0.08260259817902,
-0.07617186431839523,
-0.06980963470754976,
-0.0572906882351967,
-0.04503205791200496,
-0.03301319246304077,
-0.021268344013193746,
-0.009824914262375636,
0.001173237864877062,
0.006446249904231731,
0.011541150894160232,
0.016430539134750847,
0.02105276080120221,
0.023240563984825158,
0.025291358668889513,
0.027129790178638053,
0.027857194034130298,
0.027563884567911028,
0.02520607956767155,
0.02347166324042366,
0.02034535183482436,
0.017417702753585017,
0.014579109197058758,
0.009052631433520694,
0.0036357604696295003,
-0.001712606244482394,
-0.007060972958594289,
-0.017771407236773944,
-0.028522944064821167,
-0.0392744808928684,
-0.05006026984580527,
-0.06090771262354352,
-0.07181680922608312,
-0.07728848358979776,
-0.08278070922844617
],
"z": [
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215,
0.40215
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.049610046763899025,
0.04767253048835799,
0.045633445737133405,
0.04125057080763355,
0.03648173567053618,
0.03135741086854637,
0.025826812163822325,
0.019849312166090635,
0.013211617076415823,
0.009557593561822682,
0.005639492010452293,
0.0014166850320312318,
-0.003202239001555699,
-0.005694524274579564,
-0.008389946498970548,
-0.011400230997980551,
-0.01318976497939951,
-0.01649266924850347,
-0.017120464988353155,
-0.016823987599482476,
-0.015723190443323338,
-0.01432784470768188,
-0.012800459953651802,
-0.00952223979908782,
-0.006081510083430145,
-0.0025392118920889166,
0.0010030862992523124,
0.008067368986798064,
0.015070710588933675,
0.02207405219106929,
0.029026609555363122,
0.035887755291541756,
0.042657489399605196,
0.04601696433471602,
0.049345968727121776
],
"y": [
-0.07609059488257526,
-0.07012816402667765,
-0.06423170384777406,
-0.052636695520948885,
-0.041292375766700966,
-0.0301789533819321,
-0.01932941370513929,
-0.008770145007120143,
0.0013603142904379233,
0.006207840705136706,
0.010883843359651053,
0.01536193398318336,
0.019582738966439014,
0.02157439423947761,
0.02343410815852819,
0.02508931297889732,
0.025732197493498643,
0.025392118920889165,
0.023179132293830305,
0.02156647882741698,
0.018671025279560386,
0.015966886694986433,
0.013348509990504702,
0.008256892070928067,
0.0032708272345418512,
-0.001649266924850347,
-0.0065693610842425445,
-0.016422743538425752,
-0.02631570839880536,
-0.03620867325918496,
-0.04613462345806158,
-0.05611994726623282,
-0.06616464468369866,
-0.07120348606168007,
-0.07626211864275971
],
"z": [
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105,
0.42105
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.0466928728616527,
0.0448208939038032,
0.042856907093784105,
0.03865290991723711,
0.034099282902445634,
0.029223628405060553,
0.02397994249899707,
0.018331422043387342,
0.012084850548675207,
0.008657938889159457,
0.0049918068140027425,
0.0010496511823372256,
-0.0032513350727897353,
-0.0055674423342584965,
-0.008067565300066462,
-0.010852912607600188,
-0.012503208247441935,
-0.015524420884610736,
-0.016063912126405493,
-0.015766131913456882,
-0.014710532226711655,
-0.013388109768674585,
-0.011946077102817032,
-0.008859594496328805,
-0.005625899326369215,
-0.0023001963042400255,
0.0010255067178891637,
0.007658511191713626,
0.014236310954236322,
0.02081411071675902,
0.027345906553196915,
0.03379489532268218,
0.04016107702521479,
0.0433211659134387,
0.04645365244601173
],
"y": [
-0.0689251621386008,
-0.0634926605707056,
-0.058122256686348864,
-0.047567741968250705,
-0.03724919844759862,
-0.0271479968193311,
-0.01729518592521735,
-0.007715604838672748,
0.0014603413048719814,
0.005843392020967481,
0.010064988759863029,
0.01410029244814325,
0.017893415170623542,
0.01967820070149449,
0.021338790865288556,
0.022806878210113447,
0.02336704836861825,
0.023001963042400254,
0.020963868015680506,
0.019490861909160592,
0.016855338113812974,
0.014399897600726842,
0.012025184076240685,
0.007412371931052946,
0.0028989160795267134,
-0.0015524420884610738,
-0.0060038002564488605,
-0.01491893612913213,
-0.023871330611938454,
-0.032823725094744786,
-0.041807168419320334,
-0.050846499659080495,
-0.05994171881402524,
-0.06450485281238222,
-0.06908661611580073
],
"z": [
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995,
0.43995
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.04271850373296576,
0.04096135153835178,
0.03912332331401088,
0.03520463877614831,
0.03097862532532344,
0.026469545770454354,
0.021636962096677585,
0.016448523892102364,
0.010734391494302161,
0.007610434397303221,
0.004276199623014288,
0.0006993367595445931,
-0.003192942619860091,
-0.00528465916307089,
-0.007538127765735531,
-0.010042312060553626,
-0.011520857091198048,
-0.01420445496477359,
-0.014650759441629871,
-0.014361092047971181,
-0.013377377112019192,
-0.012159121689859134,
-0.01083572742905408,
-0.008011011642044747,
-0.005056894207472339,
-0.0020219007431730132,
0.0010130927211263133,
0.007066904443779586,
0.013072190548596702,
0.01907747665341382,
0.025042324743367473,
0.030934384406566907,
0.03675365564301211,
0.03964307225380297,
0.042508226055675766
],
"y": [
-0.06058315912937356,
-0.05577799885691568,
-0.05102965640431689,
-0.04170342495869658,
-0.03259310122854082,
-0.0236816398678919,
-0.01499744978667936,
-0.006563258112846833,
0.0015016177319015838,
0.005346556848740779,
0.009043769633946328,
0.012570528959574598,
0.0158756987877524,
0.017426011626094924,
0.018862688824719268,
0.020123230781780417,
0.020594411864705526,
0.02021900743173013,
0.018395562236158573,
0.017089159201304778,
0.014760442230892656,
0.012596496938071905,
0.01050641481106798,
0.006451249760750136,
0.0024869932222068404,
-0.001420445496477359,
-0.0053278842151615585,
-0.01315412521650178,
-0.02101445690975745,
-0.028874788603013127,
-0.036763529206198346,
-0.044703405847256766,
-0.05269441852618836,
-0.05670412932061892,
-0.06073088546100721
],
"z": [
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004,
0.45885000000000004
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.037392240881957285,
0.03581514149657069,
0.034170144186808624,
0.030676455794158067,
0.026924755288880706,
0.022935412048289187,
0.01867447711019577,
0.014114791304850275,
0.009113768991064196,
0.006389194683732092,
0.0034880857730237567,
0.0003832830891889998,
-0.002986321499710105,
-0.004793340058035511,
-0.006736154465111863,
-0.008889452437752188,
-0.010156215612323674,
-0.012434657860089723,
-0.012783865285654514,
-0.012515201599402493,
-0.011638384605021078,
-0.010564663629950791,
-0.009402675353192388,
-0.006929323366049537,
-0.004347334699905929,
-0.001697448109386847,
0.0009524384811322346,
0.006238632077295305,
0.011484086918833089,
0.016729541760370874,
0.02194104763972092,
0.027091445387133047,
0.032180735002607236,
0.034708405329250465,
0.037215706278581055
],
"y": [
-0.05085878306073294,
-0.046797389180658434,
-0.042785733932024304,
-0.034911639329077086,
-0.027226551525603236,
-0.01971554893217064,
-0.012403500864499489,
-0.005310302775165912,
0.0014595942098053353,
0.0046804052185377715,
0.007771895785525276,
0.010714170458191705,
0.013462464468240733,
0.0147470819366726,
0.015932222142223753,
0.01696317259030979,
0.017339379646319802,
0.01697448109386847,
0.015414494609577913,
0.014307129671394626,
0.01234109295222984,
0.010519298264242093,
0.008762163797126818,
0.005357319852065052,
0.0020320577173078597,
-0.0012434657860089723,
-0.004518989289325804,
-0.011079984022247543,
-0.017670821934033496,
-0.024261659845819444,
-0.030877367073325578,
-0.03753783906912804,
-0.04424307583322682,
-0.047608128873136285,
-0.05098810350247787
],
"z": [
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775,
0.47775
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.029883396737420992,
0.028594372960896303,
0.027253208600636812,
0.024414458128913418,
0.021377573438997766,
0.01815819670601031,
0.014730257638083642,
0.011072900001723842,
0.007076628571087819,
0.0049064289294449585,
0.0026006637700916107,
0.00013847685953385404,
-0.0025270583275896342,
-0.003953678971874024,
-0.005484580783628019,
-0.007177118404959906,
-0.008169380850083294,
-0.00993853799285525,
-0.010187221440620169,
-0.009961425576398383,
-0.009249130929280794,
-0.008385628589332277,
-0.007454343490528514,
-0.0054770640087044254,
-0.0034163595929046506,
-0.0013035145933700742,
0.0008093304061645027,
0.005024592288486698,
0.00920856982056801,
0.013392547352649319,
0.017550454592863227,
0.02166143530771582,
0.025725489497207085,
0.027744481446019015,
0.029747831219710502
],
"y": [
-0.03905375740353937,
-0.035914022580382184,
-0.03281404190919642,
-0.026733343022739147,
-0.020803709913773265,
-0.015013216336707366,
-0.00938173936752715,
-0.003925180667021187,
0.0012729760456705423,
0.003740865700510716,
0.006105394560225195,
0.008350660964025414,
0.010440886175137087,
0.011414441307144366,
0.012308488135208807,
0.013079297092161837,
0.013353389945118374,
0.01303514593370074,
0.011814904263824382,
0.010956425376887957,
0.009438238362872211,
0.008035338389573583,
0.006684118813837804,
0.004069138796703372,
0.0015177654227232122,
-0.000993853799285525,
-0.003505473021294262,
-0.008536662295706024,
-0.013591704061300634,
-0.018646745826895246,
-0.023721664668475567,
-0.028832362246830175,
-0.03397883856195905,
-0.036562015257516345,
-0.03915711819866507
],
"z": [
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665,
0.49665
]
},
{
"line": {
"color": "black"
},
"mode": "lines",
"showlegend": false,
"type": "scatter3d",
"x": [
0.017700083253787097,
0.01692241130335262,
0.016114907400385917,
0.014410403736855816,
0.012592538653703246,
0.010670261736687876,
0.00862865700954359,
0.006455791691257495,
0.004089018681511908,
0.0028071867332827606,
0.0014477917084698164,
-0.000001099173939815741,
-0.00156633467122514,
-0.002402649934425815,
-0.0032986291026909495,
-0.004287087323805992,
-0.004864845901453756,
-0.005887100571831733,
-0.006019342464451022,
-0.005880113589027027,
-0.005452496075517892,
-0.00493836589966529,
-0.004385454185520792,
-0.003214000461660892,
-0.001994815613749424,
-0.0007457988133057281,
0.0005032179871379682,
0.0029952851975189165,
0.005469453236380525,
0.007943621275242134,
0.01040287333783763,
0.01283527664315412,
0.015240831191191604,
0.016436150477077284,
0.0176225201772033
],
"y": [
-0.022343351476198318,
-0.020536205258936676,
-0.01875260744396237,
-0.01525605702087573,
-0.011848990526480932,
-0.00852434344009178,
-0.005293889962851935,
-0.00216704945567633,
0.0008067264366316529,
0.0022159046552374644,
0.003563857027896226,
0.004841164193693007,
0.006026632590569212,
0.0065769796648901275,
0.007080229934636389,
0.007510480157291935,
0.007659669742215194,
0.00745798813305728,
0.006748346573695641,
0.006252995475148676,
0.005380035289491384,
0.0045753654704673375,
0.0038013085744168177,
0.0023050012673478965,
0.0008463714039386978,
-0.0005887100571831733,
-0.0020237915183050443,
-0.004898664121006254,
-0.007787665765079857,
-0.01067666740915346,
-0.01357744325437073,
-0.01649941266164659,
-0.019442575630981052,
-0.020920044216220107,
-0.022404577322145364
],
"z": [
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555,
0.51555
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
-0.21090616297721285
],
"y": [
-0.2521507395572655
],
"z": [
0
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
-0.21090616297721285
],
"y": [
-0.2521507395572655
],
"z": [
0.51555
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
-0.21090616297721285
],
"y": [
0.26339926044273443
],
"z": [
0
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
-0.21090616297721285
],
"y": [
0.26339926044273443
],
"z": [
0.51555
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
0.3046438370227871
],
"y": [
-0.2521507395572655
],
"z": [
0
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
0.3046438370227871
],
"y": [
-0.2521507395572655
],
"z": [
0.51555
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
0.3046438370227871
],
"y": [
0.26339926044273443
],
"z": [
0
]
},
{
"marker": {
"color": "white",
"size": 0.1
},
"mode": "markers",
"showlegend": false,
"type": "scatter3d",
"x": [
0.3046438370227871
],
"y": [
0.26339926044273443
],
"z": [
0.51555
]
}
],
"layout": {
"scene": {
"aspectmode": "data"
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
}
}
}
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"type": "surface",
"x": [
[
2500,
2908.85830163661,
3317.71660327322,
3726.5749049098295,
4135.43320654644
],
[
2500,
2908.85830163661,
3317.71660327322,
3726.5749049098295,
4135.43320654644
],
[
2500,
2908.85830163661,
3317.71660327322,
3726.5749049098295,
4135.43320654644
],
[
2500,
2908.85830163661,
3317.71660327322,
3726.5749049098295,
4135.43320654644
],
[
2500,
2908.85830163661,
3317.71660327322,
3726.5749049098295,
4135.43320654644
]
],
"y": [
[
-20,
-20,
-20,
-20,
-20
],
[
-27.5,
-27.5,
-27.5,
-27.5,
-27.5
],
[
-35,
-35,
-35,
-35,
-35
],
[
-42.5,
-42.5,
-42.5,
-42.5,
-42.5
],
[
-50,
-50,
-50,
-50,
-50
]
],
"z": [
[
0,
0,
0,
0,
0
],
[
1482.271508518209,
0,
0,
0,
0
],
[
0,
2132.805988052942,
2835.4462714782494,
3496.5652717729317,
4362.844130003183
],
[
0,
0,
2500.163342864409,
3299.260657686362,
4095.4333094450612
],
[
0,
0,
0,
0,
2644.9601076392323
]
]
}
],
"layout": {
"autosize": true,
"margin": {
"b": 65,
"l": 65,
"r": 50,
"t": 90
},
"scene": {
"camera": {
"eye": {
"x": 1.8,
"y": 1.8,
"z": 1.8
}
},
"xaxis": {
"title": {
"text": "RPM"
}
},
"yaxis": {
"title": {
"text": "Delta pitch [deg]"
}
},
"zaxis": {
"title": {
"text": "Thrust [N]"
}
}
},
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
],
"sequentialminus": [
[
0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Thrust plot 5 x 5 mesh "
}
}
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Define operatonal parameters\n",
"thrust_req = 350\n",
"v_cruise = 210/3.6\n",
"h_cruise = 1200\n",
"isa = tud.ISA(h_cruise) \n",
"a_snd = isa.soundspeed() # Speed of sound\n",
"rho_cr = isa.density() # Air density\n",
"dyn_vis = isa.viscosity_dyn() # Dynamic viscosity\n",
"\n",
"# Define the specified conditions for the propeller geometry in the data structure\n",
"prop_class = tud.Propeller(\n",
" n_blades=6, # Number of blades\n",
" r_prop=0.525, # propeller radius\n",
" rpm_cruise=1200, \n",
" tc_ratio=0.12, # Thickness to chord ratio of airfoil\n",
" xi_0=0.1 # nondimensional hub radius (r_hub/R)\n",
" ) \n",
"\n",
"#---------------------------- Blade geometry optimization ---------------------------------\n",
"# Initiazlie BEM class\n",
"design = prop.BEM(data_path, prop_class, rho_cr, \n",
" dyn_vis, v_cruise, n_stations, a_snd, T=thrust_req)\n",
"\n",
"# Execute the BEM optimisation with initial estimate of 0\n",
"res_dict = design.optimise_blade(zeta_init=0)\n",
"plot = prop.PlotBlade(prop_class, coord_path)\n",
"plot.plot_3D_plotly() # Creates an interactive 3D plot\n",
"\n",
"#------------------- Off design analysis ---------------------------------------------------------\n",
"n = 5 # Mesh size\n",
"\n",
"pitch_arr = np.linspace(-20, -50, n)\n",
"rpm_arr = np.linspace(2500,rpm_hvr, n)\n",
"X,Y = np.meshgrid(rpm_arr,pitch_arr)\n",
"Z_thrust = np.zeros(X.shape)\n",
"Z_eff = np.zeros(X.shape)\n",
"Z_power = np.zeros(X.shape)\n",
"\n",
"for col, rpm in enumerate(rpm_arr):\n",
" hover_cond = prop.OffDesignAnalysisBEM(data_path, prop_class, v_hvr, rpm, rho, dyn_vis, a_snd)\n",
"\n",
" for row, dpitch in enumerate(np.radians(pitch_arr)):\n",
" try:\n",
" res = hover_cond.analyse_propeller(dpitch, abs_extrapolation=7)\n",
" except ValueError:\n",
" continue\n",
" except RuntimeError as error:\n",
" continue\n",
"\n",
" power_req = res[\"power_coeff\"]*rho*(rpm_hvr/60)**3*32*prop_class.r_prop**5/1e3\n",
"\n",
" Z_thrust[row,col] = res[\"thrust\"]\n",
" Z_eff[row,col] = res[\"eff\"]*100\n",
" Z_power[row,col] = power_req\n",
"\n",
"\n",
"# Create the figure\n",
"fig = go.Figure(data=[go.Surface(z=Z_thrust, x=X, y=Y)])\n",
"fig.update_layout(\n",
" scene=dict(\n",
" xaxis_title='RPM',\n",
" yaxis_title= 'Delta pitch [deg]',\n",
" zaxis_title=f'Thrust [N]'))\n",
"\n",
"fig.update_layout(\n",
" scene_camera=dict(\n",
" eye=dict(x=1.8, y=1.8, z=1.8)))\n",
"\n",
"fig.update_layout(title=f'Thrust plot {n} x {n} mesh ', autosize=True,\n",
" margin=dict(l=65, r=50, b=65, t=90))\n",
"\n",
"# Show the plot\n",
"fig.show()\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "honours",
"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.11.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}