Welcome to SPaircraft documentation!¶
SPaircraft is a signomial programming compatible transonic aircraft conceptual design optimization tool. It is of similar level of fidelity as TASOPT, and can perform the single- and multi-mission optimization of many different configurations of aircraft.
Two papers on the development and advantages of SPaircraft are in the pre-print stage:
- `Application of Signomial Programming to Aircraft Design
<http://hoburg.mit.edu/publications/spajoa_watermark.pdf>`_ motivates the use of signomial programs in aircraft design, and describes the majority of the models used in SPaircraft.
- `Efficient and Reliable Aircraft Multidisciplinary
Design Optimization via Signomial Programming <http://hoburg.mit.edu/publications/SP_tasopt_watermark.pdf>`_ extends these models to multiple aircraft configurations, and demonstrates the advantages of SPaircraft relative to other existing multidisciplinary design optimization tools.
This website is under construction, and may not reflect the most up-to-date models. If you are not able to find answers to your questions in the documentation, please feel free to post issues and suggest areas for improvement.
Table of contents:¶
SPaircraft 101¶
These instructions will help you run SPaircraft for the first time!
SPaircraft.py - set of aircraft models¶
SPaircraft.py contains a set of methods that are used to optimize different aircraft configurations.
The process to create and run one of these models is general. The following definitions are required:
- Nclimb, number of climb segments
- Ncruise, number of cruise segments
- Nmission, number of missions to simulate
- objective, which is a string designating the objective function
- aircraft, which is a string designating the type of aircraft
The following imports are also required:
import numpy as np # GPkit tools from gpkit import units, Model from gpkit import Variable, Model, units, SignomialsEnabled, SignomialEquality, Vectorize from gpkit.constraints.bounded import Bounded as BCS # Constant relaxation heuristic for SP solve from relaxed_constants import relaxed_constants, post_process # Mission model from aircraft import MissionFor the demonstration, we define these as:
Nclimb = 3 Ncruise = 2 Nmission = 1 objective = 'W_{f_{total}}' # minimizing fuel burn aircraft = 'optimalD8' # optimizing the optimalD8 configurationNow, we have the basic building blocks of a model:
m = Mission(Nclimb, Ncruise, objective, aircraft, Nmission)Since we are optimizing a D8.2 aircraft, we need to import the appropriate parameter substitutions:
from subs.optimalD8 import get_optimalD8_subs substitutions = get_optimalD8_subs()And we need to specify a mission range and number of passengers:
substitutions.update({'R_{req}': 3000.*units('nmi'), 'n_{pass}': 180.})We can update our model m with the substitutions:
m.substitutions.update(substitutions) m = Model(m.cost, BCS(m))We use Bounded (BCS) in SPaircraft to make sure that the models are stable even if not all variables are well-constrained. Users are warned about unbounded variables at the end of the solve.
We implement the relaxed constants heuristic to solve the SP:
m_relax = relaxed_constants(m, None)Now we solve, and print the results:
sol = m_relax.localsolve(verbosity=4, iteration_limit=200, reltol=0.01) print sol.table()Congratulations!
Solution visualization¶
We implement an integration with OpenVSP to show the outer mold line (OML) of each aircraft configuration after they are optimized with SPaircraft. To be able to use this functionality, the users needs to download and install the OpenVSP software, which is available here.
Once OpenVSP is successfully installed, the .vsp3 files in the VSP directory will be recognized and accessible. Clicking any of these will open up the OpenVSP interface, which looks similar to this:
![]()
As an example, to be able to visualize the optimized D8.2 aircraft within our solution sol, we import the following functions in the Python console:
# VSP visualization tools from saveSol import updateOpenVSP, gendes, gencsmWe currently support both openVSP and ESP. openVSP is used purely for visualization, and ESP outputs will have the capability to be used for highfidelity simulations in the future. To generate the required files, type this into the console:
gendes(m, sol, 'optimalD8', 0) # Generates design0.des Design Variables file within the **VSP** directory for openVSP. gencsm(m, sol, 'optimalD8', 0) # Generates d82-0.csm file within **ESP** directory for ESP serveCSM.To load this .des files, click File, and select Run Script…. In the pop-up, select reload.vspscript. To load ESP files, once you have ESP installed and its environment ready, call serveCSM on the .csm file and voila! You have generated the OML of the D8.2 aircraft.
Static vs. Performance Models¶
![]()
To allow for multipoint aircraft optimization over multiple flight segments, missions, or loading cases, two models are created for each aircraft component - a static and a performance model. The static model contains all variables and constraints that do not change between operating points, such as component weights and dimensions. Performance models contain all constraints and variables that change between operating points, such as air speeds, lift coefficients, and fuel quantities. To simulate multiple aircraft missions, the performance models and the static variables that change between missions (eg. number of passengers and fuel weight) are vectorized. When a model is vectorized, all the variables it contains become vectors, with each element corresponding to a different operating point. Figure 1 provides a visual representation of static and performance models.
Model hierarchy¶
![]()
The SP formulation develops implements a hierarchy in optimization parameter and variable definitions, due to the serial nature of software engineering tools. This hierarchy is shown in Figure 2, where each higher level in the framework inherits the variables, parameters, and constraints in the layers below.
Single- vs. multi-mission optimization¶
A user can switch between the two modes by modifying the Nmissions variable above, or within the optimize_aircraft function. Note that you will have to modify the objective function, and the substitutions for range and passengers to match the number of missions you would like to consider. This will optimize a given configuration over a set of missions.
Installing SPaircraft¶
Dependencies¶
To be able to use our SP aircraft models, you will need the following software installed on your system:
- Python 2.7
- GPkit
- convexengineering/turbofan
Clone + install the convexengineering/turbofan repository¶
To install turbofan, clone convexengineering/turbofan into your directory of choice.
Using a console, go into the directory one level above the repository, and type in the following command:
pip install turbofan -eYour local version of turbofan will be ready to go.
Clone SPaircraft¶
To install SPaircraft, simply clone the repository into your directory of choice.
Available Models¶
System-level Model¶
The objective of the optimization problem presented in this work is to minimize fuel consumption, or equivalently fuel weight, \(W_{fuel}\), using an adaptation of the Breguet range formulation introduced in [Hoburg, 2013]. The purpose of the system-level model is threefold: it enforces system-level performance constraints such as required range and minimum cruise speed, it encodes weight and drag buildups, and it constrains system-level properties such as the aircraft’s and moment of inertia. In doing these things, it also couples the subsystem models.
Model Assumptions¶
The model presented in this work is a set of constraints that describe the performance and design of a conventional-configuration narrowbody aircraft, with a simple cruise-only mission profile. A more sophisticated mission profile is left for future work.
Model Description¶
Variable tables are available for download below:
Flight Performance¶
The Breguet range formulation is discretized over multiple cruise segments to improve accuracy, meaning the constraints from [Hoburg, 2013] apply during each of the \(N\) flight segments. The \(n\) subscript is used to represent the \(n^{th}\) flight segment where \(n=1...N\). For readability, these subscripts are not used in the remainder of the manuscript, but still apply.
\[\begin{split}\begin{aligned} \sum_{n=1}^{N} R_{n} &\geq R_{req} \\ R_{n+1} &= R_{n} \\ R_{n} &\leq \frac{V_{\infty_{n}}}{n_{eng}c_{T_{n}} g} \frac{W_{{avg}_{n}}}{D_{n}} z_{bre_{n}}\\ W_{fuel_{n}} &\geq \left(z_{bre_{n}} + \frac{z_{bre_{n}}^2}{2} + \frac{z_{bre_{n}}^{3}}{6} \right) W_{end_{n}} \\ W_{fuel_{n}} &\geq n_{eng} {c_{T_{n}}} D_{n} t_{n} \\ \sum_{n=1}^{N}W_{fuel_{n}} &\leq W_{f_{primary}} \\ V_{\infty_{n}} t_{n} &= R_{n} \\ W_{start_{n}} &\geq W_{end_{n}} + W_{fuel_{n}} \\ W_{start_{n+1}} &= W_{end_{n}} \\ W &\geq W_{dry} + W_{payload} + f_{fuel_{res}} W_{f_{primary}} \\ W_{start_{0}} &= W \\ W_{end_{N}} &\geq W_{dry} + W_{payload} + f_{fuel_{res}} W_{f_{primary}}\\ W_{avg_{n}} &\geq \sqrt{W_{start_{n}} W_{end_{N}}} + W_{buoy_{n}} \\ \left(\frac{L}{D}\right)_{n} &= \frac{W_{avg_{n}}}{D_{n}} \end{aligned}\end{split}\]In the remainder of this manuscript, \(W\) refers to the corresponding flight segment’s \(W_{avg}\).
The dry weight and drag of the aircraft are constrained using simple buildups of each component’s weight and drag.
\[\begin{split}\begin{aligned} W_{dry} &\geq W_{wing} + W_{fuse} + W_{vt} + W_{ht} + W_{lg} + W_{eng} + W_{misc} \\ D_n &\geq D_{wing_n} + D_{fuse_n} + D_{vt_n} + D_{ht_n}\end{aligned}\end{split}\]Mach number is constrained to be greater than a user-specified minimum value.
\[\begin{split}\begin{aligned} M &= \frac{V_{\infty}}{a} \\ M &\geq M_{min}\end{aligned}\end{split}\]The takeoff model is taken directly from [Hoburg, 2013]. An additional constraint on takeoff velocity is added to ensure adequate margin above stall speed [Anderson, 2001].
\[\begin{split}\begin{aligned} {x_{TO}} &\leq {l_r} \\ 1 + {y} &\leq 2\frac{ {g} {x_{TO}}{T_e}}{{V_{TO}}^{2} {W}} \\ 1 &\geq 0.0464\frac{{\xi}^{2.7}}{{y}^{2.9}} + \frac{{\xi}^{0.3}}{{y}^{0.049}}\\ {\xi} &\geq \frac12 \frac{{\rho_{TO}}{V_{TO}}^{2} {S_w}{C_D}}{{T_e}} \\ {V_{TO}} &= 1.2\sqrt{\frac{2{W}}{C_{L_{w,max}}} {S_w} {\rho_{TO}}} \end{aligned}\end{split}\]Atmospheric pressure, density, temperature, and speed of sound are constrained using the atmosphere model described in [York, 2017]. Dynamic viscosity is constrained using the viscosity model developed in [Kirschen, 2016].
System-level Properties¶
The constraint for the aircraft is -compatible, and is satisfied during each flight segment. The fuselage and payload weights are assumed to be evenly distributed through the length of the fuselage, and the wing weight acts directly at its area centroid, \(x_{wing} + \Delta x_{ac_w}\). It is assumed that the fuel weight shifts in proportion to the remaining fuel fraction, \(f_{fuel}\), and that a reserve fuel fraction, \(f_{fuel_{res}}\), remains in the wing. The wingbox forward bulkhead location, \(x_b\), is used as a surrogate variable for engine .
\[\begin{split}\begin{aligned} W x_{CG_{n}} &\geq W_{wing} \left(x_{wing} + \Delta x_{ac_w}\right) + W_{f_{primary}} \left(f_{fuel_{n}} + f_{fuel_{res}}\right) \left(x_{wing} + \Delta x_{ac_w} f_{fuel_{n}}\right) \\ & +\frac{1}{2} \left(W_{fuse} + W_{payload}\right) l_{fuse} + W_{ht} x_{CG_{ht}} + \left(W_{vt} + W_{cone} \right) x_{CG_{vt}} \nonumber \\ & + n_{eng} W_{eng} x_b + W_{lg} x_{lg} + W_{misc} x_{misc} \nonumber\end{aligned}\end{split}\]In the prior constraint, \(f_{fuel}\) is the percent of primary fuel remaining. \(f_{fuel}\) is represented adequately by a posynomial inequality since it has downward pressure.
\[f_{fuel_{n}} \geq \frac{\sum_{n=1}^{n}W_{fuel_{n}}}{W_{f_{primary}}}\]The landing gear is constrained by the moment of each set of landing gear about the nose of the aircraft.
\[W_{lg} x_{lg} \geq W_{mg} x_m + W_{ng} x_n\]The miscellaneous equipment includes only power systems in the current model, but is defined to allow for refinements in CG modeling in future work.
\[\begin{aligned} W_{misc} x_{misc} &\geq W_{hpesys} x_{hpesys}\end{aligned}\]The aircraft’s moment of inertia is the sum of the inertias of its components.
\[\label{e:Iz_sum} I_z \geq I_{z_{wing}} + I_{z_{fuse}} + I_{z_{tail}}\]The wing moment of inertia model includes the moment of inertia of the fuel systems and engines. It assumes that the wing and fuel weight are evenly distributed on the planform of the wing. This is an overestimate of the wing moment of inertia with full fuel tanks.
\[\label{e:Iz_wing} I_{z_{wing}} \geq \frac{n_{eng} W_{engine} y_{eng}^2}{g} + \left(\frac{W_{fuel_{wing}} + W_{wing}}{g}\right) \frac{{b_{w}}^3 c_{root_{w}}}{16 S_{w}} \left(\lambda_w + \frac{1}{3}\right)\]The fuselage moment of inertia includes the payload moment of inertia. It is assumed that payload and fuselage weight are evenly distributed along the length of the fuselage. The wing root quarter-chord location acts as a surrogate for the of the aircraft.
\[I_{z_{fuse}} \geq \left(\frac{W_{fuse} + W_{pay}}{g}\right) \left(\frac{x_{wing}^3 + l_{vt}^3}{3l_{fuse}}\right)\]The moment of inertia of the tail is constrained by treating the tail as a point mass.
\[\label{e:Iz_tail} I_{z_{tail}} \geq \left(\frac{W_{apu} + W_{tail}}{g}\right) l_{vt}^2\]Wing Model¶
The aircraft wing is designed generate sufficient lift such that the aircraft can takeoff, climb, cruise, descend, and land safely. Typically the wings also carry fuel tanks and support the engines. Unfortunately, wings are heavy and produced drag. The purpose of this model is to relate all of these considerations.
Model Assumptions¶
The wing model assumes a continuous-taper, low-wing configuration with a modern transonic airfoil. It does not currently consider wing twist or wing dihedral. It also does not consider roll or yaw stability.
Model Description¶
Variable tables are available for download below:
Wing Geometry¶
Before considering a wing’s performance, the variables that prescribe its geometry must be appropriately constrained.
The relationship between reference area, span and mean geometric chord is enforced using a constraint that assumes a trapezoidal planform. This constraint is implemented as a signomial equality constraint because there is both upward and downward (optimization) pressure on the reference area, and it is not possible to know a priori which will dominate.
\[{S_{w}} = {b_{w}} \frac{c_{root_{w}} + c_{tip_{w}}}{2} \label{eq:planformarea}\]The mean aerodynamic chord relationship for a trapezoidal wing can be written as a signomial constraint, and its spanwise location can be written as a monomial equality constraint. These constraints make use of dummy variables, \(p_w\) and \(q_w\), introduced by the structural model below.
\[\begin{split}\begin{aligned} \bar{c}_{w} &\leq \frac23 \left(\frac{1 + \lambda_{w} + \lambda_{w}^2}{q_{w}}\right) c_{root_{w}} \label{eq:meanaerochord} \\ y_{\bar{c}_w} &= \frac{b_w q_w}{3 p_w} \label{eq:spanwisemac}\end{aligned}\end{split}\]The wing taper ratio is defined by a monomial equality constraint. It is necessary to lower bound taper to avoid an unacceptably small Reynolds number at the wing tip [Kroo, 2001]. For the purpose of this work, the taper is lower bounded using the taper ratio of the reference aircraft’s wing.
\[\begin{split}\begin{aligned} \lambda_{w} &= \frac{c_{tip_{w}}}{c_{root_{w}}} \label{eq:taperratio}\\ {\lambda_{w}} &\geq \lambda_{w_{min}} \label{eq:mintaperratio}\end{aligned}\end{split}\]Finally, a maximum span constraint can be imposed to reflect, for example, a gate size constraint.
\[b_w \leq b_{w,max}\]Wing Lift¶
Total lift is constrained to be greater than the weight of the aircraft plus the downforce from the horizontal tail. The constant \(f_{L_{total/wing}}\) is greater than one and used to account for fuselage lift.
\[\begin{split}\begin{aligned} L_{total} &\geq W + L_{ht}\\ L_{total} &= f_{L_{total/wing}} L_{w}\end{aligned}\end{split}\]The standard equation for the lift of a wing is a natural monomial equality constraint.
\[\begin{aligned} L_w = \frac12 \rho_{\infty} V_{\infty}^2 S_w C_{L_w}\end{aligned}\]However, this assumes a continuous unobstructed wing planform. Correcting for lift loss at the fuselage and at the wing tips, gives the adjusted Equation , which can be rearranged into the posynomial Constraint .
\[\begin{split}\begin{aligned} L_w &= \frac12 \rho_{\infty} V_{\infty}^2 S_w C_{L_w} - \Delta L_o - 2 \Delta L_t \label{eq:liftadjeq} \\ \frac12 \rho_{\infty} V_{\infty}^2 S_w C_{L_w} &\geq L_w + \Delta L_o + 2 \Delta L_t \label{eq:liftadjcon}\end{aligned}\end{split}\]The lift corrections are given as monomial equality constraints [Drela, 2011].
\[\begin{split}\begin{aligned} \Delta L_o &= \eta_o f_{L_o} \frac{b_w}{2} p_o \\ \Delta L_t &= f_{L_t} p_o c_{root_{w}} \lambda_w^2\end{aligned}\end{split}\]The lift coefficient of the wing goes linearly with the angle of attack, which is limited by a maximum angle of attack due to stall.
\[\begin{split}\begin{aligned} C_{L_w} &= C_{L_{\alpha,w}}\alpha_w \\ \alpha_{w} &\leq \alpha_{w,max}\end{aligned}\end{split}\]The DATCOM formula is an analytic function for estimating the lift curve slope of a wing or tail, based on empirical results [Kroo, 2001].
\[C_{L_{\alpha,w}} = \frac{2 \pi AR_{w}}{2+\sqrt{(AR_{w}/\eta_w)^2(1+\tan^2\Lambda - M^2)+4}}\]This relationship can be used as a signomial inequality to constrain the lift curve slope, although some algebraic manipulation is needed.
\[\begin{split}\begin{aligned} C_{L_{\alpha,w}} &\leq \frac{2 \pi AR_{w}}{2+\sqrt{(AR_{w}/\eta_w)^2(1+\tan^2\Lambda-M^2)+4}} \\ (AR_{w}/\eta_w)^2(1+\tan^2\Lambda - M^2)+4 &\leq \left( \frac{2\pi AR_{w}}{C_{L_{\alpha,w}}} - 2 \right)^2 \\ (AR_{w}/\eta_w)^2(1+\tan^2\Lambda - M^2) &\leq \frac{4 \pi^2 AR_{w}^2}{C_{L_{\alpha,w}}^2} - \frac{8 \pi AR_{w}}{C_{L_{\alpha,w}}} \\ \frac{C_{L_{\alpha,w}}^2}{\eta_w^2}\left(1 + \tan^2\Lambda - M^2\right) + \frac{8\pi C_{L_{\alpha,w}}}{AR_{w}} &\leq 4\pi^2 \end{aligned}\end{split}\]Maximum wing lift is constrained using an assumed load factor, \(N_{lift}\).
\[\label{e:Lmax} f_{L_{total/wing}} L_{w_{max}} \geq N_{lift} W_{total} + L_{ht_{max}}\]Finally, wing loading is constrained to be less than a user specified maximum.
\[\begin{split}\begin{aligned} W_{S} &= \frac{1}{2} \rho_{\infty} C_{L_w} {V_{\infty}}^2 \\ W_{S} &\leq W_{S_{max}}\end{aligned}\end{split}\]Wing Weight¶
Wing weight is constrained to be greater than the wing structural weight plus a series of fractional weights to account for wing ribs and control surfaces.
\[W_{wing} \geq W_{struct_{w}}(1 + f_{flap} + f_{slat} + f_{aileron} + f_{lete} + f_{ribs} + f_{spoiler} + f_{watt})\]Wing structural weight is constrained using an adaptation of the structural model from [Hoburg, 2013], which comprises 12 monomial and posynomial constraints.
\[\begin{split}\begin{aligned} {W_{struct_{w}}} &\geq ({W_{cap}} + {W_{web}}) \\ {W_{cap}} &\geq \frac{8{\rho_{cap}} {g} {w} {t_{cap}} {S_{w}}^{1.5} {\nu}}{3{AR_{w}}^{0.5}} \\ {W_{web}} &\geq \frac{8{\rho_{web}}{g}{r_h}{\tau_{w}}{t_{web}}{S_{w}}^{1.5}{\nu}}{3{AR_{w}}^{0.5}} \\ {\nu}^{3.94} &\geq 0.14{p_{w}}^{0.56} + \frac{0.86}{{p_{w}}^{2.4}} \\ {p_{w}} &\geq 1 + 2{\lambda_{w}} \\ 2{q_{w}} &\geq 1 + {p_{w}} \\ \frac{0.92^2}{2}{\tau_{w}}^{2}{t_{cap}}{w} &\geq 0.92{\tau_{w}}{t_{cap}}^{2}{w} + {I_{cap}} \\ \frac{{AR_{w}} {M_r} {N_{lift}} {\tau_{w}} {q_{w}}^{2}}{{I_{cap}} {S_{w}} {\sigma_{max}}} &\leq 8 \\ \frac{{AR_{w}}{L_{w_{max}}}{N_{lift}}{q_{w}}^{2}}{{S_{w}}{\sigma_{max,shear}}{\tau_{w}}{t_{web}}}&\leq 12 \\ {AR_{w}} &= \frac{{b_{w}}^{2}}{{S_{w}}} \\ {\tau_{w}} &\leq 0.14 \end{aligned}\end{split}\]The original root bending moment constraint,
\[{M_r} \geq \frac{{AR_{w}} {L_{w_{max}}} {p_{w}}}{24},\]is replaced with a more sophisticated signomial constraint that considers the load relief effect due to the weight of the engine and the fuel tanks. To derive the constraint, the lift per unit span of wing is assumed to be proportional to the local chord, and the wing planform area is partitioned into an untapered (rectangular) area \(A_{rect}\) and a fully tapered (triangular) area \(A_{tri}\).
\[\begin{split}\begin{aligned} A_{tri} &= \frac{1}{2} (1-\lambda_w) c_{root_{w}} b_w \\ A_{rect} &= c_{tip_{w}} b_w\end{aligned}\end{split}\]The wing area component loads are treated as point loads to determine the equivalent wing root moment.
\[\begin{split}\begin{aligned} \label{eq:M_rinit} M_r c_{root_{w}} \geq &\left(L_{w_{max}} - N_{lift}\left(W_{wing} + f_{fuel,wing} W_{fuel}\right)\right) \left(\frac16 A_{tri} + \frac14 A_{rect}\right)\frac{b_{w}}{S_{w}} \\ &- N_{lift} W_{engine} y_{eng} \nonumber\end{aligned}\end{split}\]This constraint can be further simplified to remove the need for intermediary variables \(A_{tri}\) and \(A_{rect}\), since
\[\begin{split}\begin{aligned} \frac{1}{6} A_{tri} + \frac{1}{4} A_{rect} &= \frac{1}{12} (c_{root_{w}} - c_{tip_{w}}) b_{w} + \frac{1}{4} c_{tip_{w}} b_{w} \\ &= \frac{b_{w}}{12} (c_{root_{w}} + 2 c_{tip_{w}}). \label{eq:Asub}\end{aligned}\end{split}\]Substituting Equation into Constraint yields the following wing root moment constraint.
\[\begin{split}\begin{aligned} M_r c_{root_{w}} \geq &\left(L_{w_{max}} - N_{lift}\left(W_{wing} + f_{fuel,wing} W_{fuel}\right)\right) \left(\frac{b_{w}^2}{12 S_{w}} \left(c_{root_{w}} + 2 c_{tip_{w}}\right)\right) \\ & - N_{lift} W_{engine} y_{eng} \nonumber\end{aligned}\end{split}\]Note that this provides a conservative estimate for the root moment, since it assumes that the lift per unit area is constant throughout the wing, whereas in reality the lift per unit area diminishes towards the wingtips.
Wing Drag¶
Wing drag is captured by five monomial and posynomial constraints. The parasitic drag coefficient is constrained using a softmax affine fit of XFOIL[Drela, 1989]simulation data for the TASOPT[Drela, 2011] C-series airfoils, which are representative of modern transonic airfoils[Drela, 2011]. The fit, which considers wing thickness, lift coefficient, Reynolds number, and Mach number, was developed with GPfit and has an RMS error of approximately 5%. Constraint is an adaption of the standard definition of the induced drag coefficient [Anderson, 2001], with an adjustment factor for wingtip devices.
\[\begin{split}\begin{aligned} D_w &= \frac12 \rho_{\infty} V_{\infty}^2 S_w C_{D_w} \label{eq:wingdrag}\\ C_{D_w} &\geq C_{D_{p_w}} + C_{D_{i_w}} \label{eq:wingdragcoeff}\\ \label{eq:wingpdragcoeff} C_{D_{p_w}}^{1.65} &\geq 1.61 \left(\frac{Re_w}{1000}\right)^{-0.550} (\tau_{w})^{1.29} (M \cos(\Lambda))^{3.04} C_{L_w}^{1.78} \\ &+ 0.0466 \left(\frac{Re_w}{1000}\right)^{-0.389} (\tau_{w})^{0.784} (M \cos(\Lambda))^{-0.340} C_{L_w}^{0.951} \nonumber \\ &+ 191 \left(\frac{Re_w}{1000}\right)^{-0.219} (\tau_{w})^{3.95} (M\cos(\Lambda))^{19.3} C_{L_w}^{1.15} \nonumber \\ &+ 2.82e-12 \left(\frac{Re_w}{1000}\right)^{1.18} (\tau_{w})^{-1.76} (M \cos(\Lambda))^{0.105} C_{L_w}^{-1.44} \nonumber \\ \label{eq:wingRe} Re_w &= \frac{\rho_{\infty} V_{\infty} \bar{c}_w}{\mu} \\ C_{D_{i_w}} &\geq f_{tip} \frac{C_{L_w}^2}{\pi e AR_{w}} \label{eq:induceddrag}\end{aligned}\end{split}\]The Oswald efficiency is constrained by a relationship from [Nita, 2012], in which the authors fit a polynomial function to empirical data. Given that all polynomials are signomials, this can easily be used in the framework.
\[e\leq \frac{1}{1 + f(\lambda_w) AR_{w} }\]\[\label{eq:flambda} f(\lambda_w) \geq 0.0524 \lambda_w^4 - 0.15 \lambda_w^3 + 0.1659 \lambda_w^2 - 0.0706 \lambda_w + 0.0119\]The Oswald efficiency is plotted as a function of taper ratio, as imposed by this pair of constraints, in .
Wing Aerodynamic Center¶
The true aerodynamic center and the of the wing are shifted in the aircraft’s x-axis with respect to the wing root quarter chord due to the swept geometry of the wing. This effect is captured with the variable \(\Delta x_{ac_w}\). Assuming that the wing lift per unit area is constant, and by integrating the product of the local quarter chord offset \(\delta x(y)\) and local chord area \(c(y)dy\) over the wing-half span, it can be calculated by
\[\label{eq:dXACwingDerivation} \Delta x_{ac_w} = \frac{2}{S} \int_{0}^{b/2} c(y) \delta x(y) dy,\]where the local root chord \(c(y)\) and the local quarter chord offset \(\delta x(y)\) are given by:
\[\begin{split}\begin{aligned} \label{eq:cy} c(y) &= \left(1 - (1-\lambda_w) \frac{2y}{b_w} \right) c_{root_{w}} \\ \label{eq:dxy} \delta x(y) &= y \tan(\Lambda)\end{aligned}\end{split}\]By substituting Equations and into Equation , expanding out the integral and relaxing the equality, \(\Delta x_{ac_w}\) can be constrained as follows.
\[\Delta x_{ac_w} \geq \frac{1}{4} \tan(\Lambda) AR_{w} c_{root_{w}} \left(\frac{1}{3} + \frac{2}{3} \lambda_w \right)\]Fuel Volume¶
Fuel tanks are typically located inside the wingbox. Using the geometry of a TASOPT-optimized 737-800[Drela, 2011], a constraint on the maximum fuel volume in the wing was developed. For a wing of the same mean aerodynamic chord, thickness, and span as a TASOPT 737-800, the maximum available fuel volumes in the wing will match exactly. To allow for the possibility of auxiliary tanks in the horizontal tail or fuselage the user-specified value \(f_{fuel, usable}\) is introduced.
\[\begin{split}\begin{aligned} \label{e:V_fuel} V_{fuel, max} &\leq 0.303 {\bar{c}_w}^2 b_{w} \tau_{w} \\ W_{fuel_{wing}} &\leq \rho_{fuel} V_{fuel, max} g \\ W_{fuel_{wing}} &\geq \frac{f_{fuel, wing} W_{fuel_{total}}}{ f_{fuel, usable}}\end{aligned}\end{split}\]Vertical Tail Model¶
At a conceptual design level, the purpose of an aircraft’s vertical tail is two-fold. Firstly, it must provide stability in yaw. Secondly, it must provide adequate yaw control authority in critical flight conditions. For a multi-engine aircraft, the critical flight condition is typically an engine failure at low speeds. The vertical tail must be capable of providing sufficient sideforce in this case [Raymer, 1992]. The vertical tail must also provide adequate yaw rate acceleration during landing flare in crosswind conditions. The design of the vertical tail is therefore coupled to the size of the fuselage, the position of the engines, and the aircraft’s moment of inertia.
Model Assumptions¶
The high-level assumptions for this model are that the the horizontal tail is mounted on the fuselage, so as to not require a reinforced vertical tail structure, and that the aircraft has two engines.
Model Description¶
Variable tables are available for download below:
Vertical Tail Geometry and Structure¶
The variables that define geometry are illustrated in . The moment arm of the vertical tail is the distance from the aircraft to the aerodynamic center of the vertical tail, which is assumed to be at the quarter chord. The moment arm is therefore upper bounded by the distance from the to the leading edge of the tail at the root, the height of the mean aerodynamic chord above the fuselage, the sweep angle, and the mean aerodynamic chord.
\[l_{vt}\leq\Delta x_{lead_{vt}}+z_{\bar{c}_{vt}}{\tan(\Lambda_{LE})}+0.25\bar{c}_{vt} \label{eq:vtmomentarm}\]The x-coordinates of the leading and trailing edge at the root are related by the root chord. The tail trailing edge is upper bounded by imposing a constraint that the tail root cannot extend beyond the end of the fuselage. Together these constraints put an upper bound on the moment arm of the tail based on the length of the fuselage.
\[\begin{split}\begin{aligned} {\Delta x_{trail_{vt}}} &\geq {\Delta x_{lead_{vt}}} + {c_{root_{vt}}} \label{eq:vtleading}\\ {l_{fuse}} &\geq {x_{CG}} + {\Delta x_{trail_{vt}}} \label{eq:vttrailing}\end{aligned}\end{split}\]The vertical tail structure is sized by its maximum lift coefficient and the never-exceed speed.
\[\begin{aligned} L_{vt_{max}} &= \frac12 \rho_{TO} V_{ne}^2 S_{vt}C_{L_{v,max}}\end{aligned}\]The remaining geometry and structural constraints were already introduced in the wing model. Constraints [eq:planformarea,eq:meanaerochord,eq:spanwisemac,eq:taperratio,eq:mintaperratio] are adapted to the vertical tail model to constrain its geometry, with two minor modifications. Constraint can be relaxed from a signomial equality to a signomial inequality constraint, meanwhile Constraint needs to be implemented as a signomial equality constraint. The wing structure model from [Hoburg, 2013] is also reused, however, given that the vertical tail only has a half-span, the definitions of \(b_{vt}\), \(S_{vt}\), and \(W_{vt}\) differ from those of their wing counterparts.
Engine-out Condition¶
The first performance constraint specifies that the maximum moment exerted by the tail must be greater than or equal to the moment exerted by the engines in an engine-out condition, exacerbated by the windmill drag of the engine that is inoperative [Drela, 2011].
\[{L_{vt,EO}}{l_{vt}} \geq {D_{wm}} {y_{eng}} + {T_e} {y_{eng}}\]The worst case engine out condition is likely to occur during takeoff, when the velocity is lowest but the engine force required to safely complete takeoff is highest. The force exerted by the vertical tail in this critical low speed case is constrained by its maximum lift coefficient, its reference area and the minimum dynamic pressure. As a conservative estimate, the \(V_1\) speed is used because it is the minimum speed after which a takeoff can be completed, following a critical engine failure.
\[{L_{vt,EO}} = \frac12{\rho_{TO}}{V_1}^{2} {S_{vt}} {C_{L_{vt,EO}}}\]The 3D lift coefficient is constrained by the airfoil sectional lift coefficient using finite wing theory [Anderson, 2001].
\[C_{L_{vt,EO}}\left(1 + \frac{c_{l_{vt,EO}}}{\pi e_{vt} AR_{vt}}\right) \leq c_{l_{vt,EO}}\]The windmill drag can, to a first approximation, be lower bounded using a drag coefficient and a reference area [Drela, 2011], in this case the area of the engine fan.
\[\begin{aligned} {D_{wm}} &\geq \frac12{\rho_{TO}}{V_1}^{2} {A_{fan}} {C_{D_{wm}}}\end{aligned}\]Crosswind Landing Condition¶
The second performance constraint ensures the vertical tail can provide adequate yaw rate acceleration in a crosswind landing, where the moment of inertia was constrained at the system level (Section [chap:full_aircraft]). To provide a safety margin during cross-wind landing, \(C_{L_{vt,landing}}\) is taken to be 85% of takeoff \({C_{L_{vt}}}\).
\[\frac12{\rho_{TO}{V_{land}}^{2}} S_{vt} l_{vt} C_{L_{vt, landing}} \geq \frac{\dot{r}_{req}}{I_{z}}\]Vertical Tail Drag¶
The vertical tail produces drag, regardless of the flight condition. Neglecting any induced drag, the parasitic drag coefficient, \(C_{D_{p_{vt}}}\), is set by a softmax affine fit of XFOIL[Drela, 1989]data for the symmetric NACA 0008 through 0020 airfoils. The fit considers airfoil thickness, Mach number, and Reynolds number. It was developed with GPfit and has an RMS error of 1.31%.
\[\begin{split}\begin{aligned} {D_{vt}} &\geq \frac12 {\rho_{\infty}} {V_\infty}^{2}{S_{vt}}{C_{D_{p_{vt}}}} \\ {C_{D_{p_{vt}}}}^{1.189} &\geq 2.44\times10^{-77} (Re_{vt})^{-0.528} (\tau_{vt})^{133.8} (M)^{1022.7} \\ &+ 0.003 (Re_{vt})^{-0.410} (\tau_{vt})^{1.22} (M)^{1.55} \nonumber\\ &+ 1.967\times10^{-4} (Re_{vt})^{0.214} (\tau_{vt})^{-0.04} (M)^{-0.14} \nonumber\\ &+ 6.590\times10^{-50} (Re_{vt})^{-0.498} (\tau_{vt})^{1.56} (M)^{-114.6} \nonumber\\ {Re_{vt}} &= \frac{ {\rho_\infty} {V_\infty} {\bar{c}_{vt}}}{{\mu}}\end{aligned}\end{split}\]Horizontal Tail Model¶
At a conceptual design level, the purpose of the horizontal tail is threefold: to trim the aircraft such that it can fly in steady level flight, to provide longitudinal stability, and to give the pilot pitch control authority over a range of flight conditions.
Model Assumptions¶
The horizontal tail model assumes that the horizontal stabilizer is mounted to the fuselage and nominally produces downforce in cruise.
Model Description¶
Variable tables are available for download below:
Horizontal Tail Geometry and Structure¶
The horizontal tail model employs many of the same geometric constraints as the wing and vertical tail. More specifically, analogous versions of Constraints [eq:planformarea,eq:meanaerochord,eq:spanwisemac,eq:taperratio,eq:mintaperratio] and Constraints [eq:vtmomentarm,eq:vtleading,eq:vttrailing] enforce planform relationships and constrain the horizontal tail moment arm, respectively. As with the vertical tail, Constraint needs to be implemented as a signomial equality constraint. The horizontal tail also reuses the same structural model from [Hoburg, 2013].
Trim Condition¶
The first sizing requirement is that the aircraft must satisfy the trim condition [Burton, 2017], which implicitly requires that the full aircraft moment coefficient be zero.
\[\frac{x_w}{\bar{c}_w} \leq \frac{x_{CG}}{\bar{c}_w} + \frac{C_{m_{ac}}}{C_{L_w}} + \frac{V_{ht} C_{L_{ht}}}{C_{L_w}}\]Thin airfoil theory is used to constrain the horizontal tail’s isolated lift curve slope [Anderson, 2001].
\[\begin{aligned} C_{L_{ht}} &= C_{L_{\alpha,ht}} \alpha\end{aligned}\]However, the horizontal tail’s lift curve slope is reduced by downwash, \(\epsilon\), from the wing and fuselage [Kroo, 2001]. Note \(\eta_{h_{lift}}\) is the horizontal tail sectional lift efficiency.
\[C_{L_{\alpha,ht}} = C_{L_{\alpha,ht_0}} \left(1 - \frac{\partial \epsilon} {\partial \alpha}\right) \eta_{h_{lift}}\]The downwash can be approximated as the downwash far behind an elliptically loaded wing.
\[\begin{split}\begin{aligned} \epsilon &\approx \frac{2 C_{L_w}}{\pi AR_w} \\ \implies \frac{\partial \epsilon}{\partial \alpha} &\approx \frac{2 C_{L_{\alpha,w}}}{\pi AR_w}\end{aligned}\end{split}\]Thus, an additional posynomial constraint is introduced to constrain the corrected lift curve slope.
\[C_{L_{\alpha,ht}} + \frac{2 C_{L_{\alpha,w}} }{\pi AR_w} \eta_{ht} C_{L_{\alpha,ht_0}} \leq C_{L_{\alpha,ht_0}} \eta_{ht}\]Minimum Stability Margin¶
The second condition is that the aircraft must maintain a minimum stability margin at both the forward and aft limits[Burton, 2017].
\[\begin{aligned} \label{e:SM_CG} S.M._{min} + \frac{\Delta x_{CG}}{\bar{c}_w} + \frac{C_{m_{ac}}}{C_{L_{w,max}}} &\leq V_{ht} m_{ratio} + \frac{V_{ht} C_{L_{h,max}}}{C_{L_{w,max}}}\end{aligned}\]The ratio of the horizontal tail and wing lift curve slopes, \(m_{ratio}\), appears in Equation and is constrained using the relationship in [Burton, 2017]. The constraint is a signomial equality because it is not possible to know a priori whether there will be upward or downward pressure on \(m_{ratio}\).
\[m_{ratio} = \left(1+\frac{2}{AR_w}\right) 1 + \frac{2}{AR_{ht}}\]Stability Margin¶
The third condition is that the stability margin must be greater than a minimum specified value for all intermediate locations.
\[\begin{split}\begin{aligned} S.M. &\leq \frac{x_w - x_{CG}}{\bar{c}_w}\\ S.M. &\geq S.M._{min}\end{aligned}\end{split}\]Horizontal Tail Drag¶
The horizontal tail employs the same drag model as the wing (Constraints [eq:wingdrag,eq:wingdragcoeff,eq:wingpdragcoeff,eq:wingRe,eq:induceddrag]), with the exception of the parasitic drag coefficient fit. The wing’s parasitic drag fit is replaced by a fit to XFOIL [Drela, 1989] data for the TASOPT[Drela, 2011] T-series airfoils. The TASOPT T-series airfoils are horizontal tail airfoils intended for transonic use. The fit considers airfoil thickness, Reynolds number, and Mach number. The softmax affine function fit is developed with GPfit and has an RMS error of 1.14%.
\[\begin{split}\begin{aligned} \label{e:HT_drag} {C_{D_{0_{ht}}}}^{6.49} & \geq 5.288\times10^{-20} (Re_{h})^{0.901} (\tau_{h})^{0.912} (M)^{8.645}\\ &+ 1.676\times10^{-28} (Re_{h})^{0.351} (\tau_{h})^{6.292} (M)^{10.256} \nonumber \\ &+ 7.098\times10^{-25} (Re_{h})^{1.395} (\tau_{h})^{1.962} (M)^{0.567} \nonumber \\ &+ 3.731\times10^{-14} (Re_{h})^{-2.574} (\tau_{h})^{3.128} (M)^{0.448} \nonumber \\ &+ 1.443\times10^{-12} (Re_{h})^{-3.910} (\tau_{h})^{4.663} (M)^{7.689} \nonumber \end{aligned}\end{split}\]Fuselage Model¶
The purpose of a conventional commercial aircraft fuselage can be decomposed into two primary functions: integrating and connecting all of the subsystems (e.g. wing, tail, landing gear), and carrying the payload, which typically consists of passengers, luggage, and sometimes cargo. The design of the fuselage is therefore coupled with virtually every aircraft subsystem.
A detailed but still approximate analysis of fuselage structure and weight is done in TASOPT [Drela, 2011] , considering pressure loads, torsion loads, bending loads, buoyancy weight, window weight, payload-proportional weights, the floor, and the tail cone. The majority of the constraints in this model are adapted directly from these equations.
Model Assumptions¶
This model assumes a single circular-cross-section fuselage. This is an approximation, since narrow-body aircraft like the Boeing 737 and Airbus A320 do not have perfectly circular cross sections.
The floor structural model and the horizontal bending model assume uniform floor loading. The model leverages the analytical bending models from [Drela, 2011], which makes assumptions about symmetry in bending loads. Shell buckling is not explicitly modeled while designing bending structure, but is accounted for by the implementation of a lower yield stress for bending reinforcement material relative to the nominal yield stress of the material.
Model Description¶
Variable tables are available for download below:
Cross-sectional geometry constraints¶
The fuselage must be wide enough to accommodate the width of the seats in a row and the width of the aisle.
\[{2w_{fuse}} \geq (\mathit{SPR}) {w_{seat}} + {w_{aisle}} + 2{w_{sys}}\]The cross sectional area of the fuselage skin is lower bounded using a thin walled cylinder assumption.
\[{A_{skin}} \geq 2 \pi {R_{fuse}} {t_{skin}}\]The cross sectional area of the fuselage is lower bounded using the radius of the fuselage.
\[{A_{fuse}} \geq \pi {R_{fuse}}^{2}\]Pressure loading constraints¶
The axial and hoop stresses in the fuselage skin are constrained by the pressurization load due to the difference between cabin pressure and ambient pressure at cruise altitude. The thickness of the skin is therefore sized by the maximum allowable stress of the chosen material.
\[\begin{split}\begin{aligned} {\sigma_x} &= \frac{{\Delta P_{over}}}{2}\frac{{R_{fuse}}}{{t_{shell}}}\\ {\sigma_{\theta}} &= {\Delta P_{over}} \frac{{R_{fuse}} }{{t_{skin}}} \\ {\sigma_{skin}} &\geq {\sigma_x} \\ {\sigma_{skin}} &\geq {\sigma_{\theta}}\end{aligned}\end{split}\]Floor loading constraints¶
The floor must be designed to withstand at least the weight of the payload and seats multiplied by a safety factor for an emergency landing.
\[{P_{floor}} \geq {N_{land}} ({W_{payload}} + {W_{seat}})\]The maximum moment and shear in the floor are determined based on this design load and the width of the floor, assuming that the floor/wall joints are pinned and there are no center supports.
\[\begin{split}\begin{aligned} {S_{floor}} &= \frac{P_{floor}}{2}\\ {M_{floor}} &= \frac{{P_{floor}} {w_{floor}} }{8}\end{aligned}\end{split}\]The floor beam cross sectional area is constrained by the maximum allowable cap stress and shear web stress for the beams.
\[{A_{floor}} \geq 1.5\frac{{S_{floor}}}{{\tau_{floor}}} + 2\frac{{M_{floor}}}{{\sigma_{floor}} {h_{floor}}}\]3-dimensional geometry constraints¶
The nose must be long enough to have an aerodynamic profile and to accommodate the cockpit. A reasonable, but arbitrary, lower bound is employed for this work [Drela, 2011].
\[{l_{nose}} \geq 5.2 \hspace{0.2cm} \rm{m}\]The cylindrical shell of the fuselage sits between the nosecone and tailcone. The variables \(x_{shell1}\) and \(x_{shell2}\) define the beginning and end of the cylindrical section of the fuselage, respectively, in the aircraft x-axis.
\[\begin{split}\begin{aligned} {x_{shell1}} &= {l_{nose}} \\ {x_{shell2}} &\geq {l_{nose}} + {l_{shell}}\end{aligned}\end{split}\]The number of seats is equal to the product of the seats per row and the number of rows. Note that non-integer numbers of rows are allowed and necessary for GP compatibility. It is assumed that the load factor is one, so that the number of passengers is equal to the number of seats.
\[\begin{split}\begin{aligned} {n_{seat}} &= {(\mathit{SPR})} {n_{rows}} \\ {n_{pass}} &= n_{seat}\end{aligned}\end{split}\]The seat pitch and the number of rows of seats constrain the length of the shell. The passenger floor length is lower bounded by the shell length and twice the fuselage radius, to account for the space provided by pressure bulkheads.
\[\begin{split}\begin{aligned} {l_{shell}} &\geq {n_{rows}} {p_s} \\ {l_{floor}} &\geq 2{R_{fuse}} + {l_{shell}} \end{aligned}\end{split}\]The length of the fuselage is constrained by the sum of the nose, shell and tail cone lengths. A signomial equality is needed, because increased \(l_{fuse}\) is not coupled directly to increased structural weight although it results in improved tail control authority.
\[l_{fuse} = l_{nose} + l_{shell} + l_{cone}\]Other locations to constrain are the wing mid-chord and the wingbox fore and aft bulkheads, which serve as integration limits when calculating bending loads.
\[\begin{split}\begin{aligned} x_f \leq x_{wing} + 0.5 c_0 r_{w/c}\\ x_b + 0.5 c_0 r_{w/c} \geq x_{wing}\end{aligned}\end{split}\]The skin surface area, and, in turn, skin volume for the nose, main cabin, and rear bulkhead are constrained. The surface area of the nose, which is approximated as an ellipse, is lower bounded using Cantrell’s approximation [Drela, 2011].
\[\begin{split}\begin{aligned} {S_{nose}}^{\frac85} &\geq \left(2 \pi {R_{fuse}^2}\right)^{\frac85} \left(\frac13 + \frac23 \left(\frac{l_{nose}}{R_{fuse}}\right)^{\frac85} \right) \\ {S_{bulk}} &= 2 \pi {R_{fuse}}^{2} \\ {V_{cyl}} &= {A_{skin}} {l_{shell}} \\ {V_{nose}} &= {S_{nose}} {t_{skin}} \\ {V_{bulk}} &= {S_{bulk}} {t_{skin}} \end{aligned}\end{split}\]The cabin volume is constrained assuming a cylinder with hemispherical end caps. This is necessary for capturing buoyancy weight.
\[{V_{cabin}}\geq{A_{fuse}}\left(\frac23{l_{nose}} + {l_{shell}} + \frac23{R_{fuse}} \right)\]Tail cone constraints¶
The tail cone needs to be able to transfer the loads exerted on the vertical tail to the rest of the fuselage. The maximum torsion moment imparted by the vertical tail depends on the maximum force exerted on the tail as well as its span and taper ratio. This torsion moment, along with the cone cross sectional area and the maximum shear stress of the cone material, bounds the necessary cone skin thickness. The cone cross sectional area, which varies along the cone, is coarsely approximated to be the fuselage cross sectional area (i.e. the cross sectional area of the cone base).
\[\begin{split}\begin{aligned} \label{eq:Qv1} {Q_v} &= \frac{{L_{vt_{max}}} {b_{vt}}}{3} \frac{{1 + 2{\lambda_v}}} {{1 + {\lambda_v}}} \\ \label{eq:Qv2} {t_{cone}}&= \frac{Q_v}{2{A_{fuse}} {\tau_{cone}} }\end{aligned}\end{split}\]The volume of the cone is a definite integral from the base to the tip of the cone. This integral is evaluated [Drela, 2011] and combined with Equations and to give a single signomial constraint on the cone skin volume.
\[R_{fuse}\tau_{cone}(1+p_{\lambda_v})V_{cone} \frac{1+\lambda_{cone}}{4 l_{cone}} \geq L_{vt_{max}} b_{vt} \frac{p_{\lambda_v}}{3}\]A change of variables is used for compatibility with the tail model, which uses \(p_{\lambda_v} = 1 + 2\lambda_v\) to make a structural constraint -compatible. The same taper lower bound is introduced as in the tail model.
\[{p_{\lambda_v}} \geq 1.6\]The cone skin shear stress is constrained to equal the maximum allowable stress in the skin material.
\[{\tau_{cone}} = {\sigma_{skin}}\]The tail cone taper ratio constrains the length of the cone relative to the radius of the fuselage.
\[{l_{cone}} = \frac{{R_{fuse}}}{{\lambda_{cone}}}\]Fuselage area moment of inertia constraints¶
The fuselage shell consists of the skin and stringers. Its area moment of inertia determines how effectively the fuselage is able to resist bending loads. A shell with uniform skin thickness and stringer density has a constant area moment of inertia in both of its bending axes, shown by the dark red line in the lower plot of Figure [fig:fuse_bending_loads].
To be consistent with [Drela, 2011], the horizontal bending moments are defined as the moments around the aircraft’s y-axis, caused by horizontal tail loads and fuselage inertial loads, and vertical bending moments as the moments around the aircraft’s z-axis, caused by vertical tail loads.
The effective modulus-weight shell thickness is lower bounded by assuming that only the skin and stringers contribute to bending. This constraint also uses an assumed fractional weight of stringers that scales with the thickness of the skin.
\[{t_{shell}} \geq {t_{skin}}\left(1 + {f_{string}} {r_E} \frac{{\rho_{skin}} }{{\rho_{bend}}} \right)\]It is important to consider the effects of pressurization on the yield strength of the bending material. Since pressurization stresses the airframe, the actual yield strength of the fuselage bending material is lower than its nominal yield strength, an effect captured using posynomial constraints.
\[\begin{split}\begin{aligned} \sigma_{M_h} + r_E \frac{\Delta P_{over} R_{fuse}}{2 t_{shell}}&\leq \sigma_{bend} \\ \sigma_{M_v} + r_E \frac{\Delta P_{over} R_{fuse}}{2 t_{shell}}&\leq \sigma_{bend}\end{aligned}\end{split}\]The aircraft shell, which is composed of the pressurized skin and stringers, must satisfy the following horizontal and vertical area moment of inertia constraints.
\[\begin{split}\begin{aligned} I_{hshell} &\leq \pi R_{fuse}^3 t_{shell} \\ I_{vshell} &\leq \pi R_{fuse}^3 t_{shell}\end{aligned}\end{split}\]Horizontal bending model¶
There are two load cases that determine the required : maximum load factor (MLF) at \(V_{ne}\), where
\[ \begin{align}\begin{aligned}\begin{split} \begin{aligned} N &= N_{lift} \\ L_{ht} &= L_{ht_{max}} \end{aligned}\end{split}\\and emergency landing impact, where\end{aligned}\end{align} \]\[\begin{split}\begin{aligned} N &= N_{land} \\ L_{ht} &= 0. \end{aligned}\end{split}\]Both load cases are considered at the aircraft’s maximum takeoff weight (MTOW). The constraints for each case are distinguished by the subscripts \(MLF\) and \(Land\). Assuming the fuselage weight is uniformly distributed throughout the shell, the bending loads due to fuselage inertial loads increase quadratically from the ends of the fuselage shell to the aircraft , as shown by the blue line representing \(M_h(x)\) in Figure [fig:fuse_bending_loads]. The tail loads are point loads at \(x_{tail}\), and so the horizontal tail moment increases linearly from \(x_{tail}\) to the aircraft’s . In the maximum load factor case, the maximum moment exerted by the horizontal tail is superimposed on the maximum fuselage inertial moment at load factor \(N_{lift}\) to size the required. For the emergency landing impact case, only the fuselage inertial loads are considered at \(N_{land}\), assuming an unloaded horizontal tail.
Several intermediate variables are introduced and used in constraints that capture relationships. \(A_{0h}\) represents the area that is contributed by the aircraft shell.
\[A_{0h} = \frac{I_{hshell}} {r_{E} h_{fuse}^2}\]Variables \(A_{1h_{Land}}\) and \(A_{1h_{MLF}}\) are the lengths that are required to sustain bending loads from the tail. Note that as the distance from the tail increases, the moment exerted from the tail increases linearly.
\[\begin{split}\begin{aligned} A_{1h_{Land}} &\geq N_{land} \frac{W_{tail} + W_{apu}}{h_{fuse} \sigma_{M_h}}\\ A_{1h_{MLF}} &\geq N_{lift} \frac{W_{tail} + W_{apu} + r_{M_h} L_{ht_{max}}}{h_{fuse} \sigma_{M_h}}\end{aligned}\end{split}\]Variables \(A_{2h_{Land}}\) and \(A_{2h_{MLF}}\) represent the required to sustain the distributed loads in the fuselage. As the distance from the nose or the tail increases, the moment exerted due to the distributed load grows with the square of length.
\[\begin{split}\begin{aligned} A_{2h_{Land}} &\geq N_{land} \frac{W_{payload} + W_{padd} + W_{shell} + W_{window} + W_{insul} + W_{floor} + W_{seat}} {2 l_{shell} h_{fuse} \sigma_{bend}} \\ A_{2h_{MLF}} &\geq N_{lift} \frac{W_{payload} + W_{padd} + W_{shell} + W_{window} + W_{insul} + W_{floor }+ W_{seat}} {2 l_{shell} h_{fuse} \sigma_{M_h}}\end{aligned}\end{split}\]Bending reinforcement material in the aircraft exists where the shell inertia is insufficient to sustain the local bending moment. Constraints are used to determine the location over the rear fuselage \(x_{hbend_\zeta}\) forward of which additional is required. Some simple constraints on geometry are added to ensure a meaningful solution. Constraints through occur for both aforementioned load cases in the model (with subscript \(\zeta\) replaced by \(MLF\) or \(Land\)) for worst-case fuselage sizing, but have been included once in the paper to reduce redundancy.
\[\begin{split}\begin{aligned} \label{eq:dupBend_1} A_{0h} &= A_{2h_\zeta} (x_{shell2} - x_{hbend_\zeta}) ^ 2 + A_{1h_\zeta} (x_{tail} - x_{hbend_\zeta}) \\ x_{hbend_\zeta} &\geq x_{wing}\\ x_{hbend_\zeta} &\leq l_{fuse} \end{aligned}\end{split}\]To be able to constrain the volume of required, the area of required must be constrained and integrated over the length of the fuselage. As shown by [Drela, 2011], with some conservative approximation, the volume of may be determined through the integration of the forward and rear wingbox areas over the rear fuselage.
\[\begin{split}\begin{aligned} A_{hbendf_\zeta} &\geq A_{2h_\zeta} (x_{shell2} - x_{f})^2 + A_{1h_\zeta} (x_{tail} - x_{f}) - A_{0h} \\ A_{hbendb_\zeta} &\geq A_{2h_\zeta} (x_{shell2} - x_{b})^2 + A_{1h_\zeta} (x_{tail} - x_{b}) - A_{0h}\end{aligned}\end{split}\]volumes forward, over and behind the wingbox are lower bounded by the integration of the areas over the three fuselage sections.
\[\begin{split}\begin{aligned} V_{hbend_{f}} &\geq \frac{A_{2h_\zeta}} {3} ((x_{shell2} - x_{f})^3 - (x_{shell2} - x_{hbend_\zeta})^3) \\ &+ \frac{A_{1h_\zeta}} {2} ((x_{tail} - x_{f})^2 - (x_{tail} - x_{hbend_\zeta})^2) - A_{0h} (x_{hbend_\zeta} - x_{f})\nonumber\\ V_{hbend_{b}} &\geq \frac{A_{2h_\zeta}}{3} ((x_{shell2} - x_{b})^3 - (x_{shell2} - x_{hbend_\zeta})^3) \\ &+ \frac{A_{1h_\zeta}}{2} ((x_{tail} - x_{b})^2 - (x_{tail} - x_{hbend_\zeta})^2) - A_{0h} (x_{hbend_\zeta} - x_{b}) \nonumber\\ V_{hbend_{c}} &\geq 0.5 (A_{hbendf_\zeta} + A_{hbendb_\zeta}) c_{0} r_{w/c} \label{eq:dupBend_2}\end{aligned}\end{split}\]The total volume is lower bounded by the sum of the volumes of required in each fuselage section.
\[V_{hbend} \geq V_{hbend_{c}} + V_{hbend_{f}} + V_{hbend_{b}}\]Vertical bending model¶
The is constrained by considering the maximum tail loads that a fuselage must sustain. The vertical bending moment, shown in red as \(M_v(x)\) in Figure [fig:fuse_bending_loads], increases linearly from the tail to the aircraft , since the tail lift is assumed to be a point force.
As with horizontal bending, several intermediate variables are introduced and used in constraints that capture relationships. \(B_{1v}\) is the length required to sustain the maximum vertical tail load \(L_{vt_{max}}\). When multiplied by the moment arm of the tail relative to the fuselage cross-sectional location, it gives the local area required to sustain the loads.
\[B_{1v} = \frac{r_{M_v} L_{vt_{max}}} {w_{fuse} \sigma_{M_{v}}}\]\(B_{0v}\) is the equivalent area provided by the fuselage shell.
\[{B_{0v}} = \frac{{I_{vshell}}}{{r_E} {w_{fuse}}^{2}}\]Since tail loads are the only vertical loads to consider, the location forward of which additional bending material is required can be determined. \(x_{vbend}\) is the location where the vertical bending moment of the inertia of the fuselage is exactly enough to sustain the maximum vertical bending loads from the tail, expressed by a signomial equality.
\[\begin{split}\begin{aligned} B_{0v} &= B_{1v} (x_{tail} - x_{vbend}) \\ x_{vbend} &\geq x_{wing} \\ x_{vbend} &\leq l_{fuse} \end{aligned}\end{split}\]The area required at the rear of the wingbox is lower bounded by the tail bending moment area minus the shell vertical bending moment area.
\[A_{vbend_{b}} \geq B_{1v} (x_{tail} - x_{b}) - B_{0v}\]The vertical bending volume rear of the wingbox is then constrained by integrating \(A_{vbend}\) over the rear fuselage, which yields the following constraint.
\[V_{vbend_{b}} \geq 0.5 B_{1v} ((x_{tail}-x_{b})^2 - (x_{tail} - x_{vbend})^2) - B_{0v} (x_{vbend} - x_{b})\]The vertical bending volume over the wingbox is the average of the bending area required in the front and back of the wingbox. Since no vertical bending reinforcement is required in the forward fuselage, the resulting constraint is simply:
\[V_{vbend_{c}} \geq 0.5 A_{vbend_{b}} c_{0} r_{w/c}\]The total vertical bending reinforcement volume is the sum of the volumes over the wingbox and the rear fuselage.
\[V_{vbend} \geq V_{vbend_{b}} + V_{vbend_{c}}\]Weight build-up constraints¶
The weight of the fuselage skin is the product of the skin volumes (bulkhead, cylindrical shell, and nosecone) and the skin density.
\[{W_{skin}} \geq {\rho_{skin}} {g} \left({V_{bulk}} + {V_{cyl}} + {V_{nose}} \right)\]The weight of the fuselage shell is then constrained by accounting for the weights of the frame, stringers, and other structural components, all of which are assumed to scale with the weight of the skin.
\[{W_{shell}} \geq {W_{skin}}\left(1 + {f_{fadd}} + {f_{frame}} + {f_{string}} \right)\]The weight of the floor is lower bounded by the density of the floor beams multiplied by the floor beam volume, in addition to an assumed weight/area density for planking.
\[\begin{split}\begin{aligned} {V_{floor}} &\geq {A_{floor}} {w_{floor}} \\ {W_{floor}}&\geq{V_{floor}}{\rho_{floor}}{g}+{W''_{floor}}{l_{floor}} {w_{floor}}\end{aligned}\end{split}\]As with the shell, the tail cone weight is bounded using assumed proportional weights for additional structural elements, stringers, and frames.
\[{W_{cone}}\geq{\rho_{cone}}{g}{V_{cone}}\left(1+{f_{fadd}}+{f_{frame}} + f_{string}\right)\]The weight of the horizontal and vertical bending material is the product of the bending material density and the and volumes required respectively.
\[\begin{split}\begin{aligned} W_{hbend} &\geq \rho_{bend} g V_{hbend} \\ W_{vbend} &\geq \rho_{bend} g V_{vbend}\end{aligned}\end{split}\]The weight of luggage is lower bounded by a buildup of 2-checked-bag customers, 1-checked-bag customers, and average carry-on weight.
\[{W_{lugg}} \geq 2{W_{checked}} {f_{lugg,2}} {n_{pass}} + {W_{checked}} {f_{lugg,1}} {n_{pass}} + {W_{carry on}}\]The window and insulation weight are lower bounded using assumed weight/length and weight/area densities respectively. It is assumed that only the passenger compartment of the the cabin is insulated and that the passenger compartment cross sectional area is approximately 55% of the fuselage cross sectional area.
\[\begin{split}\begin{aligned} {W_{window}} &= {W'_{window}} {l_{shell}} \\ {W_{insul}} &\geq {W''_{insul}} \left( 0.55\left({S_{bulk}} + {S_{nose}} \right) + 1.1\pi{R_{fuse}} {l_{shell}} \right) \end{aligned}\end{split}\]The APU and other payload proportional weights are accounted for using weight fractions. \(W_{padd}\) includes flight attendants, food, galleys, toilets, furnishing, doors, lighting, air conditioning, and in-flight entertainment systems. The total seat weight is a product of the weight per seat and the number of seats.
\[\begin{split}\begin{aligned} {W_{apu}} &= {W_{payload}} {f_{apu}} \\ {W_{padd}} &= {W_{payload}} {f_{padd}} \\ {W_{seat}} &= {W'_{seat}} {n_{seat}} \end{aligned}\end{split}\]The effective buoyancy weight of the aircraft is constrained using a specified cabin pressure \(p_{cabin}\), the ideal gas law and the approximated cabin volume. A conservative approximation for the buoyancy weight that does not subtract the ambient air density from the cabin air density is used.
\[\begin{split}\begin{aligned} \rho_{cabin}&= \frac{p_{cabin}}{{R} {T_{cabin}}} \\ {W_{buoy}} &= \rho_{cabin} {g} {V_{cabin}}\end{aligned}\end{split}\]There are two methods in the model that can be used to lower bound the payload weight. The first is the sum of the cargo, luggage, and passenger weights (Constraint ). The second is through the definition of variable \(W_{avg. pass_{total}}\), which is an average payload weight per passenger metric (Constraint ). For the purposes of this paper, the second method is used, and as a result Constraint is inactive.
\[\begin{split}\begin{aligned} W_{pass} &= W_{avg. pass} n_{pass} \\ {W_{payload}} &\geq {W_{cargo}} + {W_{lugg}} + {W_{pass}}\label{eq:payload1st} \\ {W_{payload}} &\geq {W_{avg. pass_{total}}} {{n_{pass}}} \label{eq:payload2nd}\end{aligned}\end{split}\]The total weight of the fuselage is lower bounded by the sum of all of the constituent weights. The fixed weight \(W_{fix}\) incorporates pilots, cockpit windows, cockpit seats, flight instrumentation, navigation and communication equipment, which are expected to be roughly the same for all aircraft [Drela, 2011].
\[\begin{split}\begin{aligned} {W_{fuse}} &\geq {W_{apu}} + {W_{buoy}} + {W_{cone}} + {W_{floor}} + W_{hbend} + W_{vbend} + {W_{insul}} \\ &+ {W_{padd}} + {W_{seat}} + {W_{shell}} + {W_{window}} + {W_{fix}} \nonumber\end{aligned}\end{split}\]Aerodynamic constraints¶
The drag of the fuselage is constrained using \(C_{D_{fuse}}\) from TASOPT, which calculates the drag using a pseudo-axisymmetric viscous/inviscid calculation, and scaling appropriately by fuselage dimensions and Mach number.
\[D_{fuse} = \frac{1}{2} \rho_{\infty} V_{\infty}^2 C_{D_{fuse}} \left( l_{fuse} R_{fuse} \frac{M^2}{M_{fuseD}^2} \right)\]Engine Model¶
The Engine Model has been included in the turbofan repository, and the constraints within it are detailed in Martin York’s Master’s thesis.
Currently both of the Engine and Aircraft models take FlightState as their arguments. To further aid in integrating the Engine model with new or existing configurations, here is a non-exhaustive list of ways that the engine can and should be integrated into a complete aircraft model.
- Integrate the engine weight into the dry weight of the aircraft.
- Link engine thrust to aircraft drag, climb rate, and fuel burn.
- Link engine sizing variables to the landing gear model.
- Link engine fan area to vertical tail engine out sizing constraint.
- Link engine fan and LPC diameter to the nacelle drag constraints.
- Link engine weight to nacelle weight.
- Link mach numbers (M2) in the engine model to the flight segment Mach number.
- Add engine to aircraft CG model.
Landing Gear Model¶
The purpose of the landing gear is to support the weight of the aircraft and allow it to manoeuvre while it is on the ground, including during taxi, takeoff, and landing. Including the landing gear in aircraft is important, not only because it typically weighs between three and six percent of the maximum aircraft takeoff weight [Chai, 1996], but also because of how coupled its design is to other subsystems, particularly the fuselage, wings, and engines. The landing gear geometry is constrained by wing position, engine clearance, takeoff rotation, and tip-over criteria. In addition to being able to withstand nominal static and dynamic loads, the landing gear also needs to be able to absorb touchdown shock loads. These loads and the required geometry determine the weight of the gear. Many of the constraints imposed on landing gear design are described in [Raymer, 1992] and [Chai, 1996].
Model Assumptions¶
The landing gear model assumes a conventional and retractable tricycle landing gear configuration for narrowbody commercial aircraft such as a Boeing 737-800. The nose gear consists of a single strut supported by two wheels. The main gear consists of two struts mounted in the inboard section of the wings, each supported by two wheels. The model only takes one location as an input, i.e. it does not consider travel. It is also assumed that the main landing gear retracts towards the centerline of the aircraft, rotating about the x axis.
Model Description¶
Variable tables are available for download below:
Landing Gear Position¶
The landing gear track and base are defined relative to the x- and y-coordinates of the nose and main gear.
\[\begin{split}\begin{aligned} {T} &= 2{y_m} \\ {x_m} &\geq {x_n} + {B}\end{aligned}\end{split}\]The geometric relationships between the x-coordinates of the main gear, nose gear and the position must be enforced. These relationships are:
\[\begin{split}\begin{aligned} \label{ngdef} {x_n} + {\Delta x_n} &= {x_{CG}} \\ \label{mgdef} {x_{CG}} + {\Delta x_m} &= {x_m} \end{aligned}\end{split}\]Equations and must be satisfied exactly, meaning the constraints that enforce them must be tight. As will be shown below, the load through the nose gear and main gear is proportional to the distance from the to the main and nose gear respectively. Because there is downward pressure on these loads - more load generally means heavier landing gear - there is also downward pressure on the distances \({\Delta x_n}\) and \({\Delta x_m}\). Therefore signomial constraints are used for both relationships.
\[\begin{split}\begin{aligned} {x_n} + {\Delta x_n} &\geq {x_{CG}} \\ {x_{CG}} + {\Delta x_m} &\geq {x_m}\end{aligned}\end{split}\]The main gear position in the spanwise (\(y\)) direction is, on one side, lower bounded by the length of the gear itself and, on the other side, upper bounded by the spanwise location of the engines. Both of these constraints are necessary to allow the landing gear to retract in the conventional manner for typical narrowbody commercial aircraft.
\[\begin{split}\begin{aligned} {y_m} &\geq {l_m} \\ {y_m} &\leq {y_{eng}}\end{aligned}\end{split}\]Wing Vertical Position and Engine Clearance¶
The difference between the lengths of the main gear and nose gear is constrained by the vertical position of the wing with respect to the bottom of the fuselage, as well as the spanwise location of the main gear and the wing dihedral. This relationship is a signomial constraint.
\[{l_n} + z_{wing} + y_m \tan(\gamma) \geq {l_m}\]For aircraft with engines mounted under the wing, the length of the main gear is also constrained by the engine diameter, because the engines must have sufficient clearance from the ground. A signomial constraint provides another lower bound on the length of the main gear.
\[\begin{split}\begin{aligned} \label{fan_diameter_constraint} {l_m} + (y_{eng} - y_m)\tan(\gamma) &\geq {d_{nacelle}} + {h_{nacelle}} \\ d_{nacelle} &\geq d_{fan} + 2t_{nacelle} \end{aligned}\end{split}\]Takeoff Rotation¶
The aircraft must be able to rotate on its main wheels at takeoff without striking the tail of the fuselage and, similarly, must be able to land on its main gear without striking the tail [Raymer, 1992]. This constrains the location of the main gear. More specifically, the horizontal distance between the main gear and the point at which the fuselage sweeps up towards the tail must be sufficiently small, relative to the length of the main gear, such that the angle relative to the horizontal from the main wheels to the upsweep point is greater than the takeoff/landing angles. The result is a signomial constraint that imposes a lower bound on the length of the gear and the x-location of the main gear.
\[\label{xupsweep_constraint} \frac{l_m}{{\tan(\theta_{max})}}\geq{x_{up}}-{x_m}\]Tip-over Criteria¶
A longitudinal tip-over criterion requires that the line between the main gear and the be at least \(15^\circ\) relative to the vertical such that the aircraft will not tip back on its tail at a maximum nose-up attitude [Raymer, 1992]. This puts a lower bound on the x-location of the main gear, as measured from the nose of the aircraft. Note that \(\tan(\phi)\) is a design variable here, instead of \(\phi\), to make the constraint -compatible.
\[\begin{split}\begin{aligned} {x_m} &\geq \left( {l_m} + {z_{CG}} \right) {\tan(\phi)} + {x_{CG}}\\ {\tan(\phi)} &\geq {\tan(\phi_{min})} \end{aligned}\end{split}\]A lateral tip-over constraint is introduced to ensure that an aircraft does not tip over in a turn [Chai, 1996]. The turnover angle is defined as
\[\tan{\psi} = \frac{z_{CG} + l_m}{{\Delta x_n} \sin{\delta}}\]where
\[\tan{\delta} = \frac{y_m}{B}.\]Using the relationship
\[\cos\left(\arctan\left(\frac{y_m}{B}\right)\right)=\frac{B}{\sqrt{B^2 + y_m^2}},\]this constraint can be rewritten in, not only -compatible, but -compatible form as
\[1\geq\frac{(z_{CG}+l_m)^2 ({y_m}^2 + B^2) }{ (\Delta x_n y_m \tan(\psi))^2}.\]Typically this angle, \(\psi\), should be no larger than \(63^\circ\) [Raymer, 1992].
\[{\tan(\psi)} \leq {\tan(\psi_{max})}\]Landing Gear Weight¶
The total landing gear system weight is lower bounded by accounting for the weights of each assembly. An additional weight fraction is used to account for weight that is proportional to the weight of the wheels [Currey, 1984].
\[\begin{split}\begin{aligned} {W_{lg}} &\geq {W_{mg}} + {W_{ng}} \\ {W_{mg}} &\geq {n_{mg}} \left(W_{ms} + {W_{mw}}(1 + f_{add_m}) \right) \\ {W_{ng}} &\geq {W_{ns}} + {W_{nw}}(1 + f_{add_n})\end{aligned}\end{split}\]The weight of each strut for both the main and nose struts is lower bounded by simplistically assuming a thin-walled cylinder with constant cross sectional area.
\[\begin{split}\begin{aligned} {W_{ms}} &\geq 2 \pi {r_m}{t_m} {l_m} {\rho_{st}}g\\ {W_{ns}} &\geq 2 \pi {r_n}{t_n} {l_n} {\rho_{st}}g\end{aligned}\end{split}\]It is assumed that the strut is sized by compressive yield and, more stringently, by buckling, again assuming a thin-walled cylinder. This constrains the area moment of inertia of the strut cross section, which puts upward pressure on the radius and thickness of the struts. The buckling constraint assumes that no side force is exerted on the cylinder, which is perhaps a weak assumption due to forces exerted in braking, for example, and due to the fact that aircraft do not typically land with the main gear struts perfectly normal to the runway surface.
\[\begin{split}\begin{aligned} 2 \pi{r_m} {t_m} {\sigma_{y_c}}&\geq \frac{{\lambda_{LG} L_m} {N_s}}{{n_{mg}}} \\ 2 \pi {r_n} {t_n} {\sigma_{y_c}} &\geq ({L_n} + {L_{n_{dyn}}}) {N_s}\\ {L_m} &\leq \frac{\pi^2{E}{I_m}}{{K}^{2}{l_m}^{2}}\\ {I_m} &= \pi{r_m}^{3} {t_m} \\ % PK different {L_n} &\leq \frac{\pi^2{E}{I_n}}{{K}^{2}{l_n}^{2}}\\ {I_n} &= \pi{r_n}^{3} {t_n} \end{aligned}\end{split}\]A machining constraint is used to ensure that the strut walls are not too thin to be fabricated [Chai, 1996].
\[\begin{split}\begin{aligned} \frac{2 r_m}{t_m} &\leq 40 \\ \frac{2 r_n}{t_n} &\leq 40 \end{aligned}\end{split}\]The wheel weights can be estimated using historical relations from [Currey, 1984] and [Raymer, 1992], which are, again, conveniently in monomial form.
\[\begin{split}\begin{aligned} W_{mw} &= n_{wps} W_{wa,m}\\ W_{nw} &= n_{wps} W_{wa,n}\\ W_{wa,m} &= 1.2 F_{w_m}^{0.609}\\ F_{wm} &= L_{w_m} d_{t_m}\\ L_{w_m} &= \frac{L_m}{n_{mg} n_{wps}}\\ W_{wa,n} &= 1.2 F_{w_n}^{0.609}\\ F_{wn} &= L_{w_n} d_{t_n} \\ L_{w_n} &= \frac{L_n}{n_{wps}}\\ d_{t_m} &= 1.63 L_{w_m}^{0.315} \\ w_{t_m} &= 0.104 L_{w_m}^{0.480} \\ d_{t_n} &= 0.8 d_{t_m} \\ w_{t_n} &= 0.8 w_{t_m} \end{aligned}\end{split}\]Main gear tyre size can also be estimated using statistical relations. The nose gear tyres are assumed to be 80% of the size of the main gear tyres.
\[\begin{split}\begin{aligned} d_{t_m} &= 1.63 L_{w_m}^{0.315} \\ w_{t_m} &= 0.104 L_{w_m}^{0.480} \\ d_{t_n} &= 0.8 d_{t_m} \\ w_{t_n} &= 0.8 w_{t_m} \end{aligned}\end{split}\]In addition, simple retraction space constraints are used to ensure that the gear assemblies are not too wide to fit inside the fuselage.
\[\begin{split}\begin{aligned} 2 w_{t_m} + 2 r_m &\leq h_{hold} \\ 2 w_{t_n} + 2 r_n &\leq 0.8~[\mathrm{m}] \end{aligned}\end{split}\]Landing Gear Loads¶
The maximum static load through the nose and main gear is constrained by the weight of the aircraft and the relative distances from the to the main and nose gear, respectively.
\[ \begin{align}\begin{aligned}\begin{split} \begin{aligned} {L_n} &= \frac{{W} {\Delta x_m}}{{B}} \\ {L_m} &= \frac{{W} {\Delta x_n}}{{B}} \end{aligned}\end{split}\\For the nose gear, there is an additional dynamic load due to the\end{aligned}\end{align} \]braking condition. A typical braking deceleration of \(3 \mathrm{m/s^2}\) is assumed [Raymer, 1992].
\[{L_{n_{dyn}}} \geq 0.31W \frac{{l_m} + {z_{CG}}}{{B}}\]The nose gear requires adequate load for satisfactory steering performance. A typical desirable range is between 5% and 20% of the total load [Raymer, 1992].
\[\begin{split}\begin{aligned} \frac{{L_n}}{{W}} &\geq 0.05 \\ \frac{{L_n}}{{W}} &\leq 0.2 \end{aligned}\end{split}\]Shock Absorption¶
Oleo-penumatic shock absorbers are common to landing gear for large aircraft. Their purpose is to reduce the vertical load on the aircraft at touchdown, and they are typically sized by a hard landing condition. The maximum stroke of the shock absorber can be determined by considering the aircraft’s kinetic energy, and the target maximum load [Torenbeek, 1982].
\[\begin{split}\begin{aligned} E_{land} &= \frac{W}{2g} w_{ult}^2 \\ S_{sa} &= \frac{1}{\eta_s} \frac{E_{land}}{L_m \lambda_{LG}}\end{aligned}\end{split}\]As a preliminary model, the oleo size can be estimated using historical relations that are conveniently in monomial form [Raymer, 1992]. The length of the main gear must be greater than the length of the oleo and the radius of the tyres.
\[\begin{split}\begin{aligned} l_{oleo} &= 2.5 S_{sa} \\ d_{oleo} &= 1.3 \sqrt{\frac{4 \lambda_{LG} L_{m}/n_{mg}}{p_{oleo} \pi}} \\ l_{m} &\geq l_{oleo} + \frac{d_{t_m}}{2} \end{aligned}\end{split}\]Debugging Aircraft Models¶
For this purpose, the ‘GPkit documentation<http://gpkit.readthedocs.io/en/latest/debugging.html>’_ is the most useful resource.
However, some extra tips and tricks will be posted here in the future.
References¶
- [Anderson, 2001] Anderson, J. D., “Fundamentals of aerodynamics, 2001,” .
- [Burton, 2017] Burton, M., Solar-Electric and Gas Powered, Long-Endurance UAV Sizing via Geometric Programming, Master’s thesis, Massachusetts Institute of Technology, Cambridge, MA, 2017.
- [Chai, 1996] Chai, S. T. and Mason, W. H., Landing gear integration in aircraft conceptual design, Master’s thesis, Virginia Polytechnic Institute and State University, 1996.
- [Currey, 1984] Currey, N. S., Landing Gear Design Handbook, Lockheed-Georgia Company, 1984.
- [Drela, 1989] Drela, M., “XFOIL: An analysis and design system for low Reynolds number airfoils,” Low Reynolds number aerodynamics, Springer, 1989, pp. 1–12.
- [Drela, 2011] Drela, M., TASOPT 2.08 Transport Aircraft System OPTimization, 2011.
- [Hoburg, 2013] Hoburg, W. and Abbeel, P., “Geometric programming for aircraft design optimization,” AIAA Journal, Vol. 52, No. 11, 2014, pp. 2414–2426.
- [Hoburg, 2014] Hoburg, W., Kirschen, P., and Abbeel, P., “Fitting Geometric Programming Models to Data,” Optimization and Engineering.
- [Kirschen, 2016] ] Kirschen, P. G., Signomial Programming for Aircraft Design, Master’s thesis, Massachusetts Institute of Technology, Cambridge, MA, 2016.
- [Kroo, 2001] Kroo, I., Altus, S., Braun, R., Gage, P., and Sobieski, I., “Multidisciplinary optimization methods for aircraft preliminary design,” AIAA paper, Vol. 4325, 1994, pp. 1994.
- [Nita, 2012] Nita, M. and Scholz, D., Estimating the oswald factor from basic aircraft geometrical parameters, Deutsche Gesellschaft für Luft-und Raumfahrt-Lilienthal-Oberth eV, 2012.
- [Raymer, 1992] Raymer, D. P., “Aircraft Design: A Conceptual Approach,” 1992.
- [Torenbeek, 1982] Torenbeek, E., Synthesis of subsonic aircraft design, 1982.
- [York, 2017] Martin York, W. H. and Drela, M., “Turbofan Engine Sizing and Tradeoff Analysis via Signomial Programming,” AIAA Journal of Aircraft, 2017.