Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Feature sizing #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 67 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
9e5959c
adding the new tutorials for the release
planes Apr 12, 2016
e8d64eb
Added files via upload
tarikorra Apr 17, 2016
a0b79a1
Added files via upload
tarikorra Apr 17, 2016
68b50ae
Update 2015-06-17-Payload_Range_Diagram.md
tarikorra Apr 17, 2016
dd07ed1
reverting changes (master instead of develeop!)
tarikorra Apr 17, 2016
2a78f89
updating formatting
tarikorra Apr 17, 2016
a306ad4
Merge branch 'master' of https://github.com/suavecode/suavecode.githu…
planes Apr 18, 2016
d287296
updates to FAQ, and some solar changes
planes Apr 18, 2016
f890b53
solar uave opt
planes Apr 18, 2016
20abe3f
Merge branch 'develop' of https://github.com/suavecode/suavecode.gith…
jmvegh Apr 18, 2016
54639bc
guides
planes Apr 18, 2016
9a908ff
fixing merge
planes Apr 18, 2016
8d3c001
adding logos
planes Apr 18, 2016
e0ab15d
fixing typo
planes Apr 18, 2016
546889e
fixing sauve
planes Apr 18, 2016
9aea9ef
cleanup of guides
planes Apr 18, 2016
72bc70f
more cleanup of tutorials
planes Apr 18, 2016
e41a8b5
fixed path on optimization images
jmvegh Apr 19, 2016
66840e6
updates to faq
planes Apr 19, 2016
97fa1aa
updated email
planes Apr 19, 2016
e12469a
updating release name
planes Apr 19, 2016
9aede7b
fixing address for email
planes Apr 19, 2016
84e6c04
some minor changes to the release email
jmvegh Apr 19, 2016
3d44b10
another couple of small email changes
jmvegh Apr 19, 2016
a14a484
adding link for anil paper
planes Apr 20, 2016
cdf0389
removing avl
planes Apr 27, 2016
23e94d4
fixing name of file for payload range
planes May 2, 2016
4f67019
Merge pull request #1 from suavecode/develop
planes May 2, 2016
7cbfa1e
changing email
planes May 2, 2016
519718c
Concorde tutorial updates
May 3, 2016
d300795
Merge branch 'master' of https://github.com/suavecode/suavecode.githu…
May 3, 2016
f1426fb
Removed concorde line numbers
May 3, 2016
03d62b5
adding mission solver to faq
planes May 5, 2016
e544d29
editing faq
planes May 5, 2016
5645e33
Update 2018-06-15-FAQ.md
timdmacdo May 5, 2016
7bfb5ad
missing section 2 and 4 of B737
planes May 31, 2016
c2fd440
Attempting to remove forum from guides
timdmacdo Jun 10, 2016
7fda4a2
Testing buttons
timdmacdo Jun 10, 2016
67adfac
Test 2
timdmacdo Jun 10, 2016
b841183
Test 3
timdmacdo Jun 10, 2016
7ebcfcc
Fixing buttons
timdmacdo Jun 10, 2016
140f1c5
Revert "Fixing buttons"
timdmacdo Jun 10, 2016
d499a55
Revert "Test 3"
timdmacdo Jun 10, 2016
008f7b9
Revert "Test 2"
timdmacdo Jun 10, 2016
98c4fd5
Revert "Testing buttons"
timdmacdo Jun 10, 2016
99dcf9a
Test 4
timdmacdo Jun 13, 2016
8d84d24
Test 5
timdmacdo Jun 13, 2016
d060d9f
Test 6
timdmacdo Jun 13, 2016
ba96378
new SUAVE email
planes Jan 9, 2017
c3b8caa
.gitignore is now working
planes Jan 10, 2017
f0ffcac
merge annoyingness
planes Jan 10, 2017
7db6146
Merge branch 'master' of https://github.com/suavecode/suavecode.githu…
planes Jan 10, 2017
98ae0b0
Concorde update
timdmacdo Jan 10, 2017
4b5bc88
reordering concorde
planes Jan 10, 2017
8c69932
updated B737
planes Jan 10, 2017
472f975
BWB tutorial
planes Jan 11, 2017
fde5f44
bwb change intro
planes Jan 11, 2017
6bee98a
moving BWB down list;
planes Jan 11, 2017
ff394ae
update release name
planes Jan 11, 2017
0fd98e4
fixing license
planes Jan 11, 2017
f79926a
updating develop tasks
planes Jan 11, 2017
ec60f7c
putting in scikitlearn
planes Jan 11, 2017
f793d96
created new branch
jmvegh Jan 26, 2017
fd70d05
added a bunch of stuff; not done yet
jmvegh Jan 27, 2017
8311f65
more bigly additions to the new tutorial
jmvegh Jan 27, 2017
f0592c2
added Li-Air optimization
jmvegh Jan 31, 2017
0cb64b8
some small additions
jmvegh Jan 31, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
_site
.sass-cache
4 changes: 2 additions & 2 deletions _includes/left-nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ <h1 class="greetings">{{ site.greetings }}</h1>
</section>
<nav class="main-nav">
<ul>
<li><a class="btn page-link {% if page.url == '/index.html' %}active{% endif %}" href="/">About</a></li>
<li><a class="btn page-link {% if page.url == '' %}active{% endif %}" href="/">About</a></li>
<li><a class="btn page-link {% if page.url == '/download/' %}active{% endif %}" href="/download/">Download</a></li>
<li><a class="btn page-link {% if page.url == '/guides/index.html' or page.categories != nil %}active{% endif %}" href="/guides/">Guides</a></li>
<li><a class="btn page-link {% if page.url == '/guides/' or page.categories != nil %}active{% endif %}" href="/guides/">Guides</a></li>
<li><a class="btn page-link {% if page.url == '/develop/' %}active{% endif %}" href="/develop/">Develop</a></li>
<li><a class="btn page-link {% if page.url == '/forum/' %}active{% endif %}" href="/forum/">Forum</a></li>

