{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "ULZ3pEqpPILc"
},
"source": [
"# Structural Optimization of a wingbox\n",
"\n",
"In the previous notebook we have seen the structural analysis of a single wingbox cell. We would like however to use these tools to optimize the various parameters of the wingbox in order to minimize the weight of the structure. In order to do so let's remind ourselves what exactly we can change in order to improve the performance of this wingbox.\n",
"\n",
"In the previous notebook we had defined the following parameters in order to perform the analysis.\n",
"\n",
"- $n_{cell}$ - Number of cells\n",
"- $\\text{loc}_{sp}$ - The location of the spars\n",
"- $t_{sk}$ - The thickness of the skin in each cell\n",
"- $A_{str}$ - The area of the stringers\n",
"- $t_{sp}$ - The thickness of the spars\n",
"- $n_{str}$ - The amount of stringers per cell\n",
"\n",
"\n",
"These variables were then loaded in the API data structure as shown below:\n",
"\n",
"```C\n",
"attr_dict = {\n",
" \"n_cell\":4,\n",
" \"spar_loc_nondim\":[0.3, 0.5, 0.7],\n",
" \"t_sk_cell\":[0.002,0.004,0.004, 0.004],\n",
" \"area_str\":20e-6,\n",
" \"t_sp\":0.008,\n",
" \"str_cell\":[8,8,7,8]\n",
"}\n",
"\n",
"wingbox_struct = tud.Wingbox(**attr_dict)\n",
"```\n",
"\n",
"However, there will be one major change. For the structural analysis of a wingbox only the stringer area is relevant however for the constraints the geometry of said stringers is also important as you will see further up in this notebook.\n",
"\n",
"So in the optimization of the wingbox we wil add the stringer height, width and thickness to the optimization parameters.\n",
"\n",
"The parameters which we will optimize for are the skin thickness in each cell, the area of the stringers, the thickness of the spars and finally the stringer of the cell. This leaves the amount of cells, the spar locations and the bay length to be decided by the designers. The reasoning behind this is that usually your rib and spar locations are constrained the placement of other systems in the wing such as the flap and slat mechanism. Below a summary can be found of the fixed and optimization parameters:\n",
"\n",
"\n",
"| **Optimiziation Parameters** \t| **Fixed Parameters** \t|\n",
"|--------------------------------------\t|----------------------\t|\n",
"| Skin thickness in each cell \t| The amount of cells \t|\n",
"| Stringer width \t| Spar locations \t|\n",
"| Stringer height \t| Bay length|\n",
"| Stringer thickness \t| \t|\n",
"| Spar thickness \t| \t|\n",
"| The amount of stringers in each cell \t| \t|\n",
"\n",
"\n",
"\n",
"# Laying out a framework for a full wing optimization\n",
"\n",
"In order define our constraints later on we will have to divide the wing in sections called bays. Each bay is enclosed by two ribs, thus the length of these bays is for the designer to decide. Once, a bay is defined, we can further split this up in a collection of flat sheets. Where each sheet is in turn enclosed by stringers. The boundary conditions for these stringers have been decided to be simply supported. In [figure 1](#figure1) we can see the result of the partitioning that was just described. Although we will not model the effects of taper (Future implementation).\n",
"\n",
"
\n",
"
\n",
"\n",
"
\n",
"
\n", "Figure 1: Wing modeled as a combination of simply supported sheets and simply supported bays. Figure taken from T.H.G Megson, Aircraft Structures For Engineering Students\n", "
\n", "\n",
"\n",
"
\n",
"
\n", "Figure 2: An overview of the optimization procedure for an entire wing. \n", "
\n", "