{ "cells": [ { "cell_type": "markdown", "source": [ "# Rotating Beam with a Swept Tip\n", "\n", "In this example we analyze a rotating beam with a swept tip. The parameters for this\n", "example come from \"Finite element solution of nonlinear intrinsic equations for curved\n", "composite beams\" by Hodges, Shang, and Cesnik.\n", "\n", "![](../assets/rotating-drawing.svg)" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Steady State Analysis" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "using GXBeam, LinearAlgebra\n", "\n", "sweep = 45 * pi/180\n", "rpm = 0:25:750\n", "\n", "# straight section of the beam\n", "L_b1 = 31.5 ## inch\n", "r_b1 = [2.5, 0, 0]\n", "nelem_b1 = 13\n", "lengths_b1, xp_b1, xm_b1, Cab_b1 = discretize_beam(L_b1, r_b1, nelem_b1)\n", "\n", "# swept section of the beam\n", "L_b2 = 6 ## inch\n", "r_b2 = [34, 0, 0]\n", "nelem_b2 = 3\n", "cs, ss = cos(sweep), sin(sweep)\n", "frame_b2 = [cs ss 0; -ss cs 0; 0 0 1]\n", "lengths_b2, xp_b2, xm_b2, Cab_b2 = discretize_beam(L_b2, r_b2, nelem_b2;\n", " frame = frame_b2)\n", "\n", "# combine elements and points into one array\n", "nelem = nelem_b1 + nelem_b2\n", "points = vcat(xp_b1, xp_b2[2:end])\n", "start = 1:nelem_b1 + nelem_b2\n", "stop = 2:nelem_b1 + nelem_b2 + 1\n", "lengths = vcat(lengths_b1, lengths_b2)\n", "midpoints = vcat(xm_b1, xm_b2)\n", "Cab = vcat(Cab_b1, Cab_b2)\n", "\n", "# cross section\n", "w = 1 ## inch\n", "h = 0.063 ## inch\n", "\n", "# material properties\n", "E = 1.06e7 ## lb/in^2\n", "ν = 0.325\n", "ρ = 2.51e-4 ## lb sec^2/in^4\n", "\n", "# shear and torsion correction factors\n", "ky = 1.2000001839588001\n", "kz = 14.625127919304001\n", "kt = 65.85255016982444\n", "\n", "A = h*w\n", "Iyy = w*h^3/12\n", "Izz = w^3*h/12\n", "J = Iyy + Izz\n", "\n", "# apply corrections\n", "Ay = A/ky\n", "Az = A/kz\n", "Jx = J/kt\n", "\n", "G = E/(2*(1+ν))\n", "\n", "compliance = fill(Diagonal([1/(E*A), 1/(G*Ay), 1/(G*Az), 1/(G*Jx), 1/(E*Iyy),\n", " 1/(E*Izz)]), nelem)\n", "\n", "mass = fill(Diagonal([ρ*A, ρ*A, ρ*A, ρ*J, ρ*Iyy, ρ*Izz]), nelem)\n", "\n", "# create assembly\n", "assembly = Assembly(points, start, stop;\n", " compliance = compliance,\n", " mass = mass,\n", " frames = Cab,\n", " lengths = lengths,\n", " midpoints = midpoints)\n", "\n", "# create dictionary of prescribed conditions\n", "prescribed_conditions = Dict(\n", " # root section is fixed\n", " 1 => PrescribedConditions(ux=0, uy=0, uz=0, theta_x=0, theta_y=0, theta_z=0)\n", " )\n", "\n", "nonlinear_states = Vector{AssemblyState{Float64}}(undef, length(rpm))\n", "linear_states = Vector{AssemblyState{Float64}}(undef, length(rpm))\n", "for i = 1:length(rpm)\n", " # global frame rotation\n", " w0 = [0, 0, rpm[i]*(2*pi)/60]\n", "\n", " # perform linear steady state analysis\n", " system, linear_states[i], converged = steady_state_analysis(assembly,\n", " angular_velocity = w0,\n", " prescribed_conditions = prescribed_conditions,\n", " linear = true)\n", "\n", " # perform nonlinear steady state analysis\n", " system, nonlinear_states[i], converged = steady_state_analysis(assembly,\n", " angular_velocity = w0,\n", " prescribed_conditions = prescribed_conditions)\n", "\n", "end\n", "\n", "nothing ##hide" ], "metadata": {}, "execution_count": 1 }, { "cell_type": "markdown", "source": [ "To visualize the solutions we will plot the root moment and tip deflections against the\n", "angular speed." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "using Plots\n", "pyplot()\n", "colors = get_color_palette(:auto, 17)\n", "nothing #hide" ], "metadata": {}, "execution_count": 2 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.PyPlotBackend() n=2}", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZR0lEQVR4nO3dd3xT5eIG8OckadKme0ILtKWMQoFSWvaSvZQNMhUBRUVEHD+3XPXiuji4XhcuQBlXtl5AWTJEoIyy92ihtYXOdCfNeH9/BAK1pRRIc9L2+X4++dDknKQPxwKP73nPeyQhhAARERER2Y1C7gBERERENQ0LFhEREZGdsWARERER2RkLFhEREZGdsWARERER2ZlsBWvmzJkIDw+HJEk4fvy47XW9Xo9hw4ahadOmiImJwYABA5CUlCRXTCIiIqI7JlvBGjVqFHbt2oWwsLAy26ZNm4YzZ87g8OHDeOCBBzBt2jQZEhIRERHdHdkKVvfu3VG/fv0yr7u6umLQoEGQJAkA0LFjR1y8eLHczygqKkJCQgKKioqqNCsRERHRnXD6OViffvopBg8eXO6206dPIy4uDgMGDMCQIUOwbNkyB6cjIiKi2sBiKL6j/VVVlMMu3n33XZw7dw5fffVVhfvNmzcPsbGxDkpFREREtYk5LxtX5kyB3yOvwi2qfaXe47QF68MPP8Tq1auxZcsWaLVaueMQERFRLVUYvwkQAprwqEq/xykL1scff4xly5Zhy5Yt8PHxkTsOERER1VLCYkbh7g1wi70PCq1Hpd8nW8F66qmn8PPPP+PKlSvo06cPPDw8cP78eaSkpOD5559HREQEevbsCQDQaDSIj4+XKyoREZHDXb58GZmZmXLHqPX0F44h98x5+LUdBpeEBABAQEAAQkNDK3yfJIQQjghYFRISEhAXF4eDBw9yDhYREdUYly9fRvPmzXmVvJPSarU4depUhSXLKU8REhER1WaZmZkoKirC4sWL0bx5c7nj0E1OnTqFiRMnIjMzkwWLiIioOmrevDnP0FRTTr8OFhEREVF1w4JFREREZGcsWERERER2xoJFREREZGcsWERERER2xoJFREREZGcsWERERHRXwsPD0axZM5hMJttrbdu2xfbt2+/6M3v06IF169YBAGbPno2ffvrpXmPKggWLiIiI7prBYMB3331XJZ/99ttvY8yYMVXy2X93c0m0BxYsIiIiumtvvfUW/vnPf5a5rc/Vq1cxfPhwtGrVCi1btsTXX39t2xYeHo633noLnTt3RsOGDTFnzpxyP/uRRx7BZ599BgB48803MX78eAwePBhRUVHo1asXsrOzbft++OGHaN++PWJjYzFo0CAkJycDALZu3YpOnTqhTZs2aNmyJRYsWGB7T48ePfDaa6+hd+/e6N+/v92OCcCV3ImIiKqttCKBtCq4XWGwFgjWSpXaNzY2Ft27d8cnn3yC1157zfb6zJkz0axZM6xZswbp6emIi4tDTEwM2rdvDwDQ6XTYvXs3MjIy0LhxY0yePBn16tWr8HvFx8dj//798PPzw9ixYzF//ny88sorWLp0Kc6ePYs9e/ZAqVTixx9/xIwZM/Dzzz8jNjYWu3btglKpRHZ2NmJjYzFgwAAEBwcDAA4fPozffvsNLi4ud3m0yseCRUREVE3NP2XBWwkWu3/uP2IVeDNOWen958yZgw4dOuCJJ56wvbZlyxYcOXIEABAUFIQRI0Zg69attoI1YcIEAEBgYCAiIiKQmJh424I1cOBA+Pn5AQA6deqEY8eOAQDWrl2LAwcOIC4uDgBgNpuhVFrzZ2VlYerUqTh79ixUKhUyMzNx4sQJW8F66KGH7F6uABYsIiKiauvx5goMCbP/bJ9g7Z3tHxERgXHjxpU51SdJ0i2fu7q62r5WKpWVmgN1q/cIIfD6669jypQpZd7zxBNPYPDgwVi1ahUkSUJsbCz0er1tu4eHx22/791gwSIiIqqmgrXSHZehqvLGG28gKirKNhrUp08ffP3113jrrbeQkZGBNWvWYOXKlVXyvYcMGYJ///vfGDZsGPz8/GA0GnH8+HG0adMGOTk5CAsLgyRJ2Llzp21UrapxkjsRERHds8DAQMycORNpaWkAgE8//RRHjx5FdHQ0evbsiddee812etDeHnroIUycOBE9evRA69atERMTg23btgEA3n//ffzf//0fOnbsiIULF6JDhw5VkuHvJCGEcMh3qgIJCQmIi4vDwYMHERsbK3ccIiIiu+C/b86rsv9tOIJFREREZGcsWERERER2xoJFREREZGcsWERERER2xoJFREREZGcsWERERER2xoJFREREZGcsWERERHRXwsPDcfz48VKvDRo0CBcuXJApkfPgrXKIiIjIbjZs2OCw72UymaBSOWeV4QgWERER2c3No1o9evTASy+9hG7duqFRo0Z44oknbPvl5+fjscceQ/v27REdHY0nnngCRqMRAPDxxx+jXbt2aNOmDdq3b4/4+Hjb+yRJwkcffYQePXrglVdecexv7g44Z+0jIiKi2zLnZsGcl233z1V6+UHp7W+Xz7pw4QK2b9+OkpISREVFYc+ePejUqROef/55dO/eHd988w2EEHjsscfw2Wef4dlnn8VDDz2E5557DgCwd+9eTJ06tdSpSIPBgO3bt9slX1VhwSIiIqqmCnZvQP7GJXb/XM/+E+A98CG7fNbYsWOhVCrh5uaGmJgYXLhwAZ06dcLatWuxd+9efPTRRwCA4uJiqNVqAMChQ4fwzjvvICsrCyqVCidPnkRJSYlt+5QpU+ySrSqxYBEREVVTHp0Hwa1lR7t/rtLLz26f5erqeuNzlUqYTCYAgBACa9euRURERKn9S0pKMHLkSGzfvh1xcXHIy8uDt7d3qYLl4eFht3xVhQWLiIiomlJ6+9vtVJ6jDRkyBO+//z6++OILqFQq5OTkICsrC0FBQTAajWjQoAEA4D//+Y/MSe8OJ7kTERHRXevTpw/q169ve6SkpFTqffPmzYNKpUJMTAyio6PRp08fJCUlwcvLC2+//Tbat2+P7t27Q6PRVPHvoGpIQgghd4i7lZCQgLi4OBw8eBCxsbFyxyEiIrIL/vvmvCr734YjWERERER2xoJFREREZGcsWERERER2xoJFREREZGcsWERERER2xoJFREREZGcsWERERER2xoJFREREZGcsWERERER2xnsREhEROalTp07JHYH+prL/TViwiIiInExAQAC0Wi0mTpwodxQqh1arRUBAQIX7sGARERE5mdDQUJw6dQqZmZlyR6mWio/tQd7GJfB/5DWoAoLt/vkBAQEIDQ2tcB8WLCIiIicUGhp623/EqSxhseDqb19C1as/AvrdL1sOTnInIiKiGkN/Mh6m9GR49h4taw4WLCIiIqox8reugDqiBTQNo2TNwYJFRERENYLh4nGUJJ6EZy95R68AGQvWzJkzER4eDkmScPz48VLbzp07h86dO6Np06Zo3749Tp48KVNKIiIiqi7yt66Aqm4oXKPayx1FvoI1atQo7Nq1C2FhYWW2Pf7445g2bRrOnj2LF198EVOnTpUhIREREVUXxrQk6E/Ew7PnKEgK+U/Q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", "text/html": [ "" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2023-06-12T19:49:01.488576\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.7.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ] }, "metadata": {}, "execution_count": 3 } ], "cell_type": "code", "source": [ "# root moment\n", "plot(\n", " xlim = (0, 760),\n", " xticks = 0:100:750,\n", " xlabel = \"Angular Speed (RPM)\",\n", " ylim = (0, 12),\n", " yticks = 0.0:2:12,\n", " ylabel = \"\\$M_z\\$ at the root (lb-in)\",\n", " grid = false,\n", " overwrite_figure=false\n", " )\n", "Mz_nl = [-nonlinear_states[i].points[1].M[3] for i = 1:length(rpm)]\n", "Mz_l = [-linear_states[i].points[1].M[3] for i = 1:length(rpm)]\n", "plot!(rpm, Mz_nl, label=\"Nonlinear\")\n", "plot!(rpm, Mz_l, label=\"Linear\")" ], "metadata": {}, "execution_count": 3 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.PyPlotBackend() n=2}", "image/png": "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nM4TTwWy2WxERkayf/9+D1fmeafrm6rWb2+++SYDBgwA1C9/u+mmm6hXrx6PPfYY06ZNA9Q3ABMmTGD48OE0aNCgwOvqG7jhhhto3bo1t956KwkJCYD6Zffu3YSGhvLMM8/QsWNHunfvzrJlywD1zd9WrlxJUlISV1xxBVB5+qXSByw48QfwT0Z7q+Y7Xd9UlX577rnn2LlzJ88++2z+a+oX+PTTT4mPj+eZZ57hgQceyH+9KvfNypUrWbt2LXfccUehx6ty3/z888/8/vvvxMXFERoays0335x/rCr3S15eHn/++SctWrRg3bp1vP3221x33XX5AbQq983fPvnkE2666ab80ASVpF88MGpWpo4cOWICAwMrxHBiaStsivBUfVNV+u3ll182MTExBdYcqV9O5uvraxITE6t83zz//PMmIiLC1K9f39SvX984HA5Tp04ds3DhwirfN/908OBBExAQYIzR91NCQoKx2+3G5XLlv9apUyfz448/Vvm+MebEFGr16tXN1q1b81+rLP1S6UewatasSfv27Zk+fToAc+bMISoqiqioKM8WVg6crm+qQr+99tprzJgxgyVLlhAcHJz/elXvl7S0NA4ePJj/9dy5cwkNDSUkJKTK981DDz3EwYMH2bt3L3v37qVu3bp8//339OvXr0r3TUZGBqmpqflfz5gxg/bt2wP6fgoLC6NXr158//33AOzbt489e/bQtGnTKt83ALNmzaJNmzY0a9Ys/7VK0y+eTnhlYdu2beaCCy4wTZo0MTExMWbTpk2eLqlM3XHHHea8884zDofD1KpVK38xtzGn75vK3G/x8fEGMA0bNjRt27Y1bdu2NZ07d84/XlX7xRhj9u/fbzp16mRatWpl2rRpY3r16mXWr1+ff7wq982//XtUuKr2ze7du027du1M69atTatWrczAgQMLjChU1X752+7du81FF11kWrVqZdq2bWu+/vrr/GNVvW8uvPBC88knn5z0emXoFz3sWURERKSEVfopQhEREZGypoAlIiIiUsIUsERERERKmAKWiIiISAlTwBIREREpYQpYIiIiIiVMAUukCujQoQM2m43ly5d7upR8NpuNV155pVSvER8fzy233EKDBg3w9fUlIiKC3r17529SWJ4kJiZis9mYOnVqkW03btxItWrVOHLkSP5rNpst/5e3tzeNGzfmnnvuITk5ucB7p06dWqBtjRo16NKlC99++21+m7179+YfX7Ro0UnXnzlzZv7xxMREACzLomnTpnz++edn2QMilYsClkglt23bNtavXw9QpX74paSkcP7557NmzRqefPJJFi1axMsvv0xkZGShoaEiefTRRxk5ciS1atUq8Ppdd93FypUrWbJkCTfddBPvvfceN9xwQ6HnWLRoEStXruTTTz/F19eXQYMGndQvAQEBfPHFFye994svviAgIKDAa3a7nQcffJAJEyaQl5d3jp9QpOJzFt1ERCqyzz//HIfDQc+ePZk9ezbvvPMO3t7eni6rxGRlZeHn53fS67Nnz+bQoUOsWrWKyMjI/NeHDx+OZVllWWKJ2r17N/PnzycuLu6kY5GRkVxwwQUAXHTRRRw8eJDJkydz6NAhIiIiCrSNiYkhLCwMgJ49exIZGcnbb79N375989sMGjSIefPmFejj1NRUvvvuO6655pqTRgKvu+467r77bubPn8+VV15Zop9bpKLRCJZIJffFF19wySWXcO+995KamsrChQsLHP97Omj69OmMGzeOGjVqEBERwf3334/L5SrQdu7cuTRt2hRfX186d+7MunXrCAgI4Mknn8xvExUVxbhx4wq8b/bs2dhsNvbu3XvKOhcsWMCll15KzZo1CQwM5Pzzzz9pROXv6a2VK1dy6aWXUq1aNe6///5Cz5eamordbqdmzZonHbPb//8/fX+fc9WqVVxyySX4+/sTFRXFJ598ctL7Vq5cySWXXEK1atUICgri+uuv5+jRowXa5OTk8Mgjj1C/fn18fHxo3rx5oaNAH374IVFRUfj7+9OrVy927dp1yr75p08//ZSGDRvSrl27Itu2bdsWgP3795+2XfXq1WnSpAl79uwp8Hr//v1xOBzMnz8//7XZs2cTGhrKxRdffNJ5qlWrRr9+/Zg2bVoxPolI5aaAJVKJrVq1ij///JNhw4bRp08fwsLCTjlN+Oijj2K325k5cyZjxozh1Vdf5aOPPso/vn79eoYOHUqLFi34+uuvGTlyJNddd12JTQft2bOHAQMG8NlnnzFnzhy6detG//79C103dsMNN9CrVy/mz5/PjTfeWOj5YmJisCyLG264gZUrV54UFv/tuuuu49JLL2Xu3LlcfPHFjBo1qkDAW7lyJT179iQoKIivvvqKDz74gLVr1zJw4MAC57nmmmuYPHky9913H/Pnz6dv374MHz6c7777Lr/N/PnzGT16NBdffDFz587lkksu4brrritWPy1dupRu3boVq+3+/fux2+1FPgjX7XYTHx9PnTp1Crzu7e3NkCFDCgTEL774gmuvvbZASP2nbt268cMPP+B2u4tVo0il5emHIYpI6Rk3bpzx8fExqampxpgTD/729fU1x44dy2+zZ88eA5ihQ4cWeG+3bt1Mr1698r8eOnSoady4sXG73fmvTZkyxQDmiSeeyH+tfv365s477yxwrlmzZhmgwAOAAfPyyy8XWrfb7TZ5eXmmT58+ZtiwYSdd76WXXirW53/ggQeM3W43gPHz8zOXXnqpmTZtmrEs66RzPv744wXe2717d9OlS5f8r3v06GG6du1a4L2bNm0yNpvNLFiwwBhjzA8//GAA8/333xc419ChQ02nTp3yvz7//PNN9+7dC7R5+OGHDWCmTJlyys9jWZbx8fEptN8A8+KLL5q8vDxz/Phxs2DBAhMcHGzuuuuuAu3+/ryHDx82eXl55uDBg+bOO+80gJk8ebIx5v//nZg1a5ZZtmyZ8fHxMSkpKeavv/4ydrvdrFmzJv88CQkJBc7/dx/88yHYIlWRRrBEKim3283MmTO5/PLLCQoKAk6M/GRnZ/P111+f1L5Pnz4Fvm7RogUHDhzI/3rt2rVcccUVBUYuBg0aVGL1HjhwgJtvvpnzzjsPp9OJl5cXixcvZseOHSe17d+/f7HO+dJLL7Fr1y5ef/11+vXrx5o1a7j55pu56aabTmr77zVDV155JevWrcPtdpOZmcmKFSsYOnQobrcbl8uFy+WiadOmREREsHbtWgAWL15MSEgIl1xySX4bl8tFr169WL9+PW63G7fbTWxs7EnXu/rqq4v8PCkpKeTk5BAeHl7o8f/+9794eXkREBDA5ZdfTqtWrXjttdcKbVu7dm28vLyoU6cOn3zyCY899hi33XbbSe169uxJWFgYc+bMYcaMGTRq1IhOnTqdssa/13UdPny4yM8jUpkpYIlUUkuWLOHo0aMMGDCA1NRUUlNTadGiBXXr1i10mjA4OLjA197e3mRnZ+d/fejQoZN+sNeoUQMvL69zrtWyLAYOHMivv/7KxIkT+fHHH1m7di39+vUrUMPfCltXdSoNGjRg/PjxzJkzhwMHDtC3b1+mT5/OH3/8cdpz1qxZk7y8PBITE0lJScHtdvOf//wHLy+vAr8OHjxIfHw8cGKrheTk5JPajB07FpfLxaFDh0hISMDlcp10vX/fEViYv/vCx8en0OP33HMPa9euZfny5dx66638+uuvPP7444W2Xbp0KWvXrmXXrl2kpaXx9NNPY7PZTmpnt9u59tprmTFjBl988QXXX3/9aWv09fUFTtx8IFKV6S5CkUrq7xA1cuRIRo4cWeDYwYMHOXz4MLVr1y72+SIiIkhISCjwWkpKyklrsHx9fcnNzS3w2r/3Yvq3Xbt2sX79eubNm1dgVOxUP6QLCwLFERAQwB133MGiRYvYunUrbdq0yT929OhRzjvvvAJfe3l5ERYWRnZ2NjabjUceeYTBgwefdN6/R21CQkIIDw8/6UaCv9WsWROHw4HT6Txpcfw/97Q6ldDQUODEAv7C1K1bl44dOwIn7iJMSEjgtdde44477qBevXoF2rZt2za/7qJcf/31TJo0CcuymDFjxmnbpqSkFKhVpKrSCJZIJZSZmcm8efMYPHgwP/74Y4FfM2fOxLIsvvzyyzM6Z6dOnZg/f36BLQ7mzZt3Uru6deuydevWAq8tWbLktOf+O0j9c/uIffv2sWLFijOq8Z8SEhIwxpz0+t9Tjv8Ol3Pnzj3p65iYGBwOB9WqVaNLly5s3bqVjh07nvTr70XkvXv3JiEhAW9v70LbeXt743A46NChw0nXmz17dpGfycfHh8jIyJPu9juVF198EZfLdc4busbExHDzzTdz++23Ex0dfdq2f9dWVDuRyk4jWCKV0Lfffsvx48e5++676dmz50nHO3XqxOeff8748eOLfc6HH36YTp06MWTIEEaPHs3evXt59dVX8fb2LrAu6+qrr+b222/nqaeeomvXrixYsIA1a9ac9tzNmjWjbt26PPTQQ7jdbjIyMnjiiScKjCidqWnTpvHZZ59x44030r59e4wxrFixghdffJGYmBguvPDCAu0//fRT/Pz86NChA19++SW//PILCxYsyD/+8ssvc8kll3Dttddy3XXXUaNGDQ4cOMCSJUsYOXIkPXv25NJLL2XAgAH07duXBx98kDZt2pCRkcHmzZvZtWtX/l2Zjz76KIMGDcq/E3PdunWFbuVQmG7duhEbG1ustk2bNuW6667jo48+YsKECec0qlTYthWFWbt2Lc2bNy/26JhIZaURLJFK6PPPPycyMrLQcAVw8803s27dukIXkJ9K+/btmTlzJlu2bOHKK6/k448/ZurUqbjd7vxF9AC33nor999/P++99x5Dhw4lOzubZ5555rTn9vHx4euvv8bHx4ehQ4fy+OOP88gjj3DRRRcVu75/69+/Pz169GDatGlcddVVXHnllcycOZP777+fpUuX4nA4CrSfMWMG33//PYMHD+aHH37ggw8+KLCYvmvXrvz6668cP36ckSNH0r9/fyZOnIi/vz+NGzfObzd79mzGjh3Lu+++S79+/Rg1ahSLFy8u8FkGDhzI+++/z7Jlyxg8eDBLliwpcurtb1dffTUrVqwgPT29WO0nTJhATk4Ob731VrHan6vvvvuuWAv2RSo7mylsDF1EpBiWLl3KpZdeyvLly88pDHnS1KlTGTlyJAkJCRVi1CUvL4/IyEhefPHFQu+G9KQ//viDDh06sHPnTho0aODpckQ8SiNYIlJsd9xxB3PmzGH58uW88847DB8+nPbt29O9e3dPl1ZleHl58dBDD51y+wVPev3117npppsUrkTQGiwROQOpqancddddJCYmEhQURN++fXnllVdOuau3lI6xY8eSlpbG0aNHz2jLitJkWRZNmjQpd6NqIp6iKUIRERGREqb/7RQREREpYQpYIiIiIiVMAUtERESkhP0/TOqs1MWQDU8AAAAASUVORK5CYII=", "text/html": [ "" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2023-06-12T19:49:02.342101\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.7.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ] }, "metadata": {}, "execution_count": 4 } ], "cell_type": "code", "source": [ "# x tip deflection\n", "plot(\n", " xlim = (0, 760),\n", " xticks = 0:100:750,\n", " xlabel = \"Angular Speed (RPM)\",\n", " ylim = (-0.002, 0.074),\n", " yticks = 0.0:0.01:0.07,\n", " ylabel = \"\\$u_x\\$ at the tip (in)\",\n", " grid = false,\n", " overwrite_figure=false\n", " )\n", "ux_nl = [nonlinear_states[i].points[end].u[1] for i = 1:length(rpm)]\n", "ux_l = [linear_states[i].points[end].u[1] for i = 1:length(rpm)]\n", "plot!(rpm, ux_nl, label=\"Nonlinear\")\n", "plot!(rpm, ux_l, label=\"Linear\")" ], "metadata": {}, "execution_count": 4 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.PyPlotBackend() n=2}", "image/png": "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MXny5Nxjffr04bHHHuP++++nbt26dO/eHQBvb29WrVoFnH6g5KBBg3C5XBhjqFu3LlOmTHHLZxEREREpFQGrYcOGrFixIt9jf62jOte6rLp167J+/fpiqU1ERETyFxkZybx582jWrFnua3369OHdd9/l0ksvdWNl7lcqApaIiIiUD+e6wayo/bV+uzRy+xosERERKT8iIyPZvHkzAN26dePhhx+mS5cuXHrppYwbNy63XWpqKrfccgvt2rWjRYsWjBs3jpycHOD0uuu2bdvSunVr2rVrl7skCE7vPPD666/TrVs3Hn300ZL9cOehdMY+ERERKZDrZAKulMQi79cRFIojOKxI+tqzZw9Lly4lOzubJk2asGLFCjp27Mj9999P165d+fTTTzHGcMstt/Dee+9x7733cuONN3LfffcBsHLlSsaMGZMb2gCysrJYunRpkdRXXBSwREREyqhTf/xA6k9fFXm/gVcNI/jqG4ukryFDhuBwOPD19aVVq1bs2bOHjh07MnfuXFauXMnrr78OQEZGBl5eXgCsX7+eF154gYSEBDw8PNi6dSvZ2dm5x2+66aYiqa04KWCJiIiUUQGd+uDbrEOR9+sICi2yvnx8fP7Xr8OB0+kETt+8NnfuXOrWrZunfXZ2NoMGDWLp0qVER0eTkpJCcHBwnoAVEBBQZPUVFwUsERGRMsoRHFZkl/JKWr9+/Xj55Zf54IMP8PDwICkpiYSEBMLDw8nJyaFWrVoAvPvuu26u9MJokbuIiIhcsF69elGzZs3cH4cOHSrU+9566y08PDxo1aoVLVq0oFevXuzfv5+goCCeffZZ2rVrR9euXfH29i7mT1A8bOZcG0yVQzExMURHR7Nu3To9i1BEREolfa8qvQr7e6MZLBEREZEipoAlIiIiUsQUsERERESKmAKWiIiISBFTwBIREREpYgpYIiIiIkVMAUtERESkiClgiYiIiBQxBSwRERGRIqZnEYqIiJRS27Ztc3cJ8g+F/T1RwBIRESllKleujJ+fH8OHD3d3KZIPPz8/KleufM42ClgiIiKlTEREBNu2bSM+Pt7dpZRaGVtWkfLjlwT3vwWf+i1L9NyVK1cmIiLinG0UsEREREqhiIiIAr+JV1Su5HiOffsivn0GEHr9aHeXky8tchcREZEywxhD0oy3sXl6EXLtbe4u56wUsERERKTMSF+9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9OHZZ5+lTZs252x3rmP/9Nci93Xr1ukSoYiIiBQLtweskqaAJSIiIsXNrZcIRURERMojBSwRERGRIqaAJSIiIlLEFLBEREREipgCluSaPn26u0sotTQ2+dO4nJ3GJn8al/xpXM6urI6NApbkKqt/iEuCxiZ/Gpez09jkT+OSP43L2ZXVsXH7o3JKWkZGBgDbtm1zcyWlT3JyMjExMe4uo1TS2ORP43J2Gpv8aVzyp3E5u7I0No0aNcLPzw+ogPtgffXVVwwfPtzdZYiIiEg58/c9NitcwIqPj+enn34iMjISX19fd5cjIiIi5USFnsESERERKW5a5C4iIiJSxBSwRERERIqYApaIiIhIEVPAEhERESliFSpg7dq1i06dOtGgQQPatWvH1q1b3V1Sibn77ruJjIzEZrOxefPmPMfONS7lfcwyMzMZMGAADRo0oFWrVvTu3Zv9+/fnHq/IY3PllVfSokULWrVqRZcuXdiwYUPusYo8Ln955plnzvj7VNHHJTIykkaNGtGqVStatWrFN998k3usIo9NVlYWd955J/Xr16dp06Z5tgqqyOOSnJyc+2elVatWNGjQAA8PDxITE4FyMDamAunevbuZOHGiMcaYb7/91nTo0MG9BZWgX3/91cTGxpratWubP//8M8+xc41LeR+zjIwMM3/+fGNZljHGmHfffddcccUVuccr8tgkJSXl/nrOnDmmdevWuV9X5HExxph169aZ3r17m4iIiDx/nyr6uOT378tfKvLYjB8/3tx11125/84cOXIk91hFHpd/evXVV80111yT+3VZH5sKE7COHz9ugoODTU5OjjHGGMuyTNWqVc2+ffvcW1gJ++c/gOcal4o4ZmvWrDGXXnqpMUZj83eTJk0y0dHRxhiNS2ZmpunQoYPZu3dvnr9PFX1cjDl7wKrIY3Pq1CkTHBxsUlNTzzhWkcclP02aNDFz5swxxpSPsakwlwhjY2OpUaMGHh6nnw5ks9mIiIjg4MGDbq7Mvc41LhVxzN555x369u0LaGwARowYQa1atXj88ceZPHkyoHF58sknGT58OHXq1MnzekUfl78MGzaM5s2bc/PNNxMXFwdU7LHZs2cPYWFhPP/887Rp04YuXbrwyy+/ABV7XP5pxYoVJCQkcM011wDlY2wqTMCC078Jf2e0xypw7nGpSGP24osvsmvXLl544YXc1yr62EyZMoXY2Fief/55HnzwwdzXK+q4rFixgjVr1nD77bfne7yijstfli1bxsaNG4mJiSEsLIyRI0fmHquoY5OTk8PevXtp0qQJa9eu5b333mPIkCG54bOijss/ffHFF4wYMSI3NEE5GBs3zJq5xfHjx01QUFCpn1IsbvldIjzbuFSkMXv11VdNdHR0nnVHGpu8fHx8THx8fIUel5deeslUr17d1K5d29SuXds4HA5To0YN88MPP1ToccnPkSNHTEBAgDGmYv9diouLM3a73TidztzX2rZta5YsWVKhx+XvTp06ZQIDA822bdtyXysPY1NhZrDCw8Np3bo1U6dOBWDWrFlERkYSGRnp3sLc7FzjUlHG7I033mD69OksXLiQkJCQ3Ncr8tikpKRw5MiR3K/nzJlDWFgYoaGhFXpcHnnkEY4cOcL+/fvZv38/NWvW5KeffuLqq6+u0OMCkJaWRnJycu7X06dPp3Xr1kDF/rtUuXJlevbsyU8//QTAgQMH2LdvHw0bNqzQ4/J33377LS1atKBRo0a5r5WLsXF3witJ27dvNx06dDD169c30dHRZvPmze4uqcTcfvvt5pJLLjEOh8NUrVo1dyG3Mecel/I+ZrGxsQYwdevWNS1btjQtW7Y07dq1yz1eUcfm4MGDpm3btqZZs2amRYsWpmfPnmb9+vW5xyvquPzTP2eEK/K47Nmzx7Rq1co0b97cNGvWzPTr1y/PjEJFH5vLL7/cNGvWzLRs2dLMnj0791hFHpe/XHbZZeaLL7444/WyPjZ62LOIiIhIEaswlwhFRERESooCloiIiEgRU8ASERERKWIKWCIiIiJFTAFLREREpIgpYImIiIgUMQUskQoiKioKm83G0qVL3V1KLpvNxmuvvVas54iNjeWmm26iTp06+Pj4UL16dXr16pW7SWFpEh8fj81mY9KkSQW2/fPPP/H39+f48eO5r9lsttwfXl5e1KtXj3vuuYfExMQ87500aVKetpUqVaJjx458//33uW3279+fe3zBggVnnH/GjBm5x+Pj4wGwLIuGDRvy1VdfXeAIiJQfClgiFcD27dtZv349QIX65peUlET79u1ZvXo1Tz/9NAsWLODVV18lIiIi39BQlkyYMIHRo0dTtWrVPK/fddddrFixgoULFzJixAg+/PBDhg0blm8fCxYsYMWKFUyZMgUfHx/69+9/xrgEBAQwbdq0M947bdo0AgIC8rxmt9t56KGHePLJJ8nJybnITyhStnkU3EREyrqvvvoKh8NBt27dmDlzJu+//z5eXl7uLqvIZGRk4Ovre8brM2fO5OjRo6xcuZKIiIjc14cPH45lWSVZYpHas2cP8+bNIyYm5oxjERERdOjQAYDLL7+cI0eO8PHHH3P06FGqV6+ep210dDSVK1cGoFu3bkRERPDee+/Ru3fv3Db9+/dn7ty5ecY4OTmZH3/8kX//+99nzAQOGTKEu+++m3nz5nHttdcW6ecWKUs0gyVSAUybNo0ePXpw3333kZyczA8//JDn+F+Xg6ZOncqdd95JpUqVqF69Og888ABOpzNP2zlz5tCwYUN8fHxo164da9euJSAggKeffjq3TWRkJHfeeWee982cORObzcb+/fvPWuf8+fO54oorCA8PJygoiPbt258xo/LX5a0VK1ZwxRVX4O/vzwMPPJBvf8nJydjtdsLDw884Zrf/75+/v/pcuXIlPXr0wM/Pj8jISL744osz3rdixQp69OiBv78/wcHB3HDDDZw4cSJPm6ysLB577DFq166Nt7c3jRs3zncW6NNPPyUyMhI/Pz969uzJ7t27zzo2fzdlyhTq1q1Lq1atCmzbsmVLAA4ePHjOdoGBgdSvX599+/bleb1Pnz44HA7mzZuX+9rMmTMJCwuje/fuZ/Tj7+/P1VdfzeTJkwvxSUTKLwUskXJu5cqV7N27l6FDh3LllVdSuXLls14mnDBhAna7nRkzZnDrrbfy+uuv89lnn+UeX79+PYMHD6ZJkybMnj2b0aNHM2TIkCK7HLRv3z769u3Ll19+yaxZs+jcuTN9+vTJd93YsGHD6NmzJ/PmzePGG2/Mt7/o6Ggsy2LYsGGsWLHijLD4T0OGDOGKK65gzpw5dO/enTFjxuQJeCtWrKBbt24EBwfzzTff8Mknn7BmzRr69euXp59///vffPzxx9x///3MmzeP3r17M3z4cH788cfcNvPmzWPs2LF0796dOXPm0KNHD4YMGVKocVq0aBGdO3cuVNuDBw9it9sLfBCuy+UiNjaWGjVq5Hndy8uLQYMG5QmI06ZN4/rrr88TUv+uc+fOLF68GJfLVagaRcoldz8MUUSK15133mm8vb1NcnKyMeb0g799fHzMyZMnc9vs27fPAGbw4MF53tu5c2fTs2fP3K8HDx5s6tWrZ1wuV+5rEydONIB56qmncl+rXbu2ueOOO/L09e233xogzwOAAfPqq6/mW7fL5TI5OTnmyiuvNEOHDj3jfP/5z38K9fkffPBBY7fbDWB8fX3NFVdcYSZPnmwsyzqjzyeeeCLPe7t06WI6duyY+3XXrl1Np06d8rx38+bNxmazmfnz5xtjjFm8eLEBzE8//ZSnr8GDB5u2bdvmft2+fXvTpUuXPG0effRRA5iJEyee9fNYlmW8vb3zHTfAvPLKKyYnJ8ecOnXKzJ8/34SEhJi77rorT7u/Pu+xY8dMTk6OOXLkiLnjjjsMYD7++GNjzP/+THz77bfml19+Md7e3iYpKckcPnzY2O12s3r16tx+4uLi8vT/1xj8/UHYIhWNZrBEyjGXy8WMGTP417/+RXBwMHB65iczM5PZs2ef0f7KK6/M83WTJk04dOhQ7tdr1qzhmmuuyTNz0b9//yKr99ChQ4wcOZJLLrkEDw8PPD09+fnnn9m5c+cZbfv06VOoPv/zn/+we/du3nzzTa6++mpWr17NyJEjGTFixBlt/7lm6Nprr2Xt2rW4XC7S09P5/fffGTx4MC6XC6fTidPppGHDhlSvXp01a9YA8PPPPxMaGkqPHj1y2zidTnr27Mn69etxuVy4XC7WrVt3xvmuu+66Aj9PUlISWVlZVKlSJd/jDz/8MJ6engQEBPCvf/2LZs2a8cYbb+Tbtlq1anh6elKjRg2++OILHn/8cW655ZYz2nXr1o3KlSsza9Yspk+fzqWXXkrbtm3PWuNf67qOHTtW4OcRKa8UsETKsYULF3LixAn69u1LcnIyycnJNGnShJo1a+Z7mTAkJCTP115eXmRmZuZ+ffTo0TO+sVeqVAlPT8+LrtWyLPr168fy5ct59tlnWbJkCWvWrOHqq6/OU8Nf8ltXdTZ16tRh/PjxzJo1i0OHDtG7d2+mTp3Kpk2bztlneHg4OTk5xMfHk5SUhMvl4t5778XT0zPPjyNHjhAbGwuc3mohMTHxjDbjxo3D6XRy9OhR4uLicDqdZ5zvn3cE5uevsfD29s73+D333MOaNWtYunQpN998M8uXL+eJJ57It+2iRYtYs2YNu3fvJiUlheeeew6bzXZGO7vdzvXXX8/06dOZNm0aN9xwwzlr9PHxAU7ffCBSUekuQpFy7K8QNXr0aEaPHp3n2JEjRzh27BjVqlUrdH/Vq1cnLi4uz2tJSUlnrMHy8fEhOzs7z2v/3Ivpn3bv3s369euZO3dunlmxs32Tzi8IFEZAQAC33347CxYsYNu2bbRo0SL32IkTJ7jkkkvyfO3p6UnlypXJzMzEZrPx2GOPMWDAgDP6/WvWJjQ0lCpVqpxxI8FfwsPDcTgceHh4nLE4/u97Wp1NWFgYcHoBf35q1qxJmzZtgNN3EcbFxfHGG29w++23U6tWrTxtW7ZsmVt3QW644QbeeustLMti+vTp52yblJSUp1aRikgzWCLlVHp6OnPnzmXAgAEsWbIkz48ZM2ZgWRZff/31efXZtm1b5s2bl2eLg7lz557RrmbNmmzbti3PawsXLjxn338Fqb9vH3HgwAF+//3386rx7+Li4jDGnPH6X5cc/xku58yZc8bX0dHROBwO/P396dixI9u2baNNmzZn/PhrEXmvXr2Ii4vDy8sr33ZeXl44HA6ioqLOON/MmTML/Eze3t5ERESccbff2bzyyis4nc6L3tA1OjqakSNHctttt9GgQYNztv2rtoLaiZRnmsESKae+//57Tp06xd133023bt3OON62bVu++uorxo8fX+g+H330Udq2bcugQYMYO3Ys+/fv5/XXX8fLyyvPuqzrrruO2267jWeeeYZOnToxf/58Vq9efc6+GzVqRM2aNXnkkUdwuVykpaXx1FNP5ZlROl+TJ0/myy+/5MYbb6R169YYY/j999955ZVXiI6O5rLLLsvTfsqUKfj6+hIVFcXXX3/Nb7/9xvz583OPv/rqq/To0YPrr7+eIUOGUKlSJQ4dOsTChQsZPXo03bp144orrqBv37707t2bhx56iBYtWpCWlsaWLVvYvXt37l2ZEyZMoH///rl3Yq5duzbfrRzy07lzZ9atW1eotg0bNmTIkCF89tlnPPnkkxc1q5TfthX5WbNmDY0bNy707JhIeaQZLJFy6quvviIiIiLfcAUwcuRI1q5dm+8C8rNp3bo1M2bMYOvWrVx77bV8/vnnTJo0CZfLlbuIHuDmm2/mgQce4MMPP2Tw4MFkZmby/PPPn7Nvb29vZs+ejbe3N4MHD+aJJ57gscce4/LLLy90ff/Up08funbtyuTJkxk4cCDXXnstM2bM4IEHHmDRokU4HI487adPn85PP/3EgAEDWLx4MZ988kmexfSdOnVi+fLlnDp1itGjR9OnTx+effZZ/Pz8qFevXm67mTNnMm7cOD744AOuvvpqxowZw88//5zns/Tr14+PPvqIX375hQEDBrBw4cICL7395brrruP3338nNTW1UO2ffPJJsrKyePfddwvV/mL9+OOPhVqwL1Ke2Ux+8+ciIoW0aNEirrjiCpYuXXpRYcidJk2axOjRo4mLiysTsy45OTlERETwyiuv5Hs3pDtt2rSJqKgodu3aRZ06ddxdjojbaAZLRM7L7bffzqxZs1i6dCnvv/8+w4cPp3Xr1nTp0sXdpVUYnp6ePPLII2fdfsGd3nzzTUaMGKFwJRWe1mCJyHlJTk7mrrvuIj4+nuDgYHr37s1rr7121l29pXiMGzeOlJQUTpw4cV5bVhQny7KoX79+qZtVE3EHXSIUERERKWL6L6eIiIhIEVPAEhERESliClgiIiIiRez/AH7zVZ53K6AUAAAAAElFTkSuQmCC", "text/html": [ "" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2023-06-12T19:49:03.082861\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.7.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ] }, "metadata": {}, "execution_count": 5 } ], "cell_type": "code", "source": [ "# y tip deflection\n", "plot(\n", " xlim = (0, 760),\n", " xticks = 0:100:750,\n", " xlabel = \"Angular Speed (RPM)\",\n", " ylim = (-0.01, 0.27),\n", " yticks = 0.0:0.05:0.25,\n", " ylabel = \"\\$u_y\\$ at the tip (in)\",\n", " grid = false,\n", " overwrite_figure=false\n", " )\n", "uy_nl = [nonlinear_states[i].points[end].u[2] for i = 1:length(rpm)]\n", "uy_l = [linear_states[i].points[end].u[2] for i = 1:length(rpm)]\n", "plot!(rpm, uy_nl, label=\"Nonlinear\")\n", "plot!(rpm, uy_l, label=\"Linear\")" ], "metadata": {}, "execution_count": 5 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.PyPlotBackend() n=2}", "image/png": "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oFmzZgCANm3a4O7du/j5558RFRUFNze3PG0DAwPh7OwMAGjbti08PDzwww8/oEuXLrltevbsiU2bNuUZ44SEBGzfvh0vv/xyviuBAwYMwMSJE7Flyxb07t1br5+bqKzjFSwiI7Nq1Sq0b98eb7/9NhISErBt27Y8xx/eDlqxYgVef/11ODg4wM3NDe+++y50Ol2eths3bkTt2rVhbm6OJk2a4MSJE7C2tsbMmTNz23h5eeH111/P877169dDkiSEh4c/ts6tW7eiU6dOcHV1ha2tLZo2bZrvisrD21vBwcHo1KkTrKys8O677xbYX0JCAjQaDVxdXfMd02j+/5/Ch30ePXoU7du3h6WlJby8vLB48eJ87wsODkb79u1hZWUFOzs7vPLKK3jw4EGeNpmZmfjggw/g6ekJMzMz1K1bt8CrQL/88gu8vLxgaWmJDh064Nq1a48dm/9avnw5atSoAT8/v0LbNmzYEAAQERHxxHY2NjaoVasWbt68mef1oKAgyLKMLVu25L62fv16ODk5oV27dvn6sbKyQteuXbFs2bIifBKiioUBi8iIHD16FDdu3MDAgQPRuXNnODs7P/Y24bRp06DRaLB27VqMHTsWX331FX799dfc4ydPnkS/fv3g4+ODP//8EyNGjMCAAQP0djvo5s2b6N69O37//Xds2LABLVu2RFBQUIHzxgYNGoQOHTpgy5YtGDJkSIH9BQYGQlVVDBo0CMHBwfnC4qMGDBiATp06YePGjWjXrh1GjRqVJ+AFBwejbdu2sLOzwx9//IFFixYhJCQEPXr0yNPPyy+/jJ9//hnvvPMOtmzZgi5dumDw4MHYvn17bpstW7ZgzJgxaNeuHTZu3Ij27dtjwIABRRqn3bt3o2XLlkVqGxERAY1GU+imuIqiIDIyEu7u7nleNzU1RZ8+ffIExFWrVqF///55Qup/tWzZEnv37oWiKEWqkajCMPRmiERUel5//XVhZmYmEhIShBA5G36bm5uLxMTE3DY3b94UAES/fv3yvLdly5aiQ4cOud/369dP1KxZUyiKkvvakiVLBADx0Ucf5b7m6ekpJkyYkKevdevWCQB5NgEGIObNm1dg3YqiiOzsbNG5c2cxcODAfOf74osvivT533vvPaHRaAQAYWFhITp16iSWLVsmVFXN1+f06dPzvLdVq1aiefPmud+3bt1atGjRIs97z507JyRJElu3bhVCCLF3714BQPzzzz95+urXr59o3Lhx7vdNmzYVrVq1ytNm6tSpAoBYsmTJYz+PqqrCzMyswHEDIObOnSuys7NFSkqK2Lp1q7C3txdvvPFGnnYPP++9e/dEdna2uHv3rpgwYYIAIH7++WchxP//TKxbt07s2bNHmJmZifj4eHHnzh2h0WjE8ePHc/uJjo7O0//DMfjvRthExoBXsIiMhKIoWLt2LV588UXY2dkByLnyk5GRgT///DNf+86dO+f53sfHB7dv3879PiQkBN26dctz5aJnz556q/f27dsYNmwYqlSpAq1WCxMTE+zcuRNXrlzJ1zYoKKhIfX7xxRe4du0avvnmG3Tt2hXHjx/HsGHDMHTo0HxtH50z1Lt3b5w4cQKKoiAtLQ2HDx9Gv379oCgKdDoddDodateuDTc3N4SEhAAAdu7cCUdHR7Rv3z63jU6nQ4cOHXDy5EkoigJFURAaGprvfH379i3088THxyMzMxMuLi4FHp88eTJMTExgbW2NF198Eb6+vvj6668LbFu5cmWYmJjA3d0dixcvxocffohXX301X7u2bdvC2dkZGzZswOrVq/Hcc8+hcePGj63x4byue/fuFfp5iCoSBiwiI7Fr1y48ePAA3bt3R0JCAhISEuDj44OqVasWeJvQ3t4+z/empqbIyMjI/T4qKirfL3YHBweYmJg8c62qqqJHjx44dOgQZs+ejX379iEkJARdu3bNU8NDBc2repzq1atj0qRJ2LBhA27fvo0uXbpgxYoVOHPmzBP7dHV1RXZ2NmJiYhAfHw9FUfDWW2/BxMQkz9fdu3cRGRkJIGephbi4uHxtxo0bB51Oh6ioKERHR0On0+U736NPBBbk4ViYmZkVePzNN99ESEgI9u/fj9GjR+PQoUOYPn16gW13796NkJAQXLt2DUlJSfj4448hSVK+dhqNBv3798fq1auxatUqvPLKK0+s0dzcHEDOwwdExoRPERIZiYchasSIERgxYkSeY3fv3sW9e/dQuXLlIvfn5uaG6OjoPK/Fx8fnm4Nlbm6OrKysPK89uhbTo65du4aTJ09i06ZNea6KPe6XdEFBoCisra0xfvx47NixAxcvXkSDBg1yjz148ABVqlTJ872JiQmcnZ2RkZEBSZLwwQcfoFevXvn6fXjVxtHRES4uLvkeJHjI1dUVsixDq9Xmmxz/3zWtHsfJyQlAzgT+glStWhWNGjUCkPMUYXR0NL7++muMHz8e1apVy9O2YcOGuXUX5pVXXsH8+fOhqipWr179xLbx8fF5aiUyFryCRWQE0tLSsGnTJvTq1Qv79u3L87V27Vqoqoo1a9Y8VZ+NGzfGli1b8ixxsGnTpnztqlatiosXL+Z5bdeuXU/s+2GQ+u/yEbdu3cLhw4efqsb/io6OhhAi3+sPbzk+Gi43btyY7/vAwEDIsgwrKys0b94cFy9eRKNGjfJ9PZxE3rFjR0RHR8PU1LTAdqamppBlGQEBAfnOt379+kI/k5mZGTw8PPI97fc4c+fOhU6ne+YFXQMDAzFs2DC89tpr8Pb2fmLbh7UV1o6oouEVLCIjsHnzZqSkpGDixIlo27ZtvuONGzfGypUrMWnSpCL3OXXqVDRu3Bh9+vTBmDFjEB4ejq+++gqmpqZ55mX17dsXr732GmbNmoUWLVpg69atOH78+BP7rlOnDqpWrYopU6ZAURSkpqbio48+ynNF6WktW7YMv//+O4YMGQJ/f38IIXD48GHMnTsXgYGBeP755/O0X758OSwsLBAQEIA1a9bg33//xdatW3OPz5s3D+3bt0f//v0xYMAAODg44Pbt29i1axdGjBiBtm3bolOnTujevTu6dOmC999/Hw0aNEBqairOnz+Pa9eu5T6VOW3aNPTs2TP3ScwTJ04UuJRDQVq2bInQ0NAita1duzYGDBiAX3/9FTNmzHimq0oFLVtRkJCQENStW7fIV8eIKgpewSIyAitXroSHh0eB4QoAhg0bhhMnThQ4gfxx/P39sXbtWly4cAG9e/fGb7/9hqVLl0JRlNxJ9AAwevRovPvuu1i4cCH69euHjIwMzJkz54l9m5mZ4c8//4SZmRn69euH6dOn44MPPkCbNm2KXN+jgoKC0Lp1ayxbtgwvvfQSevfujbVr1+Ldd9/F7t27IctynvarV6/GP//8g169emHv3r1YtGhRnsn0LVq0wKFDh5CSkoIRI0YgKCgIs2fPhqWlJWrWrJnbbv369Rg3bhx+/PFHdO3aFaNGjcLOnTvzfJYePXrgp59+wp49e9CrVy/s2rWr0FtvD/Xt2xeHDx9GcnJykdrPmDEDmZmZ+P7774vU/llt3769SBP2iSoaSRR0zZyIqBh2796NTp06Yf/+/c8Uhgxp6dKlGDFiBKKjo8vFVZfs7Gx4eHhg7ty5BT4NaUhnzpxBQEAArl69iurVqxu6HKJSxStYRFRs48ePx4YNG7B//34sWLAAgwcPhr+/P1q1amXo0oyGiYkJpkyZ8tjlFwzpm2++wdChQxmuyChxDhYRFVtCQgLeeOMNxMTEwM7ODl26dMGXX3752FW9qWSMGzcOSUlJePDgwVMtWVGSVFVFrVq1ytxVNaLSwluERERERHrG/5tJREREpGcMWERERER6xoBFREREpGf/B9KPcCPmeTHxAAAAAElFTkSuQmCC", "text/html": [ "" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", " \n", " 2023-06-12T19:49:04.248439\n", " image/svg+xml\n", " \n", " \n", " Matplotlib v3.7.1, https://matplotlib.org/\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n" ] }, "metadata": {}, "execution_count": 6 } ], "cell_type": "code", "source": [ "# rotation of the tip\n", "plot(\n", " xlim = (0, 760),\n", " xticks = 0:100:750,\n", " xlabel = \"Angular Speed (RPM)\",\n", " ylabel = \"\\$θ_z\\$ at the tip\",\n", " grid = false,\n", " overwrite_figure=false\n", " )\n", "theta_z_nl = [4*atan(nonlinear_states[i].points[end].theta[3]/4)\n", " for i = 1:length(rpm)]\n", "theta_z_l = [4*atan(linear_states[i].points[end].theta[3]/4)\n", " for i = 1:length(rpm)]\n", "\n", "plot!(rpm, theta_z_nl, label=\"Nonlinear\")\n", "plot!(rpm, theta_z_l, label=\"Linear\")" ], "metadata": {}, "execution_count": 6 }, { "cell_type": "markdown", "source": [ "## Eigenvalue Analysis" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "We will now compute the eigenvalues of this system for a range of sweep angles and and\n", "angular speeds." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "sweep = (0:2.5:45) * pi/180\n", "rpm = [0, 500, 750]\n", "nev = 30\n", "\n", "λ = Matrix{Vector{ComplexF64}}(undef, length(sweep), length(rpm))\n", "U = Matrix{Matrix{ComplexF64}}(undef, length(sweep), length(rpm))\n", "V = Matrix{Matrix{ComplexF64}}(undef, length(sweep), length(rpm))\n", "state = Matrix{AssemblyState{Float64}}(undef, length(sweep), length(rpm))\n", "eigenstates = Matrix{Vector{AssemblyState{ComplexF64}}}(undef, length(sweep), length(rpm))\n", "\n", "for i = 1:length(sweep)\n", "\n", " local L_b1, r_b1, nelem_b1, lengths_b1\n", " local xp_b1, xm_b1, Cab_b1\n", " local cs, ss\n", " local L_b2, r_b2, nelem_b2, frame_b2, lengths_b2\n", " local xp_b2, xm_b2, Cab_b2\n", " local nelem, points, start, stop\n", " local lengths, midpoints, Cab, compliance, mass, assembly\n", "\n", " # straight section of the beam\n", " L_b1 = 31.5 # inch\n", " r_b1 = [2.5, 0, 0]\n", " nelem_b1 = 20\n", " lengths_b1, xp_b1, xm_b1, Cab_b1 = discretize_beam(L_b1, r_b1, nelem_b1)\n", "\n", " # swept section of the beam\n", " L_b2 = 6 # inch\n", " r_b2 = [34, 0, 0]\n", " nelem_b2 = 4\n", " cs, ss = cos(sweep[i]), sin(sweep[i])\n", " frame_b2 = [cs ss 0; -ss cs 0; 0 0 1]\n", " lengths_b2, xp_b2, xm_b2, Cab_b2 = discretize_beam(L_b2, r_b2, nelem_b2;\n", " frame = frame_b2)\n", "\n", " # combine elements and points into one array\n", " nelem = nelem_b1 + nelem_b2\n", " points = vcat(xp_b1, xp_b2[2:end])\n", " start = 1:nelem_b1 + nelem_b2\n", " stop = 2:nelem_b1 + nelem_b2 + 1\n", " lengths = vcat(lengths_b1, lengths_b2)\n", " midpoints = vcat(xm_b1, xm_b2)\n", " Cab = vcat(Cab_b1, Cab_b2)\n", "\n", " compliance = fill(Diagonal([1/(E*A), 1/(G*Ay), 1/(G*Az), 1/(G*Jx),\n", " 1/(E*Iyy), 1/(E*Izz)]), nelem)\n", "\n", " mass = fill(Diagonal([ρ*A, ρ*A, ρ*A, ρ*J, ρ*Iyy, ρ*Izz]), nelem)\n", "\n", " # create assembly\n", " assembly = Assembly(points, start, stop;\n", " compliance = compliance,\n", " mass = mass,\n", " frames = Cab,\n", " lengths = lengths,\n", " midpoints = midpoints)\n", "\n", " # create system\n", " system = DynamicSystem(assembly)\n", "\n", " for j = 1:length(rpm)\n", "\n", " # global frame rotation\n", " w0 = [0, 0, rpm[j]*(2*pi)/60]\n", "\n", " # define previous left eigenvector matrix (used for correlating eigenmodes)\n", " if i == 1 && j == 1\n", " Uprev = nothing\n", " elseif i == 1\n", " Uprev = U[i,j-1]\n", " else\n", " Uprev = U[i-1,j]\n", " end\n", "\n", " # eigenvalues and eigenvectors\n", " system, λ[i,j], U[i,j], V[i,j], converged = eigenvalue_analysis!(system, assembly;\n", " angular_velocity = w0,\n", " prescribed_conditions = prescribed_conditions,\n", " nev = nev,\n", " left = true,\n", " Uprev = Uprev)\n", "\n", " # post-process state variables\n", " state[i,j] = AssemblyState(system, assembly; prescribed_conditions)\n", "\n", " # post-process eigenvector state variables\n", " eigenstates[i,j] = [\n", " AssemblyState(V[i,j][:,k], system, assembly; prescribed_conditions)\n", " for k = 1:nev\n", " ]\n", " end\n", "end\n", "\n", "# extract frequencies\n", "frequency = [\n", " [imag(λ[i,j][k])/(2*pi) for i = 1:length(sweep), j=1:length(rpm)] for k = 1:2:nev\n", " ]\n", "\n", "nothing #hide" ], "metadata": {}, "execution_count": 7 }, { "cell_type": "markdown", "source": [ "Note that we correlated each eigenmode by taking advantage of the fact that left and right\n", "eigenvectors satisfy the following relationships:\n", "\n", "$$\n", "\\begin{aligned}\n", "u^H M v &= 1 &\\text{if \\(u\\) and \\(v\\) correspond to the same eigenmode} \\\\\n", "u^H M v &= 0 &\\text{if \\(u\\) and \\(v\\) correspond to different eigenmodes}\n", "\\end{aligned}\n", "$$" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "In this case these eigenmode correlations work, but remember that large changes in the\n", "underlying parameters (or just drastic changes in the eigenvectors themselves due to a\n", "small perturbation) can cause these correlations to fail." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Comparison with Experimental Results" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "We'll now plot the frequency of the different eigenmodes against those found by Epps and\n", "Chandra in \"The Natural Frequencies of Rotating Composite Beams With Tip Sweep\"." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "# index of first bending mode\n", "index = 1\n", "\n", "# experimental data\n", "experiment_sweep = [0, 15, 30, 45]\n", "experiment_rpm = [0, 500, 750]\n", "experiment_frequencies = [\n", " 1.4 10.2 14.8;\n", " 1.8 10.1 14.4;\n", " 1.7 10.2 14.9;\n", " 1.6 10.2 14.7;\n", "]\n", "\n", "# initialize plot\n", "plot(\n", " xlabel = \"Sweep Angle (degrees)\",\n", " xticks = 0:15:45,\n", " xlim = (0, 45),\n", " ylabel = \"Frequency (Hz)\",\n", " yticks = 0:2.5:20.0,\n", " ylim = (0, 20),\n", " grid = false,\n", " legend= :topright,\n", " overwrite_figure=false,\n", " )\n", "\n", "# initialize legend entries\n", "plot!([], [], color=:black, label=\"GXBeam\")\n", "scatter!([], [], color=:black, label = \"Experiment\")\n", "\n", "# plot frequency for each rotation rate\n", "for j = 1:length(rpm)\n", " # gxbeam\n", " plot!(sweep*180/pi, frequency[index][:,j], label=\"\", color=colors[j])\n", " # experimental\n", " scatter!(experiment_sweep, experiment_frequencies[:,j], label=\"\", color=colors[j])\n", " # annotation\n", " iann = round(Int, 1/4*length(sweep))\n", " xann = sweep[iann]*180/pi\n", " yann = frequency[index][iann,j] + 1.5\n", " annotate!(xann, yann, text(\"$(rpm[j]) RPM\", 8, :center, :bottom, colors[j]))\n", "end" ], "metadata": {}, "execution_count": 8 }, { "outputs": [], "cell_type": "code", "source": [ "# index of second bending mode\n", "index = 2\n", "\n", "# experimental data\n", "experiment_sweep = [0, 15, 30, 45]\n", "experiment_rpm = [0, 500, 750]\n", "experiment_frequencies = [\n", " 10.3 25.2 36.1;\n", " 10.2 25.2 34.8;\n", " 10.4 23.7 30.7;\n", " 10.4 21.6 26.1;\n", "]\n", "\n", "# initialize plot\n", "plot(\n", " xlabel = \"Sweep Angle (degrees)\",\n", " xticks = 0:15:45,\n", " xlim = (0, 45),\n", " ylabel = \"Frequency (Hz)\",\n", " yticks = 0:5:45,\n", " ylim = (0, 45),\n", " grid = false,\n", " legend = :topright,\n", " overwrite_figure=false\n", " )\n", "\n", "# initialize legend entries\n", "plot!([], [], color=:black, label=\"GXBeam\")\n", "scatter!([], [], color=:black, label = \"Experiment\")\n", "\n", "# plot frequency for each rotation rate\n", "for j = 1:length(rpm)\n", " # gxbeam\n", " plot!(sweep*180/pi, frequency[index][:,j], label=\"\", color=colors[j])\n", " # experimental\n", " scatter!(experiment_sweep, experiment_frequencies[:,j], label=\"\", color=colors[j])\n", " # annotation\n", " iann = round(Int, 1/4*length(sweep))\n", " xann = sweep[iann]*180/pi\n", " yann = frequency[index][iann,j] + 1.5\n", " annotate!(xann, yann, text(\"$(rpm[j]) RPM\", \"Serif\", 8, :center, :bottom, colors[j]))\n", "end" ], "metadata": {}, "execution_count": 9 }, { "outputs": [], "cell_type": "code", "source": [ "# index of third bending mode\n", "index = 4\n", "\n", "# experimental data\n", "experiment_sweep = [0, 15, 30, 45]\n", "experiment_rpm = [0, 500, 750]\n", "experiment_frequencies = [\n", " 27.7 47.0 62.9\n", " 27.2 44.4 55.9\n", " 26.6 39.3 48.6\n", " 24.8 35.1 44.8\n", "]\n", "\n", "# initialize plot\n", "plot(\n", " xlabel = \"Sweep Angle (degrees)\",\n", " xticks = 0:15:45,\n", " xlim = (0, 45),\n", " ylabel = \"Frequency (Hz)\",\n", " yticks = 0:10:70.0,\n", " ylim = (0, 70),\n", " grid = false,\n", " legend = :bottomright,\n", " overwrite_figure=false\n", " )\n", "\n", "# initialize legend entries\n", "plot!([], [], color=:black, label=\"GXBeam\")\n", "scatter!([], [], color=:black, label = \"Experiment\")\n", "\n", "# plot frequency for each rotation rate\n", "for j = 1:length(rpm)\n", " # gxbeam\n", " plot!(sweep*180/pi, frequency[index][:,j], label=\"\", color=colors[j])\n", " # experimental\n", " scatter!(experiment_sweep, experiment_frequencies[:,j], label=\"\", color=colors[j])\n", " # annotation\n", " iann = round(Int, 1/4*length(sweep))\n", " xann = sweep[iann]*180/pi\n", " yann = frequency[index][iann,j] + 1.5\n", " annotate!(xann, yann, text(\"$(rpm[j]) RPM\", \"Serif\", 8, :center, :bottom, colors[j]))\n", "end" ], "metadata": {}, "execution_count": 10 }, { "outputs": [], "cell_type": "code", "source": [ "# names and indices of modes\n", "names = [\"1T/5B\", \"5B/1T\", \"4B/1T\"]\n", "indices = [5, 7, 6]\n", "\n", "# experimental data\n", "experiment_sweep = [0, 15, 30, 45]\n", "experiment_rpm = 750\n", "experiment_frequencies = [\n", " 95.4 106.6 132.7;\n", " 87.5 120.1 147.3;\n", " 83.7 122.6 166.2;\n", " 78.8 117.7 162.0;\n", "]\n", "\n", "# initialize plot\n", "plot(\n", " xlabel = \"Sweep Angle (degrees)\",\n", " xticks = 0:15:45,\n", " xlim = (0, 45),\n", " ylabel = \"Frequency (Hz)\",\n", " yticks = 0:20:180,\n", " ylim = (0, 180),\n", " grid = false,\n", " legend = :bottomright,\n", " overwrite_figure=false,\n", " )\n", "\n", "# initialize legend entries\n", "plot!([], [], color=:black, label=\"GXBeam\")\n", "scatter!([], [], color=:black, label = \"Experiment\")\n", "\n", "for k = 1:length(indices)\n", " # gxbeam\n", " plot!(sweep*180/pi, frequency[indices[k]][:,end]; label=\"\", color=colors[k])\n", " # experimental\n", " scatter!(experiment_sweep, experiment_frequencies[:,k]; label=\"\", color=colors[k])\n", " # annotation\n", " iann = round(Int, 1/4*length(sweep))\n", " xann = sweep[iann]*180/pi\n", " yann = frequency[indices[k]][iann,end] + 1.5\n", " annotate!(xann, yann, text(\"$(names[k])\", \"Serif\", 8, :center, :bottom, colors[k]))\n", "end" ], "metadata": {}, "execution_count": 11 }, { "cell_type": "markdown", "source": [ "As you can see, the frequency results from the eigenmode analysis in this package\n", "compare well with experimental results.\n", "\n", "## Eigenmode Visualization\n", "\n", "We can also visualize eigenmodes using ParaView. Here we will visualize the first\n", "bending mode for the 45 degree swept tip at a rotational speed of 750 RPM. This can be\n", "helpful for identifying different eigenmodes." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "# write the response to vtk files for visualization using ParaView\n", "mkpath(\"rotating-eigenmode\")\n", "write_vtk(\"rotating-eigenmode/rotating-eigenmode\", assembly, state[end,end],\n", " λ[end,end][1], eigenstates[end,end][1]; mode_scaling = 100.0)" ], "metadata": {}, "execution_count": 12 }, { "cell_type": "markdown", "source": [ "![](../assets/rotating-eigenmode.gif)" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "## Sensitivity Analysis" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Suppose we are interested in computing the sensitivity of the mode frequencies to sweep\n", "angle when rotating at 750 RPM with a \\SI{45}{\\deg} sweep angle. We can compute these\n", "sensitivities as follows:" ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "15×1 Matrix{Float64}:\n 0.03674527226985539\n 0.8983685948149838\n -12.140533981456345\n -9.537080532085117\n -9.253326335732147\n -7.316987305525664\n 8.101457732302523\n -0.7316380941253837\n 57.197303673851664\n -18.11554211005532\n -14.508055028292455\n 103.85774986359706\n -16.73939558070504\n 3.8256004280744946\n -3.784177180557694" }, "metadata": {}, "execution_count": 13 } ], "cell_type": "code", "source": [ "using ForwardDiff\n", "\n", "# number of eigenvalues\n", "nev = 30\n", "\n", "# define sweep angle\n", "sweep = 45 * pi/180\n", "\n", "# define RPM\n", "rpm = 750\n", "\n", "# define parameter vector\n", "p = [sweep]\n", "\n", "# straight section of the beam\n", "L_b1 = 31.5 ## inch\n", "r_b1 = [2.5, 0, 0]\n", "nelem_b1 = 20\n", "lengths_b1, xp_b1, xm_b1, Cab_b1 = discretize_beam(L_b1, r_b1, nelem_b1)\n", "\n", "# swept section of the beam\n", "L_b2 = 6 ## inch\n", "r_b2 = [34, 0, 0]\n", "nelem_b2 = 4\n", "cs, ss = cos(sweep), sin(sweep)\n", "frame_b2 = [cs ss 0; -ss cs 0; 0 0 1]\n", "lengths_b2, xp_b2, xm_b2, Cab_b2 = discretize_beam(L_b2, r_b2, nelem_b2; frame = frame_b2)\n", "\n", "# combine elements and points into one array\n", "nelem = nelem_b1 + nelem_b2\n", "points = vcat(xp_b1, xp_b2[2:end])\n", "start = 1:nelem_b1 + nelem_b2\n", "stop = 2:nelem_b1 + nelem_b2 + 1\n", "Cab = vcat(Cab_b1, Cab_b2)\n", "\n", "# define compliance\n", "compliance = fill(Diagonal([1/(E*A), 1/(G*Ay), 1/(G*Az), 1/(G*Jx), 1/(E*Iyy),\n", "1/(E*Izz)]), nelem)\n", "\n", "# define mass\n", "mass = fill(Diagonal([ρ*A, ρ*A, ρ*A, ρ*J, ρ*Iyy, ρ*Izz]), nelem)\n", "\n", "# create (default) assembly\n", "assembly = Assembly(points, start, stop;\n", " compliance = compliance,\n", " mass = mass,\n", " frames = Cab)\n", "\n", "# construct parameter function which overwrites the default assembly\n", "pfunc = (p, t) -> begin\n", "\n", " sweep = p[1] # sweep angle\n", "\n", " # redefine swept section of the beam\n", " cs, ss = cos(sweep), sin(sweep)\n", " frame_b2 = [cs ss 0; -ss cs 0; 0 0 1]\n", " lengths_b2, xp_b2, xm_b2, Cab_b2 = discretize_beam(L_b2, r_b2, nelem_b2; frame = frame_b2)\n", "\n", " # redefine points and reference frame\n", " points = vcat(xp_b1, xp_b2[2:end])\n", " Cab = vcat(Cab_b1, Cab_b2)\n", "\n", " # create new assembly\n", " assembly = Assembly(points, start, stop;\n", " compliance = compliance,\n", " mass = mass,\n", " frames = Cab)\n", "\n", " # return named tuple with new arguments\n", " return (; assembly=assembly)\n", "end\n", "\n", "# construct objective function\n", "objfun = (p) -> begin\n", "\n", " # perform eigenvalue analysis\n", " system, λ, V, converged = eigenvalue_analysis(assembly; pfunc, p,\n", " angular_velocity = [0, 0, rpm*(2*pi)/60],\n", " prescribed_conditions = prescribed_conditions,\n", " eigenvector_sensitivities=true,\n", " nev = nev)\n", "\n", " # return frequencies\n", " return [imag(λ[k])/(2*pi) for k = 1:2:length(λ)]\n", "end\n", "\n", "# compute sensitivities using ForwardDiff with λ = 1.0\n", "ForwardDiff.jacobian(objfun, p)" ], "metadata": {}, "execution_count": 13 }, { "cell_type": "markdown", "source": [ "Note the use of the keyword argument `eigenvector_sensitivities=false` in our call to\n", "`eigenvalue_analysis`. This keyword argument tells the solver that we are only interested\n", "in eigenvalue derivatives, rather than eigenvalue and eigenvector derivatives. Setting\n", "this keyword argument to `false` (when appropriate) significantly reduces the computational\n", "expenses associated with computing design sensitivities." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "---\n", "\n", "*This notebook was generated using [Literate.jl](https://github.com/fredrikekre/Literate.jl).*" ], "metadata": {} } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.9.1" }, "kernelspec": { "name": "julia-1.9", "display_name": "Julia 1.9.1", "language": "julia" } }, "nbformat": 4 }