You are on page 1of 66

Arch Computat Methods Eng

DOI 10.1007/s11831-015-9147-y

ORIGINAL PAPER

A Survey of Free Software for the Design, Analysis, Modelling,


and Simulation of an Unmanned Aerial Vehicle
Tomáš Vogeltanz1

Received: 23 February 2015 / Accepted: 10 March 2015


 CIMNE, Barcelona, Spain 2015

Abstract The objective of this paper is to analyze free 1 Introduction


software for the design, analysis, modelling, and simulation
of an unmanned aerial vehicle (UAV). Free software is the UAVs are a relatively inexpensive alternative to manned
best choice when the reduction of production costs is aircraft for a variety of applications, including aerial re-
necessary; nevertheless, the quality of free software may connaissance, environmental monitoring, agriculture, sur-
vary. This paper probably does not include all of the free veying, defense, search and rescue, and detection of
software, but tries to describe or mention at least the most biological, chemical, or nuclear materials [2–12].
interesting programs. The first part of this paper summa- UAVs have a large number of important advantages.
rizes the essential knowledge about UAVs, including the First of all, errors arising from the human element are
fundamentals of flight mechanics and aerodynamics, and minimized. This is of great significance in terms of re-
the structure of a UAV system. The second section gen- ducing crashes; moreover, UAVs can be produced in
erally explains the modelling and simulation of a UAV. In smaller sizes which contribute to their high performance
the main section, more than 50 free programs for the de- maneuverability, wide range of use, ease of control and
sign, analysis, modelling, and simulation of a UAV are command [13–15].
described. Although the selection of the free software has The majority of missions are ideally suited to small
been focused on small subsonic UAVs, the software can UAVs which are either remotely piloted or autonomous.
also be used for other categories of aircraft in some cases; Requirements for a typical low-altitude small UAV include
e.g. for MAVs and large gliders. The applications with an long flight duration at speeds between 20 and 100 km/h,
historical importance are also included. Finally, the results cruise altitudes of 3–300 m, light weight, and all-weather
of the analysis are evaluated and discussed—a block dia- capabilities. Although the definition of small UAVs is
gram of the free software is presented, possible connections somewhat arbitrary, vehicles with wingspans less than
between the programs are outlined, and future improve- approximately 6 m and masses less than 25 kg are usually
ments of the free software are suggested. considered in this category [6].
Because of the availability of very small sensors, video
cameras, and control hardware, aerial systems as small as
15 cm with a mass of 80 g are possible to use for some
limited missions. These systems are referred to as micro
aerial vehicles (MAVs) [5, 6].
This paper is loosely based on [1].
An extremely small (less than 15 cm), ultra-lightweight
(less than 20 g) aerial vehicle systems, with the potential to
& Tomáš Vogeltanz perform indoor and outdoor missions, are known as nano
vogeltanz@fai.utb.cz aerial vehicles (NAVs) [5].
1 Although the development and flight-testing of aircraft
Department of Informatics and Artificial Intelligence, Faculty
of Applied Informatics, Tomas Bata University in Zlı́n, nám. are well-documented engineering procedures, every UAV
T.G. Masaryka 5555, 760 01 Zlı́n, Czech Republic design, construction, implementation and test are unique

123
T. Vogeltanz

and present different challenges to engineers, operators,


and test teams. Because the performance of a UAV is de-
pendent on both effective and highly responsive motor
control as well as on aerodynamic efficiency, the high
quality of the design and control of a UAV is increasingly
required nowadays. Moreover, the criteria for UAVs may
differ from those for manned aircraft; for example, the
operation times of a UAV can be up to 10 times higher than
a manned air vehicle, hence operation times of UAVs
should be well considered. In addition, two important de-
sign parameters determine the power requirement of a
UAV; range (based on the lift to drag ratio with fuel effi-
ciency coefficient) and weight (based on total mass) [3, 9,
11, 13, 16–19].
There are three basic phases in aircraft design: con-
ceptual, preliminary, and detailed. Each design phase has Fig. 1 The forces and moments acting on an aircraft [4]
characteristics which drive the tools and methods used as
the design progresses. While it may be desirable to have translational equations are referred to as the three degree of
the same suite of tools and methods spanning the design freedom (3DOF) equations of motion [22, 23].
process, the widely varying characteristics of each of the
phases makes this extremely difficult. For those organiza- 2.1 Forces and Moments
tions whose activities span all of these phases, there is a
strong desire to have tools and methods which also span all The forces of lift, weight, drag, thrust, and side act along
of the phases, and this is most evident in the area of ge- the axes and they force the aircraft to move in the axis
ometry definition [20, 21]. direction. On the other hand, the three moments, yaw, roll,
and pitch force the aircraft to turn around the axes
[2–4, 24].
2 Fundamentals of Flight Mechanics Table 1 defines each of the state variables. Although the
and Aerodynamics forces and moments are relative to the atmosphere, the
state variables are defined relative to the earth [3].
Flight mechanics is the application of Newton’s laws (1) V, v, and c represent the magnitude of the velocity
and (2) to the study of vehicle trajectories (performance), vector, heading angle, and flight path angle. P, Q, and
stability, and aerodynamic control [4, 22]. R represent the components of angular velocity; roll, pitch,
F ¼ma ð1Þ and yaw. The position of the aircraft relative to the earth in

M ¼Ia ð2Þ
Table 1 State variable definition [3]
The equations of motion are composed of translational
(force) Eq. (1) and rotational (moment) Eq. (2) and are Variable Symbol
called the six degree of freedom (6DOF) equations of Roll rate (rad/s) P
motion. The 6DOF means that aircraft can move in three Pitch rate (rad/s) Q
dimensions in space and can rotate around three axes. Yaw rate (rad/s) R
Motion caused by gravity, propulsion, and aerodynamic Velocity (m/s) V
forces contribute to the forces and moments which act upon Sideslip angle (rad) b
the body of the airplane. Figure 1 shows the three axes and Angle of attack (rad) a
the forces and moments acting on an aircraft. The center of Bank angle (rad) l
gravity of the aircraft is at the intersection of the axes [2–4, Flight-path angle (rad) c
22, 23]. Heading angle (rad) v
For trajectory analysis (performance), the translational
North position (m) n
equations are uncoupled from the rotational equations by
East position (m) g
assuming that the airplane rotational rates are small and
Altitude (m) h
that control surface deflections do not affect forces. The

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Cartesian coordinates is expressed by n, g, and h. Body well as on the angle of attack of the airfoil which represents
attitude relative to the velocity vector are l, b, and a [3]. its geometric inclination to the incoming flow [22, 25].
All longitudinal motion occurs in the xz-plane of the L
aircraft. Stability along the longitudinal axis is both static CL ¼ ð4Þ
qc
and dynamic. Longitudinal static stability is the tendency
of the airplane to return to pitch equilibrium following an D
CD ¼ ð5Þ
angle of attack disturbance. Static stability is the aircraft’s qc
initial response to an input command. Aircraft is consid- The chord length and the wingspan are based on the
ered as statically stable when it immediately tends to return aircraft’s mass and payloads weight; for instance, in-
to its steady level flight condition. The aircraft is statically creasing payloads also increases the mass of the aircraft
stable if the center of gravity is located at the wing aero- where Reynolds number rises as well as the wing-span
dynamic center. When viewed over time, the aircraft is [19].
dynamically stable if it tends to return to steady level flight The combination of small length scale and low ve-
condition [3, 22, 23]. locities results in a flight regime with low wing chord
Reynolds numbers (i.e., chord Reynolds numbers ranging
2.2 Airfoils and Reynolds Number from 10,000 to 500,000) [6, 25].
The aerodynamics of fixed-wing UAVs is critically de-
The design of efficient airfoils and wings is critical. The pendent on the Reynolds number and aspect ratio of the
proper functioning of the airfoil is the prerequisite to the wing. Existing airfoil design methods produce good results
satisfactory performance of the lifting surface itself [5, 6, down to Reynolds numbers of 200,000. When the aspect
25]. ratio decreases below 1.5, the nonlinear lift from the tip
Accurate prediction of airfoil performance is especially vortices dominates, especially at high angles of attack. For
necessary in the design of efficient low-speed airfoils. Pa- this reason, MAVs tend to cruise at higher angles of attack
rameters such as a wingspan and a chord length of the than higher aspect ratio vehicles [6].
aircraft should be sized according to the shape and density Figure 2 shows this huge scale range, which spans the
of the structural model. The ideal shape of an airfoil de- Reynolds numbers from 102 to 109. Below the lower limit,
pends profoundly upon the size and speed of the wing of viscous effects are dominant and it is unlikely that any
which it is the core; in other words, different sizes of air- airfoil-like performance can occur [25].
foils require different shapes. This dependence is called The insects and NAVs are in the range up to 104, where
scale effect [6, 17, 19, 25, 26]. the flow is characteristically strongly and persistently
The scale effect relates to the phenomenon that an airfoil laminar. The range 30,000 B Re B 70,000 is of great in-
which has most excellent qualities on an insect or bird may terest to MAV designers. The range of flying animals,
not exhibit these advantages when scaled up for an airplane MAVs, and small UAVs is at somewhat higher Reynolds
wing, and vice versa. The scale effect is characterized by numbers up to 105 [5, 6, 25, 28].
the chord Reynolds number (Re) defined by Eq. (3), where In regime up to about 106, the airfoil performance im-
V is the flight speed, c is the mean wing chord, and v is the proves significantly because the parasite drag decreases.
kinematic viscosity of the fluid in which the airfoil is op- There is also the coexistence of a number of fascinating
erating. A Reynolds number calculator can be found in [6, flight systems to support this claim; for instance, large
17, 19, 22, 25, 27].
V c
Re ¼ ð3Þ
v
The Reynolds number quantifies the relative importance
of the inertial (fluid momentum) effects on the airfoil be-
havior, compared with the viscous (fluid stickiness) effects.
It is the latter effects that essentially control the airfoil
performance since they dictate the drag or stream-wise
resistance as well as limiting and controlling the maximum
lift of the airfoil. Normally, these qualities are described by
the lift and drag coefficients, CL and CD defined as (4) and
(5), where L and D are the lift and drag per unit span, q is
the flow dynamic pressure, and c is the wing chord. The lift
and drag coefficients depend on the Reynolds number as Fig. 2 Flight Reynolds number spectrum [25]

123
T. Vogeltanz

soaring birds of quite remarkable performance, some small


UAVs, foot-launched ultralight, man-carrying hang-glid-
ers, the human-powered aircraft, and also the airfoils for
small modern wind turbines. Sailplanes, light aircraft, and
jet transports operate at Reynolds numbers up to and be-
yond 107 [6, 25, 28].
A convenient parameter to measure the effectiveness of
an airfoil (also known as aerodynamics efficiency) is its
lift-to-drag ratio (CL/CD); the maximum value of this
quantity gives a good indication of the airfoil effectiveness.
For design purposes, it is desirable that this maximum
occur at a high lift coefficient so that the physical size of
the lifting surface is minimized [5, 25, 28].
At the lower Reynolds number values the viscous effects
are relatively large, causing high drags and limiting the
maximum lift, while at the higher values the lift-to-drag
ratio improves. There is a critical Reynolds number of ca.
70,000 at which this performance transition takes place.
This dramatic increase can be seen the most intensively in
Fig. 3 [5, 25].
Fig. 4 Low Reynolds number airfoil performance [25]
The striking change in performance for smooth airfoils
is near the critical Reynolds number where the lift-to-drag
ratio increases more than an order of magnitude. It is of Eppler 193, an airfoil with excellent performance at a
great interest that a rough or turbulent airfoil does not Reynolds number of about 105, and at the high end, the
exhibit this abrupt performance change with Reynolds Lissaman 7769, the airfoil used on the Gossamer Condor
number. It is important to know that this critical Reynolds and Albatross, and the Liebeck L 1003, an airfoil of
number divides the airfoils of the insect class (less than striking performance which provided clues on which the
104) from those of the large airplane class (above 106) (as design of the Lissaman 7769 was based [25].
illustrated in Fig. 2) [25, 28].
Some representative airfoil sections of this transitional 2.2.1 Rotary Wing Airfoil
range are shown in Fig. 4. At the low end, there are the
insects with the interesting feature that it is not necessary to There are two main types of the rotor blade: symmetrical
have a smooth surface; in fact, it is likely that the dis- and asymmetrical, as illustrated in Fig. 5 [29].
continuities are desirable to delay flow separation. For Symmetrical blades are very stable, which helps keep
birds, however, smoothness begins to be important, as blade twisting and flight control loads to a minimum. This
shown by the pigeon section. In the middle range is the stability is achieved by keeping the center of pressure
virtually unchanged as the angle of attack changes [29].
Asymmetrical airfoils normally would not be as stable,
but this can be corrected by bending the trailing edge to
produce the same characteristics as symmetrical airfoils;

Fig. 3 Low Reynolds number airfoil performance [25] Fig. 5 Symmetrical and asymmetrical airfoils [29]

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

this correction is called ‘‘reflexing’’. Using asymmetrical


type of rotor blade allows the rotor system to operate at
higher forward speeds. The advantages are more lift pro-
duction at a given angle of attack than a symmetrical de-
sign, an improved lift-to-drag ratio, and better stall
characteristics. The disadvantages are greater production
costs and center of pressure travel of up to 20 % of the
chord line (creating undesirable torque on the airfoil
structure) [30].

2.3 Weight and Power

During the design process of a UAV, both the weight Fig. 6 The composition of a UAV system [31]
budget and the power budget should be carefully mon-
itored. In particular, the total mass of the vehicle should be barriers. These types of avoidance sensors are called see-
kept as low as possible, since added weight will increase and-avoid or sense-and-avoid [12, 19].
power consumption. The minimum power required to keep Although human personnel are part of the overall sys-
a fixed-wing aircraft in level flight can be expressed as (6), tem, UAV systems include different levels of autonomy,
where T is the thrust, V is the velocity, gp is the propeller ranging from remote control to fully automated mission
efficiency, W is the weight, S is the wing area, q is density, completion including adaptation and decision making in
L/D is lift-to-drag ratio, and CL is the lift coefficient. This response to changing operational conditions [11, 33].
means that doubling the weight nearly triples the power
consumption [5]. 3.1 Airframe
Similarly, for hovering flight, the power requirement is
expressed as (7), where M is the figure of merit of the rotor Figure 7 shows the main components of fixed-wing air-
and Vh is the induced velocity in hover. Similar to that craft. The airframe consists of fuselage, wings, horizontal
described above, a doubling of the weight increases the stabilizer, elevator, vertical stabilizer, and rudder. The
required power by a factor of nearly 3 [5]. weight of the airframe does not only come from the wings
qffiffiffiffiffiffiffiffiffiffi
2W (pylon, flaps, and ailerons), fuselage, empennage, and na-
T V W SqCL
celle but also from propulsion, avionics, sensors, and other
P¼ ¼ ð6Þ
gp L=D gp payloads. The payload of medium range light aircraft is
sffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi usually about 40–50 % [4, 17, 19].
T  Vh W W The elevator is used to control the pitch of the aircraft.
P¼ ¼ ð7Þ
M M 2Sq The rudder is used to control the yaw of the aircraft. The
ailerons, which are movable surfaces on the outer trailing
edge of the wings, are used to control the roll of the air-
craft. The flaps, which are hinged parts on the inner trailing
3 The Structure of a UAV System
edge of the wings, are used to produce higher lift at low
The study of structure, composition and function of the
UAV system (UAS) is the premise. Any UAV system de-
pends on its mission and range; however, most UAV sys-
tems include: airframe (physical and material structures)
and propulsion systems, control systems, sensors for in-
formation collection, launch and recovery systems, com-
munication links to get collected information from the
UAV and send commands to it, and a ground control sta-
tion. The typical UAV system is shown as Fig. 6. It is
obvious that the health state of the whole system is de-
pendent on the composed sub-systems [4, 8, 10, 12, 17, 19,
31, 32].
UAVs can also require additional sensors to avoid ob-
stacles, i.e. power lines, birds, trees, buildings and other Fig. 7 Fixed-wing aircraft components [4]

123
T. Vogeltanz

speed, and to increase drag on landing to get the required the quietest and having one of the lowest thermal signa-
landing speed and approach angle [4]. tures [5, 34].
The landing gears configurations are either tricycle Since coreless motors are lighter and smaller than, for
landing gear, which has the main landing gears just behind example, direct current (DC) iron-core motors, they are
the aircraft center of gravity and a steerable nose gear, or considered more suitable. In addition to the small dimen-
tail dragger, which has the main landing gear forward of sions and the low weight, another advantage of coreless
the aircraft center of gravity and a small steerable gear at motors is the lack of iron losses that are reflected in a
the tail [4]. higher efficiency. Furthermore, since the rotor is very light,
Carbon fiber composites are the main materials used for it has a small inertia that allows extremely fast accel-
UAV airframes, because they have high strength/weight erations and decelerations. However, the lack of iron in the
ratio and are easily accessible [5]. center reduces the motor heat dissipation. To avoid over-
heating and thermal problems, they are only used for small
and low-power motors [5].
3.2 Propulsion Innovations exist in small propulsion; for example, there
are mini-ducted fan, mini-turboprop, mini-gas turbines, and
The propulsion system of a UAV consists of the following mini-internal combustion engines [5, 17].
elements: [19, 34]
3.3 Energy Storage
• energy source; e.g. chemical fuels (fossil fuels, biofu-
els, and chemicals), electricity, solar energy (in
Electrical energy is supplied by a battery, photovoltaic or
conjunction with photovoltaic cells), hydrogen, metha-
fuel cell. Although they are undergoing continuous im-
nol, and energy mechanics
provement, electricity demand comes not only from the
• storage media; e.g. tanks, batteries, capacitors, and
engine, but also from the electronic circuits, sensors, ac-
metal hydrides
tuators and communication systems; consequently, the
• mechanical energy converter; e.g. internal combustion
endurance or speed is limited. However, a large part of the
engine, and fuel cell ? electric motor
electric energy is used for the electric motors [5, 34].
• lift/thrust converter; e.g. rotor, fan, propeller, and jet
Since energy stored in batteries does not require any
engine
conversion to be useful for both the electronics and
Lift/thrust conversion systems are closely linked to the propulsion, batteries seem to be the most appropriate for an
type of aircraft (fixed wing, rotary, lighter than air, etc.). In electric UAV. Furthermore, the energy density of the bat-
addition, propulsion systems usually include power control, teries has steadily increased during the last years as shown
RPM control, heat management system, and an auxiliary in Fig. 8 [5, 17].
electrical power generator [34]. The most advanced batteries (intelligent batteries) in-
Three main types of propulsion systems exist for UAVs: clude circuit that optimizes the cells’ discharge curves with
[34] respect to the loads. Despite these improvements, the most
• alternative thermal systems; where different thermody-
namic cycles, fuel, or engine types can be used (e.g.,
spark-ignition reciprocating engines fuelled by
gasoline)
• electrical systems; where the required power is ob-
tained through an electric motor and the power is
generated or stored in different ways
• hybrid systems; combining any of the systems listed
above, even the same type (e.g. a combination of fuel
cell and battery or Regenerative Fuel Cell Systems,
RFC, which combine fuel cell, battery, and photo-
voltaic cells)
Currently, mainly MAVs and small UAVs are powered
by batteries and electric motors due to their high efficien-
cies, reliability, and ease of control. Electric motors con-
vert electricity into mechanical energy by moving a
propeller, fan, or rotor. They have the advantage of being Fig. 8 Energy densities of various energy storage systems [5]

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

advanced batteries also provide much lower energy den- i.e. the width of its allocated band of frequencies, and is
sities than sources, such as gasoline or methanol [5, 17]. measured in MHz or GHz as appropriate
Another alternative is fuel cells. A fuel cell system is
When reducing the UAV system dimensions, the major
conceptually a sort of battery in which the fuel is trans-
challenges for the communications parts are represented by
formed into electric current trough an electrochemical
the weight and size of the antennas, filters, and resonators.
process. There are several kinds of fuel cells which mainly
Antenna shape strongly depends on the operating fre-
differ with respect to the principle of energy conversion.
quencies and, thus, will depend on external factors, such as
Currently, the most promising fuel cells for a UAV are
application (military frequencies are different from civilian
proton exchange membrane (PEM) fuel cell and direct
frequencies), distances, bit rate, and other factors. This
methanol fuel cell (DMFC) which could be considered as a
requires the application specific antenna design [5].
subcategory of the PEM [5, 17, 34].
The loss of communication during operations may result
Besides fuel cells, ultra-capacitors have become inter-
from: [17]
esting the last few years. The latest improvements have
made this power storage principle attractive also for UAVs, • failure of all or part of the system due to lack of
and they have already been used in some prototypes [5]. reliability
Since they are an evolution of normal capacitors, • loss of line-of-sight (LOS) due to geographic features
their main features are fast charging, high peak current, blocking the signals
and virtually unlimited charge–discharge cycles. The • weakening of received power due to the distance from
main drawback consists of the output voltage that the UAV to the control station becoming too great
strongly depends on the charge status of the capacitor. • intentional or inadvertent jamming of the signals
Moreover, when compared with other energy sources,
UAV system should have an ability to safely com-
they have a relative low energy density as can be seen
plete/cancel a mission in case the communication is lost,
in Fig. 8 [5].
e.g. the UAV can fly to the base or to the last position
Although solar cells are also a potential useful energy
where the communication was in order. It also must be
source, photovoltaic systems cannot be used for every type
ensured that the transient loss of communication will not
of the UAV; for example, the small dimensions of NAVs,
affect the UAV functions.
the weight constraints, the indoor application area (low
light), and some UAV typologies limit the efficiency and
3.5 Sensors
the availability of this energy source [5].
Sensors can roughly be divided into two categories. The
3.4 Transmission
first one contains the sensors that are necessary for flight
control, the second is sensors that are a part of the payload
For a UAV system, two different kinds of signals have to
and provide mission-specific information [5].
be transmitted: control signals and data signals. The control
A UAV system should theoretically be able to fly only
signals are needed for take-off, landing and for piloting the
with a 3-D accelerometer and a 3-D gyroscope. Ideally, if
vehicle in general while the data signals are the data col-
the initial position is known, all the later positions can be
lected by onboard sensors of a UAV system (such as
calculated only by integrating the resulting vector accel-
camera, microphones, gas sensors, and other devices).
eration two times to find the position, while 3-D gyroscope
Control signals are mainly transmitted from the ground
signal is used to maintain flight stability. However, since
station to the vehicle while the data signals are sent from
all gyroscopes and accelerometers suffer from offsets and
the vehicle to the ground station [5, 17, 32].
drifts, for instance with time and temperature, the accuracy
Currently, the only system known to be operative is
of the calculated position will decrease over time [5].
communication by radio, directly or via satellites or other
The currently popular method of position fixing and
means of radio relay [17].
navigation between points is by use of the Global Posi-
The specifications for communications performance in-
tioning System (GPS). GPS is available as two services, the
clude two fundamental parameters: [17]
Standard Positioning System (SPS) for civilian users and
• data rate; which is the amount of data transferred per the Precise Positioning Service (PPS) for military users.
second by a communications channel and is measured Both signals are transmitted from all satellites. The accu-
in bytes per second (Bps) racy of GPS position fixes varies with the receiver’s po-
• bandwidth; which is the difference between the highest sition and the satellite geometry. Height is also available
and lowest frequencies of a communications channel, from GPS, but to a lower accuracy [17].

123
T. Vogeltanz

Fig. 9 The schema of a flight


dynamics model [2]

The other class of sensors is the data-collecting sensors • A Flight Dynamics Model (FDM)
that provide useful information for the users. Examples are • A UAV mathematical model
cameras, microphones, gas sensors, biological sensors, ra- • A 3D graphical model (only if the 3D visualization of
diation sensors, and other sensors [5]. the UAV is needed)
• A control system
• A flight route identification
4 The Modelling and Simulation of a UAV
• Autonomous flight simulation
As known, flight modelling and simulation have many FDM is the physics/math model which defines the
advantages; for instance, energy and finance saving, secu- movement of an aircraft under the forces and moments
rity, and no limitation of locality and weather. Moreover, applied to it using the various control mechanisms and
some hard and risky tasks can be simulated [8]. from the forces of nature. FDM includes development of
However, the accurate modelling and simulation of a a physical, inertial, and aerodynamic model representing
UAV is not an easy task, due to the need to calculate many the UAV. FDM processes parameters from all input in-
parameters either by physical measurements, experiments, formation. By manipulating input variables
or estimation from available data of similar UAV or by mathematically, FDM predicts the future states of an
software tools. One of the big challenges is calculating aircraft. The FDM accuracy determines the fidelity of the
aerodynamic coefficients. Aerodynamic coefficients char- simulator [2–4, 8].
acterize the response of the proposed vehicle based on its With a generic FDM implementation in mind, the
geometry [2, 4]. Aerodynamic Coefficients are not provided by the FDM
UAVs typically consist of sets of sophisticated and and hence need to be determined by other ways. As long as
different entities including several categories of human the aerodynamic coefficients are available, the FDM may
personnel. A comprehensive simulation environment must model the motion of any vehicle configuration, from a ball
model all these components and include specific charac- to a transonic fighter [2].
teristics related to system intelligence, complexity, au- FDM, like any other dynamics model, is a data driven
tonomous operation, and collaborative operation [33]. program. Hence the accuracy of its outputs depends on the
Several major assumptions are often made for the quality of the input information supplied. FDM takes initial
modelling and simulation of the aircraft. First, the aircraft conditions of the vehicle, and other inputs including air-
is rigid. Although aircraft are truly elastic in nature, mod- craft properties (e.g. inertia and gravity), aerodynamic
elling the flexibility of the UAV should not contribute coefficients, control inputs and relative wind conditions.
significantly to the research. Second, the earth is an inertial After calculations, FDM sends the vehicle dynamic re-
reference frame. Third, aircraft mass properties are con- sponses to the output. Figure 9 illustrates the internal data
stant throughout the simulation. For UAV modelling, it can flow of FDM [2].
be assumed the aircraft has constant mass over a flight. As indicated, wind modelling has a significant role in
Finally, the aircraft has a plane of symmetry. The first and the design and certification of aerial vehicles. It helps to
third assumptions allow for the treatment of the aircraft as a study and analyze the behavior of the aircraft facing the
point mass. This assumption is a satisfactory approxima- wind [2, 35].
tion for UAV models [2, 3]. The best equations to use to completely and accurately
For the modelling and simulation of a UAV at least the model a UAV’s true motion are nonlinear fully coupled
following items must be created: [4, 8] ordinary differential equations. With these equations of

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

motion, UAV response to any commanded inputs or wind found and how it should be found. Next, the settings of
disturbances is accurately modeled [3, 7]. simulation parameters (e.g. density, gravity, airspeed, and
However, a software model developed from first prin- altitude) must be defined and then the simulation itself can
ciples has unknown accuracy. The accuracy of model is be run with or without visualization [3, 4].
ensured through a verification and validation process [2, An example of the hierarchy of a UAV simulation
33, 36]. system can be seen in Fig. 10. This UAV simulation sys-
Verification is the process of determining that a model tem is divided into three layers based on function. In the
implementation accurately represents the developer’s simulation system, the objects on top layer have more re-
conceptual description of the model and the solution to the sponsibilities and manage the objects on low layer; for
model [36, 37]. instance, they provide the instantiation of object, the call-
Validation is the process of determining the degree to ing of methods, communication and operation manage-
which a model is an accurate representation of the real ment. In contrast, the objects on low layer are focused more
world from the perspective of the intended uses of the on functionality [8].
model [36, 37]. The simulation system includes an environment model,
The 3D graphical model is necessary only if 3D visu- an aircraft system model and an equipment model. Each
alization of the UAV is needed. 3D Visualization can give subsystem model has the independent function; for exam-
us a better view of the simulation than numbers and graphs ple the aircraft system model is the core of the system and
alone [4]. is formed of flying control model, engine model, kine-
UAVs promise greater precision; however, autonomous matics model, sensor model, data channel model and other
flight and stability of the UAV depend on the control models [8, 33].
system. The ability to test control systems in a virtual en-
vironment is significant for development. A reliable UAV
simulation process which can be adapted for different air- 5 Free Software
craft would provide a platform for developing control
systems with reduced dependence on expensive field trials. Modelling and simulation software has been developed to
In many cases, testing newly developed control systems in assist in the design, development, test, and validation of
a virtual environment is the only way to guarantee absolute complex aircraft systems. The fidelity and precision of the
safety [2, 3, 8, 16]. software ensure the reliability and efficiency of flying
The way to identify flight route means to simulate sys- simulation system and can decrease the time and costs
tem similar to the GPS or the GPS itself [4]. needed to development of any UAV [8, 38].
Autonomous flight simulation depends on all things Simulation program can run in two modes: [8]
above; in addition, use cases and activity diagrams of
• real-time mode (used in real-time systems)
simulation should be designed to define what should be

