Skip to content

Commit 54639bc

Browse files
committed
guides
1 parent f890b53 commit 54639bc

10 files changed

+97
-86
lines changed

_posts/2015-06-14-Boeing_737-800.md

+20-19
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: post
33
title: Boeing 737-800
44
date: 2016-02-14 13:25:00
55
categories: blog
6+
description: Setup and analyze a conventional aircraft configuration
67

78
permalink: /guides/boeing_737-800.html
89
---
@@ -15,7 +16,7 @@ permalink: /guides/boeing_737-800.html
1516

1617
The tutorial shows how the user can set up a conventional aircraft configuration and a mission the aircraft is to fly and then simulate the aircraft's performance over the defined mission. The code is divided into a number of functions that are called from the main function. The descriptions in the functions clearly explain the function's inputs and outputs and the actions performed on the functions.
1718

18-
###Steps to simulate the aircraft's performance over a mission :
19+
### Steps to simulate the aircraft's performance over a mission :
1920

2021
1) Locate the tutorial script folder, /Tutorials, from your project folder as described in the Download guide. If using the command line, cd to this directory.
2122
2) Open the tut_mission_B737.py script in your favorite editor or IDE.
@@ -26,14 +27,14 @@ The tutorial shows how the user can set up a conventional aircraft configuration
2627
3) A few plots depicting the variation of the different aircraft performance parameters (Cl,Cd,etc) over the course of the mission are shown.
2728

2829

29-
###Important Functions :
30+
### Important Functions :
3031

3132
The script is divided into a set of functions that setup different aspects of the modeling process. The important functions are:
3233

3334
#### vehicle_setup()
3435
function is where the aircraft's geometry is specified.
3536

36-
#####Setting up a wing
37+
##### Setting up a wing
3738
The code below shows how the main wing of the aircraft is set up. The basic geometric inputs that define the wing are specified. Then the wing is then appended to the vehicle, which is an instance of the aircraft class.
3839

3940
In SUAVE units are identified through the use of a units package called Pint. Notice, that for the wing sweep that the units are specified in degrees through *Units.deg. To get results into a desired unit use /Units.deg.
@@ -73,7 +74,7 @@ wing.dynamic_pressure_ratio = 1.0
7374
vehicle.append_component(wing)
7475
</code></pre>
7576

76-
#####Setting up the fuselage
77+
##### Setting up the fuselage
7778
Similar to the wing above, the code below illustrates how a fuselage can be added to the vehicle. Again the user is required to specify the basic fuselage geometric parameters and then add the fuselage object to the vehicle.
7879

7980
<pre><code class="python">fuselage = SUAVE.Components.Fuselages.Fuselage()
@@ -110,7 +111,7 @@ fuselage.differential_pressure = 5.0e4 * Units.pascal # Maximum differential pre
110111
vehicle.append_component(fuselage)
111112
</code></pre>
112113

113-
#####Setting up the propulsion system
114+
##### Setting up the propulsion system
114115

115116
The aircraft uses a turbofan engine. This engine can be constructed piece by piece using the energy network framework. We instantiate the network as shown below.
116117

@@ -147,14 +148,14 @@ print "engine length : ",turbofan.engine_length
147148
vehicle.append_component(turbofan)
148149
</code></pre>
149150

150-
####Data Structure Visualization
151+
#### Data Structure Visualization
151152
The data structure associated with the Boeing 737-800 can be visualized [here](/guides/data_structures/B737.html).
152153

153154
[![Boeing 737 Data Structure](../images/b737_datastructure_preview.png)](/guides/data_structures/B737.html)
154155

155156
This visualization shows the hierarchy of data in a SUAVE vehicle. Some of the values are defaulted, for example costs. This is because we are not performing cost analysis on the Boeing 737-800. Additionally, this snapshot of the data structure was taken prior to analysis. Therefore weights have not been calculated and are not part of the data. During the mission analysis component weights will be determined and weights will be populated.
156157

157-
####configs_setup() :
158+
#### configs_setup()
158159
The aircraft geometry created is converted into configurations that can be used to make simple modifications to the geometric paramaters while not modifying the aircraft geometry completely. An example of the use of this feature is when high-lift devices need to be deployed during landing and takeoff. Thus a landing and takeoff configuration can be added as shown below and then during say the flaps and slats settings can be set differently for each of the configurtaions.
159160

160161
<pre><code class="python"># ------------------------------------------------------------------
@@ -183,7 +184,7 @@ configs.append(config)
183184
</code></pre>
184185

185186

186-
####mission_setup()
187+
#### mission_setup()
187188
To modify the baseline mission that the aircraft flies, go to the mission_setup() function and add or delete segments of the mission
188189

