Beruflich Dokumente
Kultur Dokumente
Hao Li
02/Oct/2018
Contents
• Preface
• QuickStart
• Case Studies
• Access Help
• References and External Support
• Appendix 1 Project Logbook
• Appendix 2 List of Free Softwares for Aircraft Design
• Appendix 3 List of Wolfram Widgets for Aviation
• Full Bibliography
Preface
Purpose of the Package
Background: definition of 'design'
Drones and model airplanes are more and more popular. The applications give
higher standard of requirements to the designers.
Aircraft is usually considered as a complexed system and modelling a system and
solve for a design is more difficult than simply coming up with random concepts.
Thus ' designing ' a plane is far more than ' drawing ' a plane. The process of
designing can be seen as the realization of a preceded value. The quality of the ideas
and the execution affects the outcome of a design.
To model and solve for a certain system, there are 2 most essential aspects: purpose
and method. Although sometime at the beginning of the work neither is clear, the
designer himself or herself must, at some stage, make clear of these 2 things.
1. The purpose is the requirements for the product. The potential users may
require different aspects to different extents. The design MUST meet the
industrial standards and CAN be optimized for certain performance(s). Such
optimization may have its side effects and must be considered in terms of
fitness for the circumstances. Sometimes parameters of the performance of
existing products are taken as a part of the initial parameters of the
requirements so that the new design, if can be solved, is guaranteed to be
superior to the existing ones at the selected aspects. For example to design a
fighter plane it is better to know the performances of its potential opponents. In
other occasions, the requirements might be taken directly from the details of
the mission that the plane is designed to carry.
2. The main part of the method is the workflow, the designers may pin some
inspirations, conceptualize them and mock up the concepts and make
prototypes. Such workflow is feasible for a number of products but the missing
part is how to solve for and analyse the concepts. Only with the known
parameters and properties can we safely make a product.
For small product design this is not a problem because the target is clear, with small
amount of parameters involved and the relationship between the parameters are
clear. Also you can make a lot of prototypes and test them to get enough empirical
knowledge for a better design. Whereas for a complexed system, like an aeroplane,
the same rule does not necessarily apply here, thus the workflow would be broken if
one tries to apply the same method. The methods can be either quantitative or
qualitative, the results of each step of a model can be used either as a prediction for
other parameters or as a suggestive value that help make decisions. Furthermore,
there are some recursive cases, where the system will be consistent after several
rounds of looped solving and analysis.
But looking around, we do see planes there. In a number of cases the solution exists
and sometimes even a good one. Designers and engineers work in team to crunch
the cross-subject puzzle. At the beginning of the 20C planes were na??ve and the
task performed were relatively simple, thus no much professionalism (at least not to
the extent we see today) were needed. In the mid 20C a good design bureau need
well-oriented tasks and well-coordinated groups of top scientists and engineers. The
story of 2 designers: Kelly Johnson, who insisted some engineers to work in the
same laboratory with the designers, and Andrei Tupolev, who had a good feeling on
the engines and served as a great leader, could be used examples. But still modelling
a system was very difficult and took large amount of power for calculation. The
Dassault Company was the first to use Computer Aided Designing in aircraft design
and the same company is still selling the popular CAD software (e.g. Solidworks,
CATIA). The Mi-50 experimental bomber was said to be the first airplane to be
designed with massive use of computerized math modelling. Over the years the
design teams are still very crucial, but essentially 2 things changed: The
development of computer and the more sophisticated mathematic models.
With the invention of APL there is finally a user-friendly way of typing formulas. But
still, typing the equations is far from solving a model, which is also far from
designing an aircraft. Then different types of software appear, which are for certain
mathematic model by performing limited algorithm with limited options. For
example it is possible to analyse some aerodynamic properties for certain geometric
form at certain state, but it is not possible to know the states before analysing the
kinetic balances. It is possible to calculate the region of thrust-to-weight ratio with
respect to wing-loading with kinetic requirements, but it is not possible to get the
lift and drag coefficients without the access to some existing databases or empirical
models.
Merits and demerits of CAD/CAE/CAM
3. In 2017 Wolfram Company introduced its tools for system modelling. Each
function can be called as a ' black box ' and can be employed as a ' block ' of
design.
4. NASA developed OpenVSP and the components of which had grown over the
years. And there is more. rAviExp is a part of my ' Aviation Exploratory '
project. And I intend to make this a functional, programmable modelling tool
for aviation exploratory design in R. R provides an open-source environment
for statistical and scientific computing with more than 7000 free packages on
CRAN and more on other platforms. Also this package is free and open-source
and follows the GPL-3.0 license.
It is also important to remember that the tools shall be used for different purposes.
It is better to allow usages of different programs even we have integrated tools. This
book is about how to use the integrated tool to link different stages of design
together.
1. Flexible
• The algorithms should be coded as functions within a package to extend
functionalities of a language. The advantage of functional programming is that
certain procedure can be remembered and called easily so that the user do not
have to repeat unecessary coding.
• The models can be customized at different levels, not only the numerical inputs
can be changed but also the assuption functions and some other aspects of the
model.
• The functions accept different levels of input, therefore objective. When taking
in certain type(class) of input it recognizes the type of model and apply the
corresponding procedure to it.
• The workflow can be scripted instead of being ' clicked '. In this way the
computer language shows the work along with the result. If the user want to
modify the workflow for some reasons (e.g. found a mistake, require more
functionalities, make a slight change to the design), the work process can be
easily repeated by computer instead of rounds of manually clicking and
dragging. Also, scripting can be explanatory and instuitive if the naming is
carefully chosen. In this case, the class of the data list is a noun(e.g. Alpha_lin,
Constraint) that states the type of the model whereas functions are named after
verbs (create, Optim, plot, etc.)
Within a model
2. Systematic
• The models to be included should have certain ways to be processed. And no
matter what the model is the process of creating, optimization, vaisualization
can be described and coded in certain ways.
• The workflow may be different and allow comminications between models.
• Each model can be processed in a similar method(steps) to that described in
the book Mathematic Modelling by M. Meerschaert.
• There should be a template of classed list to store certain group of parameters
to get the variables organized.
3. Intuitive
• It must be well-structured so that developing is easy.
• Have some default visualization functions to create default 2D and 3D plot, and
some predefined plot can be called by certain indexes.
• Have sensational (suggestive/ explainatory) values to compare and make
intuitional sense to people.
The tools we have are:
Tools to crunch the problems
• Mathematical modelling
• Physics ideas
• Functional Programming
The rAviExp Program uses the language structure shown below:
Nouns - lists: store paramterisedssumptions of models
- classes: classify the type of models
Verbs: - functions: do certain things to the model with customizable procedures
Procedures include: - create the analysis - visualize the analysis - pass parameters
and analyze the procedures
To actually use these tools:
Within one of any of the models,
Between the models, the ‘%takein%’ function makes communications. These
aspects are the linguistic of this package. To see how these practically works watch
the next chapter for a quickstart.
Quickstart
This chapter is a quick demonstration of the simple functionalities of R and the
package.
Quick Installation
'R is a free software environment for statistical computing and graphics.' There are a
number of platforms that provide R.
First install R from (https://www.r-project.org/), or install Rstudio with R from
(https://www.rstudio.com/products/rstudio/download/), or install Microsoft R for
visual studio from (https://visualstudio.microsoft.com/zh-hans/vs/features/rtvs/?
rr=https%3A%2F%2Fwww.google.com%2F).
Open it and install devtools and use devtools to download and install rAviExp with
these R commands.
install.packages('devtools')
library('devtools')
install_github('HaoLi111/rAviExpPrerelease')
A Brief Introduction to R
This section is for people completely new to R as a programming language. If you
have already been using R, skip to the next section directly.
As a Touring-complete language, R can be used (although unlikely to be used) to
perform any programmable tasks.
Start with basic calculations
1+5
## [1] 6
#Assignments
A<-1
B=-2
A+B
## [1] -1
## Warning in A + B: 长的对象长度不是短的对象长度的整倍数
max(A)
## [1] 10.9
min(B)
## [1] 1
#Indexing
B[-1]
## [1] 15 23
A[B[1]]
## [1] 1
B=c(B,0.232)#Appending
(M<-rbind(A,B))#row bind
N<-matrix(1:8,2,4)
M+N#Guess what is the answer
#List
(Passage<-list(title='rAviExp in Action',Author='Hao Li',question='Who
the hell is he?',rate=0))
## $title
## [1] "rAviExp in Action"
##
## $Author
## [1] "Hao Li"
##
## $question
## [1] "Who the hell is he?"
##
## $rate
## [1] 0
#Let us be kind
(Passage$rate=Passage$rate+1)
## [1] 1
#Functions
Square<-function(x) x^2
Square(1.5)
## [1] 2.25
Square(complex(real=1.1,imaginary=.8))
## [1] 0.57+1.76i
#S3 functions
isPassage<-function(x,...) UseMethod('isPassage')# Not a good example
isPassage.list=function(x) FALSE
isPassage.function=function(x) FALSE
isPassage.numeric=function(x) FALSE
isPassage.passage=function(x) TRUE
isPassage(Passage)
## [1] FALSE
class(Passage)='passage'
isPassage(1)
## [1] FALSE
isPassage(Square)
## [1] FALSE
isPassage(Passage)
## [1] TRUE
Basic functionalities
This section demonstrates the very basic uses of functions of the package briefly.
Sourced from (https://aviexptemp.weebly.com/features/something-interesting-to-
try-with-the-1st-released-version).
#every time you want to use the package use library(), or click on the
square in the 'packages' list
#Good to go
## alpha Cl Cd k
## 1 -5.0 0.00 0.02000000 0.0000000
## 2 -4.9 0.01 0.02000398 0.4999005
## 3 -4.8 0.02 0.02001592 0.9992049
## 4 -4.7 0.03 0.02003581 1.4973191
## 5 -4.6 0.04 0.02006366 1.9936540
## 6 -4.5 0.05 0.02009947 2.4876276
## 7 -4.4 0.06 0.02014324 2.9786669
## 8 -4.3 0.07 0.02019496 3.4662106
## 9 -4.2 0.08 0.02025465 3.9497107
## 10 -4.1 0.09 0.02032229 4.4286350
## 11 -4.0 0.10 0.02039789 4.9024685
## 12 -3.9 0.11 0.02048144 5.3707152
## 13 -3.8 0.12 0.02057296 5.8328997
## 14 -3.7 0.13 0.02067243 6.2885690
## 15 -3.6 0.14 0.02077986 6.7372930
## 16 -3.5 0.15 0.02089525 7.1786662
## 17 -3.4 0.16 0.02101859 7.6123084
## 18 -3.3 0.17 0.02114989 8.0378652
## 19 -3.2 0.18 0.02128915 8.4550092
## 20 -3.1 0.19 0.02143637 8.8634396
## 21 -3.0 0.20 0.02159155 9.2628833
## 22 -2.9 0.21 0.02175468 9.6530940
## 23 -2.8 0.22 0.02192577 10.0338530
## 24 -2.7 0.23 0.02210482 10.4049687
## 25 -2.6 0.24 0.02229183 10.7662758
## 26 -2.5 0.25 0.02248680 11.1176356
## 27 -2.4 0.26 0.02268972 11.4589347
## 28 -2.3 0.27 0.02290060 11.7900849
## 29 -2.2 0.28 0.02311944 12.1110218
## 30 -2.1 0.29 0.02334623 12.4217045
## 31 -2.0 0.30 0.02358099 12.7221144
## 32 -1.9 0.31 0.02382370 13.0122541
## 33 -1.8 0.32 0.02407437 13.2921465
## 34 -1.7 0.33 0.02433299 13.5618336
## 35 -1.6 0.34 0.02459958 13.8213757
## 36 -1.5 0.35 0.02487412 14.0708498
## 37 -1.4 0.36 0.02515662 14.3103488
## 38 -1.3 0.37 0.02544708 14.5399802
## 39 -1.2 0.38 0.02574549 14.7598651
## 40 -1.1 0.39 0.02605187 14.9701369
## 41 -1.0 0.40 0.02636620 15.1709403
## 42 -0.9 0.41 0.02668849 15.3624302
## 43 -0.8 0.42 0.02701873 15.5447708
## 44 -0.7 0.43 0.02735694 15.7181343
## 45 -0.6 0.44 0.02770310 15.8827000
## 46 -0.5 0.45 0.02805722 16.0386535
## 47 -0.4 0.46 0.02841930 16.1861859
## 48 -0.3 0.47 0.02878933 16.3254924
## 49 -0.2 0.48 0.02916732 16.4567721
## 50 -0.1 0.49 0.02955327 16.5802271
## 51 0.0 0.50 0.02994718 16.6960613
## 52 0.1 0.51 0.03034905 16.8044804
## 53 0.2 0.52 0.03075887 16.9056909
## 54 0.3 0.53 0.03117665 16.9998996
## 55 0.4 0.54 0.03160239 17.0873130
## 56 0.5 0.55 0.03203609 17.1681369
## 57 0.6 0.56 0.03247775 17.2425758
## 58 0.7 0.57 0.03292736 17.3108327
## 59 0.8 0.58 0.03338493 17.3731086
## 60 0.9 0.59 0.03385046 17.4296020
## 61 1.0 0.60 0.03432394 17.4805090
## 62 1.1 0.61 0.03480539 17.5260226
## 63 1.2 0.62 0.03529479 17.5663329
## 64 1.3 0.63 0.03579215 17.6016262
## 65 1.4 0.64 0.03629746 17.6320856
## 66 1.5 0.65 0.03681074 17.6578905
## 67 1.6 0.66 0.03733197 17.6792164
## 68 1.7 0.67 0.03786116 17.6962347
## 69 1.8 0.68 0.03839831 17.7091130
## 70 1.9 0.69 0.03894342 17.7180147
## 71 2.0 0.70 0.03949648 17.7230991
## 72 2.1 0.71 0.04005750 17.7245212
## 73 2.2 0.72 0.04062648 17.7224320
## 74 2.3 0.73 0.04120341 17.7169781
## 75 2.4 0.74 0.04178831 17.7083020
## 76 2.5 0.75 0.04238116 17.6965419
## 77 2.6 0.76 0.04298197 17.6818321
## 78 2.7 0.77 0.04359074 17.6643026
## 79 2.8 0.78 0.04420746 17.6440792
## 80 2.9 0.79 0.04483215 17.6212840
## 81 3.0 0.80 0.04546479 17.5960349
## 82 3.1 0.81 0.04610539 17.5684461
## 83 3.2 0.82 0.04675394 17.5386277
## 84 3.3 0.83 0.04741046 17.5066863
## 85 3.4 0.84 0.04807493 17.4727248
## 86 3.5 0.85 0.04874736 17.4368423
## 87 3.6 0.86 0.04942775 17.3991346
## 88 3.7 0.87 0.05011609 17.3596940
## 89 3.8 0.88 0.05081239 17.3186095
## 90 3.9 0.89 0.05151665 17.2759667
## 91 4.0 0.90 0.05222887 17.2318482
## 92 4.1 0.91 0.05294905 17.1863334
## 93 4.2 0.92 0.05367718 17.1394988
## 94 4.3 0.93 0.05441327 17.0914179
## 95 4.4 0.94 0.05515732 17.0421614
## 96 4.5 0.95 0.05590933 16.9917972
## 97 4.6 0.96 0.05666929 16.9403908
## 98 4.7 0.97 0.05743722 16.8880048
## 99 4.8 0.98 0.05821310 16.8346994
## 100 4.9 0.99 0.05899694 16.7805326
## 101 5.0 1.00 0.05978873 16.7255598
## 102 5.1 1.01 0.06058848 16.6698342
## 103 5.2 1.02 0.06139620 16.6134071
## 104 5.3 1.03 0.06221187 16.5563273
## 105 5.4 1.04 0.06303549 16.4986418
## 106 5.5 1.05 0.06386708 16.4403956
## 107 5.6 1.06 0.06470662 16.3816318
## 108 5.7 1.07 0.06555412 16.3223917
## 109 5.8 1.08 0.06640958 16.2627148
## 110 5.9 1.09 0.06727299 16.2026390
## 111 6.0 1.10 0.06814436 16.1422005
## 112 6.1 1.11 0.06902370 16.0814338
## 113 6.2 1.12 0.06991098 16.0203723
## 114 6.3 1.13 0.07080623 15.9590474
## 115 6.4 1.14 0.07170944 15.8974896
## 116 6.5 1.15 0.07262060 15.8357277
## 117 6.6 1.16 0.07353972 15.7737893
## 118 6.7 1.17 0.07446679 15.7117009
## 119 6.8 1.18 0.07540183 15.6494876
## 120 6.9 1.19 0.07634482 15.5871736
## 121 7.0 1.20 0.07729577 15.5247816
## 122 7.1 1.21 0.07825468 15.4623337
## 123 7.2 1.22 0.07922155 15.3998506
## 124 7.3 1.23 0.08019637 15.3373522
## 125 7.4 1.24 0.08117915 15.2748575
## 126 7.5 1.25 0.08216989 15.2123845
## 127 7.6 1.26 0.08316859 15.1499502
## 128 7.7 1.27 0.08417524 15.0875712
## 129 7.8 1.28 0.08518986 15.0252628
## 130 7.9 1.29 0.08621243 14.9630399
## 131 8.0 1.30 0.08724296 14.9009165
## 132 8.1 1.31 0.08828144 14.8389058
## 133 8.2 1.32 0.08932789 14.7770205
## 134 8.3 1.33 0.09038229 14.7152727
## 135 8.4 1.34 0.09144465 14.6536736
## 136 8.5 1.35 0.09251496 14.5922341
## 137 8.6 1.36 0.09359324 14.5309644
## 138 8.7 1.37 0.09467947 14.4698740
## 139 8.8 1.38 0.09577366 14.4089721
## 140 8.9 1.39 0.09687581 14.3482674
## 141 9.0 1.40 0.09798591 14.2877680
## 142 9.1 1.41 0.09910398 14.2274815
## 143 9.2 1.42 0.10023000 14.1674152
## 144 9.3 1.43 0.10136398 14.1075759
## 145 9.4 1.44 0.10250591 14.0479700
## 146 9.5 1.45 0.10365581 13.9886035
## 147 9.6 1.46 0.10481366 13.9294821
## 148 9.7 1.47 0.10597947 13.8706110
## 149 9.8 1.48 0.10715324 13.8119952
## 150 9.9 1.49 0.10833496 13.7536393
## 151 10.0 1.50 0.10952465 13.6955476
## $kmax
## alpha Cl Cd k
## 72 2.1 0.71 0.0400575 17.72452
##
## $Cdmin
## alpha Cl Cd k
## 1 -5 0 0.02 0
##
## $Clmax
## alpha Cl Cd k
## 151 10 1.5 0.1095246 13.69555
## alpha Cl Cd k
## 151 10 1.5 0.1095246 13.69555
fetchAlpha_Cl(a$Out,.6)#at Cl=6
##
## Attaching package: 'MFVN'
## alpha Cl Cd k
## 61 1 0.6 0.03432394 17.48051
#-----------------------------------------------------------------
## NULL
## W_S CA_TURN CA_ENERGY_LEVEL CA_CLIMB CA_CRUISE_V
## [1,] 5.0 0.9614092 1.0113307 0.8755383 0.9621314
## [2,] 5.1 0.9425622 0.9924821 0.8649651 0.9432989
## [3,] 5.2 0.9244402 0.9743585 0.8547997 0.9251913
## [4,] 5.3 0.9070022 0.9569189 0.8450190 0.9077677
## [5,] 5.4 0.8902100 0.9401252 0.8356017 0.8909900
## [6,] 5.5 0.8740286 0.9239421 0.8265279 0.8748229
## CA_SERVICE_CEILING CA_TO_DISTANCE
## [1,] 7.673934 7.249945
## [2,] 7.598968 7.125045
## [3,] 7.526176 7.004949
## [4,] 7.455454 6.889385
## [5,] 7.386705 6.778102
## [6,] 7.319840 6.670865
## [1] "......"
## W_S CA_TURN CA_ENERGY_LEVEL CA_CLIMB CA_CRUISE_V
## [446,] 49.5 0.09814710 0.1473694 0.4025223 0.1052967
## [447,] 49.6 0.09795344 0.1471742 0.4024416 0.1051175
## [448,] 49.7 0.09776057 0.1469797 0.4023613 0.1049390
## [449,] 49.8 0.09756849 0.1467861 0.4022815 0.1047614
## [450,] 49.9 0.09737718 0.1465932 0.4022022 0.1045845
## [451,] 50.0 0.09718665 0.1464011 0.4021232 0.1044084
## CA_SERVICE_CEILING CA_TO_DISTANCE
## [446,] 2.483378 1.523486
## [447,] 2.480939 1.522189
## [448,] 2.478508 1.520897
## [449,] 2.476083 1.519610
## [450,] 2.473666 1.518329
## [451,] 2.471257 1.517052
#Now repeat
plot(cons)#does not look good, shift the y of legends
plot(cons,y=8)
Optim(cons)
## Min W_S_optim.W_S
## 2.471257 50.000000
#This solves for the feasible range of T/W~W/S and aim for the most
#energy saving condition
#You do not have to use this point as the value to take in the next
#step but this suggests the point that the kinetic constraints
#are least critical.
#Hold on, what are the constraints?
cons$Raw
## function(x,...) UseMethod('takein')
## <bytecode: 0x000000001dcbbd90>
## <environment: namespace:rAviExp>
newCons<-Constraint.default %takein% a
newCons$TO_DISTANCE$ClTO# Now it fills the new parameter in
## [1] 1.5
## Min W_S_optim.W_S
## 2.471257 50.000000
1 Aerodynamics of plane
1.1 Properties of air
Air is matter, and the density of dry air at sea level is approximately 1.225 kg/m3.
Although air is consisted of particles and can be compressed, more practically we
assume the air is consistent and not compressible at low speed.
require(rAviExp)
plot(1:10000,Rho(1:10000),xlab='Height[meters]',ylab='Estimation of Air
density [kgm^-3]',type='l')
Fluid dynamics assume the fluid is consistent to study the general patterns. For a
plane at lower speed the compressibility does not greatly affect the results and for
other cases some correction formulae can be used. Every model has its assumptions
thus limitations. And even if the assumptions are reasonable, the relationship is not
always deterministic.
The diagram suggests that although air is consist of particle, when the object is large
enough (not in the same scale of molecules) it is roughy consistent. In reverse, we
can simulate the way that a consistent flow behaves by analysing the groups of
particles. The higher the resolution is the more precise the answer we get, if it does
not involve chao theory, but also the longer time it takes to calculate. The amount of
calculation of particles tracking is so tremendous that it is not very feasible even if
we use the GPU for parallel calculation in PC (for a subsonic UAV). This is why we
want to discover and model the general patterns of it.
This section Re, which states the property of frictional drag, is not considered.
Unless specified, all calculations are at Re=12000 which is one of the normal cases of
subsonic planes.
1.2 Flux, Bernoulli principles
The Bernoulli equation base on the Bernoulli principles. Assume that the fluid is
incompressible, and also, the difference in height can be ignored,(not considering
the acceleration on the speed of the fluid done by gravity). At this stage no
turbulence involved to simplify the model. The difference of the kinetic energy can
be calculated given the volume passed by certain cross-section area is the same,
which is the concept of flux.
The flux stays constant before/after the fluid passes. This is suggesting if you get a
closed tube with one end with sectional area 10m^2 and another end 1m^2. If wee
blow 100M^3 of air per sec in the end that have 10m^2 sectional area, we expect to
have 100m^3 to get out at the other end.
And for 100m^3 to go through the end that have 10m^2 sectional area,
v i n=100/10=10 m s−1
v o u t =100/1=100 m s−1
The work done on the certain volume of the fluid is equal to the work done by the
shape of the tube.
1
m∗[ Δ(v 2 )]=Δ E k=W =F∗d= p∗S∗d
2
In our example the difference between v is 1002-102=99900ms^-1
## [1] 4995000
We expect this much of energy to be transferred. Although air is not very dense, the
energy that can be obtained through difference of pressure can be large (4995000J).
V V
=
Δt 1 Δt 2
The force acting on a section of the fluid can be calculated by the pressure (static), p.
F F G m∗g ρ∗V∗g V
p= = = = = ∗ρ∗g
S S S S S
And for a vertical volume of liquid,
V =h∗S
So
p=ρ∗g∗h
Bernoulli equation suggest that (P is the pressure in the fluid)
1
P+ ρ∗v 2 + ρ∗g∗h=C o n s t a n t
2
Where P is the pressure of the fluid.
Tunnel. By suggesting that it is not compressible, the volume passes per unit time is
same, from where the Ek is derives from the speed change and the work is done by
fluid.
If we take a closer look at the equation
1
q= ρ∗v 2
2
is kinetic energy density (amount of kinetic energy per volume).
p=ρ∗g∗h
is potential energy density (amount of kinetic energy per volume).
Since it is linear it does not matter if we use the point with Cl=0 or Alpha=0 to locate
the line as long as we get the gradent.
This is the gradient of Cl with respect to angle of attack. The alpha0 is the angle of
attack when no lift is generated on the profile. We could also say the integral of the
pressure on the 2D surface area (perimeter) is 0.
This relationship of Cl and alpha enables people to further simplify the model. As Cl
at any state can be calculated when the 2Cls at alpha are measured. Also it is notable
that the value of alpha0 can be estimated with empirical formula, as the property of
the airfoil is affected by the 2D shape.
The angle of attack for L=0 can be estimated from the (x,y) coordinates of the
profile, where A(x) gives correstion along x axis and yu and yLstand for the y
coordinates of the upper and lower boundary of the profile(the plot above).
1
α 0=− Σ A (x)( ( y u + yl ))
2
We can plot the empirical data for A(x) and plot the average y value.(Or you can look
up A(x) in the table from the reference).
Our airfoil compresses air at the top so the air on the upper side should have larger
velocity across the x axis than the lower side, because when incompressible,
narrower tube of air means larger velocity. When the empirical data prediction fails
I would suggest that using a linear model to fit the data from experiment. For
example if using a glider, we know that Cl = 0 when AoA = -5, Cl=1 when AoA = 3,
then the gradient is 1/8 = 0.125. Thus you can continue to work out the formulae for
Cl(AoA).
In the diagram the senario of the profile in a wind tunnel is shown, although in real
cases there are no boundaries of air, it is reasonable to simplify this as the affect on
air in greater distances is small. Also the pressure is shown as simplified model, as
the pressure of the wing itself is not shown in this diagram.
I p a r t i c l e=m r 2
The evenly distributed rod is the commulation of the inertia of particles each with
mass per length m/r
1
I r o d f r o m c e nt e r = m r 2 =100∗d /12
12
We are not going to derive the equation for I, but this should give people an intuition
that the closer the mass is distrubuted to the roitational center the easier it is to spin
it.Finally,
F=T /d=(100∗3/12)∗(15∗π /180)/3
(100*3/12)*(15*pi/180)/3
## [1] 2.181662
2.18N is needed for the horizontal tail. If you keep the parameters unsubstituted
then you can derive some more general formulaes to suggest the weight distibution
of the mass on plane. Generally, putting the mass close to center reduce the force
needed to spin the plane the pitch axis, but probably structually and
aerodynamically more difficult. If you want the plane to be less sensitive to the pitch
teh mass should be spread out.
T n e t =0=Σ T
According to the Definitions of forces, the direction and magnitude of the forces
acting on a plane is defined:
Gravitational force: vertically downwards and have the magnitude
F G =m∗g
Thrust: In the direction(usually the pointing direction of nose, not necessarily the
direction of velocity). At the certain moment is given by the applied power divided
by speed .
F T =P/ v
Note that DIfferent P may also apply for different v because of the properties of
engines and fans.
Lift: perpendicular to the direction of velocity and wing span. If the plane is rolling
then lift direction changes. Drag: perpendicular to the direction of wing span, but in
the opposite direction of velocity.
1
L= C y∗ρ∗S∗v 2
2
1
D= C x∗ρ∗S∗v 2
2
For a specific airframe, the magnitude of Lift and drag corresponds with the
magnitude of velocity, and angle of attack.
*We must make clear that the linear motion of the plane changes not because of the
turning of heading. The throttle and control surfaces give torques to change the
direction and magnitude of forces and it is the change in forces that cause the
change in motions. For example, when taking off it is the change in power changes
the speed, and pulling the lever changes angle of attack; therefore lift get larger
giving a net acceleration upwards.
Therefore,
1 P ow er 1
C y∗ρ∗S∗v 2=m∗g ; = C x∗ρ∗S∗v 2
2 v 2
The least requirement of horizontal flying of v is stated. When at minimum speed,
maximum Lift/Drag ratio is used thus lift is most used. The plane is at the edge of
stall.
v m i n=
√ 2∗F G
C y∗ρ∗S
To maximize the horizontal speed, suppose the efficiency of power plant is 1 at
maximum v and P.
v m a x =¿
It suggests if you want to fly fast, you shouyld use smaller attack angle, wings with
smaller drag coefficient and smaller area, so long as it can generate enough lift.
Power should also be increased.
How does it correlates to the aerodynamical properties?
K =C l /C d @ α
Angle of attack is the angle between the direction of the heading of wing string;
whereas, the climbing or gliding angle theta is the angle between the horizontal axis
and the velocity of the plane.Both may have effect on the direction of thrust, but
comparatively in most cases angle of attack is controlled within 10 degrees so we
can assume that (and also because of assembly angle) the thrust is in the same
direction with v.
For a gliding plane it has
F G =L∗c o s (θ)+D∗s i n(θ); L∗s i n(θ)=D∗c o s(θ)
Take a glider using the airfoil Clark Y for example.If we want the optimized gliding
ratio, we should balance tha plane to use its alpha for maximum Cy/Cl. According to
the table (for Re=120000) when alpha = 2.5 deg it has largest
K =92
So it can glide 92m forward when only go down 1m, threoretically, but we have
mentioned a number of reasons this number is too optimistic. If the plane weights
100kg and have a wing area of 5m^2and if it glides at this idea state. It is going to
have speed.
v g l i d i n g=√ c o s θ
√ 2∗F G
C y∗ρ∗S √
= √ c o s(c o t (92))∗
−1 2∗(100)∗9.8
0.7∗1.225∗5
sqrt(cos(atan(1/92)))*sqrt((2*100*98)/(.7*1.225*5))
## [1] 67.61034
In this formula for low speed planes it is calculated from Area Reference and
horizontal tail volume coefficient. Most of the terms is not making sence but 2 things
makingb this term important are:
• we can always estimate and evaluate the pitch stability by putting terms in
certain models
• this equation is robust because the term added to 1/4 is very close to 0. In some
paper plane contests (if you have not seen any watch the Genus record video)
the player throw the paper plane holding roughly the front 1/4 not just because
of the strength of paper and center of gravity.
X N P − XC G
S t a b i l it y . M ar g in=
C or d
Now this can be used to explain why it is really dangerous for large airliner/
trasporters to stall. If a plane focus on efficiency, it is going to use a proper power
plant with an optimied airfoil corresponding to the aimed cruising speed and
weighted over the performance at different states.
When CG(Center of gravity) is positioned at the back of the neutual point, in terms
of the lever, the lever balances when both horizontal wing and main wing produce
force pointing upwards so that around acertain point the torque balances. But in
terms of neutral points when there are interferes the viberations keep enlarging and
when either ascending angle or attack angle gets large enough the plane or airfoil is
going to stall.
However recall that rotational inertia states how hard it is for some objects to
change angular motion, if the mass of goods on a transporter are spread out along
the fuselage instead of being tucked together, the plane can be not sensitive to the
interfere (e.g. sudden wind etc.). This term also states why they are not flexible–Not
purely because of the size. In real life if you get 2 rackets of the same weight, same
size but with different balance point and then you swing them it is also going to feel
differently, unless you are too strong to notice the difference.
If we go the other extreme and think of aerobatic planes, they typically have more
allowance in performance, with CG placed at the front or at NP, also having a
relatiely condenced distribution of mass. So it is not a contradiction to say this plane
(e.g. Extra 330) is both stable and flexible. So there are two aspects we discribe
control.
There are also ways to analyse the roll and pitch controls similar to that and also
ways they can influence each other, which is because it is a 3D motion problem.
3 References
Lab 8 Notes ' Basic Aircraft Design Rules. (2018). [ebook] mitopencourseware.
Available at: https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-01-
unified-engineering-i-ii-iii-iv-fall-2005-spring-2006/systems-labs-06/spl8.pdf
[Accessed 2 Mar. 2018].
Mark M., M. (2012). Mathematical Modeling (Fourth Edition). 4th ed. Academic
Press.
Tan chu xiong. (2007). Mo xing fei ji tiao zheng yuan li. Bei jing: Hang kong gong ye
chu ban she, pp.18-92.
Zhang wei., Su jian min. and Zhang ya feng. (2007). Mo xing fei ji de yi xing yu ji yi.
Bei jing: Hang kong gong ye chu ban she, pp.20-59.
En.wikipedia.org. (2018). Density of air. [online] Available at:
https://en.wikipedia.org/wiki/Density_of_air [Accessed 14 Mar. 2018].
Khan Academy. (2018). What is Bernoulli’s equation?. [online] Available at: https://
www.khanacademy.org/science/physics/fluids/fluid-dynamics/a/what-is-
bernoullis-equation [Accessed 14 Mar. 2018].
Raymer, D. (2012). Aircraft design. Reston, VA: American Institute of Aeronautics
and Astronautics.
Zhou xin. (2014). Gong cheng liu ti li xue. Bei jing: Zhong guo dian li chu ban she.
2. Constraint Analysis
Constraint analysis is to be carried with the package. Further analysis include
analysing the criticality of some aspects that need to be questioned. Remember that
constraint analysis should be carried before the concept is sketched.
According to the recognized format, the constraint list can be defined.
#iView V
#Author: Hao LI
#Date: Sep 9th 2018
library(rAviExp)
#1 .constraint analysis
#Constraint.default
climb=list(v_v=5,
v=10,
H=120)
climb=CompleteCA(climb)
cruise=list(H=400,
v=20)
cruise=CompleteCA(cruise)
turn=list(v=15,
H=120,
n=1-cosd(atand(15^2/9.8/25)))
turn=CompleteCA(turn)
takeoff=list(SG=10,
H=0,
v=12,
mew=.4)
takeoff=CompleteCA(takeoff)
cons_init<-list(W_S=seq(from=1,to=5,by=.1),
CLIMB=climb,
CRUISE_V=cruise,
TO_DISTANCE=takeoff,
TURN=turn)
class(cons_init)='Constraint'
But at this stage the assumptions need other initial inputs, we can use either
empirical data or other methods.
The parameters that the requirement did not provide include:
Aerodynamic properties ClTO, CdTO: Take-off Lift and drag Coefficient. Cd_min:
Minimum drag Coefficient K: lift-induced drag coefficient
These can be taken into the Constraint analysis from the angle of attack analysis.
Generally there are 2 ways to get these parameters.
## $elliptical
## [1] 1
##
## $rectangular
## [1] 0.7
Or calculate from Aspect ratio (usually for trapezoid shaped wing) using method 1
introduced in General Aviation Aircraft Design.
e_GAAD_M1(AR=9)
## [1] 0.7831239
AR and taper ratio are restricted because of the material restrictions. If AR and taper
ratio is enlarged the efficiency of a low-speed wing can increase (with higher lift to
drag ratio with same air foil, same sweep angle).
We can find the typical AR and taper ratio from the mission specific worksheet
provided by Blucraft. In this case we use AR=9, taper ratio= 0.8.
To get Cd_min, either run a trail wind simulation or use the existing wind tunnel
result.
## Min W_S_optim.W_S
## 0.9437431 5.0000000
#saveRDS(cons_init,'cons_init.rds')
The initial constraint analysis shows that the smallest thrust to weight ratio
required for this plane is 0.94 which occurs at the large bound of the wing loading
(5). The red line (cruise velocity) gives the most critical restrictions to the power
plant whereas the take off performance can be bettered.
Criticality
Before moving on let us see how changing some assumptions can affect the
criticality on the power selection.
By changing the requirements the criticality of the plane could change. But
sometimes the requirement of performance do not exert an sudden increase to the
requirement of the parameters of the concept.
Start by registering parallel computing cores as this may save us some time. In this
case we are using the doParallel package to write some embarassing parallel loops.
library(doParallel)
registerDoParallel(cores = 6)
~Takeoff run
First let us do the take-off criticality, using some parallel computing.
Let us use the existing data structure of the lists to write a snesitivity function.
Sensi_TO_SG<-function(cons,SG=1:20,func= c('CA_TO_DISTANCE',
'CA_CRUISE_V',
'CA_TURN',
'CA_CLIMB')){
#system.time({
crit<-foreach(i=SG,.combine = rbind) %dopar% {
require(rAviExp)
cons$TO_DISTANCE$SG=i
Optim(create(cons,func =func))
}
#})
crit<-cbind(SG,crit)
crit
}
Now as you see, using the parallel loop requires the function dependencies so we
are loading the library for each branch. This may lower the effectiveness of parallel
computing as it needs extra cost. In the future some sensitivity functions will be
encoded in the library so that the users will not have to write their own ones.
cons_init_sg<-Sensi_TO_SG(cons_init$Raw,SG=seq(from=1,to=20,by=.1))
head(cons_init_sg)
## SG Min W_S_optim.W_S
## result.1 1.0 1.387190 3.4
## result.2 1.1 1.274813 3.7
## result.3 1.2 1.179299 4.0
## result.4 1.3 1.097120 4.3
## result.5 1.4 1.025667 4.6
## result.6 1.5 0.962969 4.9
system.time(cons_init_v<-Sensi_CRUISE_V_v(cons_init$Raw,v=1:40))
head(cons_init_v)
## v Min W_S_optim.W_S
## result.1 1 0.7454713 5
## result.2 2 0.7454713 5
## result.3 3 0.7454713 5
## result.4 4 0.7454713 5
## result.5 5 0.7454713 5
## result.6 6 0.7454713 5
plot(cons_init_v[,1],cons_init_v[,2],type='l',xlab='Cruise v for
initial CA',
ylab='T/W required')
plot(cons_init_v[,1],cons_init_v[,2],type='l',xlab='Cruise v for
initial CA',
ylab='T/W required',xlim=c(15,20),ylim=c(0.6,1))
Constraint adjustments
#trail 1
cons_t1<-cons_init$Raw
cons_t1$TO_DISTANCE$SG=1.6
cons_t1$CRUISE_V$v=18
cons_t1$CRUISE_V<-CompleteCA(cons_t1$CRUISE_V)
cons_t1$W_S<-seq(from=1,to=6,by=.01)
cons_t1=create(cons_t1,func= c('CA_TO_DISTANCE',
'CA_CRUISE_V',
'CA_TURN',
'CA_CLIMB'))
plot(cons_t1)
Optim(cons_t1)
## Min W_S_optim.W_S
## 0.7498356 5.1000000
weight_coarse_init=list(range=1e4,
PAYLOAD=payload_init)#m
class(weight_coarse_init)='Weight_coarse'
weight_init<-create(weight_coarse_init)
weight_init
## $m_gross
## [1] 1
##
## $FG_gross
## [1] 9.803
##
## $FT_cruise
## [1] 7.350638
##
## $Power_T
## [1] 132.3115
##
## $Time
## [1] 555.5556
##
## $Energy
## [1] 79061.94
##
## attr(,"class")
## [1] "Weight_coarseOut"
Note that in this model not only weight is analysed but also the force and power
needed. From the power and force needed it can estimate the type, size and weight
of the power plant and capacity and weight of the battery.
size_Battery_coarse<-function(E,
ita,
V,
EnergyDensity=486000#[W*s/kg]
){
Ee<-E/ita
Capacity<-Ee/V
m<-Ee/EnergyDensity
re<-
list(E=E,Ee=Ee,V=V,ita=ita,EnergyDensity=EnergyDensity,Capacity=Capacit
y,
m=m)
class(re)='Battery'
re
#q=Da
#C=q*V
#E = V*I*t
}
batt_init<-size_Battery_coarse(E = weight_init$Energy,
ita=.4,
V=3.7*3)
plane_init<-size_concept_simple(S = as.numeric(weight_init$m_gross)/
(as.numeric(Optim(cons_init))[2]),
l=.7,
xWM = .2)
plane_init$fuselage = fuselage_init
class(plane_init) ='conventionalConcept'
str(plane_init)
## List of 4
## $ WM :List of 9
## ..$ Span : num 1.26
## ..$ Sweep: num 1.79
## ..$ CordR: num 0.198
## ..$ CordT: num 0.119
## ..$ Type : num 0
## ..$ Xf_C : num 0.25
## ..$ x : num 0.2
## ..$ z : num 0
## ..$ y : num 0
## ..- attr(*, "class")= chr "wing"
## $ WV :List of 9
## ..$ Span : num 0.147
## ..$ Sweep: num 4.76
## ..$ CordR: num 0.0491
## ..$ CordT: num 0.0491
## ..$ Type : num 1
## ..$ Xf_C : num 0.25
## ..$ x : num 0.958
## ..$ z : num 0
## ..$ y : num 0
## ..- attr(*, "class")= chr "wing"
## $ WH :List of 9
## ..$ Span : num 0.288
## ..$ Sweep: num 0
## ..$ CordR: num 0.048
## ..$ CordT: num 0.048
## ..$ Type : num 0
## ..$ Xf_C : num 0.25
## ..$ x : num 0.965
## ..$ z : num 0
## ..$ y : num 0
## ..- attr(*, "class")= chr "wing"
## $ fuselage:List of 3
## ..$ Length: num 1.05
## ..$ r : num [1:6] 0.05 0.075 0.075 0.02 0.01 0
## ..$ x : num [1:6] 0 0.2 0.4 0.9 1 1.05
## ..- attr(*, "class")= chr "fuse"
## - attr(*, "class")= chr "conventionalConcept"
plotxy(plane_init)
Access Help
Package Help and Online Supports
Help documentations
Use ? and help() to access documentations with R
?takein
help(takein)
Initial Brief
I am to build an package that aim to help modelling process of aircraft design, in
which the manipulation of mathematical models are put to priority.
Potential Users:
Myself (the program must first solve the existing problems and must be helpful to
my designs. This is the first step to check its fitness for purpose).
Aeromodellers and UAV users/builders/ enthusiasts. (on blogs: RCforms , 5iRC,
some groups on facebook)
Airplane model/UAV developers/designers (individuals/ companies)
Studios
Schools/Colleges/Universities/Moocs
Features:
It must have a structualized architecture, and the functions should be easy and
intuitive to use. It must significantly minimize the code being used to call functions
as well. It must be possible for the user to choose to use or not to use certain type of
mathematical model for certain type of plane so as to enable different workflows,
leaving some namespaces for further developments. The functions must BE NAMED
PROPERLY. Problem: Definition of the problem
Airplane design is a problem that has lots of variables involved. To solve
multivariable problems we need computerized processes for mathematical
modelling, which could be predictive or suggestive.
####1.design Since it is for aircraft design, it is crucial to find a definition of
‘design'.The one in General Aviation Airplane Design by Snorri Gudmundsson could
possibly clarify the problem. To summarize the authors view, design as a verb
describes the process of realizing some preceded value. This is suggesting the 2
fundamental parts of the software to have something to do with requirements (the
described preceded value) and concept(s). The author also stressed about the
importance of meeting the requirement instead of just showing off innovations in a
ted talk.
The perils of unconventional aircraft design: Snorri Gudmundsson at TEDx Embry
Riddle (https://www.youtube.com/watch?v=dUCFVXqondU)
Also what is important is that I took DVC(Design Visual Communication) and though
I had not designed model planes in class, the idea of the structure shown in the
diagram is greatly affected by the workflow used in some assessments and the
modernism view of form and functionality. ####2 . Mathematical modeling The
inspiration came from the ‘five-step-method' of mathematical modelling described
in the famous Mathematical Modeling (4th Edition) by Mark M. Meerschaert, by
working through which book preparing for a math modeling competition I realized
the importance of being systematical, not only for solving applied math problems
but also for coding–especially coding to solve math problems. It values the
‘robustness' and ‘usefulness' of the model instead of saying it is true or not. And
more than that, The suggestions that the model gives are also important. Even if
some models are not capable of solving the real situations they do suggest some
important facts(for example the simulation of some dynamic models, which
sometimes relate to chao theory). There is a website made by the author to share
codes being used to some the example questions. (#)
Diagram of the five step method, from
(https://sites.oxy.edu/ron/math/396/08/weeks/week5.pdf)
Another reference would be Time Series Analysis–Predict And Control (2th edition)
by(#) The models aid for better precisions of prediction with less complexity. The
book also classifies the assumptions that the models are based on: some are
empirical, or deterministic (that the physics within which is fully understood, not
saying it is absolutely true in philosophy), but most models have assumptions
somewhere in between. This property enables us to classify the models but also give
more difficulty considering safety. If a simple equation is to be used as assumption
in some cases, some other equations with a better accuracy should be applied when
necessary but the code should not be rewritten. This forces the package to involve a
lot of functional programming and more than 1 layers are required.
Mathematical modelling may not be compulsory for a number of designs but is very
necessary for aircraft design. By solving the models or using some existing
evaluation parameters the calculation process help the designers to plan the
direction of idea explorations, evaluate the outcome and make better decisions at
lower risks.
4. package
‘Packages are extensions of a language' and can also be seen as a set of functions
wrapped in an environment for certain use. Packages can call other packages by
function calls so they could focus on one certain subject.
What is missing from most commencial program is that scripting is underestimated.
Because there is no certain workflow to design a plane for all missions, recording
every step and every assumptions made is crucial to the workflow. It will be
beneficial for correcting mistakes, rewriting for different functionalities. Most of the
conceptual design codes on GitHub is not reusable because it only work for a fixed
way of crunching the puzzle, but if some models, as optional components of the
solving process, can be written as functions, they can be called and reused. In this
way, although the designer is actually customizing the algorithm, the time taken to
develop such solving script can be shortened. Also, considering most functions are
named after verbs, the code would be shorter and easy to understand.
Research
Possible techniques:
Functional programming: Symbolic calculations: Computational
geometry(considered unnecessary): Pipelines: Linear algebra: Reactive
page(considered not appropriate):
The choice of programming language:
Fortran:-formula translation, F77, F95, F03 standards: fast (for loops) suitable for
large scale computation, but hard to develop and debug. (the ergonomic calculator I
did last year was using fortran and most work was put in to format the text instead
of managing models) (Lots of ‘goto's.).
Python(with math,numpy, scipy, sageMath): Suitable for gluing tools together Lots
of packages to look for, most of which are open source. Has Notebooks and
markdown formats.
Matlab/Octave: matrix laboratory. Highly integrated and have very intuitive linear
algebra functions. Lots of examples codes for math modelling in matlab. It also has
the simulink environment but mainly for electrical engineering.
S/R: Highly integrated scientific computing language, initially intended for statistics
at first but also suitable for managing data. Lots of packages from CRAN. Has
Notebooks and markdown formats.
Maxima: an open source symbolic calculation language.
Julia: Fast (loops and functions), need compilation, but compliation for packages are
rather slow.
I decided to make the prototype in R.
Planning:
There are mainly 2 things to consider within the program: data structure and
functions. The theoretical equations/ relations should be written as functions and
the development is not affected by other parts of the structure.
The conflicting part of the plan is that to before writing the wrapper functions, a
clear outline should be put up for all the functions to manipulate data in one agreed
way within the package, but this is not possible since we do not know what
structure to put parameter in before the function of the models are working.
Research on what type of data structure should be carried while mastering new
mathematical models. The first version of the package should only contain the
elemental parts and some basic models as example. This may not be practical for its
application at first but could be beneficial to the structure.
Concept design
Concept predesign
1.Previous attempts
The coding of the first concept started a long time ago, even before the plan I was
trying to code some functions in sciLab. The next step I was trying was to conject the
functions to a fixed workflow, but this was soon proved to be impractical. By the
time this initial draft was coded I did not know about multivariable questions and
my math skills was limited.
Another version of the tools was using Excel to construct a calculation table, still, it
does not solve the problem of consistency of variables and cannot do reverse
solving.
previous attempts to write base functions in R
some calculation tables (this is the new version as I cannot find the original copy, The
tables are mainly used for prototyping)
Copy of the General Sizing sheet from bluecraft company, which also offer courses for
mission specific aircraft design on youtube
Noun Usage
As mentioned above, verbs are used to name the functions. Nouns are used to name
the classes. It corresponds to the way we deal with mathematical models. Nouns, or
classes, states what type does a model belongs to, where as verbs, or functions, do
corresponding things to the specific type or class of the model, in this way it can be
more intuitive.
Evaluation
Further developments
The advantages of using S3 is obvious and it is now being used to replace large
chunks of original structure. Due to the rush of the usage the first version was built
before I learned about this idea. The new version was likely to be called
rObjectiveAviationExploratory and meanwhile some advantages are already seen in
the latest prototype model. It is helping building more connections and easier
connections between the models. Besides, since the matrix like objects are not
classified they could be called from the concept list so that the concept itself does
not have to contain the foil data.
New models are coded and the original models are modified for more general
definitions.
Screenshots of XLSAviationExploratory
Promotion
Holding an aeromodelling meeting in our high school
On 4th September 2018, I held the Model Aviators' Meeting in Burnside High School
with the help from Mr Creighton, Mr Watson (from physics department) and Mr
Knight and was approved by our dean Ms Higginson. This meeting featured
presentations of 3 projects including this one, Zhenghan's project and Felix's
project. There were more than 10 other students. After the presentation we
demonstrated the use of a number of software tools including Autodesk Fusion (a
CAD-CAE-CAM software environment), Autodesk Flow (a flow simulation tool) and
R (with my package). We also discussed some future possibilities considering our
different backgrounds.
Poster and invitation of the meeting.
Appendix 2 List of Free Softwares for Aircraft Design
List of free software tool for UAV and model airplane design
Nam Explan
No e Use Type Website ations
1 Xflr Analy execut http:// Downl
5 sis able www.xflr oad
and 5.com/ the
Evalu xflr5.htm softwa
ation re and
tool some
examp
le files
to play
with
2 Ope Integ execut http:// Downl
nVS rated able openvsp. oad
P tools org/ the
softwa
re and
some
examp
le files
to play
with
3 Evalu web https: Click the green
vjmer ation UI // button to
kl/Air Gadge App github download the
craft- t .com/ zip and extract
Desig jmerkl and run it
ner /
Aircra
ft-
Desig
ner
4 CG Evalu Online https://
calcul ation Fluid www.scaleaer
ator Gadge Page o.com/
t CG_Calculator.
htm
5 BluCr Prede Excel
aft sign Form
calcul tool
ation
table
6 XLSAv Excel
iExp Form
Prede
sign
tool
7 Flight Flight executable
Gear Simul
ator
8 FMS execut https://
Flight able www.modelsimulator.c
Simul om/
ator
9 SimSc Simul cloud https://
ale ation based www.simscale.
com/ Register
and create
project and
upload the files
to use the CFD
and FEM
10 Profili Integr execut http://
2 ated able www.profili2.c
tools om/eng/
default.asp
Access a list of
tools with free
trails and a
free web based
plan and airfoil
database
11 Airfoil Evalu Online http://
Tools ation datab www.airfoiltoo
Gadge ase ls.com/
t
12 UIUC Datab Online http://m-
Airfoil ase datab selig.ae.illinois.
Coord ase edu/ads/
inates coord_databas
Datab e.html
ase
13 Xfoil Evalu comm http://
ation and web.mit.edu/
Gadge line drela/Public/
t App web/xfoil/
14 rAviE Integr R package
xp ated
tools
15 eCalc Evalu Online https://
ation Fluid www.ecalc.ch/
Gadge Page cgcalc.php
t
Appendix 5
Full Bibliography:
Mathematic Modelling
Mark M., M. (2012). Mathematical Modeling (Fourth Edition). 4th ed. Academic
Press.
Physics
En.wikipedia.org. (2018). Density of air. [online] Available at:
https://en.wikipedia.org/wiki/Density_of_air [Accessed 14 Mar. 2018].
Khan Academy. (2018). What is Bernoulli’s equation?. [online] Available at: https://
www.khanacademy.org/science/physics/fluids/fluid-dynamics/a/what-is-
bernoullis-equation [Accessed 14 Mar. 2018].
Zhou xin. (2014). Gong cheng liu ti li xue. Bei jing: Zhong guo dian li chu ban she.
Design
Tan chu xiong. (2007). Mo xing fei ji tiao zheng yuan li. Bei jing: Hang kong gong ye
chu ban she, pp.18-92.
Zhang wei., Su jian min. and Zhang ya feng. (2007). Mo xing fei ji de yi xing yu ji yi.
Bei jing: Hang kong gong ye chu ban she, pp.20-59.
Raymer, D. (2012). Aircraft design. Reston, VA: American Institute of Aeronautics
and Astronautics.
Gudmundsson, Snorri. General Aviation Aircraft Design : Applied Methods and
Procedures, Elsevier Science & Technology, 2013. ProQuest Ebook Central.
Lab 8 Notes ' Basic Aircraft Design Rules.' (2018). [ebook] mitopencourseware.
Available at: https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-01-
unified-engineering-i-ii-iii-iv-fall-2005-spring-2006/systems-labs-06/spl8.pdf
[Accessed 2 Mar. 2018].
Programming
Nagel, B., Bohnke, D., Gollnick, V., Schmollgruber, P., Alonso, J. J., Rizzi, A., & La Rocca,
G. (2012). Communication in Aircraft Design: Can we establish a Common
Language? In I. Grant (Ed.), Proceedings of the 28th congress of the International
Council of the Aeronautical Sciences, paper ICAS2012-1.9.1 (pp. 1-13). Brisbane:
ICAS.
Matloff, N. (2013). The art of R programming. San Francisco: No Starch Press.
End of book