Expand Down
8 changes: 0 additions & 8 deletions _includes/main-content-footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,7 @@
</a>
{% endif %}
</div>

<br>

<a class="wingware" href="https://wingware.com">
<img src="/images/wingware.png">
</span>
</a>

<br>
<br>

<small>Copyright &copy; 2015 <br> Stanford Aerospace Design Lab <br> All rights reserved</small>
Expand Down
1 change: 0 additions & 1 deletion _layouts/post.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ <h1 class="title">{{ page.title }}</h1>
<article class="content">
{{ content }}
</article>


<div class="content">
<div id="disqus_thread"></div>
Expand Down
162 changes: 87 additions & 75 deletions _posts/2015-06-14-Boeing_737-800.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ layout: post
title: Boeing 737-800
date: 2016-02-14 13:25:00
categories: blog
description: Setup and analyze a conventional aircraft configuration

permalink: /guides/boeing_737-800.html
---
Expand All @@ -15,7 +16,7 @@ permalink: /guides/boeing_737-800.html

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.

###Steps to simulate the aircraft's performance over a mission :
### Steps to simulate the aircraft's performance over a mission :

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.
2) Open the tut_mission_B737.py script in your favorite editor or IDE.
Expand All @@ -26,113 +27,122 @@ The tutorial shows how the user can set up a conventional aircraft configuration
3) A few plots depicting the variation of the different aircraft performance parameters (Cl,Cd,etc) over the course of the mission are shown.


###Important Functions :
### Important Functions :

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

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

#####Setting up a wing
##### Setting up a wing
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.

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.

The wing sweep is defined as the sweep of the quarter chord. Additionally, a symmetric wing means that it is symmetric about the root, i.e. there is right and left side.


<pre><code class="python">wing = SUAVE.Components.Wings.Main_Wing()
wing.tag = 'main_wing'
<pre><code class="python">
wing = SUAVE.Components.Wings.Main_Wing()
wing.tag = 'main_wing'

