# Initial sizing

A popular method for initial sizing is the so called constraint analysis method. The method can be used to asses the required wing area and power for an aircraft such that the aircraft meets all performance requirements.

The performance requirements are defined by mathematical expressions of the following form:

$$\frac{T}{W}=f\left(\frac{W}{S}\right)$$.

In the above equation $$\frac{T}{W}$$is referred to as the thrust to weight ratio and the $$\frac{W}{S}$$is referred to as the wing loading. The expressions relating the wing loading to the thrust to weight ratio are dependent on the performance requirements. Below are commonly used performance requirements equations. They can be found in any aircraft performance textbook.&#x20;

{% hint style="info" %}
The performance equations below are rewritten as a function of the power loading $$\frac{P}{W}$$expressed in $$W/kg$$. This is more convenient when designing propeller-powered aircraft.
{% endhint %}

### P/W for a level, constant-velocity turn

$$\frac{P}{W}=q\_{cruise}\left(\frac{C\_{D0}}{\frac{W}{S}g}+k\left(\frac{n}{g}\right)^2\frac{W}{S}g\right)\frac{V\_{cruise}}{\eta}g$$

### P/W for a desired rate of climb

$$\frac{P}{W}=\left(\frac{ROC}{V\_{climb}}+\frac{q\_{ref}}{\frac{W}{S}g}C\_{D0}+\frac{k}{q\_{ref}}\frac{W}{S}g\right)\frac{V\_{climb}}{\eta}g$$

### P/W for a desired cruise airspeed

$$\frac{P}{W}=\left(\frac{q\_{cruise}C\_{D0}}{\frac{W}{S}g}+\frac{k}{q\_{cruise}}\frac{W}{S}g\right)\frac{V\_{cruise}}{\eta}g$$

### P/W for a desired takeoff distance

$$\frac{P}{W}=\left\[\frac{V\_{takeoff}^2}{2gS\_{takeoff}}+\frac{q\_{takeoff}C\_{D,takeoff}}{\frac{W}{S}g}+C\_{f,takeoff}\left(1-\frac{q\_{takeoff}C\_{L,takeoff}}{\frac{W}{S}g}\right)\right]\frac{V{climb}}{\eta}g,\ V\_{takeoff}=1.1V\_{stall}$$

$$V\_{stall}=\sqrt{\frac{2}{\rho C\_{L,max}}\frac{W}{S}g}$$

### P/W for a best range

$$\frac{P}{W}=\left(\frac{q\_{range}C\_{D0}}{\frac{W}{S}g}+\frac{k}{q\_{range}}\frac{W}{S}g\right)\frac{V\_{range}}{\eta}g,\quad V\_{range}=\sqrt{\frac{2g}{\rho}\frac{W}{S}\sqrt{\frac{k}{C\_{D0}}}}$$

### P/W for best endurance

$$\frac{P}{W}=\left(\frac{q\_{endurance}C\_{D0}}{\frac{W}{S}g}+\frac{k}{q\_{endurance}}\frac{W}{S}g\right)\frac{V\_{endurance}}{\eta}g,\quad V\_{endurance}=\sqrt{\frac{2g}{\rho}\frac{W}{S}\sqrt{\frac{k}{3C\_{D0}}}}$$

### CLmax for desired stall speed

$$C\_{L,max}=\frac{1}{q\_{stall}}\frac{W}{S}g$$

The expressions above depend on the following parameters:&#x20;

| Parameter                                    | Description                                        |
| -------------------------------------------- | -------------------------------------------------- |
| $$n$$                                        | Load factor                                        |
| $$C\_{L,max}$$                               | Maximum lift coefficient                           |
| $$C\_{D0}$$                                  | Minimum drag coefficient                           |
| $$k$$                                        | Induced drag coefficient                           |
| $$\eta$$                                     | Propulsive efficiency                              |
| $$V\_{cruise}, q\_{cruise}$$                 | Cruise airspeed and dynamic pressure               |
| $$V\_{climb}, q\_{climb}, ROC$$              | Climb airspeed, dynamic pressure and rate of climb |
| $$V\_{takeoff}, q\_{takeoff}, S\_{takeoff}$$ | Takeoff airspeed, dynamic pressure, distance       |
| $$V\_{stall}$$                               | Stall airspeed                                     |
| $$\rho$$                                     | Density                                            |
| $$g$$                                        | Acceleration due to gravity                        |
| $$C\_{f}$$                                   | Ground friction coefficient                        |

When performing initial sizing it is difficult to determine the values for the above parameters. After all we haven't even started designing the aircraft! You have probably guessed already - aircraft design is an iterative process.&#x20;

The image below shows all the performance requirements equations. The required $$C\_{L,max}$$for a desired stall speed is also shown.&#x20;