Fig. 10 The structure of a UAV


simulation system [8]

123
T. Vogeltanz

• script mode (used in test process)


A large amount of freeware and open-source software Fig. 11 An example of the unit attribute
for the modelling and simulation of aircraft exists on the
Internet. Fortunately, much of the software can also be
used for UAVs. As noted, this section probably does not 5.1.1 Configuration Files and Aeromatic
include all of the free software, but tries to mention, de-
scribe, or analyze the most interesting applications. JSBSim requires creating JSBSim aircraft configuration
files to model and simulate an autonomous UAV; for in-
5.1 JSBSim Flight Dynamics Model stance, by using the Aeromatic. Aeromatic is a free PHP-
based web application and is also included in source code
JSBSim is an open-source 6-DOF nonlinear flight dynam- of JSBSim. However, Aeromatic uses templates for the
ics model which is used as the default FDM for FlightGear generation of the configuration file (e.g. the template for
Flight Simulator and for OpenEaagles Simulation Frame- the glider, light twin, subsonic racer/aerobatic, etc.) and
work. JSBSim is generally considered as a very accurate provides only rough values. As a result, the next step is to
[2, 4, 15, 39–43]. perform educated guesses to improve important sections in
The accuracy of JSBsim has been proved by a large the created configuration files with the assistance of
number of studies; for example, it was tested on Cessna- available data of a similar UAV or with the assistance of
182 UAV by University of Sheffield in the United King- appropriate software tools [4, 40].
dom [4], and on Shadow UAV by Purdue University in Aeromatic takes input conditions from the user i.e. used
Indiana, USA [44]. Moreover, a full 6-DOF simulator for units (imperial/international), a name, type, and length of
flight simulation and pilot training was constructed at the the aircraft, maximum take-off weight, wingspan, wing
University of Naples using JSBSim as its physics engine. area, a landing gear layout, a number of engines, an engine
JSBSim is also used to drive the motion-based research type, and an engine layout. Some values can be estimated
simulators in the Institute of Flight System Dynamics and by Aeromatic, e.g. wing chord, wing area, inertia, and other
Institute of Aeronautics and Astronautics at RWTH Aachen parameters. A part of Aeromatic application can be seen in
University in Germany. Furthermore, U.S. Department of Fig. 12 [4, 40].
Transportation developed a human pilot math model by For the test of Aeromatic, the glider type was used, the
using JSBSim as the 6-DOF simulation core [2, 4, 15, 39, metric system of measurement, a maximum take-off weight
43, 45]. of 2 kilograms, a wingspan of 2.5 meters, a length of 1
JSBSim is written in the C?? programming language meter, one electric motor, and an after-fuselage engine
and can be run as a stand-alone application, or as an in- layout. The other parameters were automatically estimated
tegrated part of the flight simulator which provides visual by Aeromatic, for example a wing chord was calculated as
output. It also supports many data output formats such as 0.0243 m, a wing area as 0.0585 m2, and wing loading as
socket and file [4, 39, 40, 42, 43]. 34.177 kg/m2.
JSBSim can model aircraft, missile, rotorcraft, and However, because the wing loading seemed to be ex-
lighter-than-air systems, and may take into consideration tremely high, it was necessary to set the wing chord and
the rotational earth or wind effects on the equation of wing area to higher values i.e. to 0.25 meters and
motion. Particular aircraft flight control systems, propul- 0.58 m2. After this modification, the wing loading de-
sion, aerodynamics, landing gears, and autopilot are de- creased to 3.467 kg/m2 which should be acceptable. In
fined in eXtensible Markup Language (XML) format files conclude, the estimated values may not always be suitably
[4, 39, 40, 42, 43, 46]. calculated by Aeromatic; thus educated guesses must be
JSBSim allows algebraic functions (e.g. sum, random, performed.
average, difference, sinus, power and other operations) to Aircraft’s metrics, airframe geometry, mass and inertia
be defined in configuration files. All currently supported properties, landing gear positions and their ground reac-
operations are listed in [45]. tions, flight control system, and aerodynamic characteris-
Despite JSBSim uses imperial units (e.g. feet, pounds, tics are specified in the aircraft configuration file whose
etc.) for internal calculations almost exclusively, it is also structure is shown in Fig. 13 [4, 43, 45].
possible to use international units (e.g. meters, kilograms, The file-header section of the configuration file in-
etc.). In fact, to avoid confusion, the unit should always be cludes the author’s name, date of creation, a version of
specified using the ‘‘unit’’ attribute as shown in Fig. 11 the model, a license type, references, notes, and limita-
[45]. tions [45].

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Fig. 12 The aircraft configuration file creation by using Aeromatic

The metrics section of the configuration file defines with limited capacity, cell failure from overpressure, more
the characteristic measurements of the vehicle and the realistic center of buoyancy, and more realistic and com-
locations of key points. A Vehicle Reference Point plete inertia moment are still missing [45, 46].
(VRP) is usually placed at the nose of the aircraft; Ground reactions section specifies the wheels location,
X-axis is along the aircraft body (positive towards the and the coefficients associated with each wheel. Contacts
tail), Y-axis is along the wings (positive towards the between the aircraft and the ground can be modelled so that
right wing tip), and Z-axis is in the vertical axis (posi- the aircraft can realistically take-off and land. Contacts can
tive downward). The VRP is an agreed upon point on also be used to model the interaction between the ground
the aircraft, for which the flight model will provide the and any part of the aircraft structure such as the wing tip.
latitude/longitude/altitude. The VRP is not so important JSBSim does not make any guess for the contact points
to flight dynamics but it is very important to 3D visu- location from the geometry data provided in the metrics
alization. It helps with the placement of the 3D aircraft section. It is advisable to have at least 3 unaligned contacts
model where the flight model exactly specifies aircraft so that the aircraft can have a stable position when resting
components [4, 45]. on the ground [4, 45].
The mass-balance section specifies the empty weight of JSBSim can model two types of contacts: [45]
the aircraft, the moments and products of inertia, the lo-
• BOGEY which is used for landing gears
cation of the center of gravity, and definitions for any point
• STRUCTURE which is used for any location on the
masses that are included such as Payloads [45].
aircraft other than the landing gears (typically wing
Hot air balloons, buoyancy-assisted vehicles, and zep-
tips, nose and tail)
pelins can be modeled through the use of gas cells and
ballonets. The buoyant-forces section has to be added for Both of these contact types basically result in a force
these types of systems. The type of gas contained in the gas which resists the penetration of the ground by the aircraft.
cell can be 100 % pure hydrogen, helium or air. The initial The main difference between the two types of contacts is
fullness fraction of the cell is normally in the interval how the ground reaction force is computed. Furthermore
(0–1); the fullness value greater than 1.0 initialize the cell the BOGEY type includes features which are typical to
at higher than ambient pressure. The maximum allowed landing gears such as brake and steering [45].
cell overpressure with respect to the surrounding atmo- The ground reactions are computed as forces that sup-
sphere, the capacity of the manual valve, and the heat flow port the aircraft above the ground, and affect the motion
from the atmosphere and surrounding environment into the over the ground; thus, these forces can be split into two
gas cell can also be defined. However, automatic valves components: [45]

123
T. Vogeltanz

Fig. 13 The structure of the


aircraft configuration file

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