189190
<pre><code class="python">segment = Segments.Cruise.Constant_Speed_Constant_Altitude(base_segment)
@@ -197,44 +198,44 @@ mission.append_segment(segment)
197198
</code></pre>
198199

199200

200-
####base_analysis()
201+
#### base_analysis()
201202
Also to leverage SUAVE's multifidelity capability and use a different fidelity analysis for any of the disciplines (aerodynamics,propulsion, stability, etc), the base_analysis function can be modified by switching out an analysis module for a different one.
202203

203204

204205

205206

206-
###Other Functions :
207+
### Other Functions :
207208

208-
####main()
209+
#### main()
209210

210211
The main function is the driver function for the mission simulation. It calls the various routines in the appropriate order in order to set up the geometry and the mission, evaluate the performance of the aircraft over the mission and return the results.
211212

212-
####full_setup()
213+
#### full_setup()
213214

214215
This function (called from the main() function) sets up the aircraft geometry, configs and the missions the aircraft is to be analysed for by calling the vehicle_setup, configs_setup, analyses_setup, mission_setup and missions_setup functions.
215216

216217

217-
####simple_sizing()
218+
#### simple_sizing()
218219

219220
The simple sizing function sizes the aircraft's geometric components based on the geometric inputs specified by the user in the vehicle_setup() function.
220221

221-
####base_analysis()
222+
#### base_analysis()
222223

223224
The method takes in the vehicle and assigns different analysis methods (for aero, propulsion, weights, stability) to the analyses object.
224225

225-
####analyses_setup()
226+
#### analyses_setup()
226227

227228
This functions takes in the base analysis and sets up different analysis methods for different configurations.
228229

229-
####missions_setup()
230+
#### missions_setup()
230231

231232
This method allows the user to set up a variety of missions that need to be evaluated for an aircraft.
232233

233-
####plot_mission()
234+
#### plot_mission()
234235

235236
This is a post processing function that takes in the results data structure and generates the necessary plots.
236237

237-
###RESULTS
238+
### RESULTS
238239

239240
The plots shown below should be generated if the mission analysis executes correctly. The results show the aerodynamic, propulsion and mission properties of the B737-800 for the defined mission.
240241

@@ -247,7 +248,7 @@ The plots shown below should be generated if the mission analysis executes corre
247248
![B737 Drag](/images/B737_drag.png)
248249

249250

250-
###Modifying the Aircraft's Geometry or Mission :
251+
### Modifying the Aircraft's Geometry or Mission :
251252

252253
Suppose we want to simulate a high span variant of the B737-800. The span is increased to 40.0 m. We assume the wing chords, sweep, taper ratio, thickness to chord ratio remain the same. Thus changing the span only changes the aspect ratio and the wing area.
253254

_posts/2015-06-15-Lithium_Air_Regional_Jet_Analysis.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: post
33
title: Lithium Air Regional Jet Analysis
44
date: 2015-06-15 14:25:00
55
categories: blog
6+
description: Incorporate more novel propulsion configurations.
67

78
permalink: /guides/lithium_air_regional_jet_analysis.html
89
---
@@ -11,10 +12,10 @@ permalink: /guides/lithium_air_regional_jet_analysis.html
1112
<script>hljs.initHighlightingOnLoad();</script>
1213

1314

14-
##Introduction
15+
## Introduction
1516
The purpose of this tutorial is to highlight some of SUAVE's more exotic propulsion system capabilities. This tutorial assumes that the user has completed the Boeing 737-800 tutorial, and has some familiarity with SUAVE's propulsion system data structures.
1617

17-
##Baseline Case
18+
## Baseline Case
1819
Open the file called "tut_lithium_air_jet.py" in
1920
a text editor or IDE.
2021

@@ -23,7 +24,7 @@ a text editor or IDE.
2324

2425
Look over the plots, to gain a feel for the various idiosyncrasies of the design. Note the significant rise in aircraft mass, as a result of the lithium-air batteries
2526

26-
##Different Propulsion System Assumptions
27+
## Different Propulsion System Assumptions
2728
Go to line 116, and change the battery specific energy from 2000 W-h/kg to 1500 W-h/kg
2829
<pre><code class="python">
2930
battery = configs.base.energy_network['battery']

_posts/2015-06-15-Turbofan_Network.md

+10-9
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: post
33
title: Turbofan Network
44
date: 2015-06-15 14:20:03
55
categories: blog
6+
description: Get familiar with SUAVE’s energy and propulsion network.
67

78
permalink: /guides/turbofan_network.html
89
---
@@ -16,7 +17,7 @@ permalink: /guides/turbofan_network.html
1617
The tutorial describes how the energy network in SUAVE can be used to build a model of a turbofan engine. Once this is clear to the user, then the understanding the setup of the other gasturbine models, the ducted fan and the turbojet should not be very difficult. The turbofan model is built using the different turbofan components as its building blocks and then linking the inputs and outputs of the different components. The script to follow is the tut_mission_B737.py script that was used in the [Boeing 737-800 Analysis Tutorial](/guides/boeing_737-800.html)
1718