![Wing vs power loading graph](https://2298927434-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MWUM1iuDAQw73diDpYu%2F-Mgbo7a64fJzCE5DuicT%2F-MgboHhS3T15Kt1oAzBA%2Fconstraint_analysis.png?alt=media\&token=7c6f2184-b2f3-448f-8806-0e96201fbaf1)

In order to meet all performance requirements, the design point should be above all performance requirement equations. In the above image for a design having a wing loading of $$25\text{ }kg/m^2$$the power loading should be approximately $$200\text{ }W/kg$$. In addition for a design having a wing loading of $$25\text{ }kg/m^2$$and a desired stall speed of $$15\text{ }m/s$$the maximum lift coefficient $$C\_{L,max}$$of the design should be approximately $$1.8$$.  Consider you would like your design to have a mass of $$20 kg$$. For a wing loading of $$25\text{ }kg/m^2$$and power loading of $$200\text{ }W/kg$$you will need a reference area of approximately $$S\_{ref}=0.8\text{ }m^2$$and power system of approximately $$4000\text{ }W$$.

### Example

Please refer to the Python code below which plots the constraint analysis for specific combination of parameters.

```
import math
import matplotlib.pyplot as plt
import numpy as np


k=0.0593
CD0=0.0181
eta=0.6
m=20
S=3.2200
V_turn=25
V_cruise=25
V_climb=20
ROC=10
ROC_ceiling=0.5
CL_CD0=0.2784
CL_max=1.7
rho=1.1116
rho_takeoff=1.225
rho_ceiling=0.8191
g=9.80665
phi=math.radians(30)
n=1/math.cos(phi)
S_takeoff=50
Cf_takeoff=0.025

N=100
wss = np.linspace(1,30,N)
pw_turn = np.zeros(N)
pw_climb = np.zeros(N)
pw_cruise = np.zeros(N)
pw_takeoff = np.zeros(N)
pw_ceiling = np.zeros(N)
pw_endurance = np.zeros(N)
pw_range = np.zeros(N)

i=0
for ws in wss:

    #Turn
    q=1/2*rho*V_turn**2
    pw_turn[i]=q*(CD0/(ws*g)+k*(n/q)**2*ws*g)*V_turn/eta*g
    P_turn = pw_turn[i] * m

    #Climb
    q=1/2*rho*V_climb**2
    pw_climb[i]=(ROC/V_climb+q/(ws*g)*CD0+k/q*ws*g)*V_climb/eta*g
    P_climb = pw_climb[i] * m

    #Cruise
    q=1/2*rho*V_cruise**2
    pw_cruise[i]=(q*CD0*(1/(ws*g))+k*(1/q)*ws*g)*V_cruise/eta*g
    P_cruise = pw_cruise[i] * m

    #Takeoff
    V_stall=math.sqrt(2/(rho_takeoff*CL_max)*ws*g)
    V_takeoff=1.1*V_stall

    CL_takeoff = 0.8*CL_max
    CD_takeoff = CD0 + k*(CL_takeoff-CL_CD0)**2

    q=1/2*rho_takeoff*(0.7*V_takeoff)**2
    pw_takeoff[i]=(V_takeoff**2/(2*g*S_takeoff)+q*CD_takeoff/(ws*g)+Cf_takeoff*(1-(q*CL_takeoff)/(ws*g)))*V_takeoff/eta*g
    P_takeoff=pw_takeoff[i] * m

    #Ceiling
    pw_ceiling[i]=(ROC_ceiling/math.sqrt(2/rho_ceiling*ws*g*math.sqrt(k/(3*CD0)))+4*math.sqrt((k*CD0)/3))*V_climb/eta*g
    P_cng=pw_ceiling[i]*m

    #Best endurance
    V_endurance = math.sqrt(2 * g * ws * math.sqrt(k / (3*CD0)) / rho)
    q = 1/2 * rho * V_endurance**2
    pw_endurance[i] = (q*CD0/(ws*g)+k/q*ws*g)*V_endurance/eta*g
    P_endurance = pw_endurance[i] * m

    #Best range
    V_range = math.sqrt(2 * g * ws * math.sqrt(k / CD0) / rho)
    q = 1/2 * rho * V_range**2
    pw_range[i] = (q*CD0/(ws*g)+k/q*ws*g)*V_range/eta*g
    P_range = pw_range[i] * m

    i=i+1

plt.figure()
plt.plot(wss,pw_cruise,label='Cruise')
plt.plot(wss,pw_climb,label='Climb')
plt.plot(wss,pw_turn,label='Turn')
plt.plot(wss,pw_endurance,label='Endurance')
plt.plot(wss,pw_range,label='Range')
plt.plot(wss,pw_ceiling,label='Ceiling')
plt.plot(wss,pw_takeoff,label='Takeoff')
plt.title('Constraints')
plt.legend()
plt.xlabel('Wing loading (kg/m^2)')
plt.ylabel('Power loading (W/kg)')
plt.show()
```