• the ground normal reaction (computed by a spring/- It was found that Aeromatic is not appropriate for cre-
damper model) ating the propeller of small measurements because, for
• the ground tangential reaction (computed by the example, the rotational inertia (\ixx[ element in file) of
Coulomb friction law) generated propeller is almost always zero. The problem is
probably in the rounding of the value to 2 decimal places.
Aerodynamic forces and moments in JSBSim are de-
However, after appropriate editing, the generated file may
fined in the aerodynamics section of the aircraft con-
be usable.
figuration file, or in a separate file. Within the
JSBSim provides components which can be con-
aerodynamics section there are six axis sections corre-
nected together to model a flight control system for an
sponding to three translational and three rotational axes.
aircraft. The control of the channels such as Pitch, Roll,
Many factors affect each of the forces and moments. The
Yaw, Flaps, Landing Gear, and Speed Brake can be
total force or moment is the sum of the individual effect [4,
performed in the flight control section. The flight con-
42, 43, 45].
trol surfaces are elevator, right and left ailerons, and
Optionally two other coordinate systems may be used:
rudder [4].
[45]
Mechanization of components can be defined by prop-
• body coordinate system (x, y, z) erties. Properties are like variables which are categorized
• axial-normal coordinate system (axial, normal, side) into a tree structure, and accessible from the configuration
file. Properties refer to various values within the simulation
JSBSim can model externally or arbitrarily applied
which represent such physical parameters as roll rate, air
forces and moments. Such a capability might be needed to
density, drag force, and others [45].
model a catapult, hook and wire capture device, tow rope,
Almost all control system components have some
or parachute. External forces are defined in the external
common features. Unless otherwise specified, the common
reactions section [45].
elements are: input, output, delay, and clipto (the last one
JSBSim can model different types of engines i.e. elec-
permits limiting of the output of a component). The pos-
tric, turbine, turboprop, piston, and rocket engines.
sible components to use are: Filter, Switch, Sample and
Nowadays, there is no battery model available for electric
Hold, Sum (named as ‘‘summer’’), Gain, Scheduled Gain,
engine; thus it does not consume any energy in simulations
Aero-surface Scaling, Deadband, Limiter, Positive or
[4, 40].
Negative Value, Absolute Value, Kinematic, FCS (Flight
The aircraft’s propulsion system is specified in two files,
Control System) Function, Actuator, Sensor, Translational
one for an engine and the other for a thruster. This tech-
Accelerometer, and PID (Proportional-Integral-Derivative)
nique allows researchers to assign different kinds of engi-
controller [45].
nes and thrusters to the aircraft. These files are referred to
JSBSim can be scripted to run automatically by using a
in the propulsion section of the aircraft configuration file.
script file in XML format. Commands are specified using
Additionally, other parameters (e.g. the location, orienta-
the scripting directives for JSBSim. A test condition (or
tion, and energy consumption) of the engine, thruster, and
conditions) can be set in an event in a script and when the
fuel tank are specified in this file [4, 40, 42–44].
condition evaluates to true, the specified action (or actions)
For the creation of an engine or propeller, Aeromatic
is taken. An event can be persistent, which means that at all
takes the engine type, engine power or thrust, maximum
times when the test condition evaluates to true the specified
engine RPM, pitch condition, and propeller diameter from
actions are executed. When the set of tests evaluates to true
the user while the orientations of engines and propellers
for a given condition, an item may be set to another value.
have to be edited in file if it is needed [4, 40, 44].
This value may be a value, or a delta value, and the change
Aeromatic does not have the ability to create an electric
from the current value to the new value can be either via a
engine; however, there is no problem to make the file
step function, a ramp, or an exponential approach. The
manually because of small complexity. An example of the
speed of a ramp or approach is specified via the time
electric engine file is shown in Fig. 14.
constant. The basic structure of the script file is shown
Fig. 15 [42, 43, 45].

5.2 FlightGear Flight Simulator

FlightGear is an open-source flight simulator, written in the


C?? programming language, to model and simulate a
wide variety of aircraft and, reportedly, also a soft-wing
Fig. 14 The configuration file of the 2 kW electric engine and flapping-wing vehicles (ornithopters). FlightGear has

123
T. Vogeltanz

Fig. 15 The basic structure of


the script file

probably the ability to model all these kind of vehicles and simulation based on geometry and mass information
their hybrids [2, 4, 10, 12, 15, 32, 41, 44, 47–49]. combined with more commonly available performance
Data visualization is another aspect considered while numbers for an aircraft. This allows for quickly con-
building the flight dynamics model. FlightGear supports structing a plausibly behaving aircraft which matches
many different 3D file formats, for example VRML1, DXF published performance numbers without requiring all the
and AC3D. AC3D is the standard used in most FlightGear traditional aerodynamic test data [47, 49].
models. FlightGear can produce a 3D graphic animation in UIUC is based on LaRCsim originally written by the
real time and is connected to FDM. The animation facility NASA. UIUC was initially geared toward modelling air-
allows the UAV to be viewed from any angles, and pro- craft in icing conditions, but now encompasses nonlinear
vides absolute visual information on the UAV attitude and aerodynamics, which result in more realism in extreme
stability. Moreover, it models real world instrument be- attitudes, such as stall and high angle of attack flight [47,
havior, and system failures [2, 4, 10, 14, 41, 44, 47–50]. 49, 51, 52].
FlightGear allows the user to access the internal prop- FlightGear tries to replicate the real navigation system
erties and monitor any of its internal state variables. By around the world; thus a flight path which contains a
editing configuration files, it is possible to create sound number of waypoints can be constructed. FlightGear uses
effects, model animations, instrument animations and net- fixed waypoints such as airports and navigation aids such
work protocols for nearly any situation. FlightGear can as radio stations for navigation. In order to use the selected
communicate with external flight dynamics models, GPS waypoints with FlightGear navigation system, a unique ID
receivers, external autopilot, control modules, other in- can be assigned to each waypoint, and the FlightGear
stances of FlightGear, and other software. FlightGear could database can be altered to include the new waypoints with
also be used for the simulation of multi-agent cooperation their IDs [4].
[4, 12, 32, 44, 47, 48, 50]. The fixed waypoints are determined by latitude and lon-
FlightGear contains many special features, some of gitude. When a waypoint is entered in the aircraft route
which are not obvious to the new user, e.g. aircraft carrier during the simulation time, FlightGear checks the database
with launching of aircraft from a catapult, Atlas (‘‘moving to see if it is a valid fixed point or not. This database is stored
map’’ application), multiple displays, multiple computer, in the compressed file called fix.dat which can be found in the
recording and playback, and air–air refueling [49]. directory FG_ROOT\ FlightGear\data\Navaids. This file can
It is possible to choose between three primary FDMs: be edited by using, for example, Notepad??.
JSBSim (described in previous subchapter), YASim, and FlightGear was tested, for example, on Cessna-182
UIUC. It is also possible to add new dynamics models or UAV [4], Shadow UAV [44], Pioneer UAV [52], and Ar-
even interface to external proprietary flight dynamics duCopter [53].
models [47, 49–52].
YASim is an integrated part of FlightGear and uses a 5.2.1 Configuration Files
different approach than JSBSim by simulating the effect of
the airflow on the different parts of an aircraft. The ad- Except of FDM configuration files, other files are required
vantage of this approach is that it is possible to perform the for use with FlightGear which include the electric-system

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

basic method of tuning autopilot parameters is the trial and


error method. In this method, the proportional gain, integral
time, and derivative time are adjusted until the perfor-
mance is acceptable [4].
In order to perform a visual simulation, a 3D graphical
model should be specified. The animated control surfaces
and their kind of animation are specified in a graphical-
model configuration file as shown in Fig. 18 [4, 48, 50].
The set configuration file ties all the previous files to-
gether by specifying their names and paths and is the first
processed file in the simulation. Figure 19 illustrates an
example of the set configuration file [4, 14, 50].

5.3 OpenEaagles Simulation Framework

OpenEaagles is an open-source multi-platform simulation


framework targeted to help simulation engineers and soft-
ware developers rapidly prototype and build robust, scal-
able, virtual, constructive, stand-alone, and distributed
simulation applications. OpenEaagles is written in the
C?? programming language and has been used exten-
Fig. 16 A part of the electrical-system configuration file
sively to build applications which demand deterministic
real-time performance or execution as fast as possible. This
file, autopilot file, and 3D graphical model specification includes applications used to conduct human factor studies,
file. The final required file ties the previous files together operator training, or the development of complete dis-
[4, 48]. tributed virtual simulation systems. OpenEaagles has also
The electrical-system file specifies the battery charac- been used to build stand-alone and distributed constructive
teristics, the lights and other parameters. A part of an ex- applications oriented at system performance analysis.
ample of an electrical-system configuration file can be seen Constructive-only simulation applications which do not
in Fig. 16 [4]. need to meet time-critical deadlines can use models with
To fly the modelled UAV autonomously, a tuning pro- even higher levels of fidelity [45, 54, 55].
cess should be made for the built-in PID autopilot which It should be emphasized that OpenEaagles is a cycle or
has the ability to hold aircraft velocity, vertical aircraft frame-based system, not a discrete-event simulator. This
speed, altitude, pitch angle, angle of attack, bank angle, and approach satisfies the requirements for which it is de-
true heading [4]. signed; namely, support for models of varying levels of
FlightGear implements a PID algorithm in a flexible fidelity including higher-level physics-based models, digi-
way which makes it reusable with similar aircraft. tal signal processing models and the ability to meet real-
Typically a PID controller manipulates one control output time performance requirements. Model state can be cap-
to force a current value (or process value) towards a target tured with state machines and state transitions can use the
value (or reference point). However, any number of PID message passing mechanisms provided by the framework
controllers can be defined in the autopilot configuration [45, 56, 57].
file. Moreover, a process value, reference point, any The framework embraces the Model–View–Controller
number of output values, and other tuning constants can be (MVC) software design pattern by partitioning functional
assigned to each controller. Cascading controllers can be components into packages as can be seen in Fig. 20
implemented by specifying multiple PID controllers in (packages with white/clear background indicate the use of
which the output of the current stage is used as the input to a third party open-source tool). This concept is taken a step
the next stage [4]. further by providing an abstract network interface; thus,
To construct an autopilot configuration file (whose ex- custom protocols can be implemented without affecting
ample can be seen in Fig. 17) for a modelled aircraft, an system models. The framework supports a number of other
suitable idea may be to copy an autopilot configuration file third party open-source tools such as FLTK, Fox and
from an existing, similar aircraft, and tuning the autopilot wxWidgets for cross-platform GUI applications, and
parameters to adapt to the modelled aircraft. The most JSBSim as a high quality flight dynamics model [55–57].

123
T. Vogeltanz

Fig. 17 A part of the autopilot


configuration file

The simulation section provides a wealth of capabilities manager. OpenEaagles is also suitable for use in multi-
including abstract classes for representing a variety of en- agent applications [56].
tity types such as aircraft, ships, tanks, ground vehicles, The framework is routinely compiled with Microsoft
space vehicles and even lifeforms. Moreover, a complete Visual Studio for the Windows environment and GCC for
radar modelling environment is included [57]. Linux. Applications probably perform best when they are
The graphics hierarchy provides a collection of classes executed on dual-core or dual-CPU systems [56].
which can be used to render instruments which are com- However, the project files for Codelite and Codeblocks
monly used in operator-vehicle interface displays. The development environments can be generated by OE_-
available instruments include, for example, analog dials for source_ROOT\build\premake\make.bat file. For the gen-
altimeters, dials for direction finders, speedometer dials, erating of the Codelite project files, ‘‘%Premake%
and landing gear indicators [57]. codelite’’ has to be added to the end of the make.bat file.
Distributed applications can interoperate with other
systems and simulations through Distributed Interactive 5.4 MIT and ESOTEC Software
Simulation (DIS) and/or High Level Architecture (HLA)
interfaces. Numerous DIS compliant distributed simulation This chapter contains an analysis of MIT (Massachusetts
applications have been built using this framework as the Institute of Technology) and ESOTEC (Esoteric Tech-
foundation [54–56]. nology) open-source software. ESOTEC software, written
Specific applications using the framework to support by Carter [58], is an extension of MIT software, which was
simulation activities include a UAV ground control station developed mainly by Drela and Youngren [59].
(Predator MQ-9), representative F-16 cockpits, Integrated In addition to described software, it is also worth men-
Air Defense Systems (IADS) and a futuristic battle tioning the Transport Aircraft System OPTimization

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

• Aerodynamic Components (Lifting surfaces, and Slen-


der bodies)
• Configuration definition (Keyword-driven geometry
input file, Defined sections with linear interpolation,
Section properties, Scaling, translation, rotation of
entire surface or body, and Duplication of entire
surface or body)
• Singularities (Horseshoe vortices—surfaces, Source
plus doublet lines—bodies, and Finite-core option)
• Discretization (Uniform, Sine, Cosine, and Blend)
• Control deflections (Via normal-vector tilting, Leading
edge or trailing edge flaps, and Flaps independent of
discretization)
• General Freestream description (alpha, beta flow
angles; p, q, r aircraft rotation components; Subsonic
Prandtl–Glauert compressibility treatment)
• Aerodynamic outputs (Aerodynamic forces and mo-
ments, in body or stability axes, Trefftz-plane induced
drag analysis, and Force and moment derivatives w.r.t.
angles, rotations, controls)
• Trim Calculation (Operating variables such as alpha,
beta, p, q, r, and control deflections, Constraints such as
direct constraints on variables and indirect constraints
via specified CL and moments, and multiple trim run
cases which can be defined, saved, recalled)
• Optional mass definition file for trim setup and
Eigenmode analysis (User-chosen units, and Itemized
component location, mass, inertias)
Fig. 18 A part of the graphical-model configuration file • Trim setup of constraints (level or banked horizontal
flight, and steady pitch rate (looping) flight)
• Eigenmode analysis (Predicts flight stability character-
(TASOPT). TASOPT is a program for optimizing the air- istics, Rigid-body, quasi-steady aero model, Eigenvalue
frame of a wing-tube transport aircraft, together with the root progression with a parameter, Display of Eigen-
engine parameters and operating parameters. However, mode motion in real time, and Output of dynamic
despite there may be found some parts which can be useful, system matrices)
this software as a whole is probably inappropriate for AVL utilizes the extended vortex lattice method to de-
UAVs [60]. termine the aerodynamic loads along the span of all aero-
dynamic surfaces, interprets the geometric configuration of
5.4.1 Athena Vortex Lattice (AVL) the aircraft, and discretizes the wing into a finite element
mesh. An AVL aircraft model and the corresponding static
AVL (whose logo is illustrated in Fig. 21) is a program for lift distribution can be seen in Fig. 22 [26, 28].
the aerodynamic and flight-dynamic analysis of rigid air- AVL allows the user to obtain individual lift forces for
craft of arbitrary configuration. It employs an extended each element in the mesh. The total lift load on each seg-
vortex lattice model for the lifting surfaces, together with a mented portion of the wing is calculated by summing the
slender-body model for fuselages and nacelles [28, 61, 62]. elemental lift forces that are located within the geometric
General nonlinear flight states can be specified. The bounds defined by the segmented plate control surfaces
flight dynamic analysis combines a full linearization of the [26].
aerodynamic model about any flight state, together with AVL works with three input files, all in plain text format
specified mass properties [62]. with the following extensions: [61, 63]
AVL has a large number of features intended for rapid
aircraft configuration analysis. The major features are as • .avl—required main input file defining the configura-
follows: [28, 62, 63] tion geometry

123
T. Vogeltanz

Fig. 19 A part of the set


configuration file

Fig. 20 OpenEaagles package


hierarchy [55]

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

represented as single-layer vortex sheets, discretized into


horseshoe vortex filaments, whose trailing legs are as-
sumed to be parallel to the x-axis [28, 63].
AVL provides the capability to model also slender
bodies such as fuselages and nacelles via source plus
doublet filaments. The resulting force and moment pre-
dictions are consistent with slender-body theory, but the
experience with this model is relatively limited, and hence
modelling of bodies should be done with caution. If a
Fig. 21 The logo of AVL [62] fuselage is expected to have little influence on the aero-
dynamic loads, it is simplest to just leave it out of the AVL
model. However, the two wings should be connected by a
fictitious wing portion which spans the omitted fuselage
[63].
AVL assumes quasi-steady flow, meaning that unsteady
vorticity shedding is neglected. More precisely, it assumes
the limit of small reduced frequency, which means that any
oscillatory motion (e.g. in pitch) must be slow enough so
that the period of oscillation is much longer than the time it
takes the flow to traverse an airfoil chord. This is true for
virtually any expected flight maneuver. Also, the roll,
pitch, and yaw rates used in the computations must be slow
enough so that the resulting relative flow angles are small.
This can be judged by the dimensionless rotation rate pa-
rameters, which should fall within the following practical
limits: [28, 63]
• -0.10 \ pb/2V (Roll rate) \ 0.10
• -0.03 \ qc/2V (Pitch rate) \ 0.03
• -0.25 \ rb/2V (Yaw rate) \ 0.25
These limits represent violent aircraft motion and are
unlikely to be exceeded in any typical flight situation,
except perhaps during low-airspeed aerobatic maneuvers.
However, if any of these parameters falls outside of
these limits, the results should be interpreted with cau-
tion [63].
Compressibility is treated in AVL using the classical
Prandtl–Glauert (PG) transformation, which converts the
Fig. 22 An AVL model and the lift distribution of an aircraft [26] PG equation to the Laplace equation, which can then be
solved by the basic incompressible method. This is
equivalent to the compressible continuity equation, with
• .mass—optional file giving masses and inertias, and
the assumptions of the state without rotation, and lin-
dimensional units
earization about the freestream. The forces are computed
• .run—optional file defining the parameter for some
by applying the Kutta–Joukowsky relation to each vortex,
number of run cases
which remains valid for compressible flow [63].
AVL was tested, for example, on Odyssey UAV [26], The linearization assumes small perturbations (thin
and MAV prototype in [61] and [28]. surfaces) and is not completely valid when velocity per-
However, like any computational method, AVL has turbations from the free-stream become large. The relative
some limitations. A vortex-lattice model like AVL is best importance of compressible effects can be judged by the
suited for aerodynamic configurations which consist PG factor Eq. (8), where M is the freestream Mach number.
mainly of thin lifting surfaces at small angles of attack and A few values are given in Table 2, which shows the ex-
sideslip. These surfaces and their trailing wakes are pected range of validity [63].

123
T. Vogeltanz

1 1 Mixed-Inverse, an extension of XFOIL’s basic panel


¼ pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi ð8Þ
B 1  M2 method
• Airfoil redesign by interactive specification of new
For swept-wing configurations, the validity of the PG geometric parameters such as new max thickness and/
model is best judged using the wing-perpendicular Mach or camber, new LE radius, new TE thickness, new
number in Eq. (9). Since Mperp B 0.6, swept-wing cases can camber line via geometry specification, new camber
be modeled up to higher M values than unswept cases [63]. line via loading change specification, flap deflection,
Mperp ¼ M  cosðsweepÞ ð9Þ and explicit contour geometry (via screen cursor)
• Blending of airfoils
For instance, a 45 swept wing operating at freestream
• Drag polar calculation with fixed or varying Reynolds
M = 0.8 has Mperp = 0.8 * cos(45) = 0.566, which is still
and/or Mach numbers
within the expected range of PG validity in the Table 2;
• Writing and reading of airfoil geometry and polar save
thus, reasonable results may also be expected for this case
files
[63].
• Plotting of geometry, pressure distributions, and polars
5.4.2 XFOIL XFOIL uses a text x- and y-coordinate file to model two-
dimensional airfoils. The user may input an airfoil from a
Most of the second-generation small UAVs have used file or select a NACA four- or five-series airfoil and XFOIL
airfoil sections designed specifically for their application. will build the appropriate coordinate file. The user can then
The two methods most often used to design airfoils at low make changes to inviscid/viscous properties such as Mach
Reynolds numbers are attributed to Eppler (implemented in number and Reynolds number (Re). XFOIL will then use
the code described in the Sect. 5.5.1) and Drela (XFOIL) the user data to simulate flight at many angles of attack, to
[6]. return lift coefficient (CL), drag coefficient (CD), and mo-
XFOIL is an interactive program for the design and ment coefficient (CM) in the form of a saved polar file, and
analysis of subsonic isolated airfoils. The main goal was to to generate CL versus a, and CL versus CD plots [65].
combine the speed and accuracy of high-order panel XFOIL stores all its data in RAM during execution.
methods with the new fully-coupled viscous/inviscid in- Saving of the data to files is NOT normally performed
teraction method. XFOIL consists of a collection of menu- automatically; thus the user must be careful to save work
driven routines which perform various useful functions results before exiting XFOIL [66].
such as: [64–66] XFOIL gives results much more quickly than more ad-
vanced CFD programs and still provides results accurate
• Viscous (or inviscid) analysis of an existing airfoil,
enough to be a good design tool. However, XFOIL works
allowing forced or free transition, transitional separa-
only for two dimensions and is only effective at low
tion bubble(s), limited trailing edge separation, lift and
Reynolds numbers and incompressible flows [65].
drag predictions just beyond CLmax, and Karman-Tsien
XFOIL was used in design of camber-controlled mor-
compressibility correction
phing UAVs in [65]; the results are:
• Airfoil design and redesign by interactive specification
of a surface speed distribution via screen cursor or • XFOIL follows the wind tunnel data well
mouse. Two such facilities are implemented: Full- • XFOIL is predicting both lift and drag coefficients
Inverse, based on a complex-mapping formulation, and within an acceptable range or accuracy
• XFOIL provides accurate simulation of flap addition on
Table 2 The expected range of M 1/B Validity airfoils
the validity of Prandtl–Glauert
• XFOIL can only model plain flaps with a sealed gap
transformation [63] 0.0 1.000 PG expected valid
0.1 1.005 PG expected valid Moreover, following the validation tests, a series of
0.2 1.021 PG expected valid aerodynamic simulations using XFOIL were also per-
0.3 1.048 PG expected valid formed on the LEEUAV airfoil in [67].
0.4 1.091 PG expected valid However, independently of any accuracy, the following
0.5 1.155 PG expected valid situations may cause problems strictly due to numerical
0.6 1.250 PG expected valid rounding off: [66]
0.7 1.400 PG suspect • Excessively small panel(s) somewhere on the airfoil
0.8 1.667 PG unreliable • Airfoil is located too far from origin
0.9 2.294 PG hopeless • Airfoil is too thin

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

The enhancement in the classical blade-element/vortex


formulation is primarily in the correct accounting of the
propeller’s self-induction, which makes QPROP accurate
for very high disk loadings, all the way to the static-thrust
case. The blade airfoil lift characteristic is assumed to be a
simple linear CL(alpha) line with CLmax and CLmin stall
limiting. The profile drag characteristic is a quadratic
CD(CL) function, with an approximate stall drag increase,
and a power-law scaling with Reynolds number. The model
Fig. 23 The logo of QPROP [69] applies equally well to propellers and windmills [75].
QPROP requires a fairly detailed description of the
propeller geometry and blade airfoil characteristics. The
These situations will rarely result in an arithmetic fail-
specification of the diameter and pitch of a propeller is in
ure, but will typically result in a rough Cp distribution [66].
general insufficient to accurately capture the propeller
performance [28, 75].
5.4.3 QPROP/QMIL
The default motor type 1 corresponds to a brushed DC
motor, and is modeled using the fairly standard approach
Same as aerodynamic design, the design of propeller is
with an RPM/Volt motor constant Kv, an electrical resis-
very important. When the inefficient or inappropriate pro-
tance R, and a constant rotational friction described by the
peller is used in UAV, all advantages of excellent-designed
zero-load current I0 [75].
aerodynamics may remain underutilized. Modern propeller
Motor type 2 corresponds to a brushed DC motor, and
theory is analogous to wing theory in which the propeller
is a more accurate extension of the type 1 model above.
blade is considered to be a lifting surface about which there
The extensions are improved models of the frictional
is a circulation associated with the bound vorticity and a
torque, temperature-dependent resistance, and magnetic
vortex sheet is continuously shed from the trailing edge
lags [75].
[68].
Any other motor model can be coded in SUBROUTINE
QPROP (whose logo is illustrated in Fig. 23) is an
MOTORQ (in motor.f), as a Q(w, V) function. The
analysis program for predicting the performance of pro-
derivatives dQ/dw and dQ/dV must also be returned. The
peller–motor or windmill–generator combinations. The
subroutine source header fully describes the inputs and
same formulation applies to the companion propeller/
outputs [61, 75].
windmill design program QMIL, which generates propeller
For non-electric motors, the voltage (V) passed to
geometries for the Minimum Induced Loss (MIL) condi-
MOTORQ can represent any suitable power-control vari-
tion, or windmill geometries for the MIL or Maximum
able, e.g. throttle setting, fuel flow rate, etc. [61, 75].
Total Power (MTP) conditions [69, 70].
QPROP and QMIL have identical theoretical formula-
QPROP and QMIL use an extension of the classical
tions and very similar input files. This is described in detail
blade-element/vortex formulation, developed originally by
in [75, 76], and in the theory document [70]. Their only
Betz [71], Goldstein [72], and Theodorsen [73], and re-
difference is the variables which are treated as knowns and
formulated somewhat by Larrabee [74]. The extensions
unknowns (the variables are swapped) [76].
include: [28, 68, 70]
QPROP’s output is entirely in tabular text format, and is
• Radially-varying self-induction velocity which gives typically used in conjunction with the user’s own plotting
consistency with the heavily-loaded actuator disk limit programs. It is intended for large-scale parametric sweeps,
• Perfect consistency of the analysis and design driven manually or via batch execution [69].
formulations QPROP was used to find an optimal propeller, motor,
• Solution of the overall system by a global Newton and energy requirement, for example, on MAV prototype
method, which includes the self-induction effects and in [61] and [28].
power-plant model
• Formulation and implementation of the Maximum 5.4.4 XROTOR
Total Power (MTP) design condition for windmills
XROTOR is an interactive program for the design and
QPROP has a relatively sophisticated and accurate prop
analysis of ducted and free-tip propellers and windmills. It
aerodynamic model, and a general motor model which can
consists of a collection of menu-driven routines which
be implemented via a user-supplied subroutine if necessary
perform various useful functions such as: [77, 78]
[28, 61, 75].

123
T. Vogeltanz

• Design of minimum induced loss rotor (propeller or Subroutine CROTOR automates the design and analysis
windmill) of converging counter-rotating rotors while providing an
• Prompted input of arbitrary rotor geometry effective user interface and reporting. The result is a flex-
• Interactive modification of rotor geometry ible and robust counter-rotation design/analysis facility
• Twist optimization of an arbitrary rotor for minimum [80, 81].
induced loss Rotors can be designed directly in CROTOR or im-
• Analysis of a rotor with a wealth of choices of ported from XROTOR. When rotors are designed or loaded
operating parameters into CROTOR, the geometries, names and imposed slip-
• Incoming slipstream effects (from an upstream pro- streams are stored in CROTOR to be loaded into XROTOR
peller, viscous wake, etc.) as required [81].
• Multi-point parameter display When operating parameters and geometries of two ro-
• Structural analysis and corrections for twist under load tors have been defined, the code converges the dual-rotor
• Acoustic analysis with dB noise footprint predictions system by alternately loading and analyzing of the forward
• Interpolation of geometry to radii of interest and aft rotors. When the thrust of each rotor converges, the
• Plotting of geometry, aerodynamic parameters, and iteration stops, and the output for both rotors is displayed.
performance maps Each rotor can then be run independently in the converged
slipstream for closer inspection [81].
The design procedure of a rotor design allows calcula-
To reduce the complexity of working with multiple ro-
tion of a rotor chord and blade angle (c/R, beta) distribu-
tors and input, a Default Input system is used which allows
tions to achieve a Minimum Induced Loss (MIL)
the user to progress efficiently through a design study [81].
circulation distribution. This can be either the (i) Betz–
Subroutine ESPARA is one half of a parametric analysis
Prandtl distribution (Graded-Momentum Formulation), or
system originally developed for a propeller company using
(ii) Goldstein distribution (Potential Formulation), de-
third party blades in their electric constant speed hubs. The
pending on the state of the FORM toggle [78].
problem was to select appropriate blades for a particular
The design of a new rotor is typically begun with the
engine/airframe. ESPARA makes multi-axis parameter
INPU command, which prompts the user for all required
sweeps and stores data in a multi-rotor database to be
design-parameter inputs, and then follows by displaying
displayed and plotted with great flexibility in a standalone
the input-modification menu [78].
utility called ESPROP. This facility is intended for prac-
All the design parameters will retain their values for the
tical applications in the field, selecting propellers for real
length of the XROTOR session. Hence the designed rotor
world applications by directly comparing them over any
can be analyzed in the other menus, and can then be further
operating range within the database bounds. Currently only
redesigned in DESI just by invoking EDIT again [78].
variable pitch props are supported although support for
QPROP/QMIL has almost the same theoretical formu-
fixed pitch is planned by calculating on the same database
lation as XROTOR, and they are also extensively
[80].
documented; thus, their documentation can be used as the
The ESPROP system has two main applications: [82]
basic documentation for XROTOR [77].
In [79], XROTOR and CROTOR (described below) • The propeller designer seeking to directly compare
were used to determine the 10 best propellers with opti- competing designs over a wide range of operating
mal efficiency for a multi-mission micro aerial vehicle conditions.
[79]. • The propeller manufacturer seeking to select the
optimum existing blade for a specific application.
5.4.4.1 CROTOR CROTOR v755-ES is all of XROTOR
ESPROP databases can be built from any blade ge-
7.55 along with a couple of features ported from DFDC
ometry which has been loaded into XROTOR, over any
v070-ES (described in the Sect. 5.4.5.1). With the source
range of operating parameters for which XROTOR will
directory growing by some 70 percent (including some
converge solutions [82].
XFOIL code), the package is dubbed CROTOR to distin-
Subroutine ESLOFTX is a port and further development
guish it from its parent [80].
of ESLOFT for DFDC (described in the Sect. 5.4.5.1),
CROTOR added the following features: [80]
allowing rotor designs to be explicitly defined in three di-
• Counter-Rotation Facility mensions and exported into CAD for 3D modelling,
• Multi-Axis Parametric Analysis meshing or manufacture. Support has been added for round
• Blade Lofting Facility tips, along with splined thickness or thickness/chord dis-
• Multi-Re Plotting in AERO tributions (in addition to linear and parabolic distributions).

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Version ES1.1 adds circular root blends, important for The operating point section contains the flow condition
windmills and constant speed propellers [80]. and operating point data for the case (e.g. the freestream
The definition of blade thickness plays a main role in velocity, reference velocity, RPM, fluid properties, etc.).
ESLOFTX. A smooth thickness distribution is desired for The aero properties section contains aerodynamic data
both aerodynamic and structural reasons. Since chord is which is used for each blade element in a rotor analysis or
defined by the blade design, defining the distribution of design. The actuator disk section contains a specification
thickness (t) or thickness/chord (t/c), the blade allows for for an actuator disk to model the duct rotor. The rotor
section t/c to be determined at any station radius. Sections section contains a specification for a bladed disk in the
are interpolated to the required t/c from parent airfoils ducted fan. The drag object section contains a CDA (drag
bounding the t/c (or extrapolated as necessary) [83]. area) and XY (XR in axisymmetric system) coordinates of
Because the setting of the REexp parameter in AERO the drag line. The geometry section contains the center-
has sometimes seemed like guesswork, the improvement body and duct wall coordinates [84].
has been implemented. In addition to polar plots at multiple Optionally, a second file can be used, containing infor-
Mach numbers, AERO now supports plotting at multiple mation to redistribute points on the duct and center-body
Reynolds numbers, providing precise feedback on the ef- walls. This paneling file has the extension of.pan. However,
fects of REexp [80]. the paneling information can also be put directly into the
case file in the paneling data section. Moreover, user-spe-
5.4.5 Ducted Fan Design Code (DFDC) cified paneling information is normally not needed; the
automatic point distribution scheme works for most inputs
DFDC is an analysis code for axisymmetric ducted rotor without further interaction [84].
design and analysis. Wall Boundary Layer (BL) analysis
solves the wall shear forces with a BL calculation (not 5.4.5.1 DFDC v070-ES Because the development of
interacted with the inviscid flow, as is done in XFOIL). The DFDC appears to be halted, Esotec Developments started
0.70 version adds analysis and design for a ducted rotor to upgrade the code. The new code fixed most known bugs,
with stator [84]. added enhancements to AERO, plotting, reporting, multi-
There is also a Win32 GUI wrapper for DFDC, Whirl- rotor, blade editing, an experimental blade blockage model,
wind. However, it does not support all DFDC functionality and ESLOFT [86].
[85]. ESLOFT is a tool for getting rotor and stator blade de-
The logo of DFDC is shown in Fig. 24. DFDC has a signs out of DFDC and into CAD for subsequent 3D
number of features intended for rapid duct and ducted rotor modelling, meshing or manufacture. This is accomplished
design and analysis, e.g. axisymmetric components, aero- by calculating on the rotor/stator geometry in conjunction
dynamic outputs, analysis capability, rotor/stator design with airfoil geometries (parent airfoils) and blade thickness
capability, geometric redesign of duct walls (XFOIL-like distributions (user controlled) to generate point files which
geometry modification), BL analysis of duct and center- can be imported into 3D CAD systems. ESLOFT is fully
body walls (viscous forces), aerodynamic redesign of duct integrated with DFDC and generates accurate output with
walls to specified pressures, and an input file [84, 85]. minimum user input [86].
DFDC works with a single input file in plain text format.
This file contains the duct case data, the duct geometry 5.4.6 Dynamic Soaring Simulation and Optimization
data, actuator disk or rotor blade data and drag source data. Program (DSOPT)
The sections of this file are separated by keywords and can
be input in any order [84]. Dynamic soaring is a flying technique used to gain energy
by utilizing wind shear over altitude to reduce energy
consumption and extend flight duration. Because the wind
shear gradient is persistently distributed in the boundary
layer above the ocean surface, dynamic soaring can be
widely used in UAVs and may have the potential to support
almost perpetual flight [87].
DSOPT uses the ‘‘Inverse Dynamics’’ approach to
simulating a Dynamic Soaring orbit. The code is two
nested loops, with an inverse-dynamics integrator on the
inside and requires Fortran 77 compiler [88].
The bulk of the calculations are performed in SUB-
Fig. 24 The logo of the Ducted Fan Design Code [85] ROUTINE ORBIT1, which assumes that the path shape in

123
T. Vogeltanz

xyz space is known, and is prescribed to be an ellipse of nonstandard atmosphere routines (hot, cold, polar,
specified size, oriented at some tip and lean angles within tropical) [91]
the atmospheric wind shear layer. SUBROUTINE ORBIT1 • Real Gas Properties (GASP)—computes real gas
is also provided with an initial velocity Vi at the first point properties of ten important gases over a wide range of
in the orbit, and then integrates the equations of motion temperatures and pressures. Covers cryogenic regions
along the known trajectory, using simple representations of and saturated liquid/gas regions [92]
the airplane’s CL and CD. One output is the final velocity Vf • Thermodynamic and Transport Properties of Fluids
at the last point in the orbit (which is at the same spatial (FLUID)—a companion program to GASP computes
location as the first point). In general Vi and Vf will not thermodynamic and transport properties of many gases.
match, in which case Vi is modified and the orbit is re- Treats air and steam as well as pure fluids [93]
calculated again. When Vf matches Vi to within some small • A Compressible Flow Calculator (VuCalc)—performs
tolerance the orbit is converged. This means that it is pe- calculations in compressible fluid dynamics. There are
riodic, and hence represents sustained Dynamic Soaring six different classes of calculations: Isentropic Flow,
[88]. Normal Shock, Oblique Shock, Standard Atmosphere,
The output quantities are, for example, time, position, Rayleigh Flow, Fanno Flow [94]
ground speed, air speed, lift coefficient and a number of • Turbulent Skin Friction by the Reference Temperature
others [88]. Method of Sommer and Short (TURBSF)—contains the
The code is heavily commented, and it is fairly easy to formula developed by Sommer and Short with includ-
locate the formulas used for the various models for CL, CDi, ing the temperature of the flow as a variable. As a
CDp, CDw, wind shear field, etc. The dynamic equations result, the created function has three arguments,
which are integrated are simply F = ma, with three sepa- Reynolds number, Mach number and freestream tem-
rate components in the xyz directions [88]. perature. For the great majority of flight problems, the
The outermost OPTIMIZER loop is optional and adjusts variation of friction with temperature is of little
the selected parameters of the formulation via gradient- importance. This effect is small at subsonic speeds
descent steps to maximize the speed Vmeasured at a selected but becomes appreciable for supersonic and hypersonic
point in the Dynamic Soaring orbit [88]. aircraft [95, 96]
• A segmented mission analysis program for low and
high speed aircraft (NSEG)—was developed to perform
5.5 Public Domain Aeronautical Software (PDAS)
rapid aircraft mission analyses which is based upon the
use of approximate equations of motion whose form
For many years the Air Force, Navy, NASA, and
varies with the type of flight segment (e.g. take-off,
educational institutions have sponsored the development
accelerations, climbs, cruises, descents, decelerations,
of computer software which is useful to aeronautical
and landings). There are three main atmosphere options
engineers, airplane designers, and aviation technicians
available: the 1962 U.S. Standard atmosphere, a
[89].
stratified atmosphere model, and an external atmo-
Public Domain Aeronautical Software (PDAS) was
sphere model supplied by the user [97]
founded to make this valuable software available to the
• Conical relaxation program for supersonic wing design
aeronautical community for use on desktop computers.
and analysis (COREL) [98] and supersonic wing design
These programs include descriptions and complete public
and analysis program (W12SC3) [99]—can be run also
domain source code (written mostly in the FORTRAN
at subsonic speeds despite their titles.
programming language). The source code is not copy-
• Two-dimensional grids about airfoils and other shapes
righted and may be used in whole or part in any of aero-
by the use of Poisson’s Equation (GRAPE)—can
nautical studies. Moreover, many programs have sample
provide the aerodynamic analysis with an efficient
cases (both input and output). However, some of the pro-
and consistent means of grid generation and should be
grams are noted as ‘‘work-in-progress’’, indicating that
numerically stable and computationally fast [100]
they are lacking in instructions or documentation or do not
• NASA-AMES WingBody Panel Code (WINGBODY)—
run properly [89, 90].
The classic NASA program for computing subsonic and
The list of the useful software for development of UAVs
supersonic aerodynamics of a wing-body combination
which is included in this subchapter may not be compre-
by using Panel Code [101]
hensive. However, other interesting applications can be
• V/STOL Aircraft Sizing and Performance (VASCOMP
found in [90], for instance:
II)—developed to aid in the comparative design study
• Atmosphere (ATMOS)—characterizes the 1976 stan- of V/STOL (vertical/short take-off and landing) aircraft
dard atmosphere to 1000 km altitude, including systems by rapidly providing aircraft size and mission

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

performance data. Generality and flexibility were 5.5.2 Minimum Drag Camber Surface by Vortex Lattice
maintained during formulation of the program in order (VLMD)
to permit an accurate simulation of virtually any
V/STOL configuration [90, 102] This program represents a subsonic aerodynamic method
for determining the mean camber surface of trimmed
noncoplanar planforms with minimum vortex drag. With
5.5.1 The Eppler Airfoil Code (PROFILE)
this program, multiple surfaces can be designed together to
yield a trimmed configuration with minimum induced drag
PROFILE is one of computer programs for low-speed
at some specified lift coefficient [105].
(incompressible) airfoils. The program has been success-
The method uses a vortex-lattice and overcomes diffi-
fully applied at Reynolds numbers from 20 thousand to 100
culties with chord loading specification. A Trefftz plane
million [103, 104].
analysis is used to determine the optimum span loading for
A conformal-mapping method for the design of airfoils
minimum drag. The program then solves for the mean
with prescribed velocity distribution characteristics, a panel
camber surface of the wing associated with this loading.
method for the analysis of the potential flow about given
Pitching-moment or root-bending-moment constraints can
airfoils, and a boundary-layer method have been combined.
be employed at the design lift coefficient [105].
With this combined method, airfoils with prescribed
Sensitivity studies of vortex-lattice arrangements have
boundary-layer characteristics can be designed and airfoils
been made with this program and comparisons with other
with prescribed shapes can be analyzed [103].
theories show generally good agreement. The program is
The flow about an airfoil in free air can be described
very versatile and has been applied to isolated wings, wing-
approximately by a boundary-layer flow near the surface of
canard configurations, a tandem wing, and a wing-winglet
the airfoil and by a potential flow everywhere else.
configuration [105].
Boundary-layer theory can be applied to the flow about an
The design problem solved with this code is essentially an
airfoil in two ways. First, the boundary-layer development
optimization one. A subsonic vortex-lattice is used to de-
can be determined for a given potential flow velocity dis-
termine the span load distribution(s) on bent lifting line(s) in
tribution. This is the direct or analysis problem. Second,
the Trefftz plane. A Lagrange multiplier technique deter-
the potential-flow field, or at least some of its properties,
mines the required loading which is used to calculate the
can be determined for a given boundary-layer develop-
mean camber slopes, which are then integrated to yield the
ment. This is the inverse or design problem [103, 104].
local elevation surface. The problem of determining the
The potential flow inverse problem still plays a major
necessary circulation matrix is simplified by having the
role in airfoil design. This problem has been solved exactly
chordwise shape of the bound circulation remain unchanged
by means of conformal mapping which is similar to the
across each span, though the chordwise shape may vary from
method of Lighthill; it is direct, and solves most multipoint
one planform to another. The circulation matrix is obtained
design problems in a very simple manner. A potential-flow
by calculating the spanwise scaling of the chordwise shapes.
analysis method is also required for comparison with wind
A chordwise summation of the lift and pitching-moment is
tunnel tests of given airfoils and for analyses of airfoils
utilized in the Trefftz plane solution on the assumption that
generated by the design method and then modified by a flap
the trailing wake does not roll up and that the general con-
deflection. The airfoil analysis problem is solved using a
figuration has specifiable chord loading shapes [105].
distributed surface singularity method. The boundary-layer
method uses integral momentum and energy equations. The
present method does not contain boundary-layer displace- 5.5.3 Induced Drag from Span Load Distribution
ment iteration [103, 104]. (INDUCED)
Although this program is of great historical importance
and current papers which refer to calculations performed The induced drag may be computed from the span load
with PROFILE can still be found, it is not the program of distribution on a planar wing. Most books on aerodynamics
choice for someone learning about airfoil plus boundary show how to do this if the analytical form of the loading
layer calculations. For this kind of interest, XFOIL is function is known. This algorithm enables to solve the
recommended. XFOIL has been described in the Sect. 5.4.2 same problem when only a few sparse values of the loading
[103]. function are known [106].

123
T. Vogeltanz

A simple algorithm for computing a curve which in one


sense is the smoothest which exactly matches the data
points and produces the Fourier sine coefficients as part of
the solution is described in [107] by Lundry. This tech-
nique and other similar algorithms are widely used by
specialists. The routines given in this program are a coding
of Lundry’s Eqs. 3 and 5 for asymmetric and symmetric
loadings [106].
The coefficients are computed with a call to subroutine
‘‘ComputeFourierCoefficients’’. The drag may then be
computed from the coefficients by use of the function
‘‘DragFromCoefficients’’. Moreover, lift coefficient may be
computed by Eq. (10) [106].
PI  span  span  coeff ð1Þ
CL ¼ ð10Þ
sref
If the induced drag without the coefficients is needed to
be calculated, the following two functions can be used:
[106] Fig. 25 The projection of the wing inserted to GETMAC [111]

• AsymmetricLoadingInducedDrag
• SymmetricLoadingInducedDrag
These functions take the loadings and return D/q (these
variables have been described in the Sect. 2.2). If drag
coefficient is required, the result has to be divided by the
reference area (sref) [106].
Once the module is compiled, there is access to any of
Fig. 26 The input file to GETMAC for the right wing [111]
the routines by inserting the statement ‘‘USE In-
ducedDrag’’ in application programs [106].
5.5.5 Mean Aerodynamic Chord of a Wing (GETMAC)
5.5.4 Flutter Analysis by Strip Theory (FLUTTER)
GETMAC computes the mean aerodynamic chord (MAC)
A modified strip analysis has been developed for rapidly of a wing of arbitrary planform. GETMAC reads the
predicting flutter of finite-span, swept or unswept wings at definition of a wing from an arbitrary number of chords,
subsonic to hypersonic speeds. The method employs dis- each defined by its spanwise location, longitudinal position
tributions of aerodynamic parameters which may be of its leading edge, and its length [109].
evaluated from any suitable linear or nonlinear steady-flow The program reads the input file and prints the area of
theory or from measured steady-flow load distributions for wing, length of MAC, y of MAC, xLE (x of Leading Edge)
the underformed wing. The method has been shown to give of MAC, xTE (x of Trailing Edge) of MAC, and x of c/4 of
good flutter results for a broad range of wings at Mach MAC [109].
number from 0 to as high as 15.3 [108]. A following example illustrates a wing similar to the
Flutter characteristics have been calculated by the B-2 airplane. The chords are 1300, 500, 500, and 0 in
modified strip analysis and compared with results of other length. The leading edges are at 0, 400, 750, and 1000 with
calculations and with experiments for Mach numbers up to y equals 0, 480, 900, and 1200. The projection of these
15.3 and for wings with sweep angles from 0 degrees to points can be seen in Fig. 25. The input to GETMAC for
52.5 degrees, aspect ratios from 2.0 to 7.4, taper ratios from the right wing is shown in Fig. 26. And finally, Fig. 27
0.2 to 1.0, and center-of-gravity positions between 34 % presents the resultant MAC [110–112].
chord and 59 % chord. These ranges probably cover the It is evident that the use of a homogeneous material is a
great majority of wings which are of practical interest with necessary condition to achieving this MAC. Moreover, the
the exception of very low-aspect-ratio surfaces such as shape of an elliptical wing is more difficult to define and its
delta wings and missile fins [108]. real MAC may be slightly different.

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

NACA456 is a complete revision of the NASA Langley


programs for computing the coordinates of NACA airfoils.
The NASA 1996 program was used as a guide for the de-
velopment of a program which is highly modular and con-
tains several features which were requested by user of the
older programs. This program is a console application for
which the user prepares an input file. An output file con-
taining the airfoil geometry is generated by the program.
Moreover, a file for graphical examination is produced [115].
A similar online version of the NACA 4 digit generator,
the NACA 5 digit generator, an airfoil database, and other
airfoil tools can be found in [116].

5.5.7 Mass Properties of a Rigid Structure (MASSPROP)

MASSPROP was developed for the rapid computation of


the mass properties of complex rigid structural systems and
provides a designer with a simple technique which requires
Fig. 27 The projection of the resultant MAC [112] minimal input to calculate the mass properties of a com-
plex rigid structure and should be useful in any situation
where one needs to calculate the center of gravity and
5.5.6 NACA Airfoil Coordinates (NACA456) moments of inertia of a complex structure [117, 118].
This program is based on the premise that complex
A large number of NACA airfoil shapes have been suc- systems can be adequately described by a combination of
cessfully used over years as wing sections or tail sections elemental structural shapes. Thirteen widely used structural
for general aviation and military aircraft, as well as pro- shapes are available in this program. They are as follows:
pellers and helicopter rotors. The ordinates for numerous Discrete Mass, Cylinder, Truncated Cone, Torus, Beam
specific airfoils of these families at a coarse set of data (arbitrary cross section), Circular Rod (arbitrary cross
points were published in a series of NACA reports. How- section), Spherical Segment, Sphere, Hemisphere, Paral-
ever, when performing parametric studies on effects of lelepiped, Swept Trapezoidal Panel, Symmetric Trape-
such variables as thickness, location of maximum thick- zoidal Panels, and a Curved Rectangular Panel [117, 118].
ness, leading-edge radius, location of maximum camber Rigid body analysis is used to calculate mass properties.
and others, it is not always easy to obtain the ordinates of Mass properties are calculated about component axes
the desired shapes rapidly and accurately. To remedy this which have been rotated to be parallel to the system co-
problem the NASA Langley Research Center sponsored the ordinate axes. Then the system center of gravity is calcu-
development of computer programs for generation of or- lated and the mass properties are transferred to axes
dinates of standard NACA airfoils [113]. through the system center of gravity by using the parallel
NACA 4-digit, 4-digit modified, 5-digit, and 16-series axis theorem. System weight, moments of inertia about the
airfoils are defined by algebraic equations. These thickness system origin, and the products of inertia about the system
families are combined with appropriate mean lines to center of mass are calculated and printed. From the infor-
produce the final thick cambered airfoil [113, 114]. mation about the system center of mass the principal axes
NACA 6-series and 6A-series airfoils are not defined by of the system and the moments of inertia about them are
algebraic equations, but use conformal mapping of a circle calculated and printed [117, 118].
into an airfoil shape. These thicknesses are combined with Geometric data describing size and location of each
6-series mean lines to produce the final thick cambered element and the respective material density or weight of
airfoil [113, 114]. each element are the only required input data [117, 118].
The coordinates of 4-digit, 4-digit-modified, 5-digit,
6-series, and 16-series airfoils may be accurately calculated 5.5.8 Predicting Subsonic or Supersonic Linear Potential
by NACA456. It is modified to present upper and lower Flows about Arbitrary Configurations Using
surface points at the same x-coordinate. All NACA airfoils a Higher Order Panel Method (PANAIR)
are produced by combining a thickness distribution and a
mean line into a definition of the upper and lower surfaces PANAIR is the definitive subsonic/supersonic panel
of the airfoil [90, 115]. method based on linear aerodynamic theory. PANAIR

123
T. Vogeltanz

calculates flow properties about arbitrary three-dimensional grid points must be computed and entered by the user;
configurations. The program uses a higher-order panel PANAIR does not generate grid point coordinates.
method to solve the linearized potential flow boundary- PANAIR connects the grid points in each network with
value problem at subsonic and supersonic Mach numbers piecewise flat panels. The user also supplies information
[119–121]. concerning the free-stream onset flow, the angle of attack,
Generally speaking, a panel method solves a linear and the angle of sideslip. Numerous flow quantities are
partial differential equation numerically by approximating computed at points on the vehicle surface and at points in
the configuration surface by a set of panels on which un- space. These include pressure coefficients, total and per-
known ‘‘singularity strengths’’ are defined, imposing turbation values of velocity and mass flux components,
boundary conditions at a discrete set of points, and thereby total and perturbation potential, local Mach number, and
generating a system of linear equations relating the un- vacuum pressure coefficient. The pressure coefficients on
known singularity strengths. These equations are solved for individual panels are fitted with two dimensional quadratic
the singularity strengths which provide information on the splines and integrated to obtain the six components of force
properties of the flow [119]. and the moment coefficients. These coefficients may be
A ‘‘higher order’’ panel method means that the singu- output for each panel, for columns of panels, for each
larity strengths are not constant on each panel. The po- network, or for any combination of networks [119].
tential for numerical error is greatly reduced in the Panel codes generally generate the solution to problems
PANAIR program by requiring the singularity strength to in aerodynamics by superposition of elementary solutions.
be continuous. It is also this ‘‘higher order’’ attribute which Panel codes have been superseded by Computational Fluid
allows PANAIR to be used to analyze flow about arbitrary Dynamics (CFD) codes solving Euler or Navier–Stokes
configurations. PANAIR can handle the simple configura- equations. However, there is still a tradeoff between the
tions considered in the preliminary design phase and later time spent setting up the input for a computational tech-
serve as the ‘‘analytical wind tunnel’’ which can analyze nique versus the accuracy of the method [101].
the flow about the final detailed, complex configurations
[119]. 5.5.8.1 PANAIR Input Pre-processor (PANIN) Because
PANAIR includes the following capabilities: [119] the creation of an input file for PANAIR is error-prone,
PANIN accepts a free-form file and creates a properly
• the ability to handle, within the limitations of linear
formatted input file for PANAIR [122].
potential flow theory, completely arbitrary configura-
The input to PANAIR is described in [120]. The input
tions, using either exact or linearized boundary
data is organized in specific columns. The PANIN program
conditions
was written to enable a user to select the flow properties
• the ability to handle asymmetric configurations as well
and all other program options by editing a short free-format
as those with one or two planes of symmetry
file called an auxiliary file [122].
• the ability to handle symmetric configurations in either
One entry in the auxiliary file is the name of a file which
symmetric or asymmetric flow
contains the geometrical information. The geometrical file
• the ability to calculate pressures, forces, and moments
is in the NASA standard format for wireframe geometry,
using a variety of pressure formulas (such as isentropic,
i.e. in the LaWGS (Langley Wireframe Geometry Stan-
linear, etc.), including the forces and moments due to
dard) format. The program reads the various items of
flow through the surface
control information from the auxiliary file and combines
The aerodynamic solution provides surface flow prop- this information with the panel geometry in the LaWGS file
erties (flow directions, pressures, and Mach number), to produce a combined file which is a properly formatted
configuration forces and moments, sectional forces and input file for PANAIR [122].
moments, and pressures. In addition, PANAIR calculates The first and most difficult part of preparing a case for
flow properties in the flow-field points and flow-field PANAIR or any panel code is the definition of the surface
streamlines. Results are limited to subsonic and supersonic geometry as a set of quadrilateral panels. A variety of
cases (transonic cases are excluded) with attached flow. In techniques exist for the creation of this data; for example a
other words, PANAIR offers a comprehensive aerody- program named MAKEWGS (described in the Sect.
namic analysis and design capability for nearly arbitrary 5.5.11) is usable for definition of simple geometries. The
configurations in subsonic and supersonic flows [120, 121]. ultimate solution lies in the use of a Computer-Aided-De-
Most problems can be modeled with a minimum of user sign (CAD) system which has a wireframe output option.
input. In general, the aircraft surface is partitioned into There is also a program named 2WGS (described in the
several networks of surface grid points, such as a fore-body Sect. 5.5.13) which can convert PANAIR input to
network, a wing network, etc. The coordinates of the input LaWGS [122].

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Once the LaWGS geometry file and the auxiliary file are development, testing, and modification or expansion [123,
created and stored, the PANAIR input file can be generated 126, 127].
by invoking the program PANIN [122]. Primarily intended for preliminary use, ahead of test
After PANIN completes the execution, two files are data, it is designed to give an initial look at the stability
produced. These files take their names from the data in the performance of an aircraft design. By interfacing Datcom
NAME record in the auxiliary file with extensions of .SH with the FDM, an aircraft model for any fixed-wing UAVs
and .IN. The .IN file is the PANAIR input data [122]. can be rapidly developed without wind tunnel testing. This
Although a considerable effort has been expended in feature significantly increases the repeatability of flight
making the program free of errors or omissions, the user simulation and is found very useful for UAV preliminary
should inspect the input file and script carefully. There are designs where only a rough estimate of the vehicle’s sta-
many problems in forcing data to fit the fixed field format bility is required. However, program should not be in-
and inadvertent round off may result. In this case, the tended for use instead of wind tunnel or flight test [2, 3].
PRECISION keyword can be helpful, but there are many Digital Datcom is used to calculate aerodynamic coef-
potential sources of error. The principal problem area is ficients from first principles. Datcom produces an output
overflow of an output field when one is trying to keep the file with aerodynamic coefficients based on an input file
geometric accuracy high by printing many decimals. Two containing all essential geometries of an aircraft. The co-
popular places for this error to occur are the x-coordinates efficients in the six degrees of freedom are drag, lift, side,
of the trailing edges of wakes and the value of reference pitching moment, rolling moment, and yawing moment
area. It is usually useful to scan the PANAIR input file for coefficient. The location of the center of gravity is uncer-
asterisk characters [122]. tain because the material of the entire solid model is con-
There are many options in the PANAIR input file and it sidered to be homogeneous. However, almost all similar
would be virtually impossible to incorporate all of them in programs have the same problem [2, 18, 123].
this program. For example, in PANAIR different reference Inputs to Datcom include desired flight conditions, air-
lengths for yawing moment and rolling moment can be craft attitudes, physical geometry, and desired outputs.
selected but PANIN simply requests a span [122]. Datcom treats inputs which represent a traditional wing-
body-tail configuration and any control or high lift devices.
5.5.9 Digital Datcom However, some nonstandard geometry can be treated as
well. Datcom inputs were assumed for straight-tapered and
The Stability and Control Data Compendium (Datcom) nonstraight-tapered wings including effects of sweep, ta-
provides a systematic summary of methods for estimating per, and incidence. For the longitudinal characteristics, the
static stability, high lift and control, and dynamic deriva- program assumes a mid-wing configuration [3, 123, 128].
tive characteristics of a wide variety of aircraft and aircraft The effect of linear twist can be treated at subsonic
configurations. The estimation includes, for example, lift Mach numbers. Dihedral influences are included in lateral-
coefficients, drag coefficients, side force coefficients, roll directional stability derivatives and wing wake location
moment coefficients, pitch moment coefficients, yaw mo- used in the calculation of longitudinal data. Airfoil section
ment coefficients, changes in coefficients due to power characteristics are a required input, although most of these
effects, and changes in coefficients due to ground effects. characteristics may be generated using the Airfoil Section
For any given flight condition and configuration the com- Module [123, 126].
plete set of derivatives can be determined without resort to Users are advised to be mindful of section characteris-
outside information [3, 15, 61, 123–126]. tics which are sensitive to Reynolds number, particularly in
The program contains a trim option which computes cases where very low Reynolds number estimates are of
control deflections and aerodynamic increments for vehicle interest. A typical example would be pretest estimates for
trim at subsonic Mach numbers. Furthermore, user oriented small, laminar flow wind tunnels where Reynolds numbers
features of the program include minimized input require- on the order of 100,000 are common. Datcom has low
ments, input error analysis, and various options for appli- accuracy below this Reynolds number [61, 123].
cation flexibility. An interesting feature is also roughness Users should be aware that Datcom employs turbulent
factors for various types of surface such as polished metal, skin friction methods in the computation of friction drag
wood, natural sheet metal, camouflage paint and other values. Estimates for cases involving significant wetted
surfaces [61, 125, 126]. areas in laminar flow will require adjustment by the user
The program has been developed as a modular basis. [123].
These modules correspond to the primary building blocks Datcom requires Mach number and Reynolds number to
referenced in the program executive. The modular ap- define the flight conditions. This requirement can be sat-
proach was used because it simplified program isfied by defining combinations of Mach number, velocity,

123
T. Vogeltanz

Reynolds number, altitude, and pressure and temperature. Five general characteristics of the module should be
The speed reference is input as either Mach number or noted: [123]
velocity, and the atmospheric conditions as either altitude
• For subsonic Mach numbers, the module computes the
or freestream pressure and temperature. The specific ref-
airfoil subsonic section characteristics and the results
erence and atmospheric conditions are then used to calcu-
can be considered accurate for Mach numbers less than
late Reynolds number [123].
the crest critical Mach number. Near crest critical Mach
The program may loop on speed reference and atmo-
number, flow mixing due to the upper surface shock
spheric conditions by using three different ways: [123]
will make the boundary layer correction invalid.
• LOOP = 1—Mach and altitude changes. The program Compressibility corrections also become invalid. The
executes at the first Mach number and first altitude, module also computes the required geometric variables
then at the second Mach number and second altitude, at all speeds, and for transonic and supersonic speeds
and continues for all the flight conditions. In the input these are the only required inputs. Mach equals zero
data, NMACH must equal NALT. NMACH flight data are always supplied.
conditions are executed. This option should be selected • Because of the nature of the solution, predictions for an
when the Reynolds number is input, and must be airfoil whose maximum camber is greater than 6 % of
selected when atmospheric conditions are not input. the chord will lose accuracy. Accuracy will also
• LOOP = 2—Mach number changes at fixed altitude. diminish when the maximum airfoil thickness exceeds
The program executes using the first altitude and cycles approximately 12 % of the chord, or large viscous
through each Mach number in the input list, then using interactions are present such as with supercritical
the second altitude and cycles through each Mach airfoils.
number, and continues until each altitude has been • When section Cartesian coordinates or mean line and
selected. Atmospheric conditions must be input for this thickness distribution coordinates are specified, the user
option. NMACH times NALT flight conditions are must adequately define the leading edge region to
executed. prevent surface curve fits which have infinite slope.
• LOOP = 3—Altitude changes at fixed Mach number. This can be accomplished by supplying section ordi-
The program executes using the first Mach number and nates at non-dimensional chord stations (x/c of 0.0,
cycles through each altitude in the input list, then using 0.001, 0.002, and 0.003).
the second Mach number and cycles through each • If the leading edge radius is not specified in the airfoil
altitude, and continues until each Mach number has section input, the user must insure that the first and
been selected. Atmospheric conditions must be input second coordinate points lie on the leading edge radius.
for this option. NMACH times NALT flight conditions For sharp nosed airfoils the user must specify a zero
are executed. leading edge radius.
• The computational algorithm can be sensitive to the
A diagnostic analysis module in Datcom scans all of the
smoothness of the input coordinates. Therefore, the
input data which listing is given and any errors are flagged.
user should insure that the input data contains no
However, Datcom will attempt to execute all cases as input
unintentional fluctuations. Considering that Datcom
by the user even if errors are detected [123].
procedures are preliminary design methods, it is at least
The airfoil section module can be used to calculate
as important to provide smoothly varying coordinates
the required geometric and aerodynamic input pa-
as to accurately define the airfoil geometry.
rameters for virtually any user defined airfoil section.
This module substantially simplifies the user’s input Several operational limitations exist in Datcom. These
preparation [123]. limitations and some pertinent operational techniques are
An airfoil section is defined by one of the following listed below without extensive discussion or justification:
methods: [123] [123]
• an airfoil section designation (for NACA, double • The forward lifting surface is always input as the wing
wedge, circular arc, or hexagonal airfoils) and the aft lifting surface as the horizontal tail. This
• upper and lower Cartesian coordinates convention is used regardless of the nature of the
• mean line and thickness distribution configuration.
• Twin vertical tail methods are only applicable to lateral
The airfoil section module uses Weber’s method to
stability parameters at subsonic speeds.
calculate the inviscid aerodynamic characteristics. A vis-
• Airfoil section characteristics are assumed to be
cous correction is applied to the lift curve slope, CL_alpha
constant across the airfoil span, or an average for the
[123].

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

panel. Inboard and outboard panels of cranked or compiling three dimensional stability tables which can be
double-delta planforms can have their individual panel copied straight into the FlightGear (using the JSBsim). This
leading edge radii and maximum thickness ratios allows that an aircraft can be analyzed in Datcom and its
specified separately. flight can be tested in FlightGear [124].
• If airfoil sections are simultaneously specified for the However, DR2 is in BETA development stage and may
same aerodynamic surface by an NACA designation have some bugs; as a result, DR2 should be used cautiously
and by coordinates, the coordinate information will [124].
take precedence. The graphical user interface of OpenDatcom can be seen
• Jet and propeller power effects are only applied to the in Fig. 28, of Datcom Release 2 in Fig. 29, and of Datcom-
longitudinal stability parameters at subsonic speeds. Jet to-JSBSim application in Fig. 30.
and propeller power effects cannot be applied
simultaneously. 5.5.9.2 Datcom? Datcom? is an extension of the Dat-
• Ground effect methods are only applicable to longitu- com program and incorporates some tools to make it easier
dinal stability parameters at subsonic speeds. to use. Front-end and back-end is added to the original
• Only one high lift or control device can be analyzed at a Datcom for user convenience. By adding a different format
time. The effect of high lift and control devices on output section to the original program, the output data is in
downwash is not calculated. The effects of multiple various formats: [61, 129]
devices can be calculated by using the experimental
• Free-format LFI tables, for plotting with LFIPLOT
data input option to supply the effects of one device and
• XML format, compatible with JSBSim
allowing Datcom to calculate the incremental effects of
• AC3D Model
the second device.
• Jet flaps are considered to be symmetrical high lift and However, there are some known issues with DAT-
control devices. The methods are only applicable to the COM?. The first is the defining of airfoils manually with
longitudinal stability parameters at subsonic speeds. upper and lower surface points which does not provide any
• The program uses the input names to define the output for the AC3D picture. The second are fuselages
configuration components to be synthesized. For ex- which are not drawn correctly if defined as other than a
ample, the presence of name list HTPLNF causes circular cross-section [61].
Datcom to assume that the configuration has a Datcom? Pro is the next generation of this program,
horizontal tail. which has been made much more user-friendly. Visual-
ization tools allow user to see his aircraft immediately, and
Datcom was tested, for example, on Rascal UAV [3],
coefficient data generated by the Datcom program is plot-
Shadow UAV [44], and a MAV prototype [61].
ted on X–Y graphs for ease of interpretation and inclusion
into reports. Additionally, Datcom? Pro model can now be
5.5.9.1 Datcom Release 2 and OpenDatcom Some run in JSBSim and sample flight test scripts are provided to
aspects of Datcom are outdated; for example the user in- execute standard flight test maneuvers. However, Datcom?
terface, the use of the DOS command prompt, and the input Pro is not available for free [129].
file written in a text format for which the standard rules of
FORTRAN apply. With these restrictions, it is time con- 5.5.10 Aeroelastic Analysis for Rotorcraft in Flight
suming to compile and troubleshoot the input file [124]. or in a Wind Tunnel (ROTOR)
OpenDatcom and Datcom Release 2 (DR2) have been
specifically developed to remove these outdated features. The testing of rotorcraft, either in flight or in a wind tunnel,
Both are written completely in Java SE and uses the Java requires a consideration of the coupled aero-elastic stability
Virtual Machine (JVM) to interface with Datcom. The of the rotor and airframe, or the rotor and support system.
interface is completely coded into OpenDatcom and DR2; Even if the primary purpose of a test is to measure rotor
as a result, no modification to the original Datcom code is performance, ignoring the question of dynamic stability
needed [124]. introduces the risk of catastrophic failure of the aircraft
OpenDatcom and DR2 use basic GUI to allow the user [130].
to easily compile an input file, import an existing input file, This computer program was developed to incorporate an
and run Datcom without any knowledge of DOS or of the analytical model of the aero-elastic behavior of a wide
FORTRAN formatting of the input file [124]. range of rotorcraft. Such an analytical model is desirable
Another option which was added to DR2 is the com- for both pretest predictions and posttest correlations. The
piling and export of stability and performance coefficients. program is also applicable in investigations of isolated
This feature was added with the specific intention of rotor aero-elasticity and helicopter flight dynamics and

123
T. Vogeltanz

Fig. 28 The graphical user interface of OpenDatcom

Fig. 29 The graphical user interface of Datcom Release 2

could be employed as a basis for more extensive investi- operating conditions. The equations of motion used in the
gations of aero-elastic behavior, such as automatic control model were derived using an integral Newtonian method,
system design [130]. which provides considerable insight into the blade inertial
The program incorporates an analytical model which is and aerodynamic forces. The rotor model includes coupled
applicable to a wide range of rotors, helicopters, and flap-lag bending and blade torsion degrees of freedom, and

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Fig. 30 The graphical user interface of Datcom-to-JSBSim

is applicable to articulated, hinge-less, gimbaled, and tee- 5.5.11 Wireframe Generator (MAKEWGS)
tering rotors with an arbitrary number of blades. The
aerodynamic model is valid for both high and low inflow, Many computing procedures in engineering require the
and for both axial and non-axial flight. Rotor rotational definition of a surface or solid object by means of an
speed dynamics, including engine inertia and damping, and ordered lattice of points which define a grid of quadrilat-
perturbation inflow dynamics are included in the aerody- erals. MAKEWGS can create wireframe models of simple
namic model [130]. wings and bodies and enables to make some of the classic
For a rotor on a wind-tunnel support, a normal mode shapes of aerodynamic theory with a minimum of effort
representation of the test module, strut, and balance is used. [131].
The aero-elastic analysis for rotorcraft in flight is applica- A script or input file describes the objects to be defined.
ble to a general two-rotor aircraft, including single main- The program reads the script and creates an output file with
rotor and tandem helicopter configurations, and side-by- the grid points in NASA Langley Wireframe Geometry
side or tilting prop-rotor aircraft configurations. The rotor Standard format (LaWGS) [131].
model includes rotor–rotor aerodynamic interference and Wings are defined by their root and tip chords and their
ground effect. The aircraft model includes rotor-fuselage- grid densities. Several common airfoil sections are avail-
tail aerodynamic interference, engine dynamics, and con- able. Bodies are defined by nose length, after-body length
trol dynamics. A constant-coefficient approximation is and overall length and maximum diameter. The common
used for non-axial flow and a quasistatic approximation is body shapes such as parabolic, conical, Sears-Haack, von
used for the low frequency dynamics. The coupled system Karman Ogive, and ellipsoidal are coded [131].
dynamics results are a set of linear differential equations
which are used to determine the stability and aero-elastic 5.5.12 3-VIEW and SILHOUETTE
response of the system [130].
Unfortunately, this program is a ‘‘work in progress’’ and SILHOUETTE gives perspective views of an arbitrary
is not ready for general release. However, source codes configuration defined by wireframe meshes of grid points
may be seen in [130]. with hidden line removal. 3-VIEW produces plan, side, and

123
T. Vogeltanz

offers all possible combinations of silhouette and non-sil-


houette specifications for an arbitrary solid. Thus, it is
possible to enhance the clarity of any three-dimensional
scene presented in two dimensions [134].
Input to the program can be line segments or polygons.
Polygons designated with the same number will be drawn
as a silhouette of those polygons. The output is a plot file,
encoded for Gnuplot [133], of the object in question [134].

5.5.13 Geometry Conversion to LaWGS (2WGS)

PANAIR (described in the Sect. 5.5.8) allows the user to


define the geometry of a vehicle and reads a wire frame
mesh as part of its input file. PANAIR was developed
Fig. 31 The plan view of an aircraft [132]
before the definition of the LaWGS and have their own
input schemes. As a result, 2WGS package with utility
program which converts the input files for PANAIR (and
for other programs in PDAS; e.g. WINGBODY) into the
rear views from the same input file (LaWGS) as SIL- LaWGS format was developed. A program named
HOUETTE uses [90]. a5022wgs converts the input file of PANAIR into a file
with extension of.WGS. The converted file may be then
5.5.12.1 3-VIEW For many applications, it is simple and inserted to the SILHOUETTE, 3-VIEW, and other viewers
fast to make views of the configuration in the plan, side, [135].
and rear or front view. Even though hidden lines are
shown, they are not usually as confusing as they are in
isometric views. An example of an aircraft in the plan view 5.5.14 Geometry Conversion to VRML World (VRML)
can be seen in Fig. 31 [132].
This simple program takes a configuration in LaWGS This program makes a VRML model (a.WRL file) from
format and produces several output files which may be wireframe geometry in LaWGS format. This is an ex-
used to visualize your vehicle. The files plan.gnu, side.gnu, perimental program in the initial phases of testing and
and rear.gnu are formatted to be displayed with Gnuplot produces a file in VRML 1.0 format. The idea is to display
[133] or any other plotting package [132]. the data (input and output) from a general class of CFD
programs [136].
5.5.12.2 SILHOUETTE: Hidden Line Program (HLP) The program asks for the name of the input file. This
This program draws a perspective view of an object which must be a file in LaWGS format. After reading the input
has been defined as a wire frame and analyzes the image to data, the program produces a file with extension of.WRL
remove the hidden lines [134]. which may be used as input to a VRML browser [136].
A polygonal representation of objects, even with hidden
lines removed, is not always desirable. A more pleasing
pictorial representation often can be achieved by removing 5.6 Computational Fluid Dynamics (CFD)
some of the remaining visible lines, thus creating silhou-
ettes (or outlines) of selected surfaces of the object. Ad- Computational Fluid Dynamics (CFD) provides a qualita-
ditionally, it should be noted that this silhouette feature tive (and sometimes even quantitative) prediction of fluid
allows warped polygons, i.e. any polygon can be decom- flows by means of: [137]
posed into constituent triangles. The consideration that • mathematical modelling (partial differential equations)
these triangles are members of the same family will result • numerical methods (discretization and solution
in a polygon with no interior lines, and thus, the restriction techniques)
of flat polygons will be removed [134]. • software tools (solvers, pre- and post-processing
SILHOUETTE is a program for calligraphic drawings utilities)
which can render any subset of polygons as a silhouette
with respect to itself. The program is flexible enough to be In other words, CFD uses numerical methods to solve
applicable to every class of an object. SILHOUETTE how liquids and gases interact with surfaces [24, 138].

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

5.6.1 Stanford University Unstructured (SU2) equilibrium flow analysis, combustion modelling, two-
phase flow simulations, magneto-hydrodynamics simula-
The Stanford University Unstructured (SU2) suite is an tions, and other simulations [140].
open-source collection of C?? based software tools. This The SU2 software suite was conceived as a common in-
computational analysis and design software collection is frastructure for solving Partial Differential Equation (PDE)
being developed to solve complex, multi-physics analysis problems, using the Finite Volume Method (FVM) or Finite
and optimization tasks using arbitrary unstructured meshes, Element Method (FEM). The code structure and the high-
to perform Partial Differential Equation (PDE) analysis and level time and spatial integration structure is shared by all of
solve PDE constrained optimization problems. The toolset the applications, and only specific numerical methods for the
is designed with computational fluid dynamics and aero- convective, viscous and source terms are re-implemented for
dynamic shape optimization in mind, but is extensible to different models where necessary. There is no fundamental
treat arbitrary sets of governing equations such as potential limitation on the number of state variables or the number of
flow, electrodynamics, chemically reacting flows, and governing equation systems which can be solved simulta-
many others. SU2 is under active development in the neously in a coupled or segregated way (other than the
Aerospace Design Lab (ADL) of the Department of physical memory available on a given computer architec-
Aeronautics and Astronautics at Stanford University, and is ture), and the more complicated algorithms and numerical
released under an open-source license [139, 140]. methods, including parallelization, multigrid and linear
The SU2 software suite specializes in high-fidelity PDE solvers, have been implemented in such a way that they can
analysis and in the design of PDE-constrained systems on be applied without special consideration during the imple-
unstructured meshes. The suite itself is composed of sev- mentation of a new physical model [140].
eral C?? analysis modules which handle specific jobs, Several forms of the Reynolds-averaged Navier–Stokes
including: [140] (RANS) equations have also been implemented in SU2; for
instance compressible, incompressible, Arbitrary Lagrangian–
• SU2_CFD—The main PDE solution module which
Eulerian, etc. Moreover, both the laminar Navier–Stokes and
started primarily as an Euler and RANS CFD solver,
Euler equations are also available in the code as subsets of the
but has been modified to treat many other governing
RANS equations by disabling turbulence modelling and, re-
equations, including the adjoint equations for many of
spectively, by completely removing viscosity [140].
the supported governing equation systems.
Numerical discretization of the governing fluid dynamic
• SU2_DDC—The Domain Decomposition Code, used
equations using a conservative formulation often results in
to prepare SU2 for computations involving multiple
excess artificial viscosity at low Mach numbers. This de-
processors.
grades the performance of a compressible solver in regions
• SU2_MAC—The Mesh Adaptation Code which can be
of low Mach number flow. Preconditioning techniques
used to refine the unstructured computational meshes to
such as Roe-Turkel have been developed for solving nearly
improve the accuracy of the predictions.
incompressible flow problems using the same numerical
• SU2_GPC—The Gradient Projection Code which al-
methods developed for compressible flows. This can be
lows for the calculation of sensitivities for use in
particularly useful when only part of a flow field is
optimization and uncertainty quantification.
essentially incompressible. For example, flow over a multi-
• SU2_MDC—The Mesh Deformation Code which can
element airfoil at high angles of attack has regions of both
be used to perturb an existing unstructured volume
compressible and incompressible flow [140].
mesh to conform to new surface geometries dictated by
SU2 is built to enable vertical integration with opti-
either shape optimization processes or aero-structural
mizers and to reduce the amount of user overhead required
simulations.
for setup. There are five levels of components in the op-
• SU2_PBC—The Periodic Boundary Code, a pre-pro-
timization control architecture, and most rely on Python
cessor to allow for the solution of PDEs on periodic
scripts to modify the configuration input, execute lower-
domains.
level components and post-process any resulting data. To
• SU2_SMC—The Sliding Mesh Code, a pre-processor
simplify and shorten overhead time during problem setup,
which enables the solution of PDEs on meshes which
all levels start from a common configuration file, which is
slide (translational or rotational capabilities included)
modified as needed when passed to lower levels. Listed in
past each other.
order from lowest to highest, these levels are: [140]
Additional modules may be added as further capabilities
• Core tools
are needed and included in the software. This structure
• Solution decomposition/re-composition
makes SU2 an ideal tool for performing multi-physics
• Sensitivity analysis
simulations, including multi-species thermochemical non-

123
T. Vogeltanz

• Design evaluation which has a large user base across most areas of engi-
• Design optimization neering and science, from both commercial and academic
organizations. For example, in [143], OpenFOAM was
A set of tutorials which cover all the basic capabilities of
used for simulation of flow around flapping wings, and in
SU2 was created and is distributed with SU2. There can be
[138] as a part of system for optimization of wing, body,
found, for example, the flow and adjoint simulation of
and tail of aircraft [144].
external, inviscid flow around a 2D geometry (NACA 0012
OpenFOAM has an extensive range of features to solve
airfoil) by using steady, 2D, Euler and continuous Adjoint
anything from complex fluid flows involving chemical re-
Euler equations [141], and optimal shape design of a ro-
actions, turbulence and heat transfer, to solid dynamics and
tating airfoil [142] [140].
electromagnetics. It includes tools for meshing, notably
Moreover, compressible RANS simulations, low-Mach
snappyHexMesh, a parallelized mesher for complex CAD
number simulations, airfoil and fixed wing optimization,
geometries, and for pre- and post-processing. Almost ev-
wing design using RANS equations, redesign of a rotor in
erything (including meshing, and pre- and post-processing)
hover (Fig. 32), Adaptive Mesh Refinement, goal-oriented
runs in parallel as standard, enabling users to take full
mesh adaptation, engine propulsion effect adaptation and
advantage of computer hardware at their disposal [138,
other applications of SU2 are described in [140].
144, 145].
The core technology of OpenFOAM is a flexible set of
5.6.2 OpenFOAM
efficient C?? modules, used primarily to create executa-
bles, known as applications—overview of OpenFOAM
The OpenFOAM (Open Field Operation and Manipulation)
structure can be seen in Fig. 33. The applications fall into
CFD Toolbox is a free, open source CFD software package
two categories: solvers, which are each designed to solve a
specific problem in continuum mechanics; and utilities,
that are designed to perform tasks which involve data
manipulation. OpenFOAM includes over 80 solver appli-
cations which simulate specific problems in engineering
mechanics and over 170 utility applications which perform
pre- and post-processing tasks, e.g. meshing, data visual-
ization, etc. [144, 145].
An extensive set of OpenFOAM solvers has evolved.
Despite OpenFOAM is used mainly for CFD, it has found
use in other areas such as stress analysis, electromagnetics
and finance because; it is fundamentally a tool for solving
partial differential equations rather than a CFD package in
the traditional sense. OpenFOAM has standard solvers for:
[146]
• Basic CFD codes (Laplace, potential flow, and scalar
transport solvers)
• Incompressible flow
• Compressible flow
Fig. 32 A comparison of a baseline and optimized rotor geometries
[140]
• Multiphase flow

Fig. 33 The overview of the


OpenFOAM structure [145]

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

• Direct Numerical Simulation (DNS) and Large Eddy • Prescribed motion of a mesh, e.g. according to a
Simulation (LES) periodic boundary motion.
• Combustion
There are also a number of tools to specify the boundary
• Particle-tracking flows
motion in conjunction with mesh motion: [149]
• Heat transfer and buoyancy-driven flows
• Molecular dynamics methods • Prescribed six degree of freedom (6DOF) motion
• Direct simulation Monte Carlo methods functions, e.g. translations and rotations.
• Electromagnetics • Tabulated 6DOF motion which interpolates discrete
• Stress analysis of solids data.
• Finance • Specialized Ship design analysis (SDA) 3DOF motion
function.
Moreover, OpenFOAM offers ODE solvers for non-stiff
• 6DOF motion caused by flow, e.g. floating object,
systems including: fifth-order Cash-Karp Runge–Kutta
which can also permit constraints (fixed points) and
with error estimation and adaptive time step control [147].
restraints (springs and dampers).
OpenFOAM also offers ODE solvers for stiff systems
including: the fourth-order semi-implicit Runge–Kutta
scheme of Kaps, Rentrop and Rosenbrock with error esti- 5.6.3 Code_Saturne
mation and adaptive time step control, and the semi-em-
plicit Bulirsch–Stoer method of Bader and Deuflhard [147]. Code_Saturne is open-source CFD software which solves
OpenFOAM contains a suite of numerical tools to solve the Navier–Stokes equations for 2D, 2D-axisymmetric and
a range of problems in engineering and science. It includes 3D flows, steady or unsteady, laminar or turbulent, in-
methods to solve problems where matter is represented as a compressible or weakly dilatable, isothermal or not, with
continuum and where it is represented by discrete particles. scalars transport if required [150, 151].
To solve equations for a continuum, OpenFOAM uses a Several turbulence models are available, from Rey-
numerical approach with the following features: [148] nolds-Averaged models (RANS models) to Large-Eddy
Simulation models (LES models). In addition, a number of
• Segregated, iterative solution—For the system of
specific physical models are available as modules: gas,
equations governing our problem of interest, separate
coal, biomass, pollutant, and heavy-fuel oil combustion,
matrix equations are created for each equation, and are
semi-transparent radiative transfer, particle-tracking with
solved within an iterative sequence (as opposed to
Lagrangian modelling, Joule effect, electric arcs, multi-
created one, big matrix equation for the entire system of
physics modelling of arc welding, weakly compressible
equations).
flows, atmospheric flows, rotor/stator interaction for hy-
• Finite volume method—Matrix equations are construct-
draulic machines [150, 151].
ed using the finite volume method applied to arbitrary
Code_Saturne has been under development since 1997
shaped cells (any number of faces, any number of
by EDF R&D (Electricité de France). The software is based
edges).
on a co-located Finite Volume Method (FVM) that accepts
• Collocated variables—The solution variable for each
three-dimensional meshes built with any type of cell (te-
matrix equation is defined at cell centers.
trahedral, hexahedral, prismatic, pyramidal, and polyhe-
• Equation coupling—The coupling between equations,
dral) and with any type of grid structure (unstructured,
particularly pressure and velocity is performed using
block structured, hybrid) [151, 152].
adapted versions of well-known algorithms such as e.g.
Code_Saturne is composed of two main elements and an
PISO and SIMPLE.
optional GUI (as shown in Fig. 34): [151]
OpenFOAM contains a range of dynamic mesh func-
• The Kernel module which is the numerical solver
tionality within a set of libraries that is plugged into a range
• The Preprocessor module which is in charge of mesh
of dynamic mesh solvers. The type of dynamic mesh
import
functionality includes the following: [149]
Code_Saturne can use different numerical methods:
• Solid body motion of a mesh according to prescribed
[153]
motion function, e.g. sloshing in a tank.
• Internal motion (e.g. distortion) of a mesh calculated • Discretization
from boundary motion, e.g. object floating at a free • Velocity–pressure coupling
surface. • Linear system resolution (Jacobi (default for velocity,
• Dynamic refinement/unrefinement of hex meshes, e.g. temperature, turbulent variables, passive scalars), alge-
about a fluid interface, shock, etc. braic multigrid (default for pressure), conjugate

123
T. Vogeltanz

Fig. 34 The Code_Saturne elements [151]

gradient, and stabilized bi-conjugate gradient (BI- altitude, Mach numbers between ca. 0.01–1.0, quiet vehi-
CGSTAB)) cles, low fuel consumption vehicles, etc.), the need for
• Convective scheme (First order Upwind Scheme, high-fidelity simulation techniques to predict their perfor-
Centered scheme, Second Order Linear Upwind mance is growing; furthermore, revolutionary aircraft de-
(SOLU) Scheme, and Blended scheme between upwind sign concepts may appear in the near future. As a result,
and second order scheme) high-order numerical methods may find their place in the
• Gradient calculation aeronautical industry [14, 157, 158].
Unsteady simulations, including those of flapping wings,
The supported compatible mesh generators’ formats
wake capturing, noise prediction, and turbulent flows via
include: SALOME SMESH, I-DEAS Nx, Gmsh, Gambit
Large Eddy Simulation (LES), are just a few examples of
(Fluent), Simail, Harpoon, ICEM-CFD, and Star-CCM?
computations that could benefit from high-order numerical
[154].
methods. In particular, high-order methods have a sig-
Code_Saturne also relies on the PLE (Parallel Location
nificant edge in applications that require accurate resolu-
and Exchange) library for the management of code cou-
tion of the smallest scales of the flow. Such situations
pling; this library can also be used independently [151].
include the generation and propagation of acoustic noise
Code_saturne can be coupled with: [155]
from an airframe, or at the limits of the flight envelope
• itself (in order to couple different models (RANS/LES), where unsteady, vortex-dominated flows have a significant
to model fluid–structure interaction with large displace- effect on aircraft performance. On a given grid, utilizing a
ment or the rotating machines) high-order representation enables smaller scales to be re-
• Code_Aster (in order to model the fluid–structure solved with a greater degree of accuracy than standard
interaction) second-order methods. Furthermore, high-order methods
• SYRTHES (in order to model the conjugate heat are inherently less dissipative, resulting in less unwanted
transfer) interference with the correct development of the turbulent
energy cascade [157, 158].
HiFiLES is open-source software, written in C??.
5.6.4 High Fidelity Large Eddy Simulation (HiFiLES) HiFiLES is high-order numerical methods for flow
simulations capture complex phenomena like vortices and
High-order numerical schemes may have the potential to separation regions using fewer degrees of freedom than
advance CFD beyond the current plateau of second-order their low-order counterparts. The High Fidelity (HiFi)
methods and RANS turbulence modelling, ushering in new provided by the schemes, combined with turbulence
levels of accuracy and computational efficiency in turbu- models for small scales and wall interactions, gives rise to
lent flow simulations [156, 157]. a powerful LES software package [156].
Because of new aircraft roles (e.g. very small or large HiFiLES is compressible flow solver for unstructured
concepts, Reynolds numbers 104–107, very high or low grids built from the ground up to take full advantage of

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

parallel computing architectures. In general, the code is


designed as an ideal base for further development on a
variety of architectures; for example, it is especially well-
suited for Graphical Processing Unit (GPU) architectures.
The code uses the MPI protocol to run on multiple pro-
cessors, and CUDA to harness GPU performance [156,
158].
HiFiLES v. 0.1 contains the following capabilities: [156,
158]
• High-order compressible Navier–Stokes and Euler
equations solver in 2D and 3D with support for
triangular, quadratic, hexahedral, prismatic, and tetra-
hedral elements. Implementation for spatial orders of
accuracy 2 through 4 has been verified.
• Numerical scheme: Energy-Stable Flux Reconstruction.
• Time advancement: explicit time-stepping with low-
storage RK45 method (4th order) or forward Euler (1st
order). Local time-stepping when running on CPUs.
• Boundary conditions: Wall: no-slip isothermal, no-slip
adiabatic, and symmetry (slip wall). Inflow and Fig. 35 A density contour for the flow with Re = 60,000 around the
outflow: characteristic, supersonic, subsonic. Periodic. SD7003 airfoil [158]
• High-order surface representation.
• Mesh format compatibility: neutral (.neu) and Gmsh
• Platforms—CPU clusters, Nvidia GPU clusters, AMD
(.msh).
GPU clusters
• Large Eddy Simulation: Sub-grid Scale Models:
• Spatial discretization—High-order flux reconstruction
Smagorinsky, WALE, similarity, and combinations of
• Temporal discretization—Explicit Runge–Kutta
these. Wall models: log-law, three-layer Breuer-Rodi.
• Precision—Single, Double
• Parallelization: MPI, and GPU (strong scalability 88 %
• Mesh files read—Gmsh (.msh)
of ideal for up to 16 GPUs; weak scalability above
• Solution files produced—Unstructured VTK (.vtu)
90 % of ideal for up to 16 GPUs).
PyFR is being developed in the Vincent Lab, Depart-
In [158], the SD7003 airfoil flows with Re = 10,000;
ment of Aeronautics, Imperial College London, UK.
22,000; 60,000 (Fig. 35); and other simulation cases per-
However, PyFR is not currently a fully-fledged production
formed by using HiFiLES are described.
flow solver; in addition, no level of support is guaranteed
[159].
5.6.5 PyFR PyFR aims to expand the industrial CFD envelope from
its current RANS plateau; enabling affordable and accurate
PyFR is an open-source Python based framework for simulation of currently intractable unsteady flow problems
solving advection–diffusion type problems on streaming via scale resolving approaches such as LES. As a result, it
architectures using the Flux Reconstruction approach of is envisaged that PyFR may have significant impact in a
Huynh. The framework is designed to solve a range of range of application areas including design of next-gen-
governing systems on mixed unstructured grids containing eration unmanned aerial vehicles, aircraft noise reduction,
various element types. PyFR is also designed to target a design of jet engines, and other areas [160].
range of hardware platforms via use of an in-built domain
specific language derived from the Mako template engine.
The current release (v. 0.2.4) has the following capabilities: 5.7 Computer-Aided Design (CAD)
[157, 159, 160]
Computer Aided Design (CAD) is a set of methods and
• Governing equations—Euler, Navier–Stokes tools to assist product designers in creating a geometrical
• Dimensionality—2D, 3D representation of the artifacts, in dimensioning, configura-
• Element types—Triangles, Quadrilaterals, Hexahedra, tion management, archiving, exchanging part and assembly
Prisms, Tetrahedra, Pyramids information between organizations, feeding subsequent

123
T. Vogeltanz

design steps [analysis and manufacturing—Computer- modify geometry, modify the representation of objects in a
Aided Engineering (CAE) and Computer-Aided Manufac- 3D scene, or access and modify the FreeCAD interface.
turing (CAM)] by means of a computer system. These Python scripting can also be used in macros, which provide
applications came out of the manufacturing world; thus, an easy method to create custom commands [67, 163, 164].
they have certain characteristics which make them well The main concept behind the FreeCAD interface is that
suited for manufacturing [20, 161]. it is separated into workbenches. A workbench is a col-
lection of tools suited for a specific task, such as working
5.7.1 FreeCAD with meshes, or drawing 2D objects, or constrained
sketches. The current workbench can be switched with the
FreeCAD is a fully multi-platform, open-source, general- workbench selector at any time. The tools included in each
purpose, parametric 3D CAD/CAE modeler. FreeCAD is workbench, add tools from other workbenches, or even
aimed directly at mechanical engineering and product de- self-created tools (macros) can be customized. There is also
sign; however it also fits in a wider range of uses around a generic workbench which gathers the most commonly
engineering, such as architecture [67, 162–164]. used tools from other workbenches, called the complete
FreeCAD’s focus is to allow user to create high-preci- workbench [163].
sion 3D models, to keep tight control over those models The selection of a workbench depends on the type of job
(being able to go back into modelling history and change which is needed to be done; for instance, PartDesign
parameters), and eventually to build those models (via 3D Workbench is focused on mechanical models or more
printing, CNC machining or even construction worksite) generally any small-scale objects, Draft Workbench works
[163]. in 2D, as well as Sketcher Workbench which, in addition,
FreeCAD has many 2D components in order to sketch uses constraints; there is also Arch Workbench, special
2D shapes or extract design details from the 3D model to Ship Workbench, OpenSCAD Workbench and other
create 2D production drawings; Nevertheless, direct 2D Workbenches [163].
drawing (like AutoCAD LT) is not the focus, neither However, FreeCAD is still in the early stages of de-
animation or organic shapes are (like in Maya, 3ds Max, velopment; thus, although it already offers a large list of
Blender, or Cinema 4D) [162]. features, many of them is still missing, specially comparing
FreeCAD features tools are similar to Catia, SolidWorks it to commercial solutions. Nevertheless, there is a fast-
or Solid Edge; as a result it also falls into the category of growing community of enthusiastic users, and it can al-
MCAD, PLM, CAx and CAE. Key features of FreeCAD ready be found many examples of quality projects devel-
are: [162, 164, 165]. oped with FreeCAD [163].
For example, the tutorial of the creation of a very sim-
• A complete Open CASCADE Technology-based ge-
ple, elemental airplane model in Part Workbench is de-
ometry kernel
scribed in [166]; more complicated geometry is shown in
• A full parametric model
[67], where a particular aircraft configuration for the Long
• A modular architecture which makes to provide addi-
Endurance Electric UAV (LEEUAV), which can be seen in
tional functionality without modifying the core system
Fig. 36, was designed by using FreeCAD and developed
• Import/export to standard formats, such as STEP,
scripts.
IGES, OBJ, STL, DXF, SVG, STL, DAE, IFC or
OFF, NASTRAN, VRML, in addition to FreeCAD’s
native FCSTD file format
• A Sketcher with constraint-solver, allowing to sketch
geometry-constrained 2D shapes
• A Robot simulation module which allows to study
robot movements
• A Drawing sheets module which permit to put 2D
views of 3D models on a sheet
• A Rendering module which can export 3D objects for
rendering with external renderers
• An Architecture module
One of the most powerful features of FreeCAD is the
scripting environment. From the integrated python console
(or from any other external Python script), almost any part
of FreeCAD can be accessed; for example it may create or Fig. 36 LEEUAV designed with FreeCAD [67]

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

5.7.2 SALOME robust high-performance geometric representation and


analysis [169–171].
SALOME is open-source software which provides a BRL-CAD is a collection of more than 400 tools, uti-
generic platform for Pre- and Post-Processing for nu- lities, and applications comprising more than a million li-
merical simulation. It is based on an open and flexible nes of source code. For more than 20 years, BRL-CAD has
architecture made of reusable components [167, 168]. been the primary tri-service solid modelling CAD system
SALOME can be used as standalone application for used by the U.S. military to model weapons systems for
generation of CAD model, its preparation for numerical vulnerability and lethality analyses. The solid modelling
calculations and post-processing of the calculation results. system is frequently used in a wide range of military,
Moreover, SALOME can be used as a platform for inte- academic, and industrial applications including in the de-
gration of the external third-party numerical codes to pro- sign and analysis of vehicles, mechanical parts, and ar-
duce a new application for the full life-cycle management chitecture. The package has also been used in radiation
of CAD models [167, 168]. dose planning, medical visualization, computer graphics
SALOME can: [167, 168] education, CSG concepts and modelling education, and
system performance benchmark testing among other pur-
• Support interoperability between CAD modelling and
poses [169–171].
computation software (CAD-CAE link)
BRL-CAD supports a great variety of geometric repre-
• Make easier the integration of new components into
sentations including an extensive set of traditional CSG
heterogeneous systems for numerical computation
primitive implicit solids such as boxes, ellipsoids, cones,
• Set the priority to multi-physics coupling between
and tori, as well as explicit solids made from closed col-
computation software
lections of Uniform B-Spline Surfaces, Non-Uniform Ra-
• Provide a generic user-friendly and efficient user
tional B-Spline (NURBS) surfaces, n-Manifold Geometry
interface, which helps to reduce the costs and delays
(NMG), and purely faceted mesh geometry. All geometric
of carrying out the studies
objects may be combined using Boolean set-theoretic CSG
• Reduce training time to the specific time for learning
operations including union, intersection, and difference
the software solution based on this platform
[169, 170].
• Provide access to all functionalities via the integrated
Although BRL-CAD has been used for a wide variety of
Python console
engineering and graphics applications, the package’s pri-
The following operations can be done with SALOME: mary purpose continues to be the support of ballistic and
[167, 168] electromagnetic analyses. Accordingly, developers have
found CSG modelling to be the best approach in terms of
• Create/modify, import/export (IGES, STEP, BREP),
model accuracy, storage efficiency, precision, and speed of
repair/clean CAD models
computational analysis [170].
• Mesh CAD models, edit mesh, check mesh quality,
While polygonal and boundary representation (B-rep)
import/export mesh (MED, UNV, DAT, STL)
modelling often focuses on just the surfaces of objects,
• Handle physical properties and quantities attached to
CSG modelling focuses on the entire volume and content
geometrical items
of objects. This gives BRL-CAD the capability to be ‘‘more
• Perform computation using one or more external
than skin deep’’ and build objects with real-world materi-
solvers (coupling)
als, densities, and thicknesses so that physical phenomena
• Display computation results (scalar, vector)
such as ballistic penetration and thermal, radiative, neu-
• Manage studies (create, save, reload)
tron, and other types of transport can be studied [170].
For example in [172], the methodology of the aircraft
5.7.3 BRL-CAD survivability analysis considering vulnerability of the air-
craft against fragmenting warhead threat was studied, and
BRL-CAD is a powerful cross-platform open-source for the shot-line analysis, the functions and required li-
combinatorial Constructive Solid Geometry (CSG) solid braries of the BRL-CAD software are integrated in the
modelling system which includes interactive 3D solid ge- code which is used as the shot-line subroutine of the main
ometry editing, high-performance ray-tracing support for survivability analysis code.
rendering and geometric analysis, network-distributed The BRL-CAD libraries are designed primarily for the
framebuffer support, image and signal-processing tools, geometric modeler who also wants to edit software and,
path-tracing and photon mapping support for realistic im- perhaps, design custom tools. Each library fits into one of
age synthesis, a system performance analysis benchmark three categories: creating and/or editing geometry, ray-
suite, an embedded scripting interface, and libraries for tracing geometry, or image handling [170].

123
T. Vogeltanz

Fig. 37 The wings and airfoil of the ZLIN 526 AF/AFS aircraft model in QCAD

The application side of BRL-CAD also offers a number • Printing on multiple pages
of tools and utilities. They primarily concern is geometric • Over 40 construction tools
conversion, geometric interrogation, image format con- • Over 20 modification tools
version, and command-line-oriented image manipulation. • Construction and modification of points, lines, arcs,
An overview of libraries, tools, and utilities of BRL-CAD circles, ellipses, splines, polylines, texts, dimensions,
can be found in [170]. hatches, fills, raster images
• Various entity selection tools
5.7.4 QCAD • Object snaps
• Measuring tools
QCAD is a multi-platform, open source application for • QCAD Library Browser with over 5000 CAD parts
computer aided drafting (CAD) in two dimensions (2D). • Complete ECMAScript scripting interface
Technical drawings such as plans for aircraft models
Using the QCAD 3 scripting interface, new interactive
(Fig. 37), buildings, interiors, mechanical parts, or
tools and user interface components can be added to
schematics and diagrams can be created with QCAD.
QCAD without having to set up a development environ-
QCAD was designed with modularity, extensibility and
ment or requiring a special developer license. In the same
portability in mind; moreover, QCAD has intuitive user
manner, completely new applications can be developed
interface [173].
using only the script interface of QCAD [175].
Main Features of QCAD are: [173, 174]
If an extension of QCAD by using scripts is not possible,
• Layers a QCAD C?? plugin which wraps developer’s library can
• Blocks (grouping) be created; however, the necessary hooks to access library
• 35 CAD fonts included functionality through the script interface have to be added
• Support for TrueType fonts [175].
• Various Metrical and Imperial units
• DXF and DWG import and export 5.8 OpenVSP
• Import bitmaps into drawing and export drawing as
bitmap (BMP, JPEG, PNG, TIFF, ICO, PPM, XBM, OpenVSP (Vehicle Sketch Pad) is a parametric aircraft
XPM) geometry tool which allows the user to create a 3D model
• Printing to scale of an aircraft defined by common engineering parameters.

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Traditional CAD tools generate a static solution to a


design problem. However, many of the strengths of CAD
which make it beneficial in the preliminary and detailed
design phases actually become either of little benefit or
even hindrances in the conceptual design phase. Instead
of manually creating a CAD model by dragging and
dropping components, the parametric design is specified
Fig. 38 The logo of OpenVSP [179]
using variables and functions. Parametric design defines
the relationships between components in a design. As a
This model can be processed into formats suitable for result, changing a variable which defines part of a model
engineering analysis, for example into STL, MSH, HRM, will adapt all the connected components so as to maintain
3DM, FEL, X3D and other formats. OpenVSP was suc- a coherent design. Although there is a longer lead time to
cessfully used, for instance, in [138] as a part of system for implement the initial model, once the model is developed,
the optimization of wing, body, and tail of aircraft. Fur- the user can easily create endless variations of the origi-
thermore, in [21], four types of reduced-fidelity geometric nal. In other words, parametric design systems make the
representations were defined in response to a need for computer a generative design tool and are already used
bridging the gap between conceptual design and analysis extensively as a rapid prototyping technique in architec-
[20, 176–178]. ture and aeronautics [20, 138, 177, 178].
The predecessors to OpenVSP have been developed by OpenVSP builds a text file which is filled out through a
NASA since the early 1990’s. In January 2012, OpenVSP series of forms presented graphically to the user, and the
was released as an open source project under the NOSA 1.3 geometry is displayed in real-time in a three-dimensional
license; the logo of OpenVSP can be seen in Fig. 38 [176, display window [20, 177, 178].
177, 179]. In order to provide real-time performance, the true
In [180], there is a VSP Hangar where over 170 aircraft wetted surface of the aircraft is not generated or updat-
VSP models of various types can be found. Figure 39 ed with every design change. Instead, aircraft compo-
shows Dragon Eye UAV which was downloaded from VSP nents are modeled and displayed independently but
Hangar and displayed in OpenVSP application. simultaneously; the wing and fuselage are both

Fig. 39 Dragon eye UAV displayed in OpenVSP

123
T. Vogeltanz

represented, but the wing-fuselage intersection is not


calculated and the components are not trimmed at the
intersection [178].
At any point in the design process, the designer may
elect to calculate the component intersections and generate
the outer mold lines of the vehicle. This true wetted surface
can be used by OpenVSP to perform a number of analysis
tasks. The surface representation generated by OpenVSP
can be used as the starting point for volume mesh gen-
eration to be used in CFD analysis. Moreover, it can be
used as input to a rapid prototyping machine or 3D printer.
The surface model output by OpenVSP can also be used to
create high quality illustrations and renderings of the de-
sign concept [178].
Mesh grid density is defined and controlled by using
point, line and box sources. These sources specify the de-
sired edge length near the source. The radius of the source
dictates the volume affected by that source. The target
length is decreased by the square of the fractional distance Fig. 41 The altered geometry [178]
away from the source. The source size may be auto-
matically increased to prevent the edge length from
changing more than 20 % at source borders. The position
of the sources is specified in the parameter space of the
components. This allows the user to change the geometry
without having to redefine sources as can be seen in Fig. 40
and Fig. 41 [178].
Line and box sources require two points to specify lo-
cation and size. To improve the speed of the mesh density
specification, the meshing process is split into two parts:
intersect and mesh. If the geometry does not change, only
the mesh process is required to see changes in density.
When the mesh density is satisfactory, the mesh can be

Fig. 42 CFD mesh control dialog

exported, for example, in Nascart (DAT) or STL format


[178].
The primary mesh control interface presented to the user
is depicted in Fig. 42. This interface allows the user to
create and modify the grid density control sources [178].
OpenVSP has the capability to automatically create a
default set of mesh control sources for each geometric
component in the model. These default sources provide a
Fig. 40 The original geometry [178] reasonable foundation for tweaking and customization. In

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

addition to the controls for the individual sources, the user between zero and 0.5), the results should be fairly accurate.
can adjust some global parameters scaling mesh size and Airfoils in supersonic flow cannot be analyzed with the
limiting the largest triangle in the mesh. These global pa- methods in JavaFoil [181].
rameters allow the user to quickly adjust a mesh as a First, it calculates the distribution of the velocity on the
whole, thereby creating a series of related meshes [178]. airfoil surface which can be integrated to get the lift and the
An example of how parameterization can be used ef- moment coefficient. Then, it calculates the behavior of the
fectively is in the area of defining high-lift devices. flow close to the airfoil surface (the boundary layer). The
OpenVSP allows for arbitrary airfoil coordinates in relation boundary layer data can be used to calculate the friction
to the traditional zero to one chord reference. This means drag of the airfoil. Both steps are repeated for the given
that the cruise configuration wing can be defined, and if the range of angle of attacks, which yields a complete polar of
high-lift configuration airfoils are defined properly, then the airfoil for one fixed Reynolds number [181, 182].
multiple copies of the cruise wing only have to differ by the JavaFoil does not model laminar separation bubbles and
airfoil file chosen in order to correctly size and position all flow separation, the results will be incorrect if either of
of the elements. Any other high-lift flap settings need only these occur. Flow separation, as it occurs at stall, is mod-
to have different airfoil files read into define them as well. eled to some extent by empirical corrections, so that
The accuracy of the positioning is only dependent upon the maximum lift can be predicted for ‘‘conventional’’ airfoils.
accuracy of the airfoil file. If for any reason the cruise wing If an airfoil beyond stall is analyzed, the results will be
geometry is altered, then, everything that is necessary to be quite inaccurate. Two dimensional analysis methods should
done is updating the copies to the same values. Unfortu- not be used at all in this regime, as the flow field beyond
nately, this update must be performed manually. However, stall is fully three dimensional with spanwise flow and
a future feature may be to automate this process by al- strong vortices [181, 182].
lowing the designer to specify dependencies down to the If laminar separation is detected, the method switches to
individual parameter level. Currently, parent–child depen- turbulent flow and continues. When turbulent separation is
dencies only extend to position and rotation [20]. found, the boundary layer integration is stopped and an
OpenVSP also has some capability to do arbitrary empirical drag penalty depending on the length of the
shapes. In general, this should be avoided because it separated region is added to the result [182].
negates the main advantage which OpenVSP has over The drag is applied by examining the boundary layer
CAD, namely parametric input and the ease with which the parameters at the trailing edge using the Squire-Young
geometry can be modified [20]. formula [182].
The following empirical transition criteria have been
5.9 JavaFoil implemented and can be selected by the user: [182]
• Eppler 1
JavaFoil uses several traditional methods for airfoil ana-
• Eppler 2
lysis. The following two methods build the backbone of the
• Michel 1
program: [181, 182]
• Michel 2
• The potential flow analysis is performed with a higher • Granville
order panel method. It calculates the local, inviscid flow • Drela’s en approximation 1
velocity along the surface of an airfoil for any desired • Drela’s en approximation 2
angle of attack by using a set of airfoil coordinates. • Arnal en approximation by Würz
• The boundary layer analysis module steps along the
The JavaFoil program contains a row of tabs on top and
upper and the lower surfaces of the airfoil, starting at
a card area below. Each tab shows its associated card
the stagnation point. It solves a set of differential
which contains input and output elements for a certain
equations to find the various boundary layer pa-
topic. The cards are divided in topics like Geometry,
rameters; it is a so called integral method. The
Modify, Velocity, Flow Field (see Fig. 43), Boundary
equations and criteria for transition and separation are
Layer, Polars and Options [183].
based on the procedures described by Eppler. The
JavaFoil may create the following standard airfoils:
boundary layer module works best in the Reynolds
[183]
number regime between 500,000 and 20,000,000.
• 4-digit series (like NACA 2415)
A standard compressibility correction according to
• 5-digit series (like NACA 23015)
Karman and Tsien has been implemented to take mild
• 16-series (like NACA 16-412)
Mach number effects into account. As long as the flow
• 6-series (like NACA 64-412)
stays subsonic (this usually means that Mach numbers are

123
T. Vogeltanz

Fig. 43 The flow field card in JavaFoil with an analysis of an airfoil

• TsAGI ‘‘B’’ series airfoils propeller (power per disk area) is relatively small, as it is
• NPL ‘‘EC’’, ‘‘EH’’ series airfoils the case for most aircraft propellers [185–187].
• Symmetrical Circular Arc airfoils Based on the theory of the optimum propeller (as de-
• Symmetrical Double Wedge airfoils veloped by Betz, Prandtl, Glauert), only a small number of
• Cambered Plate airfoils design parameters must be specified. These are: [186]
• Van de Vooren conformal mapping airfoil
• The number of blades B
• Newman airfoil
• The axial velocity v of the flow (flight speed or boat
• Helmbold-Keine airfoil
speed)
• The diameter D of the propeller
5.10 JavaProp • The selected distributions of airfoil lift and drag
coefficients CL and CD along the radius
JavaProp is based on the blade element theory presented in • The desired thrust T or the available shaft power P
[184]. The blade is divided into small sections, which are • The density q of the medium (air: *1.22 kg/m3, water:
handled independently from each other. Each segment has *1000 kg/m3)
a chord and a blade angle, and associated airfoil charac-
The design procedure creates the blade geometry in
teristics. The theory makes no provision for three dimen-
terms of the chord distribution along the radius as well as
sional effects, like sweep angle or cross flow; however it is
the distribution of the blade angle. The influence of blade
able to find the additional axial and circumferential ve-
number and tip loss are taken into account by the ‘‘Prandtl
locity added to the incoming flow by each blade segment.
Tip-Loss Factor’’ [186, 187].
This additional velocity results in an acceleration of the
JavaProp offers two ways to use the analysis procedure:
flow and thus thrust. Usually this simplified model works
[187]
very well, when the power and thrust loading of the

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

• Analyze the propeller for its full operating range, from Finally, the flow field around a propeller is complex and
static to the beginning of the wind-milling range. fully three dimensional with boundary layers, Mach num-
• Perform an analysis for one advance ratio only which ber effects and local flow separation. This problem may
gives a user more details for the aerodynamic condi- also be difficult to model accurately with the most so-
tions along the radius. phisticated tools such as Navier–Stokes solvers which
typically require long time to calculation. On the other
The local chord length c depends mainly on the prescribed
hand, JavaProp can give a first answer in fractions of a
lift coefficient CL—if designer would like to have wider
second for price of the accuracy. However, results may be
blades, he have to choose a smaller design lift coefficient (or
overestimated [188].
angle of attack) and vice versa. It should be noted that the
The JavaFoil program contains a row of tabs on top and
design procedure does not work accurately for high thrust
a card area below. Each tab shows its associated card
loadings as they occur under static conditions. If nonsense
which contains input and output elements for a certain
values for the blade chord are received, the power loading of
topic. The cards are divided in topics like Design, Airfoils,
the propeller is probably too high. The power coefficient PC
Geometry (see Fig. 44), Analysis and Options [189].
should be less than 1.5; otherwise the theory is not fully
A user can work only with a single propeller in Java-
applicable and may lead to errors [186].
Prop. It means that he has a single propeller, which can be
However, the blade element method is limited when
designed, analyzed, modified, and analyzed again. All
flow separation occurs e.g. at static conditions. Moreover,
manipulations such as the airfoil choice, specification of
JavaProp comes with a set of airfoil polars which can
diameter, or RPM setting, applying modifications to the
represent only a limited model of the whole range of
blade shape, and importing new blade geometry will alter
possible airfoil sections [187, 188].

Fig. 44 The geometry card in


JavaProp with the geometry of a
propeller

123
T. Vogeltanz

Fig. 45 The plan and side views of a fuselage in SUMO

CGNS, CEASIOM and other files. After the generation of a


mesh, the surface can be exported to CGNS, MSH, STL,
and ZML files [190, 191].
SCOPE is a visualization program to display surface
data, flutter mode-shapes and flight trajectories. Further-
more, it can read NASTRAN as well as modal analysis
results and animate Eigen-mode shapes. SCOPE can also
Fig. 46 A meshed aircraft generated with SUMO import/export CGNS, SU2, MSH, STL and other files [190,
192].

this virtual propeller. The unit system is metric for all 5.11.2 VAMPzero, CPACS, and TiGL
entries and results if not noted otherwise [189].
VAMPzero is an open-source software tool for the con-
5.11 Other Software ceptual design of aircraft. Based on well-known handbook
methods (e.g. Raymer and Roskam), the design of new
In this section, other interesting or acceptable software configurations includes outer geometry as well as struc-
which can be used for modelling, simulation, and devel- tures, engines, systems, mission analysis and costs. It
opment is briefly described or only mentioned. supports working in multi-disciplinary and multi-fidelity
environments. VAMPzero can interpret data from CPACS
5.11.1 Larosterna (Common Parametric Aircraft Configuration Schema) and
can be used to generate CPACS files [177, 193–195].
The Larosterna software includes a surface modelling tool VAMPzero is based on an object oriented structure and,
and mesh generator (SUMO), and a visualization program as a result, is highly flexible. Furthermore, the structure
(SCOPE) [190]. distinguishes feature aspects (file handling, convergence
The surface modeler SUMO is a graphical tool aimed at control, and process control) and design aspects (parameter
rapid creation of aircraft geometries and automatic surface definition, calculation methods) in a way that makes ex-
mesh generation. The plan and side views of a fuselage in tensions easy to implement. The design aspects are grouped
SUMO are shown in Fig. 45 and the meshed aircraft can be into components, disciplines and parameters, whereas the
seen in Fig. 46 [190, 191]. parameters contain the actual design knowledge [177, 193–
SUMO is not a CAD system, but rather an easy-to-use 195].
parametric sketchpad, highly specialized towards aircraft As VAMPzero is a supportive analysis module for
configurations. SUMO can import IGES, STEP, STL, CPACS, it has to handle two tasks: initialization and

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

integration. Obviously, a design process needs to go integrating functional capabilities, and increasing its im-
through requirements definition and conceptual design pact on new NASA projects and programs [198, 199].
before preliminary methods can be applied. VAMPzero However, TetrUSS is only available to U.S. entities,
handles the conceptual design stage but also initializes the citizens, and permanent residents because the software has
CPACS data set; thus, higher level analysis modules can be been developed by the United States government and is
triggered. It creates geometries following a knowledge- subject to US export regulations and NASA policy. As a
based engineering approach and writes necessary process result, TetrUSS cannot be tested by the author of this paper
data like, for example, tool-specific settings [195]. [200].
The Common Parametric Aircraft Configuration
Schema (CPACS) is a data definition for the civil and 5.11.4 Extensions and Tools of Computational
military aircraft, rotorcraft, jet engines, and entire air Environments
transportation systems. CPACS is based on XML tech-
nology and enables engineers to exchange information Tornado for Octave (also for Matlab) is a Vortex Lattice
between their tools. As a result, CPACS is a driver for Method for linear aerodynamic wing design applications in
multidisciplinary and multi-fidelity design in distributed conceptual aircraft design or in aeronautical education. By
environments. CPACS describes the characteristics of air- modelling all lifting surfaces as thin plates, Tornado can
craft, rotorcraft, engines, climate impact, fleets and mission solve for most aerodynamic derivatives for a wide range of
in a structured, hierarchical manner. Not only product but aircraft geometries [201].
also process information is stored in CPACS. The process Aerospace blockset for Scilab/XCos is an external
information helps in setting up workflows for analysis module providing aerospace palette. It is based on Ce-
modules. Since CPACS follows a central model approach, lestLab aerospace library. Although Scilab/XCos and
the number of interfaces is reduced to a minimum [177, aerospace blockset are very interesting compensation for
195, 196]. Matlab/Simulink, Aerospace blockset is now designed
The TiGL Geometry Library can be used for easy pro- rather for satellites than aircraft. However, there is an ex-
cessing of geometric data stored inside CPACS data sets. ample named ‘‘Quadrocopter attitude estimation with
TiGL offers query functions for the geometry structure. TRIAD’’ which demonstrates that UAV simulation is also
These functions can be used, for example, to detect how possible [202].
many segments are attached to a certain segment, which OpenFDM is an open source flight dynamics library for
indices these segments have, or how many wings and Modelica and has basic functions for the modelling of
fuselages the current airplane configuration contains. This aircraft, aerodynamics, control, navigation, and propulsion
functionality is necessary because not only the modelling [203].
of simple wings or fuselages but also the description of
quite complicated structures with branches or flaps is tar- 5.11.4.1 Flapping Flight Simulation Package Flapping
geted. TiGL uses OpenCASCADE to represent the airplane Flight Simulation package can be used to simulate the
geometry by B-spline surfaces in order to compute surface physics of flapping-wing flight which includes simulating
points and also to export the geometry in the IGES/STEP/ the flight of living organisms, such as birds and insects, and
STL/VTK format. The library provides external interfaces also man-made flapping-wing air vehicles [204].
for C, C??, Python, Java, MATLAB and FORTRAN. The This package contains three applications for simulation
TiGLViewer is an application used to visualize the ge- flapping flight: [204, 205]
ometries [197].
• FLAPSIM—An inverse dynamics application which
simulates the dynamics of flapping wings, predicting
5.11.3 TetrUSS
aerodynamic forces and torques, and mechanical
power.
TetrUSS is a time-tested computational aerodynamic ca-
• FLAPOPTIMISE—A numerical optimization tool
pability servicing the configuration aerodynamic needs of
which predicts the most energy efficient wing
NASA’s airframe and exploration programs. Present ca-
kinematics.
pabilities include rapid grid generation, inviscid and vis-
• WAKESIM—A point vortex simulator which simulates
cous flow analysis and design, special functional boundary
the geometry of wake shed by flapping wings.
conditions, and ease of use. TetrUSS also includes a
modular capability for computing aero-elastic effects, it- Wing dynamics for a hoverfly cruising at 3 m/s is shown
erative design, and interactive boundary layer. Future goals in Fig. 47 [206]. Detailed information about Flapping
are focused on improving process automation, better Flight Simulation package can be found in [204] and [207].

123
T. Vogeltanz

Fig. 47 The wing dynamics for


a hoverfly cruising at 3 m/s
[206]

Applications in the package require the Matlab Com- • Aerodynamic Module (AMB-CFD)—A replacement of
piler Runtime (MCR) to be installed. MCR is a standalone current handbook aerodynamic methods (Digital Dat-
set of shared libraries which enables the execution of com) with new adaptable-fidelity modules: Steady and
compiled MATLAB applications. Installing MCR does not unsteady TORNADO vortex-lattice code for low-speed
install a complete version of Matlab; as a result, no Matlab aerodynamics and aero-elasticity, Panel method, Invis-
license is required [205]. cid Euler solver EDGE for high-speed aerodynamics,
and RANS flow simulator for high-fidelity analysis of
5.11.4.2 CEASIOM CEASIOM is a free conceptual air- extreme flight conditions.
craft design tool and involves stability and control driven • Stability and Control module (SDSA)—A static and
sizing and optimization in the design cycle earlier than is dynamic stability and control analyzer, and flying-
standard practice nowadays. CEASIOM is the result of the quality assessor. Test flights with 6DOF flight simula-
EU funded project SimSAC (SIMulating Aircraft Stability tion, and performance prediction, also includes human
and Control) which had as objective to build an integrated pilot model, Stability Augmentation System (SAS) and
simulation environment for computing stability and control a LQR-based (Linear-Quadratic Regulator) flight con-
information with quantifiable uncertainty [177, 208]. trol system package are among the major functionalities
CEASIOM integrates into one application the main of this module. The standalone version of SDSA is
design disciplines, aerodynamics, structures, and flight described in the Sect. 5.11.8.
dynamics, impacting on the aircraft’s performance. In other • Aero-elastic module (NeoCASS)—Quasi-analytical
words, CEASIOM is a tri-disciplinary analysis which structural analysis methods which support aero-elastic
should participate in the design of the aero-servo-elastic problem formulation and solution.
aircraft [177, 208]. • Flight Control System Design Toolkit (FCSDT)—A
Significant features developed and integrated in CEA- designer toolkit for flight control-law formulation,
SIOM as modules are: (see also Fig. 48) [177, 195, 209]. simulation and technical decision support, permitting
flight control system design philosophy and architec-
• Geometry module/Aircraft Builder (ACBuilder)—A
ture to be coupled early in the conceptual design phase.
customized geometry construction system coupled to
surface and volume grid generators; port to CAD via CEASIOM can be linked to VAMPzero via CPACS
IGES. (briefly described in the Sect. 5.11.2). The main reason

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Fig. 48 The core modules in CEASIOM [208]

why modules must be interfaced to a code like VAMPzero Profiled flapping wings and quasi-stationary flow con-
is that CEASIOM does not perform the initial sizing of a ditions are presumed; thus, calculations lead to useful re-
baseline configuration [177, 195]. sults only for a fast forward flight with a relatively low
Despite CEASIOM is freeware, to use it, Matlab is need flapping frequency (large birds, flying with lift) [212].
to be installed (Release 2008a or later), including Simulink The mathematical models are executable with the rele-
for use of FCSDT. As a result, CEASIOM can be used vant software applications. The Orni calculation tools
without fee when an institution has already owned a Matlab contains: [212]
license [208, 210].
• Orni 1 (XLS or XLSX file) is a simple calculation tool
to describe the wing twisting.
5.11.5 Calculators
• Orni 2 (MathCAD file) is a calculation method for
ornithopter models. For the construction of a flapping
FlapDesign (Fig. 49) is a simple, free software program
wing model, the calculation method describes progress
which runs within a web browser with installed Java plug-
of various force and moment at the wing. Furthermore,
in. It can find the correct dimensions of an ornithopter
the required power and, especially, the wing twisting
wing-flapping mechanism [211].
along the span are being calculated.
Orni calculation tools are based on the calculation
• Orni 3 (MathCAD file) is mathematical model for
method specified for Ornithopters and can determine the
ornithopters which is based on the calculation tool Orni
power and the twisting of the wing at stationary flight si-
2. Gliding and power flights of a flapping wing model
tuations. Furthermore, the calculation method permits at
can be analyzed singly and in series.
least an approximate quantitative specification of dynamics
• Comparison (XLSX file)—the flight performance of a
and aerodynamics of profiled flapping wings. Primarily, the
mute swan is compared with the performances of a
numerical comparison of various factors influencing of
propeller and a flapping wing model.
flapping wings [212].

123
T. Vogeltanz

Fig. 49 A graph of the wing


angle as the crank rotates in
FlapDesign [211]

However, Orni 2 and Orni 3 cannot be imported into to get a model in the air. However, the experienced user
MathCAD Express (free for use) because these files were still has complete flexibility to insert any values of his
developed with commercial MathCAD Professional 13 and choice [213].
14, and furthermore, they are in XMCDZ format. Traditional motor calculator programs ignore airframe
WebOcalc (Fig. 50) was created to make the easy se- characteristics, and can result in poor-flying systems. On
lection of motors, propellers, gearbox ratios, and batteries the other hand, WebOCalc matches airframe and power
for electric-powered model airplanes. Moreover, WebO- system characteristics every time. This may ensure great
Calc includes several app wizards to recommendation of performance for model aircraft [213].
battery chemistry, cell capacity and pack voltage, current PowerCalc is motor/propeller simulation software which
draw, propeller size, motor Kv, etc. This is a fast way how can help a user to effectively choose a motor and propeller

Fig. 50 WebOcalc 1.7.6 with


estimated data

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

for his electric powered model airplane. It may be used


along with WebOCalc to quickly focus on the power sys-
tem [214].
The traditional mathematical model for motor simula-
tion uses three motor constants, Kv, Rm, and I0. This three-
constant model works well, but has significant inaccura-
cies. In contrast, PowerCalc is based on a four-constant
mathematical model which should predict motor perfor-
mance better than the traditional three-constant motor
model does [214].
Web site [215] contains the series of calculators, and
Aerodynamics, Beginners’ Guide. The links to calculators Fig. 52 An analysis of an aircraft by using APAME [226]
(or calculators themselves) are often placed inside the text
of the Guide. There are at least these calculators:
• Evaluation: for this purpose, ApameGUI is used to
• Aircraft Center of Gravity Calculator [216]
import already available meshes (e.g. meshes in
• Canard Center of Gravity Calculator [217]
NASTRAN and FLUENT format), pre-process it, send
• Wing loading Calculator [218]
it to the ApameSolver and evaluate results.
• Stall Speed Calculator [219]
• Optimization: in this case, user-defined scripts are used
• Level Flight Speed Calculator [220]
to parametrically generate mesh and send it to the
• Motor Efficiency Calculator [221]
ApameSolver in a single optimization step. For this
• Propeller’s Static Thrust Estimation [222]
purpose, ApameScripts are given inside Apame pack-
• Electric Motor & Prop Combination Estimation [223]
age as base examples.
• Power/Weight Performance Estimation [224]
eCalc is a set of four calculators as can be seen in
5.11.7 Panukl 2012
Fig. 51. eCalc provides web-based services to calculate,
evaluate, and design electric motor driven systems for re-
PANUKL is a package to compute the aerodynamic char-
mote controlled (RC) models. However, despite eCalc can
acteristics of an aircraft using low order panel method,
be useful, only its restricted demo version with reduced
where the Dirichlet problem is solved and the quadrangle
functionality and 25 % random database is free for use
panels are used. The flat vortex wake, parallel to the free
[225].
stream velocity or parallel to chord is assumed. Moreover,
it contains functions for pre- and post-processing [228–
5.11.6 Apame
230].
Current version contains new editor and mesh generator;
Apame is a 3D Panel Method program used for calculating
however, the old version of mesh generator is still em-
aerodynamic forces and moments acting on an aircraft in
bedded. New geometry definition methods are available
flight as can be seen in Fig. 52 [226].
only in the new mesh generator. Current version contains
Apame can replace CFD programs (like Fluent, Open-
also option to export the geometry and the results (pressure
FOAM, etc.) for subsonic attached flows where calculation
distribution) to FEM analysis (Calculix) [228].
time is important and friction drag can be ignored (opti-
Computational method strongly depends on the way of
mization problems, conceptual designs, aerodynamic load
aircraft body modelling; generally, there are two methods
generation, etc.). The calculation time is much shorter
in which the body of an aircraft is modeled using: [229]
compared to classic CFD; seconds versus hours [226, 227].
Project can perform two operations; evaluation and • Thin surfaces
optimization: [226, 227] • A three dimensional model
PANUKL 2012 application is composed of three main
subprogram groups: [229]
• The data preparation programs
• The programs to process data and make computations
• The managing program for showing the obtained
results and make appropriate changes and
Fig. 51 The set of four eCalc calculators [225] modifications.

123
T. Vogeltanz

PANUKL can be used to create a grid (made from using special options of SDSA. SDSA accepts aerodynamic
quadrangle panels as can be seen in Fig. 53) which de- data as tables of stability derivatives as function of angle of
scribes an aircraft body. To create the grid file (.INP), the attack and Mach number. SDSA also accepts a multidi-
following input files have to be prepared: [229] mensional array of force and moment coefficients versus
six state parameters (angle of attack, Mach number, side-
• Main aircraft geometry description file (.MS2)—con-
slip angle and rotational velocity components). A similar
tains aircraft reference data, information about wing,
array is defined for control derivatives and stability
tail, fuselage overall geometry
derivatives versus selected accelerations (i.e. alpha dot
• Wing airfoil geometry file (.PRF, .DAT, .KOO)
derivatives). All aerodynamic data (derivatives) can be
• Fuselage geometry file (.F)
reviewed and are checked by comparison with typical
values [230, 231].
5.11.8 Simulation and Dynamic Stability Analysis (SDSA) SDSA may run in the batch mode and can send neces-
sary output data for an optimization procedure without any
SDSA module was developed as the CEASIOM (described prompting; as a result, the optimization process can run
in the Sect. 5.11.4.2) module; however it can be run as a completely in an automatic way; however, SDSA needs an
standalone application as well. SDSA was developed for external application for the optimization process because it
stability and control analysis and is able to compute sta- is not included [230].
bility characteristics using linear and nonlinear simulation
model as well [230, 231]. 5.11.9 XFLR5
SDSA uses the same 6-DOF mathematical nonlinear
model of the aircraft motion for all functions. For the XFLR5 is an analysis tool for airfoils, wings and planes
eigenvalue analysis, the model is linearized numerically by operating at low Reynolds Numbers and includes: [232–
computing the Jacobian matrix of state derivatives around 234]
the equilibrium (trim) point. Eigenvalues and eigenvectors
• XFoil’s Direct and Inverse analysis capabilities
analysis allow automatic recognition of the typical modes
• Wing design and analysis capabilities based on the
of motion and their parameters. The flight simulation
Lifting Line Theory, on the Vortex Lattice Method, and
module can be used to perform test flights and record flight
on a 3D Panel Method
parameters in real-time. The recorded data can be used for
identification of the typical modes of motions and their The code has been intended and written exclusively for
parameters (period, damping coefficient, phase shift). The the design of model sailplanes, for which it gives reason-
stability analysis results can be assessed on basis of CS/ able and consistent results. One analysis of a sailplane can
FAR, ICAO, and MIL requirements [230, 231]. be seen in Fig. 54 [233, 234].
Necessary data (aerodynamics, mass, inertia) can be
imported to SDSA as an XML file or as a set of plain text 5.11.10 JBLADE
files. The second option is useful e.g. for experimental data.
The data set contains aerodynamic coefficients or/and sta- JBLADE is an open-source propeller design and analysis
bility derivatives tables, mass and inertia data, propulsion code based on QBLADE and XFLR5. The airfoil perfor-
data, control derivatives and reference dimensions. The mance figures needed for the blades simulation come from
control and propulsion data can be completed and edited QBLADE’s coupling with XFOIL. This integration allows
the fast design of custom airfoils and computation of their
polars [235, 236].
JBLADE uses the classical Blade Element Momentum
(BEM) theory modified to account for the 3D flow equi-
librium. The code can estimate the performance curves of a
given propeller design for off-design analysis. The soft-
ware has a graphical interface making easier to build and
analyze the propeller simulations [235, 236].
JBLADE Capabilities are, for example, Extrapolation of
XFOIL generated or imported polar data to 360 Angle of
Attack with improved airfoil leading edge radius correla-
tion, Blade design and optimization including 3D visual-
ization, parametric simulations including evaluation of
Fig. 53 A model displayed in the grid viewer of PANUKL [229] performance over an airspeed, rotational speed, and pitch

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

Fig. 54 An analysis of a
sailplane by using XFLR5 [233]

range, analysis and prediction of performance curves for a Gmsh is built around four modules: geometry, mesh, solver
given blade geometry, manual selection of BEM correction and post-processing. The specification of any input to these
algorithms, manual selection of all simulation parameters, modules is done either interactively using the graphical
data browsing and visualization as post processing, export user interface or in ASCII text files using Gmsh’s own
functionality for all created simulation data, blade ge- scripting language [238].
ometry export functionality, and storing of projects, blades, Gmsh may import STEP, IGES, and BREP files. It can
propellers and simulations in a runtime database [235, also be used in collaboration with, for example, Code_-
236]. Saturne, HiFiLES, PyFR, and enGrid (described in the
Sect. 5.11.13) [154, 156, 159, 239].
5.11.11 NACA Airfoil Generation: FoilGen and LADSON
5.11.13 enGrid
FoilGen is an interactive FORTRAN program which al-
lows the user to construct airfoils using the NACA 4 digit
enGrid is an open-source mesh generation software which
or modified 4 digit airfoil thickness distributions and the
is used predominantly for CFD applications. enGrid uses
NACA 4 digit, 5 digit or 6- and 6A series camber lines. A
an in-house development for surface meshing and pris-
variety of output options are available on the screen. It can
matic boundary layers. Internally, enGrid uses the VTK
also create a file for use as input to airfoil analysis pro-
data structures as well as the VTU file format. Currently,
grams [237].
enGrid has interfaces to Gmsh, STL, and few other file
LADSON is a FORTRAN program which allows the
formats [239].
user to approximately obtain the NACA 6 digit or 6A digit
enGrid provides native export to OpenFOAM and SU2.
airfoils. The thickness distribution of these airfoils is not
This includes export capabilities for complete OpenFOAM
described by a single equation [237].
cases (including boundary conditions), as well as support
for polyhedral cells [239].
5.11.12 Gmsh

Gmsh is a 3D finite element grid/mesh generator with a 5.11.14 Mission Planner


build-in CAD engine and post-processor. Its design goal is
to provide a fast, light and user-friendly meshing tool with Mission Planner has more features than its name indicates:
parametric input and advanced visualization capabilities. it can interface with a PC flight simulator (FlightGear,

123
T. Vogeltanz

Fig. 55 The block diagram of the free software for the design, analysis, modelling, and simulation of UAVs

JSBSim, Xplane, and AeroSim RC) to create a full hard- • Conceptual/Preliminary Design
ware-in-the-loop (HIL) UAV simulator. Furthermore,
• OpenVSP (5.8)
Point-and-click waypoint entry using Google Maps/Bing/
• Larosterna (5.11.1)
Open street maps/Custom WMS may be created [240].
• VAMPzero (5.11.2)
• CEASIOM (5.11.4.2)
6 Results and Discussion • CAD
• FreeCAD (5.7.1)
As can be seen in previous chapters, many applications can
• SALOME (5.7.2)
be used for design, analysis, modelling, and simulation of a
• BRL-CAD (5.7.3)
UAV. However, all of them may not be used in one UAV
• QCAD (5.7.4)
project because they are, for example, focused on different
types of UAVs (fixed-wing, rotary-wing, flapping-wing, • Aerodynamics and Mechanics
lighter-than-air, etc.), or have better alternatives.
• Airfoil
Figure 55 shows all software which can create, or sup-
ports the items required for the efficient modelling and • JavaFoil (5.9)
simulation of a UAV as described in the Sect. 4 (i.e. a UAV • XFOIL (5.4.2)
mathematical model, a control system, FDM, etc.) • The Eppler Airfoil Code (PROFILE-5.5.1)
The extended version of the categories in Fig. 55 may • Tornado (5.11.4)
be listed as follows (the applications may not be limited • Minimum Drag Camber Surface by Vortex
only to this classification): Lattice (VLMD-5.5.2)

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

• Induced Drag from Span Load Distribution • Propulsion


(INDUCED-5.5.3)
• WebOcalc
• Flutter Analysis by Strip Theory (FLUTTER-
• PowerCalc
5.5.4)
• Motor Efficiency
• Mean Aerodynamic Chord of a Wing (GET-
• Propeller’s Static Thrust
MAC-5.5.5)
• Electric Motor & Prop Combination
• NACA Airfoil Coordinates (NACA456-5.5.6)
• Level Flight Speed
• NACA Airfoil Generation (FoilGen and LAD-
• Power/Weight Performance
SON-5.11.11)
• eCalc
• Complete Aerodynamics
• Flapping-Wing Calculators
• CFD
• FlapDesign
• Stanford University Unstructured (SU2-5.6.1) • Orni
• OpenFOAM (5.6.2)
• Flight Dynamics Model (FDM)
• Code_Saturne (5.6.3)
• High Fidelity Large Eddy Simulation (HiFiLES- • JSBSim (5.1)
5.6.4) • YASim (5.2)
• PyFR (5.6.5) • UIUC (5.2)
• Aerospace blockset for Scilab/XCos (5.11.4)
• Athena Vortex Lattice (AVL-5.4.1)
• SDSA (5.11.8)
• Apame (5.11.6)
• CEASIOM (5.11.4.2)
• PANUKL 2012 (5.11.7) & SDSA (5.11.8)
• Digital Datcom (5.5.9), Datcom R2 and OpenDat- • Simulation Software (Application/Framework)
com (5.5.9.1), or Datcom? (5.5.9.2)
• FlightGear (5.2)
• Predicting Subsonic or Supersonic Linear Potential
• OpenEaagles (5.3)
Flows about Arbitrary Configurations Using a
• Simulation and Dynamic Stability Analysis (SDSA-
Higher Order Panel Method (PANAIR-5.5.8)
5.11.8)
• XFLR5 (5.11.7)
• Flapping Flight Simulation Package (5.11.4.1)
• CEASIOM (5.11.4.2)
• Dynamic Soaring simulation and optimization pro-
• Aeroelastic Analysis for Rotorcraft in Flight or in a
gram (DSOPT-5.4.6)
Wind Tunnel (ROTOR, work-in-progress-5.5.10)
• CEASIOM (5.11.4.2)
• Propulsion • Mission Planner (HIL Simulation-5.11.14)
• JavaProp (5.10) • Propulsion and Control System
• QPROP/QMIL (5.4.3)
• JSBSim (5.1)
• CROTOR/XROTOR (5.4.4.1/5.4.4)
• YASim (5.2)
• Ducted Fan Design Code (DFDC/DFDC v070-ES-
• FlightGear (5.2)
5.4.5/5.4.5.1)
• OpenEaagles (5.3)
• JBLADE (5.11.10)
• Digital Datcom (5.5.9)
• Mass Analyzer • SDSA (5.11.8)
• CEASIOM (5.11.4.2)
• Mass Properties of a Rigid Structure (MASSPROP-
5.5.7) • View
• Calculators (5.11.5) • 3-VIEW and SILHOUETTE (5.5.12)
• The TiGL Geometry Library and TiGLViewer
• Aerodynamics
(5.11.2)
• Aircraft Center of Gravity • OpenVSP (5.8)
• Canard Center of Gravity • CAD applications (5.7)
• Wing loading • Many other 3D/2D Viewers.
• Stall Speed

123
T. Vogeltanz

• Geometry Generators or Converters fact, there could also be illustrated the potential feedback
from simulation to aerodynamic or mechanical part.
• Wireframe generator (MAKEWGS-5.5.11)
However, when the modelling and simulation part starts,
• PANAIR input pre-processor (PANIN-5.5.8.1)
the aerodynamic and mechanical part should be already
• Aeromatic (5.1.1)
solved. It is obvious, that when all the aerodynamic and
• Gmsh (5.11.12)
mechanical properties of a UAV are known, the aerody-
• enGrid (5.11.13)
namic and mechanical part may not be done.
• OpenVSP (5.8)
All applications have an indirect connection between
• Larosterna (5.11.1)
themselves. It means that their results may affect inputs to
• FreeCAD (5.7.1)
other programs; however, these dependencies have to be
• CEASIOM (5.11.4.2)
recorded and applied manually by user. On the other hand,
• Geometry Conversion to LaWGS (2WGS-5.5.13)
some applications also contain a direct connection which
• Geometry Conversion to VRML World (VRML-
means that an exchange file format exists. It applies
5.5.14)
especially for 3D geometric and mesh formats.
• The Common Parametric Aircraft Configuration
If we start with the conceptual design, OpenVSP seems
Schema (CPACS-5.11.2)
to be the best option because the parametric modelling
• Other generators or converters; for example, in the
provides an easy way for the building of an initial UAV
CAD applications.
model. Moreover, OpenVSP may import and export var-
If we consider the structure of the UAV system as il- ious types of formats, such as STL, MSH, 3DM, HRM,
lustrated in the Sect. 3, software for airframe, wings, and FEL, X3D, NASTRAN, and other formats which simplify
airfoil creation and for aerodynamics analysis represent a the use in other software.
majority in Fig. 55. This situation is not surprise because Larosterna cleverly combines the 2D and 3D visual
the aerodynamics of a UAV is probably always the most parametric designs which make it the great second option
important section due to maneuverability, stability, and for conceptual design. This approach gives designers the
energy efficiency; thus, the modelling of any new UAV possibility to perform easy and precise changes. Larosterna
should always start with this part. can import/export various types of the exchange files; as a
Propulsion and control systems are the second most result, the connection from/to OpenVSP, CEASIOM,
often investigated area of UAVs and are predominantly FreeCAD, SU2, OpenFOAM, Code_Saturne, and other
solved in FDMs, simulators, and calculators. However, applications may be found.
detailed aerodynamics and efficiency of propellers, rotors, Another approach is to use CEASIOM which can be
or ducted fans should be analyzed by using separate ap- linked to VAMPzero via CPACS. The reason for this
plications such as JavaProp, QPROP/QMIL, CROTOR/ connection has been described in Sect. 5.11.4.2). CEA-
XROTOR, DFDC, and JBLADE. SIOM can be used in the wide range of the design areas,
Energy storage systems are mostly included in FDMs, e.g. conceptual design, aerodynamic analysis, flight control
simulators, and calculators. However, the models of energy system simulation, etc.; thus, the problems with conversion
storage should be innovated, e.g. the electric storage in are not important unless a more accurate or other method
JSBSim should simulate its charge and discharge process, for analysis is needed. However, the dependence on Matlab
and the new energy source models such as solar cells or and maybe also the closed source code are the main dis-
chemical fuels may be added. advantages of CEASIOM. It is obvious that when the in-
Transmission and sensors have not been sufficiently stitution owns a Matlab license, the first disadvantage
solved in the free software. Some principles of transmis- becomes irrelevant; and consequently user can use this
sion and sensors can be found inside OpenEaagles and comprehensive software for conceptual and preliminary
FlightGear source codes; however, more development is design without major problems.
necessary in this area. The best candidates for these inno- CAD applications can also be used for conceptual de-
vations are, of course, OpenEaagles and FlightGear; nev- sign; for example, FreeCAD was presented as appropriate
ertheless also JSBSim and CEASIOM may be appropriate. software for this in [67]. Moreover, FreeCAD may convert
many file formats, such as STL, VRML, DXF, NASTRAN,
6.1 Evaluation, Compatibility and Conversion DAE, SVG and other formats; consequently, a 3D model
can be imported to many other programs, including
The software in Fig. 55 can be separated into the aerody- OpenVSP which may be advantageous to easy mesh
namic and mechanical part, and the modelling and generation.
simulation part. The diagram also shows the ways how SALOME has almost same advantages as FreeCAD; it
information can be exchanged between the software. In can import or export IGES, STEP, BREP, MED, UNV,

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