1819

19-
###Setting up the Turbofan model
20+
### Setting up the Turbofan model
2021

2122
First the turbofan energy energy network is instantiated. The parameters associated with the network as a whole are assigned.
2223

@@ -41,12 +42,12 @@ turbofan.working_fluid = SUAVE.Attributes.Gases.Air()
4142
Then the different components are added
4243

4344

44-
###Components :
45+
### Components :
4546

4647
The basic components used to model the turbofan are described below.
4748

4849

49-
####Ram
50+
#### Ram
5051

5152
The 'Ram' component is used to convert the freestream quantities that are passed into the Turbofan network into stagnation quantities. As the turbofan network as based on a 1D gasdynamic analysis, most of the energy transfer across the different components are modelled as changes in the stagnation quantities. Thus the Ram component acts as a preprocessor converting the input 'Conditions' into quantities required by the network.
5253

@@ -63,7 +64,7 @@ ram.tag = 'ram'
6364
turbofan.append(ram)
6465
</code></pre>
6566

66-
####Nozzle
67+
#### Nozzle
6768

6869
The 'Nozzle' component is used to model the inlet diffuser and the outlet fan and compressor nozzles as shown below.
6970

@@ -111,7 +112,7 @@ nozzle.pressure_ratio = 0.99
111112
turbofan.append(nozzle)
112113
</code></pre>
113114

114-
####Compressor
115+
#### Compressor
115116

116117
Two compressors are used in the turbofan model, a low and a high pressure compressor.
117118

@@ -144,7 +145,7 @@ compressor.pressure_ratio = 13.415
144145
turbofan.append(compressor)
145146
</code></pre>
146147

147-
####Fan
148+
#### Fan
148149

149150
A fan component is also added to the network. To model turbojets, the fan component and the fan nozzle are not added but all the othee components remain the same.
150151

@@ -164,7 +165,7 @@ turbofan.append(fan)
164165
</code></pre>
165166

166167

167-
####Combustor
168+
#### Combustor
168169

169170
The combustor component is where the the fuel to air ratio is computed and this is used to compute the sfc and the thrust later in the network.
170171

@@ -186,7 +187,7 @@ combustor.fuel_data = SUAVE.Attributes.Propellants.Jet_A()
186187
turbofan.append(combustor)
187188
</code></pre>
188189

189-
####Turbine
190+
#### Turbine
190191

191192
The work done by the fan and the compressors is used to compute the turbine work required. This is used to compute the change in the stagnation quantities across the turbine.
192193

@@ -221,7 +222,7 @@ turbofan.append(turbine)
221222

222223

223224

224-
####Thrust
225+
#### Thrust
225226

226227
The thrust component takes in the initial (inputs of the inlet nozzle) and final (exit of the fan and core exirt nozzles) stagnation quantities of the network and the fuel to air ratio and computes the specific fuel conspumption (sfc) and thrust generated by the network (turbofan engine).
227228

_posts/2015-06-17-Payload_Range_Diagram.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: post
33
title: Payload Range Diagram
44
date: 2015-06-17 23:22:21
55
categories: blog
6+
description: Learn how to use SUAVE for creating a payload-range diagram.
67

78
permalink: /guides/payload_range_diagram.html
89
---

_posts/2015-06-18-Solar_UAV.md

+13-12
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: post
33
title: Solar UAV
44
date: 2015-06-18 23:22:20
55
categories: blog
6+
description: Analyze an unconventional aircraft and energy network.
67

78
permalink: /guides/solar_uav.html
89
---
@@ -11,7 +12,7 @@ permalink: /guides/solar_uav.html
1112
<script src="//cdn.jsdelivr.net/highlight.js/8.6/highlight.min.js"></script>
1213
<script>hljs.initHighlightingOnLoad();</script>
1314

14-
##Introduction
15+
## Introduction
1516

1617
The purpose of this tutorial is to educate users on how to setup a preconfigured solar energy network to work with a high altitude solar UAV. In this tutorial it is assumed that the user has some familiarity with SUAVE having completed the fundamental tutorial for the Boeing 737-800. You will learn about setting up the following:
1718

@@ -26,17 +27,17 @@ The purpose of this tutorial is to educate users on how to setup a preconfigured
2627

2728
Because of the flexible nature of SUAVE, the approach shown is just one way to setup the UAV for analysis. By experimenting and eventually developing your own code you will be able to do far more than what is shown in this tutorial. The original script can be found in /scripts/tutorials/tut_solar_uav.py.
2829