wing.aspect_ratio = 10.18
wing.sweep = 25 * Units.deg
wing.thickness_to_chord = 0.1
wing.taper = 0.16
wing.span_efficiency = 0.9
wing.aspect_ratio = 10.18 # Not set
wing.thickness_to_chord = 0.1 # Not set
wing.taper = 0.1
wing.span_efficiency = 0.9

wing.spans.projected = 35.66
wing.spans.projected = 34.32

wing.chords.root = 6.81
wing.chords.tip = 1.09
wing.chords.mean_aerodynamic = 4.235
wing.chords.root = 7.760 * Units.meter
wing.chords.tip = 0.782 * Units.meter
wing.chords.mean_aerodynamic = 4.235 * Units.meter

wing.areas.reference = 124.862
wing.areas.reference = 124.862 # Not set
wing.sweeps.quarter_chord = 25. * Units.degrees

wing.twists.root = 4.0 * Units.degrees
wing.twists.tip = -4.0 * Units.degrees
wing.twists.root = 4.0 * Units.degrees
wing.twists.tip = 0.0 * Units.degrees
wing.dihedral = 2.5 * Units.degrees

wing.origin = [20,0,0]
wing.aerodynamic_center = [3,0,0]
wing.origin = [13.61,0,-1.27]
wing.aerodynamic_center = [0,0,0]

wing.vertical = False
wing.symmetric = True
wing.high_lift = True
wing.vertical = False
wing.symmetric = True
wing.high_lift = True

wing.dynamic_pressure_ratio = 1.0
wing.dynamic_pressure_ratio = 1.0

# add to vehicle
vehicle.append_component(wing)

vehicle.append_component(wing)
</code></pre>

#####Setting up the fuselage
##### Setting up the fuselage
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.

<pre><code class="python">fuselage = SUAVE.Components.Fuselages.Fuselage()
fuselage.tag = 'fuselage'
<pre><code class="python">
fuselage = SUAVE.Components.Fuselages.Fuselage()
fuselage.tag = 'fuselage'

fuselage.seats_abreast = 6
fuselage.seat_pitch = 1

fuselage.seats_abreast = 6
fuselage.seat_pitch = 1
fuselage.fineness.nose = 1.57
fuselage.fineness.tail = 3.2

fuselage.fineness.nose = 1.6
fuselage.fineness.tail = 2.
fuselage.lengths.nose = 8.0
fuselage.lengths.tail = 12.
fuselage.lengths.cabin = 28.85
fuselage.lengths.total = 38.02
fuselage.lengths.fore_space = 6.
fuselage.lengths.aft_space = 5.

fuselage.lengths.nose = 6.4
fuselage.lengths.tail = 8.0
fuselage.lengths.cabin = 28.85
fuselage.lengths.total = 38.02
fuselage.lengths.fore_space = 6.
fuselage.lengths.aft_space = 5.
fuselage.width = 3.76

fuselage.width = 3.74
fuselage.heights.maximum = 3.76
fuselage.heights.at_quarter_length = 3.76
fuselage.heights.at_three_quarters_length = 3.65
fuselage.heights.at_wing_root_quarter_chord = 3.76

fuselage.heights.maximum = 3.74
fuselage.heights.at_quarter_length = 4.
fuselage.heights.at_three_quarters_length = 4.
fuselage.heights.at_wing_root_quarter_chord = 4.
fuselage.areas.side_projected = 142.1948
fuselage.areas.wetted = 446.718
fuselage.areas.front_projected = 12.57

fuselage.areas.side_projected = 3.74* 38.02
fuselage.areas.wetted = 446.718
fuselage.areas.front_projected = 12.57
fuselage.effective_diameter = 3.76

fuselage.effective_diameter = 3.74
fuselage.differential_pressure = 5.0e4 * Units.pascal # Maximum differential pressure

fuselage.differential_pressure = 5.0e4 * Units.pascal # Maximum differential pressure

vehicle.append_component(fuselage)
# add to vehicle
vehicle.append_component(fuselage)
</code></pre>