DAT, STL files. Consequently, exported files can be im- results because they are questionable and may not always
ported to CFD applications such as Code_Saturne or SU2. meet the specific requirements for the UAV (as described
In fact, the process of the conversion to SU2 is not direct; in the Sect. 5.1.1).
SALOME has to export the file to Gmsh, which exports the However, it is self-evident that a direct conversion to the
file to SU2. Nevertheless, a script was written to perform JSBSim model would be better. The direct conversion is
the direct conversion from SALOME to SU2 in [241]. implemented in Datcom? and Datcom2JSBSim applica-
Since the script may not be completed, the conversion via tions; however, it is necessary to define a new airframe
Gmsh or enGrid seems to be better. The same way for the specification of the UAV in Datcom format. Moreover, the
conversion to SU2 can be used also in other applications, output JSBSim model depends on Datcom results only.
such as OpenVSP and FreeCAD. Because JSBSim is the default FDM in FlightGear and
The MSH format (and other formats) may be used to OpenEaagles, there is no problem with the conversion.
import files to CFD applications (OpenFOAM, Code_Sa- However, the creation of other important files, such as the
turne, HiFiLES, and PyFR), where an aircraft can be ana- 3D model or electrical file, may be necessary. Neverthe-
lyzed by using quality methods and algorithms. Some other less, FlightGear can import 3D formats, such as VRML1
applications for aerodynamic analysis might also import and DXF, thus a simple exchange from, for example,
different types of formats, for example Apame may import FreeCAD or applications of PDAS should be possible.
NASTRAN format. Another interesting choice of the in- If we compare FlightGear and OpenEaagles: OpenEaa-
terconnection of the applications can be seen in the gles may be better used as a battle manager or for the de-
CAELinux distribution which is based on open-source velopment of a multi-agent cooperation and complex
CAD/CAM, CFD, FEA, and CAE software such as Free- cybernetic system of the UAV; in contrast, FlightGear is
cad, LibreCAD, PyCAM, Cura, Salome, Code_Saturne, more appropriate for the visualization of a UAV during flight
OpenFOAM, Code_Aster, and ParaView. and the examination of UAV flight control system. More-
The collection of PDAS (Sect. 5.5) has mostly possi- over, OpenEaagles is a framework with the possibility to
bility to interchange UAV’s information via LaWGS file simulate tanks, boats, lifeforms, etc. On the other hand,
format. If not, the internal formats of some applications can FlightGear is the complete application focused mainly (but
be converted via 2WGS to the LaWGS format. Moreover, not only) on aircraft and may use more FDMs to simulation.
LaWGS may be converted to VRML 1.0 via VRML World All the flight simulators contain FDM; however, only
program; thus it can be imported to FlightGear or some of them may be easily separated (at least partially)
FreeCAD. from the rest of the program. This is the reason why these
An example of the indirect connection can be seen in two categories have been divided in the diagram (Fig. 55).
calculators. The results from calculators may be used as an Because the development seems to be cyclical process,
input to OpenVSP, Larosterna, FreeCAD, JSBSim models, the results from simulation systems may be the reason for
and especially to propulsion applications. The calculators modification of the aerodynamic design of the UAV which is
mostly solve the problems in the area of engines, pro- being developed. However, after the successful design of the
pellers, power, batteries, and aerodynamics. UAV, the production drawings can be created with CAD
The section for the wing and airfoil analysis can be used tools, such as FreeCAD, to help with the physical realization
nearly separately from other parts of design. Nevertheless, of the UAV. In addition, the 3D model may also be usable for
results may be applied to conceptual and preliminary de- the physical realization; e.g. because of the 3D printing of a
sign; e.g. OpenVSP can read an airfoil file and thus change prototype or due to a more intelligible display.
the airfoil of a designed UAV.
The software for the analysis of propellers, rotors, and 6.2 Possible Future Improvements
fans can be used almost separately from other parts of
design. However, when we want to use, for example, The aerodynamic and mechanical part is the most variable
ducted fan, we must take into account its placement, and section in the free software. There are many of these ap-
thus, suitably change the physical design of the UAV. In plications which are being developed, and as a result, new
addition, data from these applications may be manually programs in this field may signify the wastage of resources.
inserted to, for instance, JSBSim. On the other hand, the support and extension of these al-
Since JSBSim is based predominantly on aerodynamic ready developing applications should be the proper way.
and control derivatives, the conversion to the JSBSim The main lack seems to be the exchange formats of the
model should be simple. The elemental structure of the free software system. Although the direct conversion paths
JSBSim model may be created with Aeromatic. Then, the between applications exist, some of them may not be op-
particular generated values should be changed to correct timal. As a result, the development of new import/export
values. It is always important to check the Aeromatic formats might be the key to creation of the complex system