29-
##Vehicle and Mission
30+
## Vehicle and Mission
3031

3132
The vehicle is similar to the Qinetiq Zephyr but far larger at 40 meters in wing span and weighs in at 200 kg. However, it does carry double the payload of the Zephyr at 5 kg and accounts for constant payload power usage. The battery energy density is set to an optimistic estimate of 450 Watt-hours per kg. Additionally, 90 percent of the wings are covered with solar panels that have a 25 percent efficiency.
3233

3334
This mission exercises the methods developed for solar radiation estimation, propeller and motor integration, as well as the human powered aircraft weight estimation. The mission setup is a constant altitude cruise at 15 km at Mach 0.12 for about 24 hours. The location is over the California Bay Area during the summer solstice.
3435

35-
##Setup
36+
## Setup
3637

3738
This tutorial highlights the differences between setting up a typical aircraft like a Boeing 737 and a solar UAV.
3839

39-
###Mission Setup
40+
### Mission Setup
4041

4142
For a solar UAV, the starting location as well as the day and time are critical. So the first segment must be modified to include this information. It is important to note that the start times provided are in "Zulu" time or Greenwich Mean Time. This is typical for aircraft navigation to prevent time zone errors and ambiguity.
4243

@@ -52,23 +53,23 @@ segment.longitude = -122.1700
5253

5354
Additionally, this mission is highly simplified. It consists of only one mission segment. To provide ample resolution the number of control points have been increased to 64.
5455

55-
###Structural Weight Sizing
56+
### Structural Weight Sizing
5657

5758
The vehicle sizing of the human powered aircraft or solar UAV requires the dimensions of the vehicle like in other weight estimation methods. However, it also requires information about the number of wing ribs and the number of end ribs. The end ribs are relevant for wing designs where the sections can come apart for transportation.
5859

5960
<pre><code class="python">wing.number_ribs = 26.
6061
wing.number_end_ribs = 2.
6162
</code></pre>
6263

63-
###Wing Boundary Layer Transition
64+
### Wing Boundary Layer Transition
6465

6566
The transition location of the boundary layer can have a great impact on the drag of the wing. This is especially important in properly designed low Reynolds number flows when laminar flow can be extended for larger percentages of the surface. The code snippet below is how surfaces have transition points set. These are estimates provided from the designer based on experience.
6667

6768
<pre><code class="python">wing.transition_x_upper = 0.6
6869
wing.transition_x_lower = 1.0
6970
</code></pre>
7071

71-
###Solar Panels
72+
### Solar Panels
7273

7374
The solar panel model is quite simple and only requires a capture area, an efficiency, and mass. In this case we assume that 90% of the wing area is covered in solar panels.
7475

@@ -78,7 +79,7 @@ panel.mass_properties.mass = panel.area*(0.60 * Units.kg)
7879
</code></pre>
7980

8081

81-
###Batteries
82+
### Batteries
8283

8384
The batteries are set up with knowledge of the mass of the battery and the specific energy. In this case a futuristic specific energy of 450 Watt-hr/kg is set for lithium ion type batteries. The resistance of the batteries is another important input to determine charging and discharging losses.
8485

@@ -91,7 +92,7 @@ net.battery = bat
9192
</code></pre>
9293

9394

94-
###Propeller
95+
### Propeller
9596

9697
To setup the propeller we will actually design an optimized propeller. This is done through the methods provided by Adkins and Liebeck. The attributes of the propeller design are then seeded to the motor and network to accelerate convergence of the propeller and motor models.
9798

@@ -112,7 +113,7 @@ prop.prop_attributes = prop_attributes
112113
net.propeller = prop
113114
</code></pre>
114115

115-
###Motor
116+
### Motor
116117

117118
This motor model relies on data that is generally available from motor manufacturers. This includes the resistance, no load current, and the speed constant. Additionally, any gearbox is specified here and basic information about the propeller is entered here to help inform the solver when converging the motor and propeller analyses.
118119

@@ -130,13 +131,13 @@ net.motor = motor
130131
</code></pre>
131132

132133

133-
##Running
134+
## Running
134135

135136
As you should be familiar with by now, running this script is just like any other.
136137
<pre><code class="bash">python tut_solar_uav.py
137138
</code></pre>
138139

139-
##Results
140+
## Results
140141

141142
If all went well the script ran and it provided you with more plots than you ever wanted. Here are some of the plots that were generated when we ran it:
142143

_posts/2015-07-15-Concorde.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ layout: post
33
title: Concorde
44
date: 2015-07-15 14:25:00
55
categories: blog
6+
description: Go Supersonic !
67

78
permalink: /guides/concorde.html
89
---

0 commit comments

Comments
 (0)