#####Setting up the propulsion system
##### Setting up the propulsion system

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.

<pre><code class="python"># ------------------------------------------------------------------
# Turbofan Network
# ------------------------------------------------------------------

#instantiate the gas turbine network
turbofan = SUAVE.Components.Energy.Networks.Turbofan()
turbofan.tag = 'turbo_fan'
#instantiate the gas turbine network
turbofan = SUAVE.Components.Energy.Networks.Turbofan()
turbofan.tag = 'turbofan'

# setup
turbofan.number_of_engines = 2.0
turbofan.bypass_ratio = 5.4
turbofan.engine_length = 4.1
turbofan.nacelle_diameter = 0.85
turbofan.origin = [[13.72, 4.86,-1.9],[13.72, -4.86,-1.9]]

# setup
turbofan.number_of_engines = 2.0
turbofan.bypass_ratio = 5.4
turbofan.engine_length = 2.71
turbofan.nacelle_diameter = 2.05
# working fluid
turbofan.working_fluid = SUAVE.Attributes.Gases.Air()

# working fluid
turbofan.working_fluid = SUAVE.Attributes.Gases.Air()
</code></pre>

Next the components of the turbofan are initialized and added to the engine as shown in the energy networks section. The turbofan is composed of an inlet diffuser(nozzle), low and high pressure compressors, a combustor, a fan, a low and high pressure turbine and exit nozzles for the core and the fan.
Next the components of the turbofan are initialized and added to the engine as shown in the energy networks section. The turbofan is composed of an inlet diffuser (nozzle), low and high pressure compressors, a combustor, a fan, a low and high pressure turbine and exit nozzles for the core and the fan.

Finally the network is added to the aircraft as shown below.

Expand All @@ -149,15 +159,15 @@ print "engine length : ",turbofan.engine_length
vehicle.append_component(turbofan)
</code></pre>

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

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

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.

####configs_setup() :
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.
#### configs_setup()
The aircraft geometry created is converted into configurations that can be used to make simple modifications to the geometric parameters 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 configurations.

<pre><code class="python"># ------------------------------------------------------------------
# Cruise Configuration
Expand Down Expand Up @@ -185,7 +195,7 @@ configs.append(config)
</code></pre>


####mission_setup()
#### mission_setup()
To modify the baseline mission that the aircraft flies, go to the mission_setup() function and add or delete segments of the mission

<pre><code class="python">segment = Segments.Cruise.Constant_Speed_Constant_Altitude(base_segment)
Expand All @@ -199,44 +209,44 @@ mission.append_segment(segment)
</code></pre>


####base_analysis()
#### base_analysis()
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.




###Other Functions :
### Other Functions :

####main()
#### main()

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.

####full_setup()
#### full_setup()

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.


####simple_sizing()
#### simple_sizing()

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

####base_analysis()
#### base_analysis()

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

####analyses_setup()
#### analyses_setup()

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

####missions_setup()
#### missions_setup()

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

####plot_mission()
#### plot_mission()

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

###RESULTS
### RESULTS

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.

Expand All @@ -249,13 +259,14 @@ The plots shown below should be generated if the mission analysis executes corre
![B737 Drag](/images/B737_drag.png)


###Modifying the Aircraft's Geometry or Mission :
### Modifying the Aircraft's Geometry or Mission :

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.

Now we try to fly the aircraft at a lower cruise speed of 200m/s at a cruise altitude of 25000 ft

1) To update the geometry, scroll to the vehicle_setup() function

2) Modify the parameters of the main wing

<pre><code class="python">wing.aspect_ratio = 10.12
Expand All @@ -269,6 +280,7 @@ You may also need to update the reference area for the aircraft.
</code></pre>

3) Update the mission parameters by moving to the mission_setup() function

4) First update the end altitude of the final climb segment. Although the original script has the altitude stated in m, courtesy of the Units package it is easy to modify the altitude to 25,000ft without worrying about the units conversion as shown below.


Expand Down
Loading