123
T. Vogeltanz

with the variable possibilities of use. For example, a direct may also be usable. However, another computational en-
conversion between internal parametric formats of vironment or programming language, than that which was
OpenVSP and Larosterna together with a direct conversion used for Orni (for instance, C??, Python, Scilab/Xcos,
of aerodynamic characteristic to JSBSim model may be Octave, etc.) should be used for Orni Flight Dynamics
usable. Moreover, import/export formats can reduce the Model because the original computational environment is
time of the development of a UAV in future. not appropriate for FDM development for free use.
In CAD or conceptual-design programs, the automatic The rewriting of ROTOR program to a more convenient
generation of production drawings from 3D model with all programming language (such as C?? or Python) would
necessary views, spot heights and UAV proportions might enable to create the extensive options for the modelling of
simplify the process of the following manufacture. Free- a rotorcraft. Moreover, a rotorcraft-based FDM may be
CAD seems to be the best option for this purpose because it developed on basis of ROTOR.
contains the module to create the 2D production drawings
which can be easily extended.
In modelling and simulation part, there are more things 7 Conclusion
which need additional programming for efficiently
simulation of UAVs. For instance, in JSBSim and Flight- This paper has described the most interesting free software
Gear, the situation about electric engines, electric sources, for the design, analysis, modelling, and simulation of a
and electronic circuits should be improved; for example, UAV. Although the selection of the free software has been
these applications might simulate the engine temperature, focused on small (mini) subsonic UAVs, the software can
accumulators, solar cells, fuel cells, methanol and hydro- be used for other categories of aircraft in some cases; e.g.
gen energy sources, differences between AC and DC for MAVs, large gliders, transonic airplanes, etc. The
engines, etc. fundamentals of airplane flight mechanics and aerody-
A LQR- or Artificial Intelligence-based control system namics, the general structure of a UAV, and the basics of
should be implemented into flight control system of the modelling and simulation of a UAV have also been
JSBSim, FlightGear, or OpenEaagles. In addition, an op- presented.
timal control setting could be calculated with solving the The design, analysis, modelling and simulation are
LQG (Linear-Quadratic-Gaussian) problem or with using probably the first steps in development of a UAV. This
an evolution algorithm. However, LQR-based flight control approach is advantageous because a computer model al-
system is included in SDSA application; thus, this type of lows better repeatability in testing. Consequently, it re-
control can also be simulated. duces the probability that the UAV and especially the
Furthermore, tests of new algorithms intended for in- autopilot will be designed and implemented incorrectly
telligent UAVs which should detect living beings (target which could result in the UAV crash in the real world; and
tracking), possible collisions, and perform reconnaissance every crash can increase the distrust of UAVs and of their
might be implemented into FlightGear and OpenEaagles. commercial using, especially in cities.
There is also the basis to program the physical principles of It has been explained that FDM and Flight Simulators
various radio communications which can be applied to the are used in the development process of a UAV for the
investigation of radio communication failure and to the testing of its design and control systems. The combination
testing of the UAV behavior when the failure occurs. The of JSBSim Flight Dynamic Model and FlightGear Flight
simulation of an interface for the command adjustment Simulator provide an excellent base for building the
from control ground station to the UAV may be another simulation environment. However, because the aerody-
interesting improvement. namic coefficients and other parameters are not generally
OpenEaagles and FlightGear are probably the best provided by FDM, a large number of the programs for the
candidates for the simulation of the sensors and cameras. In UAV aerodynamic and mechanical analysis have been
this case, appropriate sources (e.g. chemical substances) for described in detail in this paper. Despite the many con-
sensor activation should also be programmed. This func- nections between applications have been presented in the
tionality might be added by using an external library. Sect. 6.1, there may be found other possible connections.
However, the integration of OpenEaagles framework into The CFD programs (such as SU2, OpenFOAM,
FlightGear seems to be an interesting option; these two Code_Saturne, HiFiLES, and PyFR) have the prominent
applications may be used, for example, for the investiga- position in the aerodynamic analysis nowadays. Moreover,
tion of multi-agent cooperation. HiFiLES and PyFR represent the high-order methods
Other software, such as Orni tools might be a suitable which should be very flexible and accurate; however, fur-
basis for the flight dynamics model of ornithopters. The ther development of these applications may be necessary.
theory described in Flapping Flight Simulation Package Finite Element Method (FEM) software, e.g. Calculix,

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

might also be used in an analysis process. Nevertheless, 10. Kurnaz S, Cetin O, Kaynak O (2010) Adaptive neuro-fuzzy
these methods are focused more on the structural analysis inference system based autonomous flight control of unmanned
air vehicles. Expert Syst Appl 37(2):1229–1234
than the aerodynamic analysis. 11. Fabiani P, Fuertes V, Piquereau A, Mampey R, Teichteil-
We can agree with the statement in [138] that the Königsbuch F (2007) Autonomous flight and navigation of
parametric design systems, such as OpenVSP or Laroster- VTOL UAVs: from autonomy demonstrations to out-of-sight
na, are excellent tools for a rapid prototyping technique in flights. Aerosp Sci Technol 11(2–3):183–193
12. Kumar V, Yong H, Min D, Choi E (2010) Auto landing control
aeronautics. for small scale unmanned helicopter with flight gear and HILS.
The free software for the design, analysis, modelling, In: Proceeding of the 5th international conference on computer
and simulation of the fixed-wing configuration is extensive. sciences and convergence information technology, ICCIT 2010,
There is not such a wide selection for the rotary-wing Seoul, Korea, November 30–December 2, 2010, pp 676–681
13. Gol G, Bayraktar NF, Kiyak E (2014) PID controlling of the
configuration; however, the selection should be satisfac- quadrotor and sensor performance tests. Int J Circuits Syst
tory. The creation of a hybrid UAV should also be possible, Signal Proces 8:266–275
at worst in a limited degree. On the other hand, the number 14. Ye J, Guo H, Tang S, Wang Q (2012) The research on visual
of the free software for the flapping-wing and especially for flight simulation for unmanned helicopter. In: Communications
in computer and information science, vol 325, CCIS,
the lighter-than-air configuration may not be sufficient. pp 332–341
The future of any UAV system is open to a wide range 15. Babka DW (2011) Flight testing in a simulation based envi-
of research topics: collision avoidance, autonomous for- ronment. California Polytechnic University, San Luis Obispo,
mation flight, navigation without the use of GPS, the au- California, USA [Online]. http://digitalcommons.calpoly.edu/
cgi/viewcontent.cgi?article=1045&context=aerosp
tomatic detection of a potential criminal, and other research 16. Foster TM (2005) Dynamic stability and handling qualities of
topics. small unmanned-aerial-vehicles. Brigham Young University,
Brigham, p 125
Acknowledgments This work was supported by the Internal Grant 17. Austin R (2010) Unmanned aircraft systems: UAVs design,
Agency of Tomas Bata University in Zlı́n under the projects No. IGA/ development and deployment. Wiley, Wiltshire, p 332
FAI/2015/001 and IGA/FAI/2014/006. 18. Shankar P, Chung W, Husman J, Wells V (2013) A novel
software framework for teaching aircraft dynamics and control.
Comput Appl Eng Educ. doi:10.1002/cae.21579
19. Uragun B (2011) Energy efficiency for unmanned aerial vehi-
cles. In: 2011 10th international conference on machine learning
References and applications, Honolulu, Hawaii, USA, 18–21 December
2011. doi:10.1109/ICMLA.2011.159
1. Vogeltanz T, Jašek R (2014) Free software for the modelling 20. Hahn AS (2010) Vehicle sketch pad: a parametric geometry
and simulation of a mini-UAV. In: Mathematics and computers modeler for conceptual aircraft design. In: 48th AIAA aerospace
in science and industry, Varna, Bulgaria, 13–15 September sciences meeting including the new horizons forum and aero-
2014, pp 210–215 space exposition, Orlando, Florida, USA, 4–7 January 2010
2. Chen XQ, Chen YQ, Chase JG (2009) Mobile robots—state of 21. Belben JB, McDonaldy RA (2013) Enabling rapid conceptual
the art in land, sea, air, and collaborative missions. In-Tech, design using geometry-based multi-fidelity models in VSP. In:
Croatia, pp 177–201 51st AIAA aerospace sciences meeting including the new
3. Jodeh NM (2006) Development of autonomous unmanned aerial horizons forum and aerospace exposition, grapevine (Dallas/Ft.
vehicle research platform: modeling, simulating, and flight Worth Region), Texas, USA, 7–10 January 2013
testing. Wright-Patterson Air Force Base, Dayton 22. DG Hull (2007) Fundamentals of airplane flight mechanics.
4. Abdunabi T (2006) Modelling and autonomous flight simulation Springer, Berlin
of a small unmanned aerial vehicle. The University of Sheffield, 23. Chelaru TV, Pana V, Chelaru A (2009) Dynamics and flight
Sheffield control of the UAV formations. WSEAS Trans Syst Control
5. Petricca L, Ohlckers P, Grinde C (2011) Micro- and nano-air 4(4):198–210
vehicles: state of the art. Int J Aerosp Eng. doi:10.1155/2011/ 24. Mazhar F, Khan AM, Chaudhry IA, Ahsan M (2013) On using
214549 neural networks in UAV structural design for CFD data fitting
6. Mueller TJ, DeLaurier JD (2003) Aerodynamics of small vehi- and classification. Aerosp Sci Technol 30(1):210–225
cles. Annu Rev Fluid Mech 35(1):89–111. doi:10.1146/annurev. 25. Lissaman PBS (1983) Low-reynolds-number airfoils. Annu Rev
fluid.35.101101.161102 Fluid Mech 15(1):223–239. doi:10.1146/annurev.fl.15.010183.
7. Swarup A, Sudhir (2014) Comparison of quadrotor performance 001255
using backstepping and sliding mode control. In: Proceedings of 26. Boussalis H, Valavanis K, Guillaume D, Pena F, Diaz EU, Al-
the 2014 international conference on circuits, systems and varenga J (2013) Control of a simulated wing structure with
control, Interlaken, Switzerland, 22–24 February 2014, multiple segmented control surfaces. In: 21st Mediterranean
pp 79–82 conference on control and automation (Med), pp 501–506
8. Yun C, Li X (2013) Design of UAV flight simulation software 27. Reynolds number calculator [Online]. http://airfoiltools.com/
based on simulation training method. WSEAS Trans Inf Sci calculator/reynoldsnumber. Accessed 12 Dec 2014
Appl 10(2):37–46 28. Pederson DJ (2011) Conceptual design tool to analyze electro-
9. Naidoo Y, Stopforth R, Bright G (2011) Development of an chemically-powered micro air vehicles. Wright-Patterson Air
UAV for search and rescue applications: mechatronic integra- Force Base, Dayton, p 193
tion for a quadrotor helicopter. In: IEEE Africon 2011, Liv- 29. U.S. Department of Transportation (2000) Rotorcraft flying
ingstone, Zambia, 13–15 September 2011 handbook [Online]. U.S. Department of Transportation, Federal

123
T. Vogeltanz

Aviation Administration, Flight Standards Service, FAA-H- 48. Qi J, Liu J, Zhao B, Mei S, Han J, Shang H (2014) Visual
8083-21, Washington, D.C., USA. http://www.faa.gov/regula simulation system design of soft-wing UAV based on Flight-
tions_policies/handbooks_manuals/aircraft/media/faa-h-8083- Gear. In: IEEE international conference on mechatronics and
21.pdf automation, IEEE ICMA 2014, Tianjin, China, 2–5 August
30. U.S. Department of Transportation (2012) Helicopter flying 2014, pp 1188–1192
handbook [Online]. U.S. Department of Transportation, Federal 49. Basler M, Spott M, Buchanan S, Berndt J et al (2014) The
Aviation Administration, Flight Standards Service, FAA-H- FlightGear manual [Online]. http://mapserver.flightgear.org/get
8083-21A, USA. http://www.faa.gov/regulations_policies/hand start.pdf
books_manuals/aviation/helicopter_flying_handbook/media/heli 50. Zhang J, Geng Q, Fei Q (2012) UAV flight control system
copter_flying_handbook.pdf modeling and simulation based on flightgear. In: IET conference
31. Jing D, Haifeng W (2013) System health management for un- publications, Xiamen, China, 3–5 March 2012
manned aerial vehicle: conception, state-of-art, framework and 51. FlightGear Contributors (2014) FlightGear Wiki—UIUC [On-
challenge. In: The 11th IEEE international conference on elec- line]. http://wiki.flightgear.org/UIUC
tronic measurement and instruments, Harbin, China, 16–18 52. Selig MS, Deters R, Dimock G (2002) Aircraft dynamics models
August 2013 for use with FlightGear: modeling and simulation [Online].
32. Cetin O, Kurnaz S, Kaynak O (2011) Fuzzy logic based ap- http://m-selig.ae.illinois.edu/apasim/Aircraft-uiuc.html
proach to design of autonomous landing system for unmanned 53. 3DRobotics (2014) HIL quad simulator [Online]. http://copter.
aerial vehicles. J Intell Robot Syst Theory Appl ardupilot.com/wiki/hil-quad/
61(1–4):239–250 54. Hodson D (2014) OpenEaagles simulation framework [Online].
33. Perhinschi MG, Napolitano MR, Tamayo S (2010) Integrated http://www.openeaagles.org
simulation environment for unmanned autonomous systems— 55. Hodson D (2012) OpenEaagles simulation framework: overview
towards a conceptual framework. Model Simul Eng. doi:10. [Online]. http://www.openeaagles.org/wiki/doku.php?id=over
1155/2010/736201 view:overview
34. Gonzalez-Espasandin O, Leo TJ, Navarro-Arevalo E (2014) 56. Hodson D, Gehl D, Baldwin R (2006) Building distributed
Fuel cells: a real option for unmanned aerial vehicles propulsion. simulations utilizing the EAAGLES framework. In: Interser-
Sci World J. doi:10.1155/2014/497642 vice/industry training, simulation, and education conference (I/
35. Kahale E, Garcia PC, Bestaoui Y (2013) Autonomous path ITSEC), vol 5, no. 2
tracking of a kinematic airship in presence of unknown gust. 57. Hodson D (2008) OPENEAAGLES, an open source simulation
J Intell Robot Syst 69(1–4):431–446. doi:10.1007/s10846-012- framework. In: A publication of the AIAA Modeling and
9709-2 Simulation Technical Committee, vol 1, no 1
36. Syamlal M, O’Brien TJ, Benyahia S, Gel A, Pannala S (2008) 58. Carter P (2014) SOFTWARE [Online]. http://www.esotec.org/
Open-source software in computational research: a case study. sw/swhome.html
Model Simul Eng. doi:10.1155/2008/937542 59. Drela M (2014) Index of/drela/Public/web [Online]. http://web.
37. Oberkampf WL, Trucano TG (2002) Verification and validation mit.edu/drela/Public/web/
in computational fluid dynamics. Sandia Report SAND2002- 60. Drela M (2010) TASOPT 2.00: transport aircraft system opti-
0529, Sandia National Laboratories, Albuquerque, NM, USA mization—technical description [Online]. http://web.mit.edu/
38. Srikanth MB, Dydek ZT, Annaswamy AM, Lavretsky E (2009) drela/Public/web/tasopt/TASOPT_doc.pdf
A robust environment for simulation and testing of adaptive 61. Turan M (2009) Tools for the conceptual design and engineering
control for mini-UAVs. In: 2009 American control conference, analysis of micro air vehicles. Wright-Patterson Air Force Base,
St. Louis, MO, USA, 10–12 June 2009 Dayton, p 156
39. JSBSim Contributors. JSBSim open source flight dynamics 62. Drela M, Youngren H (2014) AVL overview [Online]. http://
model [Online]. http://jsbsim.sourceforge.net/ web.mit.edu/drela/Public/web/avl/
40. JSBSim Contributors (2005) Aeromatic: version 0.9 [Online]. 63. Drela M, Youngren H (2010) AVL 3.30 user primer [Online].
http://jsbsim.sourceforge.net/aeromatic2.html http://web.mit.edu/drela/Public/web/avl/avl_doc.txt
41. FlightGear Contributors. FlightGear flight simulator: introduc- 64. Drela M (2013) XFOIL: subsonic airfoil development system
tion [Online]. http://www.flightgear.org/about/ [Online]. http://web.mit.edu/drela/Public/web/xfoil/
42. Berndt JS (2004) JSBSim: An open source flight dynamics 65. Lafountain C, Cohen K, Abdallah S (2012) Use of XFOIL in
model in C ??. In: Collection of technical papers—AIAA design of camber-controlled morphing UAVs. Comput Appl
modeling and simulation technologies conference, vol 1, Eng Educ 20(4):673–680. doi:10.1002/cae.20437
pp 261–287 66. Drela M (2001) XFOIL 6.9 user primer [Online]. http://web.mit.
43. Berndt JS, De Marco A (2009) Progress on and usage of the edu/drela/Public/web/xfoil/xfoil_doc.txt
open source flight dynamics model software library, JSBSim. In: 67. Silva NA (2014) Parametric design, aerodynamic analysis and
AIAA modeling and simulation technologies conference, Chi- parametric optimization of a solar UAV. Instituto Superior
cago, Illinois, USA, 10–12 August 2009 Técnico, Lisboa, p 10
44. Lim SK, Hao CC (2012) Modeling unmanned vehicle system 68. Wald QR (2006) The aerodynamics of propellers. Prog Aerosp
[Online]. https://engineering.purdue.edu/HSL/uploads/papers/ Sci 42(2):85–128
UVG_S10.pdf 69. Drela M (2007) QPROP: propeller/windmill analysis and design
45. Berndt JS, the JSBSim Development Team. (2011) JSBSim: an [Online]. http://web.mit.edu/drela/Public/web/qprop/
open source, platform-independent, flight dynamics model in 70. Drela M (2006) QPROP formulation [Online]. http://web.mit.
C?? [Online]. http://jsbsim.sourceforge.net/JSBSimRefer edu/drela/Public/web/qprop/qprop_theory.pdf
enceManual.pdf 71. Betz A (1919) Airscrews with minimum energy loss. Report,
46. Gidenstam A (2013) Lighter-than-air support for airship and Kaiser Wilhelm Institute for Flow Research
balloon simulation in JSBSim and FlightGear [Online]. http:// 72. Goldstein S (1929) On the vortex theory of screw propellers. In:
www.gidenstam.org/FlightGear/Airships/ Proceedings of the royal society, vol 123, 1929
47. FlightGear Contributors. FlightGear flight simulator: features 73. Theodorsen T (1948) Theory of propellers. McGraw-Hill, New
[Online]. http://www.flightgear.org/about/features/ York

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

74. Larrabee EE, French SE (1983) Minimum induced loss wind- 102. Carmichael R (2013) V/STOL aircraft sizing and performance
mills and propellers. J Wind Eng Ind Aerodyn 15(1–3):317–327. (VASCOMP II) [Online]. http://www.pdas.com/vascomp.html
doi:10.1016/0167-6105(83)90201-5 103. Carmichael R (2013) PROFILE—the Eppler airfoil code [On-
75. Drela M (2007) QPROP user guide [Online]. http://web.mit.edu/ line]. http://www.pdas.com/eppler.html
drela/Public/web/qprop/qprop_doc.txt 104. Eppler R, Somers DM (1980) A computer program for the de-
76. Drela M (2005) QMIL user guide [Online]. http://web.mit.edu/ sign and analysis of low-speed airfoils. NASA technical
drela/Public/web/qprop/qmil_doc.txt memorandum 80210
77. Drela M, Youngren H (2011) XROTOR download page [On- 105. Carmichael R (2013) Minimum drag camber surface by vortex
line]. http://web.mit.edu/drela/Public/web/xrotor/ lattice [Online]. http://www.pdas.com/vlmd.html
78. Drela M, Youngren H (2003) XROTOR user guide [Online]. 106. Carmichael R (2013) Induced drag from span load distribution
http://web.mit.edu/drela/Public/web/xrotor/xrotor_doc.txt [Online]. http://www.pdas.com/induced.html
79. Thipyopas C, Kaewsutthi S, Tohwae-A-Yee A (2013) High 107. Lundry JL (1977) Calculation of lift and induced drag from
performance propeller system for a multi-mission micro aerial sparse span loading data. J Aircr 14(3):309–311
vehicle. Int J Micro Air Veh 5(3):179–191 108. Carmichael R (2013) Modified strip analysis method for pre-
80. Carter P (2014) CROTOR: XROTOR on steroids [Online]. dicting wing flutter at subsonic to hypersonic speeds [Online].
http://www.esotec.org/sw/crotor.html http://www.pdas.com/flutter.html
81. Carter P (2011) SUBROUTINE CROTOR user guide [Online]. 109. Carmichael R (2013) Mean aerodynamic chord of a wing [On-
http://www.esotec.org/sw/dl/CRotor_doc.txt line]. http://www.pdas.com/getmac.html
82. Carter P (2014) ESPROP [Online]. http://www.esotec.org/sw/ 110. Carmichael R (2010) Example 4—wing similar to B-2—page 1
esprop.html [Online]. http://www.pdas.com/macex13.html
83. Carter P (2014) SUBROUTINE ESLOFTX user guide [Online]. 111. Carmichael R (2010) Example 4—wing similar to B-2—page 2
http://www.esotec.org/sw/dl/Esloftx_doc.txt [Online]. Available: http://www.pdas.com/macex14.html
84. Youngren H, Drela M (2005) DFDC 0.70 user primer [Online]. 112. Carmichael R (2010) Example 4—wing similar to B-2—page 3
http://web.mit.edu/drela/Public/web/dfdc/DFDC_v0.70.zip [Online]. http://www.pdas.com/macex15.html
85. Youngren H, Drela M, Sanders S (2005) DFDC summary 113. Carmichael R (2013) NACA airfoil coordinates [Online]. http://
[Online]. http://web.mit.edu/drela/Public/web/dfdc/ www.pdas.com/naca456.html
86. Carter P (2014) DFDC: Ducted Fan Design Code—a diamond in 114. Carmichael RL (2001) Algorithm for calculating coordinates of
the rough [Online]. http://www.esotec.org/sw/DFDC.html cambered Naca airfoils at specified chord locations. In: 1st
87. Gao X-Z, Hou Z-X, Guo Z, Fan R-F, Chen X-Q (2014) Analysis AIAA, aircraft, technology integration, and operations forum
and design of guidance-strategy for dynamic soaring with 115. Carmichael R (2010) Computation of NACA airfoil coordinates
UAVs. Control Eng Pract 32:218–226 [Online]. http://www.pdas.com/naca456pdas.html
88. Drela M (2008) DSOPT: dynamic soaring simulation and opti- 116. Airfoil tools [Online]. http://airfoiltools.com/. Accessed 12 Dec
mization program [Online]. http://web.mit.edu/drela/Public/ 2014
web/dsopt/summary.txt 117. Carmichael R (2013) Mass properties of a rigid structure [On-
89. Carmichael R (2013) Public Domain Aeronautical Software line]. http://www.pdas.com/massprop.html
[Online]. http://www.pdas.com 118. Hull RA, Gilbert JL, Klich PJ (1978) Computer program for
90. Carmichael R (2013) Public Domain Aeronautical Software: determining mass properties of a rigid structure. NASA tech-
contents [Online]. http://www.pdas.com/contents15.html nical memorandum 78681
91. Carmichael R (2014) Properties of The U.S. standard atmo- 119. Carmichael R (2013) PANAIR: predicting subsonic or super-
sphere 1976 [Online]. http://www.pdas.com/atmos.html sonic linear potential flows about arbitrary configurations using
92. Carmichael R (2013) Real gas properties [Online]. http://www. a higher order panel method [Online]. http://www.pdas.com/
pdas.com/gasp.html panair.html
93. Carmichael R (2013) Thermodynamic and transport properties 120. Saaris GR (1992) A502I user’s manual-PAN AIR technology
of fluids [Online]. http://www.pdas.com/fluid.html program for solving problems of potential flow about arbitrary
94. Carmichael R (2013) vuCalc—a compressible flow calculator configurations. Cage Code 81205, Document no. D6-54703, Boing
[Online]. http://www.pdas.com/vucalc.html 121. Derbyshire T, Sidwell KW (1982) PAN AIR summary docu-
95. Carmichael R (2013) Turbulent skin friction by the reference ment (version 1.0). NASA contractor report 3250
temperature method of Sommer and Short [Online]. http://www. 122. Carmichael R (2013) Input pre-processor for PanAir [Online].
pdas.com/turbsf.html http://www.pdas.com/panin.html
96. Kroo I, Alonso J (2014) Skin friction and roughness drag [On- 123. Carmichael R (2013) Description of digital Datcom [Online].
line]. http://adg.stanford.edu/aa241/drag/skinfriction.html. Ac- http://www.pdas.com/datcomDescription.html
cessed 16 Dec 2014 124. DATCOM-GUI contributors (2011) datcom-gui: development
97. Carmichael R (2013) A segmented mission analysis program for of a GUI for the DATCOM program [Online]. http://code.goo
low and high speed aircraft (NSEG) [Online]. http://www.pdas. gle.com/p/datcom-gui/
com/nseg.html 125. Carmichael R (2013) Digital Datcom [Online]. http://www.pdas.
98. Carmichael R (2013) Conical relaxation program for supersonic com/datcom.html
wing design and analysis (COREL) [Online]. http://www.pdas. 126. Williams JE, Vukelich SR (1979) The USAF stability and
com/corel.html control digital Datcom: volume I, users manual. USAF technical
99. Carmichael R (2013) W12SC3: supersonic wing design and report AFFDL-TR-79-3032
analysis [Online]. http://www.pdas.com/w12sc3.html 127. Carmichael R (2013) Program modules of digital Datcom
100. Carmichael R (2013) Two-dimensional grids about airfoils and [Online]. http://www.pdas.com/datcomc.html
other shapes by the use of Poisson’s equation (GRAPE) [On- 128. Carmichael R (2013) Addressable configurations in digital
line]. http://www.pdas.com/grape.html Datcom [Online]. http://www.pdas.com/datcomTable1.html
101. Carmichael R (2013) NASA-AMES WingBody panel code 129. Holy Cows, Inc. (2014) Datcom by Holy Cows, Inc. [Online].
[Online]. http://www.pdas.com/wingbody.html http://www.holycows.net/datcom/. Accessed 24 Nov 2014

123
T. Vogeltanz

130. Carmichael R (2013) Aeroelastic analysis for rotorcraft in flight 155. EDF R&D (2014) Code_Saturne coupling [Online]. http://code-
or in a wind tunnel (ROTOR) [Online]. http://www.pdas.com/ saturne.org/cms/features/modules/coupling
rotor.html 156. HiFiLES Developers (2014) HiFiLES: high fidelity large eddy
131. Carmichael R (2013) MakeWgs [Online]. http://www.pdas.com/ simulation [Online]. https://hifiles.stanford.edu/
makewgs.html 157. Witherden FD, Farrington AM, Vincent PE (2014) PyFR: an
132. Carmichael R (2013) Three view program [Online]. http://www. open source framework for solving advection-diffusion type
pdas.com/3view.html problems on streaming architectures using the flux reconstruc-
133. Gnuplot Contributors (2014) gnuplot homepage [Online]. http:// tion approach. Comput Phys Commun 185(11):3028–3040
www.gnuplot.info/. Accessed 12 Dec 2014 158. López-Morales M, Bull J, Crabill J, Economon TD, Manosalvas
134. Carmichael R (2013) Hidden line program [Online]. http://www. DE, Romero J, Sheshadri A, Watkins JE, Williams D, Palacios
pdas.com/hlp.html F, Jameson A (2014) Verification and validation of HiFiLES: A
135. Carmichael R (2013) Conversion to LaWGS [Online]. http:// high-order LES unstructured solver on multi-GPU platforms. In:
www.pdas.com/2wgs.html 32nd AIAA applied aerodynamics conference, Atlanta, Georgia,
136. Carmichael R (2013) VRML World [Online]. http://www.pdas. USA, 16–20 June 2014
com/wgs2wrl.html 159. Vincent Lab (2015) PyFR: home [Online]. http://www.pyfr.org/
137. Kuzmin D (2014) Introduction to computational fluid dynamics 160. Vincent P (2014) PyFR: a GPU-accelerated next-generation com-
[Online]. http://www.mathematik.uni-dortmund.de/*kuzmin/ putational fluid dynamics python framework [Online]. http://www.
cfdintro/lecture1.pdf. Accessed 19 Dec 2014 techenablement.com/pyfr-a-gpu-accelerated-next-generation-com
138. Byrne J, Cardiff P, Brabazon A, O’Neill M (2014) Evolving putational-fluid-dynamics-python-framework/
parametric aircraft models for design exploration and optimi- 161. de Weck O (2005) Computer aided design (CAD) [Online].
sation. Neurocomputing 142:39–47 http://ocw.mit.edu/courses/aeronautics-and-astronautics/16-810-
139. Economon (TD) (2014) SU2: the open-source CFD code [On- engineering-design-and-rapid-prototyping-january-iap-2005/lec
line]. https://github.com/su2code/SU2/wiki ture-notes/l4.pdf
140. Palacios F, Colonno MR, Aranake AC, Campos A, Copeland 162. FreeCAD Contributors (2014) About FreeCAD [Online]. http://
SR, Economon TD, Lonkar AK, Lukaczyk TW, Taylor TWR, www.freecadweb.org/wiki/index.php?title=About_FreeCAD
Alonso JJ (2013) Stanford University Unstructured (SU2): an 163. FreeCAD Contributors (2014) Getting started [Online]. http://
open-source integrated computational environment for multi- www.freecadweb.org/wiki/index.php?title=Getting_started
physics simulation and design. In: 51st AIAA aerospace sci- 164. Kim JW, Kang K-K, Lee JH (2014) Template-based traditional
ences meeting including the new horizons forum and aerospace building component modelling. In: International Conference on
exposition, grapevine (Dallas/Ft. Worth Region), Texas, USA, Advanced Communication Technology, ICACT, Pyeongchang,
7–10 January 2013 Korea (South), 16–19 February 2014, pp 653–656
141. Economon TD (2014) Quick start [Online]. https://github.com/ 165. FreeCAD Contributors (2014) Feature list [Online]. http://www.
su2code/SU2/wiki/Quick-Start freecadweb.org/wiki/index.php?title=Feature_list
142. Economon TD (2014) Optimal shape design of a rotating airfoil 166. FreeCAD Contributors (2013) Aeroplane [Online]. http://www.
[Online]. https://github.com/su2code/SU2/wiki/Optimal-Shape- freecadweb.org/wiki/index.php?title=Aeroplane
Design-of-a-Rotating-Airfoil 167. SALOME Contributors (2015) SALOME [Online]. http://www.
143. Bijl H (2014) Flow around flapping wings with Open FOAM at salome-platform.org/. Accessed 5 Jan 2015
aerodynamics. TU Delft [Online]. http://www.tudelft.nl/fileadmin/ 168. SALOME Contributors (2015) About SALOME [Online]. http://
UD/MenC/Support/Internet/TU_Website/TU_Delft_portal/Onder www.salome-platform.org/user-section/about. Accessed 5 Jan
zoek/Kenniscentra/Delft_Research_Centres/Computational_Science/ 2015
Events/Seminars/previous/doc/Hester_1.pdf. Accessed 22 Dec 2014 169. BRL-CAD Contributors (2014) About BRL-CAD [Online].
144. OpenFOAM Foundation (2014) Features of OpenFOAM [On- http://brlcad.org/d/about. Accessed 22 Dec 2014
line]. http://www.openfoam.org/features/ 170. BRL-CAD Contributors (2014) Overview [Online]. http://
145. Glabeke G (2011) The influence of wind turbine induced tur- brlcad.org/wiki/Overview. Accessed 22 Dec 2014
bulence on ultralight aircraft, a CFD analysis. Katholieke Ho- 171. Keyser J, Culver T, Foskey M, Krishnan S, Manocha D (2004)
geschool VIVES, Oostende, p 99 ESOLID—a system for exact boundary evaluation. CAD
146. OpenFOAM Foundation (2014) Standard solvers [Online]. Comput Aided Des 36(2):175–193
http://www.openfoam.org/features/standard-solvers.php 172. Konokman HE, Kayran A, Kaya M (2014) Analysis of aircraft
147. OpenFOAM Foundation (2014) ODE system solvers [Online]. survivability against fragmenting warhead threat. In: 55th
http://www.openfoam.org/features/ODE-solvers.php AIAA/ASMe/ASCE/AHS/SC structures, structural dynamics,
148. OpenFOAM Foundation (2014) Numerical method [Online]. and materials conference, National Harbor, Maryland, USA,
http://www.openfoam.org/features/numerical-method.php 13–17 January 2014
149. OpenFOAM Foundation (2014) Dynamic meshes [Online]. 173. QCAD Contributors (2014) QCAD—2D CAD for Windows,
http://www.openfoam.org/features/mesh-motion.php Linux and Mac [Online]. http://www.qcad.org/en/
150. EDF R&D (2014) Description of Code_Saturne [Online]. http:// 174. QCAD Contributors (2014) QCAD features [Online]. http://
code-saturne.org/cms/features www.qcad.org/en/qcad-documentation/qcad-features
151. EDF R&D (2014) Code Saturne documentation: Code Saturne 175. QCAD Contributors (2014) The QCAD 3 scripting interface
version 3.3.0 practical user’s guide [Online]. http://code-saturne. [Online]. http://www.qcad.org/en/qcad-documentation/qcad-
org/cms/sites/default/files/docs/3.3/user.pdf scripting
152. Fournier Y, Bonelle J, Moulinec C, Shang Z, Sunderland AG, 176. OpenVSP Contributors (2012) OpenVSP [Online]. https://
Uribe JC (2011) Optimizing Code_Saturne computations on github.com/nasa/OpenVSP
Petascale systems. Comput Fluids 45(1):103–108 177. Böhnke D, Nagel B, Zhang M, Rizzi A (2013) Towards a col-
153. EDF R&D (2014) Numerical method [Online]. http://code- laborative and integrated set of open tools for aircraft design. In:
saturne.org/cms/features/numerics 51st AIAA aerospace sciences meeting including the new
154. EDF R&D (2014) Mesh flexibility [Online]. http://code-saturne. horizons forum and aerospace exposition, grapevine (Dallas/Ft.
org/cms/features/mesh Worth Region), Texas, USA, 7–10 January 2013

123
A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned…

178. Gloudemans JR, McDonald R (2010) Improved geometry 203. Goppert J (2012) OpenFDM: an open source flight dynamics
modeling for high fidelity parametric design. In: 48th AIAA library for Modelica [Online]. https://github.com/arktools/
aerospace sciences meeting including the new horizons forum openfdm
and aerospace exposition, Orlando, Florida, USA, 4–7 January 204. Parslew B (2012) Flapping flight simulation v1.1: user manual
2010 [Online]. http://www.flappingwings.co.uk/main/wp-content/
179. OpenVSP Contributors (2014) OpenVSP [Online]. http:// uploads/2012/06/FlappingFlightSimulationManualV1.1.pdf
openvsp.org/ 205. Parslew B (2014) Downloads [Online]. http://www.flappingw
180. OpenVSP Contributors (2014) VSP Hangar [Online]. http:// ings.co.uk/main/downloads. Accessed 27 Dec 2014
hangar.openvsp.org/ 206. Parslew B (2014) Gallery [Online]. http://www.flappingwings.
181. Hepperle M (2007) JavaFoil—analysis of airfoils [Online]. co.uk/main/gallery. Accessed 27 Dec 2014
http://www.mh-aerotools.de/airfoils/javafoil.htm 207. Parslew B (2012) Simulating avian wingbeats and wakes. The
182. Hepperle M (2006) The boundary layer method [Online]. http:// University of Manchester, the Faculty of Engineering and
www.mh-aerotools.de/airfoils/jf_analysis_boundarylayer.htm Physical Sciences, Manchester
183. Hepperle M (2008) Users manual [Online]. http://www.mh- 208. CEASIOM Contributors (2014) CEASIOM: computerised en-
aerotools.de/airfoils/jf_users_manual.htm vironment for aircraft synthesis and integrated optimisation
184. Adkins CN, Liebeck RH (1994) Design of optimum propellers. methods [Online]. http://www.ceasiom.com/index.php
J Propuls Power 10(5):676–682 209. CEASIOM Contributors (2014) CEASIOM modules [Online].
185. Hepperle M (2003) JavaProp—design and analysis of propellers http://www.ceasiom.com/ceasiom-modules.html
[Online]. http://www.mh-aerotools.de/airfoils/javaprop.htm 210. CEASIOM Contributors (2014) CEASIOM NEWSLETTER
186. Hepperle M (2003) Design of a propeller [Online]. http://www. [Online]. http://www.ceasiom.com/newsletter.html
mh-aerotools.de/airfoils/jp_propeller_design.htm 211. Chronister N (2014) FlapDesign—how to use [Online]. http://
187. Hepperle M (2006) Analysis of a propeller [Online]. http:// www.ornithopter.org/flapdesign.info.shtml. Accessed 29 Dec
www.mh-aerotools.de/airfoils/jp_propeller_analysis.htm 2014
188. Hepperle M (2008) A validation exercise [Online]. http://www. 212. Räbiger H (2014) Calculation tools for ornithopter models
mh-aerotools.de/airfoils/jp_validation.htm [Online]. http://www.ornithopter.de/english/calculation.htm.
189. Hepperle M (2008) Users manual [Online]. http://www.mh- Accessed 29 Dec 2014
aerotools.de/airfoils/jp_users_manual.htm 213. Carri J WebOCalc FAQ [Online]. http://flbeagle.rchomepage.
190. Eller D (2015) Larosterna: about [Online]. http://www.lar com/software/webocalc.html. Accessed 4 Dec 2014
osterna.com/index.html. Accessed 6 Jan 2015 214. Carri J (2014) PowerCalc [Online]. http://flbeagle.rchomepage.
191. Eller D (2015) Larosterna: aircraft modeling and mesh gen- com/software/powercalc.html. Accessed 4 Dec 2014
eration [Online]. http://www.larosterna.com/sumo.html. Ac- 215. Adam One (2014) Welcome to model aircraft: aerodynamics,
cessed 6 Jan 2015 beginners’ guide and lots of info about R/C model aircraft
192. Eller D (2015) Larosterna: visualization for aeroelasticity [On- [Online]. http://adamone.rchomepage.com/index.html. Accessed
line]. http://www.larosterna.com/scope.html. Accessed 6 Jan 30 Dec 2014
2015 216. Adam One (2014) Aircraft center of gravity calculator [Online].
193. VAMPzero Contributors (2014) VAMPzero—conceptual design http://adamone.rchomepage.com/cg_calc.htm. Accessed 30 Dec
for the needs of MDO [Online]. http://code.google.com/p/ 2014
vampzero/. Accessed 22 Dec 2014 217. Adam One (2014) Canard center of gravity calculator [Online].
194. Böhnke D, Nagel B, Gollnick V (2014) Explicit modeling of http://adamone.rchomepage.com/cg_canard.htm. Accessed 30
technology improvement over time in conceptual aircraft design. Dec 2014
In: 29th Congress of the international council of the aeronautical 218. Adam One (2014) Trainer design [Online]. http://adamone.
sciences, ICAS 2014, St. Petersburg, Russia, 7–12 September rchomepage.com/design.htm#calculate. Accessed 30 Dec 2014
2014 219. Adam One (2014) Calculate stall speed [Online]. http://ada
195. Rizzi A, Zhang M, Nagel B, Boehnke D, Saquet P (2012) mone.rchomepage.com/calc_stallspeed.htm. Accessed 30 Dec
Towards a unified framework using CPACS for geometry 2014
management in aircraft design. In: 50th AIAA aerospace sci- 220. Adam One (2014) Calculate level flight speed [Online]. http://
ences meeting including the new horizons forum and aerospace adamone.rchomepage.com/calc_speed.htm. Accessed 30 Dec
exposition, Nashville, Tennessee, USA, 9–12 January 2012 2014
196. CPACS Contributors (2014) CPACS—a common language for 221. Adam One (2014) Calculate motor efficiency [Online]. http://
aircraft design [Online]. http://code.google.com/p/cpacs/. Ac- adamone.rchomepage.com/calc_efficiency.htm. Accessed 30
cessed 22 Dec 2014 Dec 2014
197. TIGL Contributors (2014) TIGL: A library for generating 3D 222. Adam One (2014) Estimate propeller’s static thrust [Online].
geometries from parametrized CPACS/XML data sets [Online]. http://adamone.rchomepage.com/calc_thrust.htm. Accessed 30
http://code.google.com/p/tigl/. Accessed 22 Dec 2014 Dec 2014
198. Frink NT (2006) TetrUSS: CFD software for complex real- 223. Adam One (2014) Estimate electric motor and Prop combo
world aerodynamics problems [Online]. http://tetruss.larc.nasa. [Online]. http://adamone.rchomepage.com/calc_motor.htm. Ac-
gov/index.html cessed 30 Dec 2014
199. Frink NT, Pirzadeh SZ, Parikh PC, Pandya MJ, Bhat MK (2000) 224. Adam One (2014) Beginners’ guide [Online]. http://adamone.
NASA tetrahedral unstructed software system (TetrUSS). rchomepage.com/guide5.htm. Accessed 30 Dec 2014
Aeronaut J 104(1040):491–499 225. Müller M (2014) eCalc: the most reliable RC calculator on the
200. Frink NT (2009) Requesting TetrUSS software [Online]. http:// web [Online]. http://www.ecalc.ch/
tetruss.larc.nasa.gov/download.html 226. Filkovic D (2015) Apame—aircraft 3D panel method [Online].
201. Redhammer Consulting Ltd (2010) TORNADO [Online]. http:// http://www.3dpanelmethod.com/. Accessed 14 Jan 2015
www.redhammer.se/tornado/index.html 227. Filkovic D (2015) Apame—aircraft 3D panel method: features
202. Zagórski P, David C (2013) Aerospace blockset for Xcos [On- [Online]. http://www.3dpanelmethod.com/features.html. Ac-
line]. http://forge.scilab.org/index.php/p/aerospace-blockset/ cessed 14 Jan 2015

123
T. Vogeltanz

228. Goetzendorf-Grabowski T (2014) PANUKL 2012 [Online]. http: 236. Morgado J (2013) JBLADE v17 tutorial [Online]. https://drive.
//www.meil.pw.edu.pl/add/ADD/Teaching/Software/PANUKL google.com/viewerng/viewer?a=v&pid=sites&srcid=ZGVmYX
229. Goetzendorf-Grabowski T (2013) Users manual for PANUKL: VsdGRvbWFpbnxqb2FvbW9yZ2FkbzIzfGd4OjFjYzE3ZjhlYm
version ENGv1 [Online]. http://itlims.meil.pw.edu.pl/zsis/ Y3YzBlNzE
pomoce/PANUKL/2012/PanuklMan_eng.pdf 237. Mason WH (2012) Software for aerodynamics and aircraft
230. Goetzendorf-Grabowski T, Mieloszyk J, Mieszalski D (2012) design (W.H. Mason, Virginia Tech) [Online]. http://www.dept.
MADO—software package for high order multidisciplinary aoe.vt.edu/*mason/Mason_f/MRsoft.html#foilgen
aircraft design and optimization. In: 28th Congress of the in- 238. Geuzaine C, Remacle J-F (2014) Gmsh: a three-dimensional
ternational council of the aeronautical sciences, ICAS 2012, finite element mesh generator with built-in pre- and post-pro-
Brisbane, Australia, 23–28 September 2012, pp 481–490 cessing facilities [Online]. http://geuz.org/gmsh/
231. Goetzendorf-Grabowski T (2012) SDSA—theoretical basics 239. enGrid Contributors (2015) enGrid—open-source mesh gen-
[Online]. http://itlims.meil.pw.edu.pl/zsis/pomoce/SDSA/2015/ eration [Online]. http://engits.eu/en/engrid. Accessed 5 Jan 2015
SDSA_Setup.zip 240. 3DRobotics (2014) Mission planner [Online]. http://planner.
232. XFLR5 Contributors (2014) XFLR5 [Online]. http://www.xflr5. ardupilot.com/. Accessed 31 Dec 2014
com/xflr5.htm. Accessed 31 Dec 2014 241. Garcia I, Tougeron W (2015) Read group of faces TUI from
233. XFLR5 Contributors (2014) XFLR5 [Online]. http://source GUI [Online]. Available: http://www.salome-platform.org/
forge.net/projects/xflr5/. Accessed 31 Dec 2014 forum/forum_10/83373997. Accessed 6 Jan 2015
234. XFLR5 Contributors (2013) XFLR5: analysis of foils and wings
operating at low Reynolds numbers [Online]. http://heanet.dl.
sourceforge.net/project/xflr5/Guidelines.pdf
235. Morgado J (2014) JBLADE: a propeller design and analysis
code [Online]. https://sites.google.com/site/joaomorgado23/
Home. Accessed 31 Dec 2014

123

You might also like