Development of Methodologies of Aeroelastic Analysis For The Design of Flexible Aircraft Wings

Download as pdf or txt
Download as pdf or txt
You are on page 1of 203
At a glance
Powered by AI
The dissertation deals with developing computational methodologies for aeroelastic analysis of flexible aircraft wings on the preliminary design phase.

The dissertation develops a vortex lattice method code (VLM4FW) coupled with Abaqus for geometrically nonlinear aeroelastic simulations and computes steady flight loads. It then performs flutter analyses using the results to analyze dynamic aeroelastic instability.

An in-house vortex lattice method (VLM4FW) is implemented along with corrections. This is coupled with Abaqus in a co-simulation scheme for geometrically nonlinear aeroelastic simulations. Flutter analyses are then performed using ZONA6 g-Method in ZAERO.

Dissertation presented t o t he Instituto Tecnol6gico de Aeronautica: in

partial fulfillment of t he requirements for the degree of Master of Science


in the Program of Aeronautical and Mechanical Engineering, Field of Solid
Mechanics and St ructures.

Marcos Cesar Rugge ri

DEVELOPMENT OF METHODOLOGIES OF
AEROELASTIC ANALYSIS FOR THE DESIGN OF
FLEXIBLE AIRCRAFT WINGS

Dissertation approved in its fi na.1 version by signatories below:

Advisor

Co-advisor

Prof. Dr. Luiz Carlos Sandoval Goes

Prorector of Graduate Studies and Research

Campo Montenegro
Sao Jose dos Campos, SP - Brazil

2015

Cataloging-in Publication Data


Documentation and Information Division
Ruggeri, Marcos Cesar
Development of methodologies of aeroelastic analysis for the design of flexible aircraft wings /
Marcos Cesar Ruggeri.
Sao Jose dos Campos, 2015.
202p.

Dissertation of Master of Science - Course of Aeronautical and Mechanical Engineering. Area of


Solid Mechanics and Structures - Instituto Tecnol6gico de Aeronautica., 2015. Advisor: Prof. Dr.
Roberto Gil Annes <la Silva. Co-advisor: Prof. Dr. Carlos Eduardo de Souza.
1. Asas flexiveis. 2. Aeroelasticidade. 3. Corpos ftexiveis. 4. Vibra.c;ii.o aeroelastica.
5. Ca.racteristicas dinamicas. 6. Engenha.ria. a.eronautica. I. Instituto Tecnol6gico de
Aeronautica.. II. Title.

BIBLIOGRAPHIC REFERENCE
RUGGERI, Marcos Cesar. Development of methodologies of aeroelastic analysis
for the design of flexible aircraft wings. 2015. 202p. Dissertation of Master of
Science - Instituto Tecnol6gico de Aeronautica, Sao Jose dos Campos.

CESSION OF RIGHTS
.AUTHOR'S NAME: Marcos Cesar Ruggeri
PUBLICATION TITLE: Development of methodologies of aeroelastic analysis for t he
design of flexible aircraft wings.
PUBLICATION KIND/YEAR: Dissertation/ 2015
It is granted to Instituto Tecnol6gico de Aeronautica permission to reproduce copies of
this dissertation and to only loan or to sell copies for academic and scientific purposes.
The author reserves other publication rights and no part of this dissertation can be
reproduced wit hout the authorization of t he author.

Marc

Cesar Ruggeri
Rua~ pompo de Vasconcelos, 375
12.243-830 - Sao Jose dos Campos - SP

iii

DEVELOPMENT OF METHODOLOGIES OF
AEROELASTIC ANALYSIS FOR THE DESIGN OF
FLEXIBLE AIRCRAFT WINGS

Marcos Cesar Ruggeri

Thesis Committee Composition:

Prof.
Prof.
Prof.
Prof.
Dr.

Dr.
Dr.
Dr.
Dr.

Mauricio Vicente Donadon


Roberto Gil Annes da Silva
Carlos Eduardo de Souza
Flavio Luiz de Silva Bussamra
Olympio Achilles de Faria Mello

ITA

President
Advisor
Co-advisor
Internal Member External Member -

ITA
ITA
UFSM
ITA
EMBRAER

To all my family, who gave me education


and helped me in my hard times. To
Prof. Carlos Carlassare (in memoriam),
for motivating me to never throw down
my arms and continue learning.

vii

Acknowledgments
First of all, thanks to Professor Roberto Gil Annes da Silva for trusting and giving me
the chance to study at ITA, for teaching me aeroelasticity as well as for his contributions
and ideas during my studies. Thanks to my co-advisor Carlos Eduardo de Souza also
for helping me with the development of this work and for proposing new computational
approaches from his point of view.
I must also acknowledge to the CAPES Research Promotion Agency from the Ministry
of Education of Brazil for the financial support by granting me a scholarship. In addition,
thanks to the Brazilian Air Force for giving me the opportunity to use the facilities and
services of the CTA campus, including food at the H15 building.
Among the promoters to continue with my graduate studies, I am deeply indebted to
Professors Carlos Olmedo and Miguel Bavaro from UTN-FRH, who always encouraged
my decision to pursue my masters degree in Brazil.
Lastly, to Gabrielle Leithold, a person who not only taught me to speak Portuguese
and motivated me to move to Brazil, but also whom I loved and will never forget.

ix

I can state flatly that heavier-than-air


flying machines are impossible.
Kelvin, Lord William Thomson - 1895

xi

Abstract
This work deals with several computational methodologies for the aeroelastic study of
flexible aircraft wings on a preliminary design phase. An in-house vortex lattice method
code named VLM4FW has been implemented with correction of sidewash and backwash
effects to take into account the aeroelastic deformation of the wing in bending and torsion. In addition, corrections on the spanwise distribution of induced drag based on the
cross-flow energy in the wake have been included. This code has been also programmed to
be coupled in a co-simulation scheme with Abaqus for aeroelastic geometrical non-linear
simulations and compute steady flight loads. Then, based on the deformed wing configuration new natural frequencies and mode shapes are extracted in MSC.Nastran with
the solution sequence SOL 103. Flutter studies are next performed using the ZONA6 gMethod in ZAERO to analyze the dynamic aeroelastic instability and evaluate the results
compared to the undeformed initial wing shape. Several case studies have been adopted
to validate the VLM4FW program with rigid and flexible wings, such as the AE-249 and
GNBA aircraft. Depending on the wing aspect ratio and flexibility, the results obtained
give a clear idea of how important is the deformed configuration for the study of dynamic
aeroelastic instabilities. The fact of considering the initial wing shape to perform a flutter
analysis can lead to large discrepancies in the estimated critical speeds, and even worse,
overestimate the real values. Flutter analyses based on geometrical nonlinear deformed
wings are assumed to be conservative for the preliminary design condition and are expected to provide better results as technological advances introduce higher aspect ratios
on very flexible wings.

xiii

Resumo
Este trabalho lida com diversas metodologias computacionais para o estudo aeroelastico de asas flexveis de aeronaves em uma fase de projeto conceitual. Um codigo interno
de vortex lattice method chamado VLM4FW foi implementado com correcao dos efeitos
de sidewash e backwash para ter em conta a deformacao aeroelastica da asa em flexao
e torcao. Alem disso, foram includas correcoes na distribuicao ao longo da envergadura
do arrasto induzido com base na energia do escoamento transversal. Este codigo foi tambem programado para ser acoplado em um esquema de co-simulacao com Abaqus para
simulacoes aeroelasticas nao-lineares geometricas e calcular o carregamento em voo estacionario. Em seguida, a partir da configuracao deformada da asa sao extradas novas
frequencias naturais e formas modais em MSC.Nastran com a solucao SOL 103. Estudos
de flutter sao realizados logo utilizando o Metodo-g ZONA6 em ZAERO para analisar a
instabilidade dinamica aeroelastica e avaliar os resultados em comparacao com a forma
da asa inicial nao deformada. Varios estudos de caso tem sido adotados para validar o
programa VLM4FW com as asas rgidas e flexveis, tais como as asas AE-249 e do aviao
GNBA. Dependendo da relacao de aspecto da asa e a propria flexibilidade, os resultados
obtidos dao uma clara ideia de quao importante e a configuracao de asa deformada para
o estudo de instabilidades aeroelasticas dinamicas. O fato de considerar a forma da asa
inicial para realizar uma analise de flutter pode levar a grandes erros nas velocidades crticas estimadas e, pior ainda, sobreestimar os valores reais. Analises de flutter baseados
em asas deformadas com nao-linearidade geometrica sao considerados ser conservadores
para uma condicao de projeto conceitual e espera-se ainda que proporcionem melhores
resultados a medida que os avancos tecnologicos introduzam maiores alongamentos em
asas muito flexveis.

xv

List of Figures
FIGURE 1.1 Collar triangle with the interaction of aeroelastic forces. . . . . . . . 30
FIGURE 1.2 Handley-Page O/400 bomber aircraft, pioneer in the flutter phenomenon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
FIGURE 1.3 Grumman X-29 aircraft operated by NASA/USAF. . . . . . . . . . 34
FIGURE 1.4 Finite element representation for a global structural analysis. . . . . 35
FIGURE 1.5 Philosophy of computational panel methods to model lifting surfaces. 36
FIGURE 1.6 Aerodynamic and aeroelastic simulations on the EMB314 aircraft. . 37
FIGURE 3.1 Typical wing planform modeled by the Vortex Lattice Method. . . . 46
FIGURE 3.2 Geometric parameters of an aerodynamic panel in VLM. . . . . . . 47
FIGURE 3.3 Horseshoe vortex on an elementary aero panel of the right semi-wing. 48
FIGURE 3.4 Geometry of the mean camber surface for the tangential flow BCs. . 51
FIGURE 3.5 Chordwise horseshoe vortices and control points for backwash and
sidewash computation (left semi-wing). . . . . . . . . . . . . . . . . 55
FIGURE 3.6 Dependence of Theodorsens function on reduced frequency. . . . . . 67
FIGURE 3.7 Typical section in oscillatory harmonic motion. . . . . . . . . . . . . 68
FIGURE 4.1 Inter-communication between VLM4FW and Abaqus. . . . . . . . . 82
FIGURE 4.2 Software packages used for flight loads and flutter analyses. . . . . . 83
FIGURE 5.1 Right semi-wing of Garner test case. . . . . . . . . . . . . . . . . . . 86
FIGURE 5.2 Distribution of pressure coefficient on the Garner wing. . . . . . . . 87
FIGURE 5.3 Distribution of lift coefficient on the Garner wing. . . . . . . . . . . 88
FIGURE 5.4 Distribution of angles of attack on the Garner wing. . . . . . . . . . 88
FIGURE 5.5 Distribution of spanwise/chordwise lift on the Garner wing. . . . . . 89

xvi
FIGURE 5.6 Comparison of spanwise induced drag on the Garner wing. . . . . . 89
FIGURE 5.7 Right semi-wing of Saunders test case (config. = 0). . . . . . . . 90
FIGURE 5.8 Distribution of pressure coefficient on the Saunders wing (dihedral
cases). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
FIGURE 5.9 Distribution of lift coefficient on the Saunders wing (dihedral cases).

91

FIGURE 5.10 Distribution of angles of attack on the Saunders wing (dihedral cases). 92
FIGURE 5.11 Distribution of spanwise/chordwise lift on the Saunders wing (dihedral cases). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
FIGURE 5.12 Distribution of induced drag on the Saunders wing (dihedral cases).

93

FIGURE 5.13 Comparison of wing lift coefficient slope on the Saunders wing. . . . 93
FIGURE 5.14 Aerodynamic mesh of AE-249/B test case (config. 4 x 10). . . . . . 96
FIGURE 5.15 Aerodynamic mesh of AE-249/B test case (config. 6 x 10). . . . . . 96
FIGURE 5.16 Structural mesh of AE-249/B test case (config. 4 x 10). . . . . . . . 97
FIGURE 5.17 Structural mesh of AE-249/B test case (config. 6 x 20). . . . . . . . 97
FIGURE 5.18 Convergence of wing lift coefficient slope on the AE-249/B wing
(rigid). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
FIGURE 5.19 Normal force distribution on the AE-249/B wing (rigid mesh 2 x 64). 98
FIGURE 5.20 Normal force distribution on the AE-249/B wing (rigid mesh 8 x 64). 99
FIGURE 5.21 Z Displacements on the AE-249/B wing (mesh 4 x 10). . . . . . . . 101
FIGURE 5.22 Distribution of pressure coefficient on the AE-249/B wing (mesh 4
x 10). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
FIGURE 5.23 Distribution of lift coefficient on the AE-249/B wing (mesh 4 x 10). 102
FIGURE 5.24 Distribution of angles of attack on the AE-249/B wing (mesh 4 x 10).102
FIGURE 5.25 Distribution of spanwise/chordwise lift on the AE-249/B wing (mesh
4 x 10). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
FIGURE 5.26 Distribution of induced drag on the AE-249/B wing (mesh 4 x 10). . 103
FIGURE 5.27 Influence of ballast offset on the flutter speed of AE-249 wing (linear
theory). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
FIGURE 5.28 Distribution of pressure coefficient on the AE-249/B wing (mesh 6
x 20). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
FIGURE 5.29 Distribution of lift coefficient on the AE-249/B wing (mesh 6 x 20). 106

xvii
FIGURE 5.30 Distribution of angles of attack on the AE-249/B wing. . . . . . . . 106
FIGURE 5.31 Distribution of spanwise/chordwise lift on the AE-249/B wing (mesh
6 x 20). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
FIGURE 5.32 Distribution of induced drag on the AE-249/B wing (mesh 6 x 20). . 107
FIGURE 5.33 Global displacements on the AE-249/B wing (mesh 6 x 20). . . . . . 108
FIGURE 5.34 X Rotations (bending) on the AE-249/B wing (mesh 6 x 20). . . . . 108
FIGURE 5.35 Y Rotations (torsion) on the AE-249/B wing (mesh 6 x 20). . . . . 109
FIGURE 5.36 Z Rotations (in-plane bend.) on the AE-249/B wing (mesh 6 x 20). 109
FIGURE 5.37 Mises stresses on the AE-249/B wing (mesh 6 x 20). . . . . . . . . . 110
FIGURE 5.38 Mirrored deformation on the AE-249/B wing (mesh 6 x 20). . . . . 110
FIGURE 5.39 Flutter mode at initial time on the AE-249/B wing (undeformed). . 112
FIGURE 5.40 Flutter mode at semi-period time on the AE-249/B wing (undeformed). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
FIGURE 5.41 Flutter mode at initial time on the AE-249/B wing (deformed). . . . 113
FIGURE 5.42 Flutter mode at semi-period time on the AE-249/B wing (deformed).113
FIGURE 5.43 V-g-f plots for flutter analysis on the AE-249/B wing (undeformed). 114
FIGURE 5.44 V-g-f plots for flutter analysis on the AE-249/B wing (deformed). . 115
FIGURE 5.45 Geometric representation of the GNBA aircraft model. . . . . . . . 116
FIGURE 5.46 Aerodynamic mesh of the GNBA-12 wing. . . . . . . . . . . . . . . 118
FIGURE 5.47 Structural mesh of the GNBA-12 wing. . . . . . . . . . . . . . . . . 119
FIGURE 5.48 Distribution of pressure coefficient on the GNBA-12 wing. . . . . . . 120
FIGURE 5.49 Distribution of lift coefficient on the GNBA-12 wing. . . . . . . . . . 121
FIGURE 5.50 Distribution of angles of attack on the GNBA-12 wing. . . . . . . . 121
FIGURE 5.51 Distribution of spanwise/chordwise lift on the GNBA-12 wing. . . . 122
FIGURE 5.52 Distribution of induced drag on the GNBA-12 wing. . . . . . . . . . 122
FIGURE 5.53 Global displacements on the GNBA-12 wing. . . . . . . . . . . . . . 123
FIGURE 5.54 X Rotations (bending) on the GNBA-12 wing. . . . . . . . . . . . . 123
FIGURE 5.55 Y Rotations (torsion) on the GNBA-12 wing. . . . . . . . . . . . . . 124
FIGURE 5.56 Z Rotations (in-plane bend.) on the GNBA-12 wing. . . . . . . . . . 124
FIGURE 5.57 Flutter mode at initial time on the GNBA-12 wing (undeformed). . 126

xviii
FIGURE 5.58 Flutter mode at quarter-period time on the GNBA-12 wing (undeformed). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
FIGURE 5.59 Flutter mode at semi-period time on the GNBA-12 wing (undeformed).127
FIGURE 5.60 Flutter mode at three-quarter-period time on the GNBA-12 wing
(undeformed). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
FIGURE 5.61 Flutter mode at initial time on the GNBA-12 wing (deformed). . . . 128
FIGURE 5.62 Flutter mode at quarter-period time on the GNBA-12 wing (deformed). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
FIGURE 5.63 Flutter mode at semi-period time on the GNBA-12 wing (deformed). 129
FIGURE 5.64 Flutter mode at three-quarter-period time on the GNBA-12 wing
(deformed). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
FIGURE 5.65 V-g-f plots for flutter analysis on the GNBA-12 wing (undeformed). 130
FIGURE 5.66 V-g-f plots for flutter analysis on the GNBA-12 wing (deformed). . . 131
FIGURE A.1 Internal architecture of VLM4FW. . . . . . . . . . . . . . . . . . . . 144
FIGURE A.2 Storage of the working files for execution of Abaqus/VLM4FW. . . 146
FIGURE A.3 Architecture of the aeroelastic coupler Abaqus/VLM4FW. . . . . . 148
FIGURE A.4 Sequence of meshing in VLM4FW. . . . . . . . . . . . . . . . . . . . 150
FIGURE A.5 Regions of meshing in VLM4FW. . . . . . . . . . . . . . . . . . . . 151
FIGURE A.6 Dummy aero panels in VLM4FW to avoid gaps in the wing root. . . 152

xix

List of Tables
TABLE 4.1 Comparison of bulk data cards and keywords used in FEM models. . 83
TABLE 5.1 Model parameters of Garner wing. . . . . . . . . . . . . . . . . . . . 86
TABLE 5.2 Correlation of global induced drag on the Garner wing. . . . . . . . 88
TABLE 5.3 Model parameters of Saunders wing. . . . . . . . . . . . . . . . . . . 90
TABLE 5.4 Correlation of lift coefficient slope on the Saunders wing. . . . . . . 93
TABLE 5.5 Model parameters of AE-249/B wing. . . . . . . . . . . . . . . . . . 95
TABLE 5.6 Sensitivity analysis of mesh on the AE-249/B wing (rigid). . . . . . 99
TABLE 5.7 Comparison of 1g steady flight trim condition on the AE-249/B wing.100
TABLE 5.8 Comparison of flutter results on the AE-249/B wing.

. . . . . . . . 111

TABLE 5.9 Model parameters of GNBA-12 wing. . . . . . . . . . . . . . . . . . 117


TABLE 5.10 Comparison of flutter results on the GNBA-12 wing. . . . . . . . . . 132
TABLE A.1 I/O files in Abaqus/VLM4FW program . . . . . . . . . . . . . . . . 145

xxi

List of Abbreviations and Acronyms

AIAA
AIC
ANAC
AOA
BC
CAPES
CAA
CFD
CG
CPU
CSYS
CTA
CVLM
DOF
DLM
EA
EMBRAER
ENP
FAA
FAB
FCS
FEM
FID
FSI
FSW
GNBA
GVT
I/O
IPS
ISA

American Institute of Aeronautics and Astronautics


Aerodynamic Influence Coefficient
Agencia Nacional de Aviacao Civil
Angle of Attack
Boundary Condition
Coordenacao de Aperfeicoamento de Pessoal de Nvel Superior
Civil Aviation Authority
Computational Fluid Dynamics
Center of Gravity
Central Processing Unit
Coordinate System
Centro Tecnico Aeroespacial
Curved Vortex Lattice Method
Degree of Freedom
Doublet Lattice Method
Elastic Axis
Empresa Brasileira de Aeronautica
Engine, Nacelle and Pylon
Federal Aviation Administration
Forca Aerea Brasileira
Flight Control System
Finite Element Method
File Identifier
Fluid Structure Interaction
Forward-Swept Wing
Generic Narrow-Body Airliner
Ground Vibration Test
Input/Output
Infinite Plate Spline
International Standard Atmosphere

xxii
ITA
KEAS
KTAS
LCO
LE
LHS
LLT
MAC
MTOW
NACA
NASA
NDLM
NLVLM
OOM
RHS
RLE
RTE
SHM
SL
SRF
TE
TLE
TTE
USAF
UTN-FRH
UVLM
VLM

Instituto Tecnologico de Aeronautica


Knots Equivalent Air Speed
Knots True Air Speed
Limit Cycle Oscillation
Leading Edge
Left Hand Side
Lifting-Line Theory
Mean Aerodynamic Chord
Maximum Take-Off Weight
National Advisory Committee for Aeronautics
National Aeronautics and Space Administration
Non-planar Doublet Lattice Method
Non-linear Vortex Lattice Method
Out of Memory
Right Hand Side
Root Leading Edge
Root Trailing Edge
Simple Harmonic Motion
Sea Level
Step Response Function
Trailing Edge
Tip Leading Edge
Tip Trailing Edge
United States Air Force
Universidad Tecnologica Nacional - Facultad Regional Haedo
Unsteady Vortex Lattice Method
Vortex Lattice Method

xxiii

List of Symbols
#
VAB
#
VA
#
VB
m
n
n
xm , ym , zm
xAn , yAn , zAn
xBn , yBn , zBn
#
V (m, n)
#

u
v
w

V
q

j
i
N
Nj
Ni
p
BD

Velocity vector induced by vortex filament AB


Velocity vector induced by vortex filament A
Velocity vector induced by vortex filament B
Control point m
Global panel n
Circulation strength of vortex filament for each panel n
xyz-coordinates of the control point m
xyz-coordinate of A vertex for each panel n
xyz-coordinate of B vertex for each panel n
Total velocity vector at control point m induced by panel n
Velocity influence coefficient vector
x-component of induced velocity (backwash)
y-component of induced velocity (sidewah)
z-component of induced velocity (downwash)
Chordwise slope of panel (mean camber line)
Bending angle (dihedral)
In-plane bending angle (sweep)
Torsion angle
Angle of attack
Sideslip angle
Free-stream air speed
Free-stream air dynamic pressure
Air density
Index of chordwise panel (row)
Index of spanwise panel (strip)
Number of panels (modeled on right semi-wing)
Number of panels chordwise (modeled on right semi-wing)
Number of panels spanwise (modeled on right semi-wing)
Global panel p
Net circulation strength of chordwise bound vortices BD

xxiv
S
c
vBD
uAB
vAB
cA
cB
e
c
ls
lt
(s)
lt
l
di
d0
d

ss
CL
CDi
Cp
Cp
p
p
n
cl
cdi
cdp
0
i
ef f
y
Fa
Fbl
Fbg
Tbla
Tbgbl

L
a0

Reference wing surface


Reference wing chord
Sidewash velocity at 3/4 chord on right chordwise bound vortex BD
Backwash velocity at midspan 1/4 chord on spanwise bound vortex AB
Sidewash velocity at midspan 1/4 chord on spanwise bound vortex AB
Chord of elemental length of left segment A
Chord of elemental length of right segment B
Average local chord of panel based on left and right segments
Spanwise lift induced by AB bound vortices, backwash and sidewash effects
Chordwise lift induced by sidewash effects
Chordwise lift transported to midspan 1/4 chord
Lift of each aerodynamic panel
Induced drag of each aerodynamic panel
Parasite drag of each aerodynamic panel
Total drag of each aerodynamic panel
Sweep angle of projected bound vortex AB into X-Y plane w.r.t. Y-Z plane
Length of bound vortex AB projected into Y-Z plane
Total lift coefficient of full-span wing
Total induced drag coefficient of full-span wing
Pressure coefficient
Difference of pressure coefficient between upper and lower wing surface
Normal pressure
Difference of pressure between upper and lower wing surface
Load factor
Local lift coefficient spanwise
Local induced drag coefficient spanwise
Local parasite drag coefficient
Geometric angle of attack
Induced angle of attack
Effective angle of attack
Width of panel strip projected into y-axis
Aerodynamic force vector expressed in aerodynamic CSYS
Aerodynamic force vector expressed in local body CSYS
Aerodynamic force vector expressed in global body CSYS
Transformation matrix from aerodynamic to local body axes
Transformation matrix from local body to global body axes
Change in angle of attack
Change in lift due to change in angle of attack
Bi-dimensional lift coefficient slope

xxv
t

( )

k
b
C(k)
F (k)
G(k)
ab
0
L
M
K
U
k
L
Vdiv
Faf
Far
G
AIC
AIC
x
far /a
far /a
a
Kgg
Mgg
Mrr
r
e
u
r
fae /a
cr
ct
b
c
Sw

Time
Wagners non-dimensional time in semi-chords traveled
Wagners function
Angular velocity of oscillation
Reduced frequency
Semi-chord of airfoil
Theodorsens complex function
Real part of Theodorsens complex function
Imaginary part of Theodorsens complex function
Distance from 50% chord position down to elastic center
Rigid angle of attack before deformation
Lift at aerodynamic center
Moment at aerodynamic center
Kinetic energy
Potential internal energy
Torsional stiffness
Lagrangian of the system
Divergence air speed
Vector of flexible aerodynamic forces at structural grid
Vector of rigid aerodynamic forces at structural grid
Spline matrix
Matrix of aerodynamic influence coefficients at aerodynamic grid
Matrix of aerodynamic influence coefficients at structural grid
Structural deformation vector
Rigid aerodynamic force derivatives w.r.t. trim variables at aerodynamic grid
Rigid aerodynamic force derivatives w.r.t. trim variables at structural grid
Trim variables vector
Stiffness matrix at structural grid
Inertia matrix at structural grid
Mass rigid body matrix
Matrix of rigid body modes
Matrix of elastic modes
Acceleration vector of rigid body motion
Incremental elastic aerodynamic force derivative matrix at structural grid
Root chord of wing
Tip chord of wing
Reference wingspan
Reference chord
Reference wing area

xxvi
AR
LE
t
E
G

J
m
Ixx , Iyy , Izz

Aspect ratio
Sweep angle of leading edge line w.r.t. to y-axis
Thickness of material
Young modulus
Shear modulus
Tensile stress
Poisson ratio
Torsion constant
Structural mass
Structural mass moment of inertia about x-x, y-y and z-z axis

xxvii

Contents
1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1

Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.1.1

Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

1.3

Organization of work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Literature review . . . . . . . . . . . . . . . . . . . . . . . . . . .

39

Recent works at ITA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Theoretical background . . . . . . . . . . . . . . . . . . . . . .

43

3.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2

Steady aerodynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2.1

Vortex Lattice Method . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3.2.2

Quasi-steady aerodynamics approach . . . . . . . . . . . . . . . . . . 64

3.3

Unsteady aerodynamics . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3.4

Aeroelasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.5

Static aeroelasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3.5.1

Divergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3.5.2

Trim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

3.6

Dynamic aeroelasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

3.6.1

Historical background . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

1.2

2.1

29

Flutter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1

81

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

xxviii

4.2

Proposed workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

4.3

Considerations for design . . . . . . . . . . . . . . . . . . . . . . . . . 84

Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1

Cases studies overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

5.2

Garner wing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

5.2.1

Aerodynamic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.2.2

Numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.3

Saunders wing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.3.1

Aerodynamic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

5.3.2

Numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

5.4

AE-249/B wing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

5.4.1

Aerodynamic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

5.4.2

Structural model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5.4.3

Numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5.5

85

GNBA-12 wing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

5.5.1

Aerodynamic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

5.5.2

Structural model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

5.5.3

Numerical results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
6.1

Final remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

6.2

Future works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Appendix A Architecture of Abaqus/VLM4FW . . . . . 143
A.1

Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

A.2

Meshing considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

Appendix B VLM4FW program code . . . . . . . . . . . . . . 153


Appendix C ABQ/VLM4FW aeroelastic coupler code

197

1 Introduction
1.1

Motivation

Aeroelasticity is considered a branch of the aerospace engineering that describes the


interaction of aerodynamic, inertia and elastic forces inherent to a flexible structure such
as an aircraft. This discipline also studies the phenomena that can result as a consequence
of the interaction of aeroelastic forces. As shown in Figure 1.1, the classical Collar aeroelastic triangle (COLLAR, 1978) originally from 1947 represents how several disciplines, e.g.
stability and control (flight mechanics), structural dynamics (mechanical vibrations) and
static aeroelasticity are linked as a consequence of the interrelation of two of the three
types of forces. On the center of the triangle, all three forces are required to co-exist and
interact mutually to guarantee the appearance of dynamic instability phenomena.
These interactions are important since they substantially affect the airplane loads
and can have a direct impact on several areas such as aerodynamic lift redistribution,
stability derivatives (including lift effectiveness), control effectiveness (including aileron
reversal), structural static and dynamic stability and aircraft structural dynamic response
to turbulence and buffeting, among others (WEISSHAAR, 2012).
Due to the need of airplanes to be light, they often deform appreciably under the application of loads in service. Such deformations change the distribution of the aerodynamic
load, which in turn changes the deformations. This coupling of elastic structural, aerodynamic and inertial effects on aerospace aircraft can influence seriously the integrity of the
structure, and this makes critical the study of aeroelasticity to evaluate quantitatively the
operational limits of the flight vehicles in order to comply with design and certification
requisites. Over the aviation history these effects have had a major determination upon
the design and flight performance of aircraft, even before the first controlled powered
flight. Since some aeroelastic phenomena such as flutter or divergence can potentially
lead to structural failure, aeroelastic penalty on heavier and more stiffened structures has
been sacrificed in order to ensure structural integrity by means of suitable variations in
structural stiffness and inertia distributions.
Aeroelasticity also involves natural phenomena such as the motion of insects, fish and

30

CHAPTER 1. INTRODUCTION
FIGURE 1.1 Collar triangle with the interaction of aeroelastic forces.

Source: COLLAR, 1978.

birds, so it is not only a concern for the study of airplane lifting bodies. In addition, the
topic is also extremely relevant for the design of structures such as bridges, racing cars, helicopters, wind turbines, and turbomachinery, among others. For instance, propellers and
windmills are also affected by the lack of torsional stiffness, which in the first case creates
a loss of thrust due to twisting of blades, as happened with the Wright brothers when they
started to use thin propellers (GARRICK; REED III, 1981). Moreover, propeller-driven aircraft can also be subjected to another form of instability called propeller whirl flutter, due
to the presence of gyroscopic precession effects on flexibly mounted engine-propeller systems (sometimes attributed the probable cause of the Lockheed Electra airplane crashes)
(WEISSHAAR, 2012).
However, other technological areas such as civil engineering also suffer from fluidstructure interaction effects. Typical examples are some 19th century bridges which were
torsionally weak enough and collapsed from aeroelastic phenomena, as occurred with the
Tacoma Narrows Bridge in spectacular fashion in 1940. This bridge suffered a strong
torsion-bending coalescence of modes to promote the flutter, and is often misunderstood
as resonance in several undergraduate physics textbooks (BILLAH; SCALAN, 1991).
Particularly, this work deals with the study of aeroelastic computational simulations
for flexible wings, based on commercial software present in the industry as well as an
in-house aeroelastic code for nonlinear steady flight loads, which has been developed at

CHAPTER 1. INTRODUCTION

31

ITA intended to be used for very flexible aircraft. Several case studies are considered
and then results are compared for correlation and validation of the assumptions made,
together with restrictions and limitations of the theory applied.

1.1.1

Historical background

In the early 1900s, Wright brothers had already been working with the concept of
wing warping as mechanism to induce a controlled, anti-symmetrical bi-plane wing structural twisting displacement to create rolling moments and thus get aircraft control. This
technique had also been tested by Edson Gallaudet as early as 1898, although he did not
publish or patent the original idea. The issue of warping philosophy is based on the fact
that torsionally flexible wing surfaces, distorted by the pilot, might also be distorted by
the free airstream that may produce self-excited and unintended air loads. However, by
that time most early monoplanes used wing warping roll control, including the Bleriot XI,
Bristol Prier, Fokker Eindecker aircraft among others. Airplane speeds were low enough
and structural stiffness large enough so that aerodynamic loading would not induce excessive deformations. But as engine power and airspeed increased, low torsional stiffness
created aeroelastic static divergence problems that led to catastrophic wing failures at
high speeds, even more aggravated when structural designs of wing box had a rear spar
configuration with shift of its elastic axis with respect to the aerodynamic center (Fokker
D-VIII german fighter) (GARRICK; REED III, 1981).
The first fatal accidents were attributed to a possible lack of sufficient wire bracing
strength. Nevertheless, Bleriot strengthened the Bleriot XI supporting wires and increased the main wing spar size and wing failures still occurred. At the time nothing
was known about such static aeroelastic phenomena (wing divergence) so that any loaddeformation interaction mechanisms were not even recognized. Soon, bi-plane designs
remained supreme after monoplanes being banned in several countries due to a series of
accidents. It was not until 15 years later, when Reissner (1926) published a first work with
a clear mathematical and physical understanding of the origin of static aeroelastic phenomenon such as lift effectiveness and wing divergence. Soon after similar research papers
and reports appeared in other countries for further investigations about these aeroelastic
phenomena.
During World War I, one of the first aircraft on which a self-excited, vibratory aeroelastic instability (later called flutter) problem was identified, modeled and solved was the
Handley-Page O/400 british bomber shown on Figure 1.2. Bairstow and Fage (1916), as
well as Lanchester (1916) investigated the possible cause of this disconcerting phenomenon
by that time and published some reports (probably the first theoretical flutter analysis).
They later revealed that the flutter failure on the horizontal tail was caused by interaction

32

CHAPTER 1. INTRODUCTION

between fuselage twisting oscillation and the anti-symmetrical pitch rotations of the right
and left elevators (independently actuated). A workaround solution was finally found by
connecting the elevators to a common torque tube in order to eliminate potential antisymmetrical elevator motions and make them to move in synchrony. Similar problems of
tail flutter have also been reported to occur with the Havilland DH-9 airplane years later,
with identical cure as proposed by Lanchester (1916). After these lessons learned, the
attachment of both elevators to the same torque tube became standard design practice
on aircraft industry (GARRICK; REED III, 1981).
FIGURE 1.2 Handley-Page O/400 bomber aircraft, pioneer in the flutter phenomenon.

Source: Tangmere Military Aviation Museum, UK.

Binary flutter of the wing in vertical bending combined with motion of the ailerons
was also an issue on the 20s (e.g. Berkel W.B. monoplane). In the Netherlands, Von
Baumhauer and Koning (1923) concluded as result of their study that mass balance of the
aileron, or even partial mass balance, could eliminate the coupling of interacting modes
to prevent wing-aileron flutter.
By the same time, several separate research groups in UK, Germany, Netherlands and
USA had started working intensively on the subject of aeroelasticity, specially in the unsteady aerodynamics field. In Germany, Ackerman and Birnbaum (1923) published some
papers about classical vortex theory of bi-dimensional steady flows and then extended to
the modeling of harmonically oscillating airfoils, under supervision of Professor Prandtl
in Gottingen. Later, Wagner (1925) continued the research work of Birnbaum and studied the growth of vorticity in the wake, as well as of the growth of lift on an airfoil in

CHAPTER 1. INTRODUCTION

33

bi-dimensional flow after a sudden change of the AOA (indicial response). Following Wagners methods, Glauert (1929) considered the flat plate airfoil under harmonic oscillatory
motion. K
ussner (1929) also worked in the same year publishing a paper on flutter based
on Birnbaums method. He improved convergence for reduced frequency in the order of
unity and applied this theory to the bending-torsion phenomena including aileron motion.
Approximatly at the same time, several other german researchers were also working with
flutter but using quasi-steady aerodynamics, such as Blasius (1925), Hesselbach (1927),
Blenk (1927) and Liebers (1929). On the american side, Theodorsen (1934) established
a theory for mathematically modeling bi-dimensional oscillating flat plates by separating
the non-circulatory part of the velocity potential from the circulatory part associated to
the trailing edge wake effects, published years later after intensive work in the famous
NACA Report 496 (THEODORSEN, 1935). The general model had 3 DOFs in plunge,
pitch and also aileron flap motion, and a defined function (later called Theodorsen Circulation function) established the lags between airfoil motion and the aerodynamic forces
and moments that arise. This report is sometimes considered the fundamental basis for
the mathematical theory of dynamic instabilities and served as starting point for further
research over the next decades in the aeroelasticity field (K
ussner, Wagner, Sears, Possio,
among others).
Aircraft developments still faced on the upcoming years strong couplings of aeroelastic
phenomena and were plagued by flutter problems. Gloster Grebe, Gloster Gamecock,
Navy MO-1, Havilland Puss Moth, Junkers JU90 were some of the examples that are
worth to be mentioned. Nevertheless, more advanced technologies over the years allowed
to estimate with a better level of accuracy, as well as wind tunnel testing techniques
started to grow momentum in the 40s.
With the advent of flight at transonic speeds due to the jet engine development, new
challenging aeroelastic problems started to appear, many of which are still to these days.
Sweep wing introduction to allow retard the critical Mach number at transonic speeds,
together with the use of aeroelastic tailoring produced an efficient solution for the late 40s
and 50s, such as was the case of the Boeing B-47. By that time, aeroelastic experiments
at transonic wind tunnels were already feasible and provided greater efficiency than earlier
methods.
On the beginning of supersonic speeds, a new type of flutter, named panel flutter also
began to play an important effect on aircraft and spacecraft, since dynamic instability
might occur involving ripples moving along skin covering leading to an abrupt local failure
of panel. Several failures of the V-2 were justified by a probable panel flutter near the
nose of the rocket, and a fighter was lost due to a failure of a hydraulic line attached to
a panel that fluttered.
Starting in the early 1970s, the usage of aeroelastic tailoring had started being in-

34

CHAPTER 1. INTRODUCTION

vestigated for forward-swept wing designs with inherently low wing divergence speeds,
in order to promote a favorable bending-torsion coupling by rotating the laminate fiber
direction off-axis of the wing sweep direction (WEISSHAAR, 2012). Using forward-swept
wings with fibers aligned along the wing swept axis led to the wash-in effect increasing the
aerodynamic loading and reducing the wing divergence airspeed compared to an equivalent unswept wing. In order to overcome this issue, one of the techniques first used was
adding substantial structural stiffness (which in turn penalized more weight) required to
provide enough aeroelastic stability. However, orienting composite laminate fibers slightly
off-axis permitted to intentionally couple the bending-torsion deformations in a favorable
condition known as wash-out effect, where wing bending in the upward direction now
came along with a twist in a downward direction of the LE, unloading the wing and
retarding the wing divergence phenomena without extra weight.
One of the most successful cases was the DARPA X-29 research program, whose aircraft is shown in Figure 1.3. The Grumman X-29 was an experimental research aircraft
with a forward-swept wing and canard control surfaces configuration, leading to an inherent aerodynamic instability that forced the need of a computerized fly-by-wire FCS.
FIGURE 1.3 Grumman X-29 aircraft operated by NASA/USAF.

Source: NASA, 1987.

The X-29 design made use of the anisotropic elastic coupling between bending and
twisting of the carbon fiber composite material to address this aeroelastic divergence failure, specially at high AOA. Instead of using a very stiff wing, which would carry a weight

CHAPTER 1. INTRODUCTION

35

penalty even with the relatively light-weight composite, the X-29 used a laminate which
produced intentional bending-torsion coupling needed for wash-out and so avoiding the
static divergence effect (PAMADI, 2015). It was flown in a joint research projects program
between NASA and USAF from December 1984 to 1988 investigating handling qualities,
performance, and systems integration on the unique forward-swept-wing research aircraft
configuration. The second prototype was used to study flight behavior at high AOA
characteristics, among other research missions.
Since the development of digital computer machines in the 60s and 70s, these events
have brought an enormous revolution for the aeroelastic computations at aerospace companies and research universities. Mathematical matrix analyses of structures based on
a displacements/stiffness approach, commonly referred as Finite Element Method (ARGYRIS, 1966, TURNER, 1970), have started to become a standard technique in design for
structures and aeroelasticity fields nowadays. This structural analysis method quickly
spread out around the world and has since then been implemented in the aerospace industry for global and local analysis of complex aero-structures members, as seen in Figure
1.4.
FIGURE 1.4 Finite element representation for a global structural analysis.

Source: ROMMEL; DODD, 1984.

On the other hand, the computational progress in the structures area has in turn
benefited the aerodynamics field, whereas numerical methods for lifting surfaces in steady
and unsteady flows, discrete lattices and panel methods were formulated for aerodynamic
loading computations and later to be coupled in aeroelastic computational codes. The
evolution of panel codes to model potential flows has also rapidly evolved into a standard
technique for the aerodynamic discretization of 2D/3D lifting surfaces such as wings,
horizontal and vertical stabilizers, as well as main non-lifting bodies such as fuselage and
engine nacelles. A schematic representation is shown in Figure 1.5. As can be noted, one

36

CHAPTER 1. INTRODUCTION

of the main advantages of using this approach compared to other aerodynamic numerical
methods is the ability to obtain interferences automatically between different bodies.
One of the first variant of panel methods was the Vortex Lattice Method (VLM), which
is considered among the earliest numerical methods utilizing computers to actually estimate aerodynamic characteristics of aircraft (MASON, 1997). Its origins were formulated
in the late 30s, and FALKNER (1943) was who named it Vortex Lattice. His idea of
discretizing the wing into a lattice (surface) with horseshoe vortices on each aerodynamic
panel can be thought as an extension of the original Lifting Line Theory (PRANDTL, 1923).
However, because of the fact of being a numerical approach in which a lifting surface is
discretized into a finite number of panels, practical applications had to wait for decades
until the development of digital computers was sufficient in the early 60s. The following
decade showed a widespread adoption of the method, even leading to the organization of a
workshop at NASA exclusively for standard utilization of the method (NASA, 1976) after
the publication of several reports from an original code developed at the NASA Langley
Research Center (MARGASON; LAMAR, 1971).
FIGURE 1.5 Philosophy of computational panel methods to model lifting surfaces.

Source: BERTIN; CUMMINGS, 2008.

Nowadays, models used in loads and aeroelastic calculations are becoming more advanced. Structural FEM models have evolved from a beam-like model to a much more
representative box-like model (WRIGHT; COOPER, 2007), giving more fidelity of the real
structure representation. On the other hand, aerodynamic models have passed over 1D,
2D strip theory to 3D panel methods as well as CFD techniques, being used as standard
tools in the aerospace industry, as seen in Figure 1.6. The interest in the development of
very flexible aircraft wings as a mean of increasing fuel efficiency and flight performance
in the aerospace industry has led to the need of extending the aeroelastic computational
codes to take into account new sources of non-linearities.

CHAPTER 1. INTRODUCTION

37

FIGURE 1.6 Aerodynamic and aeroelastic simulations on the EMB314 aircraft.

Source: EMBRAER, 2006.

1.2

Objective

The objective of this work is to develop several methodologies of computational aeroelastic analyses for the design of flexible aircraft wings. Several commercial finite element
and aeroelastic software packages such as Abaqus, MSC.Nastran and ZAERO are used
together with an in-house VLM code named VLM4FW, which has been programmed to
be coupled with Abaqus for aeroelastic geometrical non-linear simulations and compute
steady flight loads. The VLM4FW code takes into account the local dihedral and torsion of each aerodynamic panel induced by structural deformation. In addition, it has
a correction on the aerodynamic loading for the inclusion of the sidewash and backwash
effects due to the appearance of new induced velocity components for wings out of the
X-Y plane of the aircraft. The coupling of VLM4FW with the structural nonlinear solver
Abaqus for aeroelastic studies is performed in a co-simulation scheme. Then, based on the
deformed wing configuration, flutter studies are performed in ZAERO to analyze the dynamic aeroelastic instability and evaluate the results compared to the undeformed initial
wing shape. Several case studies have been adopted to validate the VLM4FW program
for rigid and flexible wings, such as the AE-249 and GNBA aircraft wings.

1.3

Organization of work

This work is divided into 6 chapters. Chapter 1 deals with a summarized introduction
on the subject of aeroelasticity. A motivation of study and a brief historical background
are also exposed to show how academic research has been evolving over the last century.
Chapter 2 gives an general overview of the main literature present as well as some recents
works published at ITA. Chapter 3 starts with a theoretical background on aerodynamics
and aeroelasticity formulations implemented in the current computational codes used in

38

CHAPTER 1. INTRODUCTION

industry, as well as in the in-house VLM4FW program. Chapter 4 explains the methodology proposed for the analysis of flexible wings using computational aeroelastic codes. At
the end of the chapter some extra considerations are covered regarding the simplifications
of the aeroelastic models used for design in the aerospace industry. Chapter 5 shows some
case studies chosen for testing, correlation and validation of results. Rigid and flexible
configurations are considered, as well as different wing planforms. The corresponding numerical results are obtained after running the co-simulations in Abaqus/VLM4FW and
in MSC.Nastran/ZAERO. Lastly, Chapter 6 provides final conclusions of the work with
some remarks and possible future works to continue the development of the VLM4FW
code in the area.
There are 3 appendices, which give an overview of the architecture of the VLM4FW
program code, its inter-communication with the structural FE solver Abaqus for aeroelastic co-simulations as well as the source codes used in this work.

2 Literature review
Several textbooks written over the past decades are still present in the aeroelasticity
literature and are excellent references for a classical theoretical background. SCANLAN
and ROSENBAUM (1951), BISPLINGHOFF, ASHLEY and HALFMAN (1955) together with
FUNG (1955) were one of the first in publishing a comprehensive mathematical treatment
of all aspects to begin the study of aeroelastic phenomena. Modern textbooks that are
worth mentioning are DOWELL et al. (2004), WRIGHT and COOPER (2007) as well as
HODGES and PIERCE (2011), which extend the classical formulation of aeroelasticity
not only for bi-dimensional airfoils, but also for aerodynamic lifting surfaces and their
interactions with elastic bodies. DOWELL et al. (2004) also presents some applications of
aeroelasticity problems in rotorcraft, turbomachinery and civil engineering.
As mentioned in Section 1.1 and illustrated in Figure 1.1, aeroelasticity deals with
both structural mechanics and aerodynamics fields. In this way, for the implementation
of aeroelastic computational codes some particular textbooks can be referenced, just to
mention a few of an enormous quantity of literature present in both areas.
On the structural side, BATHE (1996) published a comprehensive work in the theory
of finite element formulation for solving different kind of procedures. It also contains a
basic FEM program named STAP which is written in FORTRAN 77 and that, although
simplified in various areas (only valid for static linear elastic finite element analysis), serves
as an excellent base for the programming of a more general finite element program capable
of solving problems such as those of natural frequencies extraction, nonlinear statics,
dynamics, and so on. Similarly, ZIENKIEWICZ and TAYLOR (2000) also published a more
general FEM program called FEAPpv written in FORTRAN 77, intended mainly for use
in learning finite element programming methodologies and in solving small to moderate
size problems in linear and nonlinear mechanics.
On the aerodynamics side, there are also numerous textbooks and reports that have
dealt with the implementation of panel codes. Specifically for VLM, MARGASON and
LAMAR (1970) wrote a general program in FORTRAN 77 for estimating the subsonic
aerodynamic characteristics of complex wing planforms with variable dihedral and sweep.
Their idea was to correct the aerodynamic loading with the inclusion of the sidewash and

40

CHAPTER 2. LITERATURE REVIEW

backwash effects due to the appearance of new induced velocity components for wings out
of the X-Y plane of the aircraft. In parallel, KALMAN, GIESING and RODDEN (1970)
also proposed a method to correct the low values of induced drag predicted by the VLM
(sometimes even lower than the corresponding elliptical wing planform), by applying a
correcting scale factor to be introduced into the spanwise distribution of induced drag
that is based on the cross-flow energy in the wake.
Over the next decades, continuous improvements to VLM implementations have been
performed, and one of the final developments was known as the VLM4.997 published by
NASA Langley in 1997, being capable of handling up to four lifting surfaces. This NASA
code has been considered a de-facto standard program due to its general availability,
versatility and reliability (MASON, 1997). Enormous DLM improvements have also been
made, being nowadays well established in commercial software such as MSC.Nastran and
ZAERO for aeroelastic flutter analyses. However, most of them do not contemplate
sources of geometrical non-linearities for very flexible wings, since they are based on the
assumption of linear theory with small perturbations.
In recent years, LEE and PARK (2009) have presented an improved method to analyze
low aspect ratio wings or high angles of attack with corrections to the classical Non-linear
Vortex Lattice Method (NLVLM). The shape of the trailing vortex is curved in NLVLM
so that it can be iteratively updated to be aligned with the local direction of flow at each
panel. Thus, each trailing vortex is broken into many vortex segments of finite length
leading to an iterative solution procedure.
A non-linear strained-based finite element approach for highly flexible aircraft has
also been formulated and implemented by SU, ZHANG and CESNIK (2009) in a simulation
framework named UM/NAST to correlate experimental results of a slender rectangular
wing. This program takes into account nonlinear flight dynamic equations coupled with
aeroelastic equations. Using this approach, the modeling and analysis of a 3D structure is
decomposed as a combination of 2D cross-sectional analysis and 1D beam analysis. The
strain-based nonlinear beam formulation previously developed for the 1D beam analysis
is then coupled with finite-state unsteady aerodynamics on lifting surfaces.
On the other hand, ZHANG, YANG, LIU, XIE and others (2012-2015) have published
several works using new theoretical formulations called Curved Vortex Lattice Method
(CVLM) and Non-planar Doublet Lattice Method (NDLM), which handle aspects of geometrical non-linear aeroelasticity using closed vortex rings. As will be discussed in the
following chapters, the approach presented in this work proposes an alternative methodology to perform geometrical non-linear aeroelastic simulations on flexible aircraft wings,
in particular for the computation of steady flight loads and flutter.
Several authors such as YATES (1987), DESTUYNDER (1987) and ZINCHEKOV (2014)

CHAPTER 2. LITERATURE REVIEW

41

have been studying the influence of the deformed geometry from the static aeroelastic trimming condition on flutter. Experimental comparison in wind tunnel have been performed
in most cases with good correlation, and some have concluded a linear approximation
seems to be conservative for the prediction of flutter phenomenon.
For more aerodynamic codes, whether using the VLM or DLM formulation, KATZ
and PLOTKIN (2001) presented several sample programs which implement 2D/3D panel
methods in steady and unsteady aerodynamics using source, doublet and vortex singularities, as well as using both Neumann and Dirichlet boundary conditions. These computer
programs are also written in FORTRAN 77. Regarding to good programming practices,
MASON (1997,2006) discussed some examples on different styles, with advantages and
disadvantages for the development of aerodynamic codes written in FORTRAN.
It may be important to note although the methods described in the former classical
textbooks have been supplanted by modern computational developments, they still remain excellent sources of fundamental explanations, classic examples and valuable, basic
computational techniques that can be used for preliminary estimates of aeroelastic effects,
although the content is strictly theoretical and often tends to restrict coverage to static
aeroelasticity and flutter, considering in some cases very simplified cantilever wings with
a limited unsteady aerodynamics theory.
Probably one of the first academic works published at ITA regarding computational
predictions of aeroelastic phenomena was done by URBANO (1966). He implemented in
an AFIT programming language a code for estimating the critical velocity of flutter of the
IPD-6201 Universal aircraft. It was a limited tabular method as proposed by SCANLAN
and ROSENBAUM (1951) for low subsonic speed.
During the next decades, helped with the rapid evolution of the digital computers and
the industrialization of aeroelastic software, in particular MSC/NASTRAN (DOGGETT;
HARDER, 1973; RODDEN et al., 1979; RODDEN et al., 1984) various authors also published
works on the area.

2.1

Recent works at ITA

Just to cite some of the recent works, COURA (2000) and CORADIN (2010) studied the
aeroelastic phenomena on some models of cantilever and AGARD 445.6 wings. NICOLETTI (2006) also analyzed a 50-passenger commercial aircraft wing, but using the Strip
Theory formulation. SCHNEIKER (2010) made some parametric sensibility analyses on
the optimal weight of the wing in order to comply with the aeroelastic stabilities requirements established by the CAA (FAA, 2004; FAA, 2014), using the Gradient Method for
optimization varying the main spars and skin thicknesses. In addition, WESTIN (2010) and

42

CHAPTER 2. LITERATURE REVIEW

PINTO (2013) correlated their aeroelastic simulations with experimental results gathered

in wind tunnel testing.


On the other hand, SOARES (2004), FREITAS (2004), SILVA (2005) and SORESINI
(2006) studied the appearance of flutter instabilities using MSC/Nastran software on
complete military and commercial aircraft configurations at different altitude and Mach
conditions, evaluating the feasibility of the operational flight envelope. None of them
used non-linear aeroelastic theories, so this kind of analysis start loosing some validity for
very flexible wings. Only SOUZA (2012) published a work on non-linearities present on
composites laminated flat plates subject to large displacements through the coupling of a
nonlinear corotational shell Finite Element formulation with a Unsteady Vortex-Lattice
Method (UVLM).
Finally, NETO (2014) studied the flight dynamics effects on flexible aircraft using an approach of general body axes. He considered the dynamic coupling of rigid-body modes with
the elastic degrees of freedom and for this implemented a Doublet Lattice Method (DLM)
on an internally developed aircraft, named as Generic Narrow-Body Airliner (GNBA).

3 Theoretical background
3.1

Introduction

For the study of flexible aircraft, the aerodynamic lift forces induce deflections of
the aerodynamic surfaces, which in turn change the characteristics of the airflow, hence
leading to aeroelastic phenomena and affecting the dynamic loads. An understanding of
how the aerodynamic flow around three-dimensional aerodynamic bodies generates forces
and moments that are applied to aircraft during flight is very important in order to be
able to develop mathematical models that describe the aeroelastic behavior.
In the following sections of this chapter a brief overview of the aerodynamic theories
used in aeroelasticity is presented, with emphasis on those mathematical formulations
specifically implemented in the VLM4FW code and those incorporated in standard commercial software such as NASTRAN and ZAERO.
Generally, depending on the non-steadiness of the flow, aerodynamics study can be
split into three major categories: steady, quasi-steady, and unsteady aerodynamics. A
discussion on each particular case is considered next.

3.2

Steady aerodynamics

When aerodynamic surfaces are in steady motion (for instance an aircraft in straight
level flight), the aerodynamic variables are assumed to be constant and not changing with
time at each given position of the flow field. In this fashion, flow variables will be only
functions of spatial coordinates and not of time, as would occur in unsteady motion. For
this, several mathematical theories can be used to study a three-dimensional aerodynamic
body or even model the spanwise lift distribution of a wing under the assumption of steady
aerodynamics.
One of the simplest is the well-known Strip Theory, where the wing is considered to
be composed of a number of elemental chordwise strips. Here it is assumed that the lift
coefficient on each chordwise strip is proportional to the local angle of attack and that

44

CHAPTER 3. THEORETICAL BACKGROUND

the lift on one strip has no influence upon another. In other words, the lift on each strip
of the wing is assumed to be the same as if the strip were part of an infinite span twodimensional wing ignoring any kind of 3D effects, specially at the outwards wing region
where the spanwise lift distribution should fall off to zero at the tip. Furthermore, each
strip behaves in the same fashion as an isolated typical section (BISMARCK-NASR, 1999).
Hence, root and tip effects are essentially ignored, giving approximately good results for
high aspect ratio wings (as a rule of thumb AR 6). However, these three-dimensional
effects can somehow taken into account in the strip theory by correcting the sectional
lift-slope of each strip (WRIGHT; COOPER, 2007), whether by the help of the own chords
variation for taper wings or by a modified user-defined lift slope (YATES, 1966).
Even in the modified strip theory approach as proposed by YATES (1966), there are
still inaccuracies primarily due to the lack of interaction effects between different parts
of the lifting surfaces. Instead, It is common practice in industry to make use of the
so-called panel methods where the lifting surface is divided up into panels with potential
flow element distributions (such as vortices or doublets acting over each panel). The most
computational effort using this approach is to obtain the aerodynamic influence coefficients
(AICs) that determine the aerodynamic influence that each panel has on another (ZONA,
2014a). It is worth to remark that for the strip theory this matrix will be diagonal.

3.2.1

Vortex Lattice Method

As illustrated in Figure 1.5, the basic concept of panel methods is to represent the
real geometry of the aircraft body by a discrete number of quadrilateral panels disposed
on the actual surface (or also on the reference mean surface). To each aerodynamic
panel, there is attached one or more types of singularity distributions, such as sources,
vortices, and doublets. As noted by BRISTOW and GROSE (1978), it can be shown that
there is an important equivalence between surface doublet and vortex distributions. Next,
these singularities are determined by specifying some functional variation across the panel
(in general constant, linear, quadratic, etc.), whose actual value is set by corresponding
strength parameters. These strength parameters are in turn determined by solving the appropriate boundary condition equations in terms of non-penetrantion tangential flow and
once the singularity strengths have been determined, the velocity field and the pressure
field can be computed.
Particularly the traditional Vortex Lattice Method is considered among the simplest
and earliest numerical methods utilizing computers for the computation of aerodynamic
characteristics as mentioned in Section 1.1.1. Its origins were formulated in the late
30s, and FALKNER (1943) was who named it Vortex Lattice. His idea of discretizing
the wing into a lattice (surface) with horseshoe vortices on each aerodynamic panel can

CHAPTER 3. THEORETICAL BACKGROUND

45

be thought as an extension of the original Lifting Line Theory (PRANDTL, 1923), being
able to predict the normal induced velocities (downwash) over the wing using the law of
Biot-Savart and estimate the induced drag. This method is based on the solution of the
classical Laplace equation, thus built on the assumption of ideal potential, incompressible,
steady, inviscid and irrotational flow (although some corrections can be done for smallperturbations compressible flow). VLM is also subject to the same basic theoretical
restrictions that apply to classical conventional panel methods (HESS; SMITH, 1966).
Comparing the similarities of both types of methods (conventional panel methods
vs. VLM), here the singularities are also placed on a surface and the tangential nonpenetration boundary condition is guaranteed at a number of specific points, named
collocation control points. Thus, a compatible determined system of linear algebraic
equations is solved to determine singularity strengths.
Among the differences: the classical formulation of VLM does not take into account
the thickness of the lifting surface, being only suitable for slender thin bodies (neglecting
the thickness in VLM can sometimes be beneficial, as will be commented next). Furthermore, boundary conditions (BCs) are generally applied on a mean surface and not on
the actual surface. These assumptions limit the method to only compute the difference
in the pressure coefficient Cp, being unable to predict the local pressure coefficient on
the lower and upper surfaces. In addition, singularities used in the VLM theory are not
distributed over the entire surface, only horseshoe vortex filaments are disposed on each
aerodynamic panel with the circulation values as unknown of the problem.
In terms of results comparison of the VLM with other source panel methods, VLM
results often predicts the experimental data very well. This can be attributed to the
fact that VLM neglects both thickness and viscosity effects, and for most cases, the
effect of viscosity offsets the effect of thickness giving good agreement between VLM and
experiment for moderate AOAs (MARGASON et al., 1985).
Even though it is restricted to the assumptions mentioned in the preceding paragraphs,
the implementation of a VLM code can be easily corrected to take into account the effects
of sidewash and backwash, as proposed by MARGASON and LAMAR (1970) for arbitrary
complex wings planforms with variable dihedral and sweep. As will be shown later,
the VLM4FW program is based on these foundations, contemplating out of X-Y plane
corrections during the aeroelastic deformation of the wing in steady flight loads. Hence,
each aerodynamic panel is considered with a given dihedral, sweep and torsion for each
given time increment during the aeroelastic coupling.
As anticipated before, the basic approach of VLM is to discretize the continuous distribution of bound vorticity over the wing surface by a finite number of discrete horseshoe
vortices. This can be represented in Figure 3.1, where the individual horseshoe vortices

46

CHAPTER 3. THEORETICAL BACKGROUND

are placed in a lattice array form, thus giving name to the vortex lattice method.
FIGURE 3.1 Typical wing planform modeled by the Vortex Lattice Method.

Source: BERTIN; CUMMINGS, 2008.

The bound vortex coincides with the quarter-chord line of each local panel. As remarked previously, in a more rigorous analysis the vortex lattice panels should be located
on the actual surface of the wing and the trailing vortices should leave the wing following
a curved path. However, for this engineering approach suitable accuracy can be obtained
yet assuming that the trailing vortices keep a straight line and extend downstream to infinity. These trailing vortices can be assumed to be aligned whether to the free stream or
parallel to the body global vehicle axis. In this formulation the latter case will be adopted
since the formulas of the AIC computation are simpler and there is similar accuracy with
respect to the other case.
The imposition of the boundary condition requires for an inviscid flow to be tangent
to the wing surface at each control point of the panels, providing a set of simultaneous
equations in the unknown vortex circulation strengths. The control point of each panel is
centered spanwise on the three-quarter-chord line at midpoint between the trailing-vortex
legs as in DLM (KALMAN et al., 1971). This choice of the control point location at the
3/4 chord has been proved to be optimum for two-dimensional flow and also results in a
high degree of accuracy for three-dimensional flow (JAMES, 1969).

CHAPTER 3. THEORETICAL BACKGROUND

47

FIGURE 3.2 Geometric parameters of an aerodynamic panel in VLM.

LEB
B

cB

LEA

TEB
A

cA

TEA

It is important to outline that for the case of full span wings with general sweep,
now the bound-vortex filaments of the left semi-wing will not be parallel to those of the
right semi-wing. Hence, the bound-vortex system on one side of the wing will produce
downwash on the other side of the wing, reducing the net lift and increasing the total
induced drag produced by the flow over the finite-span wing. The downwash resulting
from the bound-vortex system will be shown to be larger near the root of the wing, while
the downwash resulting from the trailing-vortex system larger near the wing tip. As a
consequence, the lift will be reduced both near the extremities of the semi-wing (root and
tip).
Considering an elementary aerodynamic panel on the right semi-wing, this will in turn
contain a horseshoe vortex as sketched in Figure 3.2 and 3.3. Three different segments
can be divided to calculate their effects separately and the velocity induced by the vortex
filament of constant strength and equal for all segments can also be computed by the use
of the law of Biot and Savart (ROBINSON, 1956).
For the bound vortex of segment AB, which joins the left and right quarter-chord
extremities (A) and (B), the velocity induced at the control point with coordinates
(xm , ym , zm ) is given as
# n n # o n # o
F 1AB
F 2AB
VAB =
4

(3.1)

48

CHAPTER 3. THEORETICAL BACKGROUND

FIGURE 3.3 Horseshoe vortex on an elementary aero panel of the right semi-wing.

Source: BERTIN; CUMMINGS, 2008.

n # o
F 1AB = ([(ym yAn )(zm zBn ) (ym yBn )(zm zAn )]

[(xm xAn )(zm zBn ) (xm xBn )(zm zAn )] +




[(xm xAn )(ym yBn ) (xm xBn )(ym yAn )] k /

(3.2)

[(ym yAn )(zm zBn ) (ym yBn )(zm zAn )] +

[(xm xAn )(zm zBn ) (xm xBn )(zm zAn )]2 +



[(xm xAn )(ym yBn ) (xm xBn )(ym yAn )]2
n # o
(xBn xAn )(xm xAn ) + (yBn yAn )(ym yAn ) + (zBn zAn )(zm zAn )
p
F 2AB = +
(xm xAn )2 + (ym yAn )2 + (zm zAn )2
(xBn xAn )(xm xBn ) + (yBn yAn )(ym yBn ) + (zBn zAn )(zm zBn )
p

(xm xBn )2 + (ym yBn )2 + (zm zBn )2


(3.3)
Similarly, for the left and right trailing-vortex legs which go from the corresponding

CHAPTER 3. THEORETICAL BACKGROUND

49

quarter-chord vertices down to infinity, segments (A) and (B)

# n
VA =
4
# n
VB =
4

# n
VA =
4

h
i
{CAj } + {CAk } k
h
i
{CBj } + {CBk } k

(zm zAn )
+ (yAn ym )k
[(zm zAn )2 + (yAn ym )2 ]
"
1+ p

n
#
VB =
4

)
xm xAn

(xm xAn

(zm zBn )
+ (yBn ym )k
[(zm zBn )2 + (yBn ym )2 ]
"

)2

+ (ym yAn )2 + (zm zAn )2

)
xm xBn

1+ p
(xm xBn )2 + (ym yBn )2 + (zm zBn )2

(3.5)

(3.6)

The total velocity at some arbitrary control point (m) induced by the horseshoe vortex
of another panel (n) will be the sum of the components of those equations, which reads
#
#
#
#
V (m, n) = VAB (m, n) + VA (m, n) + VB (m, n)
Combining Equation (3.1), (3.5) and (3.6), the expression above becomes

1
#
V (m, n) = n [{CABi } + ({CABj } + {CAj } + {CBj }) +
4
i

({CABk } + {CAk } + {CBk }) k (3.7)


Equation (3.7) can be further compacted by putting together all the contributions
other than the strength circulation singularity n (yet unknown at this stage), in the
following fashion
h
i
#
#

V (m, n) = n (m, n) = n i (m, n) + j (m, n)


+ k (m, n)k

(3.8)

50

CHAPTER 3. THEORETICAL BACKGROUND

The velocity influence coefficients depends exclusively on the geometry of the inducing horseshoe vortex of panel (n) and its distance from the control point of panel (m).
Since it is assumed to be valid the linear superposition due to the fact of being handling
a linear system of algebraic equations, the effect from each panel is summed up together
to finally obtain an expression for the total induced velocity at the control point (m)
X #
#
V (m) =
(m, n)n
N

(3.9)

n=1

For full-span wings, an extra consideration must be taken into account. The left semiwing, even though it is not modeled geometrically, it does also contribute mathematically
and physically by inducing additional velocities on the control points of the right semiwing. Thus, its effect must be added in the Equation (3.9).
The derivation of the induced velocities on the left semi-wing is nearly similar to what
has been presented here, with some particular remarks. In Equation (3.1), (3.5) and (3.6),
for the left semi-wing expressions ym do not change since the control points are still at
the right semi-wing, only yAn , yBn for vertex (A) and (B) will change the sign to (-) to
represent the vortices from the contribution of the left semi-wing. Whatever xm , xAn , xBn
will remain unmodified due to X-Z symmetry assumption. In addition, all factors of terms
in formula of these expressions invert sign since those ones were derived for vortices on
right semi-wing only. It is important to highlight that here for the left semi-wing vertex
(A) means closest to wing root, and vertex (B) means closest to the wing tip.
On the other hand, it is also assumed that all singularities, belonging to each individual left and right panel mirrored about the x-axis, are the same to guarantee the X-Z
symmetric flow in order to reduce the order of unknowns from 2N x 2N to N x N. Hence,
the aerodynamic influence coefficients for the right semi-wing, where the boundary conditions of the problem are imposed, become the sum of the contribution of the right panels
over the right semi-wing and the left panels over the right semi-wing. Mathematically

(r)

(rr)

i (m, n) = i
(r)
j (m, n)
(r)
k (m, n)

=
=

(rl)

(m, n) + i (m, n)

(rr)
j (m, n)
(rr)
k (m, n)

+
+

(rl)
j (m, n)
(rl)
k (m, n)

(3.10a)
(3.10b)
(3.10c)

Finally, Equation (3.9) for full-span wings transforms to


i
X #
X h #
#
#
V (m) =
(r) (m, n)n =
(rr) (m, n) + (rl) (m, n) n
N

n=1

n=1

(3.11)

CHAPTER 3. THEORETICAL BACKGROUND

51

Each velocity component of Equation (3.11) can be converted to matrix notation for
simpler algebraic manipulation (as will be seen later), giving place to vectors and matrices
of order N such as

3.2.1.1

{u} = [i (r) ]{}

(3.12a)

{v} = [j (r) ]{}

(3.12b)

{w} = [k (r) ]{}

(3.12c)

Boundary conditions

The application of the boundary conditions imposes that the flow must be tangential
at some particular points of each aerodynamic panel (named collocation control points), or
in other words, that the surface must be a streamline of the flow. Thus, since there are N
unknowns of the problem for each vortex strength, N equations of boundary conditions can
be imposed at each collocation point of the panel, leading to a determined N x N system
of equations. If the flow is tangent to the wing, the component of the induced velocity
normal to the wing at the control point must counterbalance the normal component of
the free-stream velocity.
FIGURE 3.4 Geometry of the mean camber surface for the tangential flow BCs.

Source: BERTIN; CUMMINGS, 2008.

As illustrated in Figure 3.4, in order to guarantee the boundary condition of tangential

52

CHAPTER 3. THEORETICAL BACKGROUND

flow at the surface, the following relation is obtained

um sin m cos m vm cos m sin m + wm cos m cos m = V sin (m m ) cos m


(3.13)
Dividing each side of Equation 3.13 by cos m , it follows
um sin m vm cos m tan m + wm cos m = V sin (m m )

(3.14)

A relationship between the chordwise slope (mean camber line) at the control point
and the torsion angle of the panel can be deducted in the following manner

dz
m = arctan
= m
dx m

(3.15)

Finally, after substitution of Equation (3.15), Equation (3.14) gets:

+um sin m vm cos m tan m + wm cos m = V sin (m + m )

(3.16)

As a consequence, each equation will be obtained in order to satisfy the boundary


condition of the flow at each specific control point. Generalizing for all the N equations

u1 sin 1 v1 cos 1 tan 1 + w1 cos 1

u sin v cos tan + w cos


2
2
2
2
2
2
2
.

..

u sin v cos tan + w cos


N
N
N
N
N
N
N

= V sin (1 + 1 )
= V sin (2 + 2 )
..
.

(3.17)

= V sin (N + N )

The Equation (3.17) can be also expressed in matrix form for convenience. After
algebraic manipulation with the help of Equation (3.12), the matrix system of equations
corresponding to the flow boundary condition can be re-arranged and becomes

CHAPTER 3. THEORETICAL BACKGROUND

53





(r)
(r)
sin [i ]{} cos tan [j ]{}




+ cos [k (r) ]{} = {V sin ( + )} (3.18)



Grouping together the terms with the vector of circulation as unknowns, the system
of equations is in closed-form and can be solved by inversion of the LHS matrix.

LHS

z
{

}|






(r)
(r)
(r)
sin [i ] cos tan [j ] + cos [k ]{} =





{V sin ( + )} (3.19)
|
{z
}
RHS

{} = [LHS(r) ]1 {RHS(r) }

(3.20)

Equation (3.19) has been implemented into the VLM4FW code for aeroelastic flight
loads computation of flexible wings during deformation of the panels in twist and bending
(represented by and parameters). Inversion of the LHS matrix is performed by a
MATLAB intrinsic algorithm based on Gaussian elimination.
It is important to remark that Equation (3.19) holds and is valid even for large displacements theory, since no assumptions nor approximations have been made to restrict
the validity to a linearized theory. If small AOA were to be assumed with small perturbations and deflections, then Equation (3.19) would be greatly simplified (MARGASON;
LAMAR, 1971), and would eventually become

(r)
(r)
tan [j ] + [k ] {} = {V ( + )}


(3.21)

54
3.2.1.2

CHAPTER 3. THEORETICAL BACKGROUND


Aerodynamic characteristics

For the aerodynamic lift and moment computation, the theoretical formulation presented in the NASA Report TN D-6142 is adopted here (MARGASON; LAMAR, 1971), with
some differences in the derivation of the mathematical development, as will be pointed
out in the next paragraphs. Using this approach, a special treatment is needed during
the aeroelastic deformation since there are now local sidewash and backwash velocities
induced by the wing out of the X-Y plane in addition to the free-stream velocity.
The circulation terms already obtained from Equation (3.20) are used to compute the
lift and pitching-moment data for arbitrary configuration of panels with torsion and bending, or in other words dihedral for discrete elements. However, due to the sidewash effects,
MARGASON and LAMAR (1971) proposed to compute additional circulation terms that
contribute to the chordwise lift (induced by the chordwise bound vortices). In addition,
the backwash effects also alter the classical spanwise lift in such a manner to add new
terms, as will be shown next. It is important to note that a simplified procedure could
also be used for undeformed configurations (zero-dihedral planforms) in the classical VLM
formulation (BERTIN; CUMMINGS, 2008).
The interaction of these new sidewash and backwash velocity components together
with the spanwise bound vortex provides an additional lift force that needs to be also
computed at different locations other than the original control points (xm , ym , zm ) used
to impose the BCs.
Starting at the right semi-wing tip, the lift developed along the chordwise bound
vortices (right trailing leg BD of each panel) will vary from the LE down to the TE due
to the longitudinal variation of both the sidewash velocity and the local value of vortex
strength. Thus, a sum of each contribution must be done for all the panels chordwise
along a given right trailing leg BD. Inboard from the tip, this chordwise bound vortex lies
between two chordwise rows of horseshoe vortices superposed (one from the left trailing
leg AB and the other for the adjacent right trailing leg BD), and its circulation is equal
to the difference between the circulations of the elemental panel of each row. As seen in
Figure 3.5, the sidewash velocity chosen is the one computed at the 3/4 chord on the right
chordwise bound vortex (trailing leg BD) of each aerodynamic panel. Since Figure 3.5
works with the left semi-wing, in that case the control point would be chosen on the left
chordwise bound vortex (also trailing leg BD by the convention adopted outwards from
the root to the tip). VLM4FW program is implemented in such a way to take into account
these considerations for the calculation of the net circulation of each bound vortex row
BD (p).
This procedure continues for all the panels in a chordwise row until the final one, with
a special consideration. The final chordwise bound vortex extends from 1/4 chord of the

CHAPTER 3. THEORETICAL BACKGROUND

55

FIGURE 3.5 Chordwise horseshoe vortices and control points for backwash and sidewash
computation (left semi-wing).

Source: MARGASON; LAMAR, 1971.

last elemental panel to the TE of the wing, so that its length must be equal to only 3/4
chord of that panel in Equation (3.23). VLM4FW automatically detects if the panel is
the last one next to the TE to adjust the 3/4 chord.
The computation of the sidewash velocities is similar to the formulation presented in
Section 3.2.1, with some particular differences. Those chordwise bound vortex filaments
or their extensions which go through a point at which the velocity is being computed need
to be eliminated in the calculation since a line vortex filament cannot induce a velocity on
itself or its prolongation. For this a checker has been implemented in the routine PSIBD
together with a search tolerance of vortex filaments.
Hence, Equation (3.12) now transforms for the sidewash velocities into
{vBD } = [BDj (r) ]{}

(3.22)

where the plus and minus sign is needed to take into account if the local dihedral of
each panel (bending) is positive or negarive. For each panel, the lift generated along an
elemental length of chordwise bound vortex divided by free-stream dynamic pressure and

56

CHAPTER 3. THEORETICAL BACKGROUND

reference wing area will be given by


vBD (p)
lt (p)
2 BD (p)
=

c
(p)
B
V
q S
S V

(3.23)

where BD (p) is the local value of net circulation of the panel as described before and
cB (p) is the chord of elemental length of the chordwise bound vortex. No lift is computed
along the chordwise bound vortex at the root because the sidewash velocity is zero for a
symmetric loading and geometry (MARGASON; LAMAR, 1971).
As mentioned earlier, the lift along the spanwise bound vortex now depends on the
values of free-stream, backwash, and sidewash velocities and on the circulation at the
elemental panel. Analogous to the sidewash, the backwash velocity is computed using
the influence coefficient matrices, but changing the location of the control point to the
mid-span along AB vortex filament segment as shown in Figure 3.5. Hence, the backwash
and sidewash velocity components related to the spanwise lift can be computed as

{uAB } = [ABi (r) ]{}

(3.24a)

{vAB } = [ABj (r) ]{}

(3.24b)

A special checker is also implemented in the VLM4FW code to verify if the wing has
or has not initial dihedral in the undeformed configuration, provided that in the case of
a wing without dihedral the spanwise AB bound vortices cannot induce velocity on itself
or its axial prolongation. A routine named PSIAB already includes this functionality.
The expression for the spanwise lift (induced by the spanwise bound vortices and affected by backwash and sidewash), divided by free-stream dynamic pressure and reference
area is given by
ls (p)
2 (p)
=
ss (p)
q S
S V




uAB (p)
vAB (p)
1

tan cos
V
V

(3.25)

where (p) is sweep angle of the projected bound vortex AB into the X-Y plane with
respect to the Y-Z plane, (p) the local dihedral angle of each elementary panel (bending
for the wing under deformation) and ss (p) is the length of each bound vortex AB for a
panel in space projected into the Y-Z plane computed as

ss (p) = (yB (p) yA (p))/ cos((p))


For numerical purposes due to the discretization, the chordwise lift contribution values

CHAPTER 3. THEORETICAL BACKGROUND

57

obtained from the Equation (3.23) need to be transported to be consistent with the
spanwise lift values from Equation (3.25), and then be summed together for each strip.
Thus, these results are linearly interpolated from the BD chordwise segments of each panel
to the midspan of AB segment.
The lift of each panel, assumed to be located at the aerodynamic center (1/4 chordwise
and midpoint spanwise for each panel) finally reads
(s)

l(p) =

ls (p) lt (p)
+
q S
q S

q S

(3.26)

The total lift coefficient for the whole wing (LHS and RHS) can be computed summing
the contributions of each panel of the right semi-wing, and then multiplying by 2 in the
following manner
" N 
N
X ls (p)  X
L
CL =
=
2
+
q S
q S
p=1

p=1

(s)

lt (p)
q S

!#

(3.27)

The span-load local coefficients at each strip (i) are obtained from the lift along the
spanwise and chordwise bound vortices of each horseshoe vortex summed chordwise (j
from 1 at the LE down to Nj at the TE). Mathematically

cls c
CL c
clt c
CL c

(i)

(i)

 
X

Nj 
ls (j)
S
1
1
=

CL c
ss (i) j=1 q S cos (j)
!
 
X
Nj
(s)
S
1
lt (j)
1
=

CL c
ss (i) j=1 q S
cos (j)

(3.28a)

(3.28b)

Unlike the theoretical development published in the Report NASA TN-D-6142, Equation (3.28) takes into account the variation of dihedral of each panel along a given strip.
For that reason the cos has been inserted into the summatory. Putting together both
Equations (3.28) the ratio of local lift coefficient variation with chord can be finally obtained at each strip (i) as


cl c
CL c

(i)

cls c
CL c

(i)

clt c
CL c

(3.29)

(i)

Equation (3.29) is very important provided that once the cl c/CL c distribution is known,
this formulation can be easily coupled with the calculation of the induced drag corrected
by transversal-flow effects as will be discussed next.

58

CHAPTER 3. THEORETICAL BACKGROUND


On the other hand, the distribution of local lift coefficient spanwise now reads

cl (i) =

"

cls c
CL c

(i)

clt c
CL c

 #
(i)

c CL
c(i)

(3.30)

For the computation of the induced drag, a corrected method of VLM is presented here
as proposed by KALMAN, GIESING and RODDEN (1970) to contemplate the transversal
flow induced by cross-flow energy in the wake. Without this correction, investigations
on rectangular and trapezoidal wings had showed too low convergence of induced drag,
sometimes even less induced drag than the corresponding elliptical wing (for the same
1/ AR) which is impossible in practice.
Assuming a symmetrical aerodynamic loading, after integration by parts of the Multhopp
Integral the induced angle of attack at the bound vortex of each aerodynamic panel can
be expressed by the following formula (KALMAN et al., 1970)
1
i =
8

+b/2


cl c
cl c
+
d
(y )2 (y + )2

(3.31)

Considering a given strip (i) with semi-width of panel ei and with the centerline located
at = yi . Then, assuming the spanwise loading to have a parabolic variation across the
strip


cl c
CL c

= ai 2 + b i + c i

(3.32)

(i)

where the coefficients of the second-order polynomial are given by


#
" 





1
cl c
cl c
cl c
ai =
dii
(dii + dio )
+ dio
(3.33)
dii dio (dii + dio )
CL c (i+1)
CL c (i)
CL c (i1)

bi =

1
{dio (2i + dio )
dii dio (dii + dio )
#
"
"





 #)
cl c
cl c
cl c
cl c

dii (2i dii )

(3.34)
CL c (i)
CL c (i1)
CL c (i+1)
CL c (i)
ci =

cl c
CL c

ai i2 bi i
(i)

(3.35)

CHAPTER 3. THEORETICAL BACKGROUND

59

The terms dii and dio have subindices (i) and (o) to indicate the inner and outer
location of adjacent panels. They are computed respectively in the following way

dii = ei + ei1

(3.36a)

dio = ei + ei+1

(3.36b)

At the wing root Equation (3.32) and the strip semi-windth need to be adjusted
according to the following cases

(at root)

cl c
CL c

ei1

=
(i1)

cl c
CL c

= ei

(i)

(3.37)

In similar fashion for the wing tip

(at tip)

cl c
CL c

ei+1

=0
(i+1)

(3.38)
=0

Caution must be taken in case of the wing root not being coincident with the x-axis
(see Appendix A). Should this occur, a translation of axis is mandatory in Equation 3.32
for the method to provide accurate results, so that the spanwise position of each strip be
always measured from the root instead of from the absolute y-coordinate, which reads
= yi yroot

(3.39)

Substituting Equation (3.32) into (3.31), a numerical approximate form of the induced
AOA dependent on the spanwise continous coordinate (y) can be obtain such as

Ni  2
i (y)
1 X
y (yi + ei )ai + y 2 bi + (yi + ei )ci

CL c
4 i=1
y 2 (yi + ei )2

y 2 (yi ei )ai + y 2 bi + (yi ei )ci


+
y 2 (yi ei )2

2
1
(y ei )2 yi2
y ai log
+
2
(y + ei )2 yi2
)
 2
2
1
y (yi + ei )2
bi log 2
+ 2ei ai
(3.40)
4
y (yi ei )2

60

CHAPTER 3. THEORETICAL BACKGROUND


Similarly, assuming the same parabolic distribution for cl ci across the strip (i)


cl c
CL c



i
CL c



(i)

e
ai y 2 + ebi y + e
ci

(3.41)

where the coefficients e


ai , ebi and e
ci are found from Equations (3.33), (3.34) and (3.35)
but now replacing (cl c/CL c)(i c/CL c) instead of (cl c/CL c) and the real spanwise coordinate y instead of the dummy coordinate . Hence, these equations become

1
e
ai =
dii dio (dii + dio )

dii



cl c
CL c



i
CL c







cl c
i
(dii + dio )
+
CL c
CL c (i)
(i+1)
)



cl c
i
dio
(3.42)
CL c
CL c (i1)

(

)





cl c
cl c
i
i

dio (2yi + dio )

CL c
CL c (i)
CL c
CL c (i1)
(




 )!
cl c
i
cl c
i
dii (2yi dii )

(3.43)
CL c
CL c (i+1)
CL c
CL c (i)

1
ebi =
dii dio (dii + dio )

e
ci =



cl c
CL c



i
CL c



(i)

e
ai yi2 ebi yi

(3.44)

As a conclusion, the Multhopp Integral to obtain the induced drag can be evaluated
numerically by using the generalized Simpsons rule and the span-load distribution of
induced drag along for each strip (i) gets
N

i
CDi
4 X
=
e(i)
CL 2
AR i=1




1
2
2
a(i) + y(i)eb(i) + e
c(i)
y(i) + e(i) e
3

(3.45)

KALMAN et al. (1970) have studied the results of elliptical span loading wings using

Equation (3.45) with excellent agreement. The comparison with GARNER, HEWITT and
LABRUJERE also showed good correlation. This correction method, although originally
formulated for planar wing configurations, also proved to be reliable for wings out of the
X-Y plane as analyzed with the Saunders wing (KALMAN et al., 1971). Accordingly, it can
also be applied for the aeroelastic deformation during the steady flight loads implemented
in the VLM4FW code.
The drawback of this method resides on the slow convergence in the near wing tip

CHAPTER 3. THEORETICAL BACKGROUND

61

region, as will be discussed in Chapter 4. VLM4FW program has implemented a modified


method of this formulation at the near wing tip, by correcting the induced angle of attack
of the last 2 points from the tip with a cubic function. Similar problems are encountered
if the wing root does not lie along the x-axis, creating a false wing tip with subsequent
convergence issues. In this latter case, dummy aerodynamic panels are filled out to avoid
the gap between the root and the x-axis as described in Appendix A. Similarly, the first
2 points from the root of the induced angle of attack are also corrected with a cubic
function, analogously to what is done in the near tip region.
The aerodynamic forces acting on each panel, being the lift, parasite drag and induced
drag are assumed to be located at the aerodynamic center of the panel. In other words,
this is positioned at the quarter-chord and midpoint spanwise of each panel. It might also
been assumed to be at the quarter-semi-chord, equivalent to the 25% of the semi-chord
as suggested by ZONA (2014) providing better results for convergence.
Using Equation (3.26) for each panel, the induced drag will be given as

di (p) = l(p) sin i (i)

(3.46)

being i (i) the induced AOA already computed and corrected by spanwise transversal
flow at each strip. The index (i) is used to distinguish that it is assumed a constant
effective angle of attack being seen by each chord row strip (there can be twist along
span with these formulas, but no chordwise twist along panels at same strip). With this
considerations, the induced angle of attack is function of the spanwise position and not
of the panel itself. Accordingly, the effective angle of attack at each strip is given by

ef f (i) = 0 (i) i (i)

(3.47)

Finally, combining Equations (3.30) and (3.40) the spanwise distribution of the induced
drag coefficient reads

cdi (i) = cl (i) sin i (i)

(3.48)

The parasite drag on each panel is computed by definition as

d0 (p) = cd0 q e
c ss (p)

(3.49)

where e
c is the average local chord of each panel based on the left and right segments
(cA and cB ) as illustrated in Figure 3.2. Putting together Equations (3.46) and (3.49),

62

CHAPTER 3. THEORETICAL BACKGROUND

the total aerodynamic drag of each panel reads

d(p) = d0 (p) + di (p)


3.2.1.3

(3.50)

Transformation of coordinates

Once the aerodynamic forces and moments are obtained, a transformation of coordinates is required since they were originally computed using the local aerodynamic axes
of each panel. So the two-steps procedure is as follows: as a first step the local aerodynamic axes are transformed into a local body axes, and secondly these local body axes are
transformed into the global body axes for final summation. This procedure is evaluated
at each panel of the aerodynamic mesh.
For the computation of rotation of coordinates it is assumed a constant effective angle
of attack and sideslip angle seen by each chordwise row following KALMAN et al. (1970)
as done before for the computation of induced drag, so that their values will be variable
spanwise at each strip and constant chordwise. The bending and torsion angles continue
to be panel-dependent.
Assuming each panel does not create any side aerodynamic force transversal to the
free-stream direction, the local aerodynamic force at each panel is expressed as

{Fa }(p)

d(p)

=
0

l(p)

(3.51)

The transformation matrix to express the aerodynamic force into the local body axes
is given at each strip (i) as

[Tbla ](i)

cos ef f cos cos ef f sin sin ef f

=
sin
cos
0

sin ef f cos sin ef f sin cos ef f (i)

(3.52)

Using Equation (3.52), the aerodynamic force at each panel expressed into the local
body axes will be

{Fbl }(p) = [Tbla ](i) {Fa }(p)

(3.53)

At this moment, the difference of pressure between the upper and lower surface for non
planar wing configurations can be computed based on the local body coordinate system,

CHAPTER 3. THEORETICAL BACKGROUND

63

since it will be given by the z-normal local direction of the force in Equation (3.53).
Mathematically

p(p) = p

lower

upper

(p)


Fzbl
y e
c (p)

(3.54)

Similarly, the pressure coefficient is then expressed in the the following non-dimensional
form

Cp (p) =

Cplower

Cpupper (p)


Fzbl
1
y e
c (p) q

(3.55)

where y represents the width of each panel strip projected into the y-axis and e
c is
the average local chord of each panel based on the left and right segments (cA and cB ) as
illustrated in Figure 3.2. It is important to remark here the calculation of Cp as given in
Equation (3.55) is a variation of the formulation presented in the Report NACA TN-D6142, since there the force expressed in the aerodynamic coordinate system (lift) is used
instead of the force expressed in the local body axes (z-normal local panel force).
The second transformation of coordinates is used to take the aerodynamic forces from
the local body to the global body CSYS. The corresponding matrix of rotation is related
as follows at each aerodynamic panel (p)

[Tbgbl ](p) =

cos cos  sin sin cos  + cos sin  cos sin cos  sin sin 

(3.56)
cos sin  cos cos  sin sin sin  sin cos  cos sin sin 
sin
sin cos
cos cos
(p)
Using Equation (3.56), aerodynamic force at each panel expressed into the global body
xyz axes will finally be

{Fbg }(p) = [Tbgbl ](p) {Fbl }(p)

(3.57)

On the other hand, it may also be necessary and useful to extrapolate these global
body loads from the aerodynamic center of each panel to the nodal positions in case
nodal output is needed for comparison with other commercial software (e.g. MSC.Nastran
and ZAERO). For this a MATLAB 4 griddata extrapolator has been invoked into the
VLM4FW main program.

64

3.2.2

CHAPTER 3. THEORETICAL BACKGROUND

Quasi-steady aerodynamics approach

The preceding section discussed a steady aerodynamic formulation where lifting surfaces are fixed relative to the free-stream air flow and where the aerodynamic forces and
moments are constant with time. In the case of an airfoil or lifting surface undergoing a
general motion in plunge or pitch, then the aerodynamic loading (forces and moments)
will vary with time.
A simple but limited approach is to assume that at any instant of time the lifting body
behaves with the same aerodynamic characteristics of that one moving with constant linear
and angular velocities equal to the instantaneous values (BISMARCK-NASR, 1999). This is
the well-known quasi-steady fundamental assumption that ignores any kind of frequencydependent effects but introduces great simplifications to the problem formulation under
certain circumstances of low unsteadiness of the flow.
On the other hand, caution needs to be taken when using this approach, specially for
dynamic instabilities studies. Depending on the case, the quasi-steady approach may be
conservative or non-conservative for prediction of flutter velocities. For instance, neglecting the lag states in the non-circulatory contribution can lead to lower flutter speeds for
a typical section analysis (BISMARCK-NASR, 1999) or even for a three-dimensional lifting
surface, such as the Hancock wing (WRIGHT; COOPER, 2007). However, this is not always
the case and should not be generalized to be adopted as a conservative method of design.

3.3

Unsteady aerodynamics

The steady and quasi-steady assumptions serve as a first approach due to its easiness
to handle weak and non-frequency dependent effects. In this case, at any instant of time
the aerodynamic surface behaves with characteristics of the same surface moving with
constant speed in plunge and pitch equal to the instantaneous values. Nevertheless, it
is a simple theory and not sufficiently accurate for flutter and gust response, so more
advanced unsteady aerodynamics need to be developed to take into account in a more
precise manner the dependency of aerodynamic forces and moments on the frequency
of the dynamics motion. In this way, instantaneous changes in AOA or airspeed on an
initially stationary airfoil, or even on an oscillatory harmonic motion of the airfoil can be
studied and its lift characteristics better estimated.
Several authors contributed over the last decades to the development of mathematical
theories in unsteady aerodynamics. Among them, WAGNER (1925) formulated a function
for the general motion of bi-dimensional airfoils due to an instantaneous change of the
AOA or airspeed in the time domain. Wagner assumed an inviscid and incompressible

CHAPTER 3. THEORETICAL BACKGROUND

65

flow for his theory, and given a sudden increase or decrease in angle of attack or airspeed
the lift evolution in time is characterized by this function. For instance, if the increase in
AOA were 0 /2, the lift would not increase instantaneously by a factor of 50% as might
be expected from the quasi-steady aerodynamics approach. In reality, there should be a
delay to reach the final steady-state value of lift, mainly due to the circulation around the
airfoil and wake downstream that need to be updated for the new steady flow condition.
This approach can be mathematically modeled as the change of lift acting at the
quarter chord which builds up by computing the normal downwash at the 3/4 chord
location, expressed in the following manner for small angles of attack (FUNG, 1969)
1
1
L = V 2 c 1 a0 ( ) = V c 1 a0 w ( )
2
2

(3.58)

being the non-dimensional time = 2V t/c, with a physical meaning related to the
distance in semi-chords that the trailing wake travels downstream from the TE.
The Wagners function can be defined for the incompressible case using the Garrick
rational approach as

( ) = 0
( ) =

+2
+4

if 0

(3.59)

if > 0

Sometimes Wagners function can also be defined using exponential functions (Jones
approach), instead of using fractional functions as Equation (3.59). The advantage of
doing this resides in the fact of being easier functions to handle when applying Laplace
transformations and the convolution Duhamels integral. Mathematically, the Jones exponential approximation is expressed as
( ) = 1 0.165e0.041 0.335e0.32

(3.60)

In addition to sudden changes of angle of attack or speed of the airstream (modeled as


step input), this function can also be used to compute the lift for a general arbitrary motion
of the airfoil by using the Duhamel integral technique (FUNG, 1969). The downwash at
the 3/4 chord position is computed at each instant of time and the approach is analogous
to determining the response of a system to a general input expressed as a superposition
of a series of steps, which response function is already known (SRF given).
On the other hand, THEODORSEN (1935) proposed a function to usefully predict the
onset of dynamic instabilities (in particular flutter ) in the frequency domain and also
analyze the response to continuous turbulence. Physically it represents any changes in
amplitude and phase of sinusoidal unsteady aerodynamic forces relative to the quasi-

66

CHAPTER 3. THEORETICAL BACKGROUND

steady forces for different frequencies of oscillation. Indeed, it can be shown there is a
reciprocal relationship between both the Wagners and Theodorsens functions, being the
latter a result of the Fourier transformation of the former function (GARRICK, 1938).
For the special treatment of flutter (to be discussed in Section 3.6.1), the general
unsteady aerodynamics approach in time domain is not usually used, as might be the
case of interest for response given gust excitations. Instead, the simple harmonic motion
can be of particular interest for the onset of this kind of phenomenon, as proposed by
THEODORSEN (1935).
In this fashion, if an airfoil is at SHM oscillating at a given angular velocity , after applying the Duhamel convolution technique it can be shown a dependency of the frequency
of oscillation on the magnitude of lift as well as a phase difference between the motion
and the unsteady aerodynamic forces. This is in contrast to the quasi-steady values that
would always be in phase by its own definition. As might be expected, the larger the
frequency of oscillation, the lower lift is generated and the greater the phase lag.
A non-dimensional parameter is usually defined in order to measure the level of unsteadiness of the flow, called reduced frequency and defined as

k=

c
b
=
V
2V

(3.61)

It is also common to encounter in the British literature of aeroelasticity the definition


of a similar parameter named frequency parameter and noted with the letter , using the
chord of the airfoil instead of the semi-chord (FRAZER; DUNCAN, 1928; COLLAR, 1978).
The Theodorsens function is defined in the complex domain in order to take into account changes on magnitude and phase of aerodynamic forces and moments. It is mathematically expressed as a combination of modified Bessel or Hankel functions, although it
can be approximately simplified to to following way (FUNG, 1969)

C(k) = F (k) + iG(k) =

1
1

0.165
1i0.045/k

0.335
1i0.30/k

if k 0.5

0.165
1i0.041/k

0.335
1i0.32/k

if k > 0.5

(3.62)

As the reduced frequency increases, the amplitude of the Theodorsens function decreases as seen in Figure 3.6. On the other hand, the phase lag increases (in difference)
up to a specific value (when k 0.3) and then reduced again. In the limit case of zero
reduced frequency (quasi-steady condition), Equation (3.62) returns F = 1 and G = 0, so
the unsteady aerodynamic lift tends to the original quasi-steady state. On the opposite
case, in the limit when k becomes large enough towards the infinity, F 0.5 and G 0.
Under the preliminary assumption of an airfoil considered as flat plate in simple har-

CHAPTER 3. THEORETICAL BACKGROUND

67

FIGURE 3.6 Dependence of Theodorsens function on reduced frequency.

monic motion, the lift and aerodynamic moment can be calculated based on the linearized
thin-airfoil theory (THEODORSEN, 1935; NAM et al., 2001). In Figure 3.7 a representative
thin airfoil is sketched with possible motions in plunge and pitch about the elastic center
and bi-dimensional lift coefficient slope given as a0 = 2.
Using the Theodorsens approach, the unsteady flow can be split into two separate
contributions:
Circulatory part: effects of vorticity in the flow extending from the TE downstream

towards infinity and related to the Theodorsens function, being mathematically


modeled as a distribution of vortices.
Non-circulatory part: effects of apparent inertial forcesnot related to the Theodorsens

function, but to the mass of air that is moved together with the oscillation of the
airfoil, which introduces reactive forces and moments (WRIGHT; COOPER, 2007).
This contribution can be modeled in potential flow theory as the superposition of
sources/sinks.
In this fashion, Theodorsen transformed the flat airfoil into a circle through a conformal transformation, and superposed all flow contributions to finally obtain the velocity
potential, calculate pressures using Bernoulli theory and finally integrate to get the aerodynamic forces and moments in unsteady flows. Thus, the final solution for lift and
aerodynamic moment with respect to the elastic center can be written as (THEODORSEN,

68

CHAPTER 3. THEORETICAL BACKGROUND

1935; FUNG, 1969; BISMARCK-NASR, 1999; NAM et al., 2001; WRIGHT; COOPER, 2007)

L = b2 (
z + V ba
) 2V bC(k) [z + V + b(1/2 a)]




M = b2 ba
z V b (1/2 a) b2 1/8 + a2

+ 2V b2 (a + 1/2)C(k) [z + V + b(1/2 a)]

(3.63a)

(3.63b)

In Equations (3.63a) and (3.63b) it can be noted both contributions of the noncirculatory and circulatory terms, the latter with the inclusion of the Theodorsens function, which in turn depends on the reduced frequency. In addition, both formulas contain
terms that involve displacements, velocities and accelerations in both pitch and plunge
degrees of freedom. Only the displacement in plunge does not appear in the equations
provided that it does not affect at all the generation of aerodynamic loading (lift/moment).
FIGURE 3.7 Typical section in oscillatory harmonic motion.

b
Aerodynamic
center

L
ab

Elastic
center

b/2

It is worth to outline that it is equivalent to study whether the airfoil in oscillatory


motion with torsional angles or the angle of attack with a oscillatory free-stream
direction. Depending on the case, in Equations (3.63a) and (3.63b) it may be needed to
substitute by accordingly, as published in some literature.

3.4

Aeroelasticity

It is usual to classify aeroelastic phenomena in two separate branches, depending on


the motion nature with time and the importance of the inertia forces: static aeroelasticity
and dynamic aeroelasticity.

CHAPTER 3. THEORETICAL BACKGROUND

69

The former branch considers the non-oscillatory effects of aerodynamic forces acting
on the aircraft structure, in which the flexible nature of the wing makes that its shape to
change during flight and hence the lift distribution in a steady equilibrium or maneuver
condition. For this it is important to represent the physical problem as much accurate
as possible, provided that if the system is modeled in a grossly approximate fashion,
aerodynamic and structural computations carried out will not be valid enough and the
final shape could be in error, resulting in strong drag penalties and reduction of the aircraft
range.
Static aeroelastic effects also lead to a reduction in the effectiveness of the control
surfaces and eventually the appearance of the aileron control reversal phenomenon, whose
result is to have the opposite effect to that intended. The rolling moment generated is
neutralized by the wing twist induced by flexible deformation when the control surface is
deflected.
Another disastrous issue to take into account is called divergence, phenomenon where
the wing twist can increase without limit due to a loss of torsional stiffness and thus the
aerodynamic pitching moment on the wing due to twist exceeds the structural restoring
moment. It is worth mentioning that strictly speaking, the lift distribution and divergence
effects should be studied in conjunction with the whole aircraft, since they are influenced
by the trimming condition so that the wing should not be treated on its own to avoid
large errors on the simplification of the model (WRIGHT; COOPER, 2007).
The latter branch is concerned with the oscillatory effects of the aeroelastic interactions, and the main area of interest is the potentially catastrophic phenomenon named as
flutter. This kind of instability usually involves two or more natural modes of vibration
and takes place from a coupling of the three types of forces named aerodynamic, inertial and elastic forces as shown in Figure 1.1. In this condition, the structure effectively
extracts energy from the air, instead of dissipating.
The unsteady nature of the aerodynamic loading (forces and moments) generated when
the aircraft oscillates and its effect on the resulting forces makes the flutter problem really
complex. In addition, the presence of flexible modes may have a strong influence on the
dynamic stability modes of the rigid aircraft depending on the proximity of frequencies and
may also affect the flight dynamics and control (potential coupling of the FCS with flexible
aircraft motion). The latter case is usually studied by other subdivision of aeroelasticity
frequently called aeroservoelasticity.
Aeroelastic considerations are important during the development of the aircraft design
process since they may influence in several areas. It must be guaranteed that flutter and
divergence do not occur within the operational flight envelope and the aircraft remains
under control. As commented before, flexible wings deformations strongly modify drag

70

CHAPTER 3. THEORETICAL BACKGROUND

and performance parameters and should be accurately taken into account, together with
the flying handling which is also affected by aeroelastic interaction, especially in those
cases when the flexible modes are close in range to the rigid body modes.

3.5

Static aeroelasticity

Based on the Figure 1.1, assuming that forces and motion of the body do not vary
with time, inertia forces can be neglected and eliminated from the equilibrium equations.
The fact of dealing with only steady aerodynamics at this stage simplifies considerably the
mathematical treatment compared to the dynamic aeroelastic effects, to be discussed in
Section 3.6. Thus, deflections on the flexible aircraft (leading to elastic internal forces) will
exclusively interact with aerodynamic loads. Most of the time this interaction process acts
in a feedback closed-loop fashion until a equilibrium is established with a wing bendingtorsion configuration. This is the main essence of the ABQ/VLM4FW program code for
aeroelastic coupling of flexible wings in steady flight loads.
In general, static aeroelastic deformations are essentially important for a better estimation of the following areas:
Loads at any flight condition (e.g. steady flight)
Lift distribution
Aerodynamic drag forces

Effectiveness of control surfaces


Aircraft trim behavior
Static stability and control

Basically, there are two static aeroelastic phenomena to be studied: divergence and
aileron control reversal. Both of them will be formulated in the following subsections.

3.5.1

Divergence

All the internal components of the wing in terms of ribs, longerons, stringers and
skin compose a general wing-box with a given structural torsional stiffness (BISMARCKNASR, 1999). However, there might be a condition at which moments generated due to
1

Of particular interest is at cruise condition where the aerodynamic drag has a direct impact on the
aircraft range via the Breguet Equation.

CHAPTER 3. THEORETICAL BACKGROUND

71

aerodynamic forces overcome those restoring moments due to torsional stiffness, a known
phenomenon called divergence. The net result may lead to a complete loss of torsional
stiffness of the wing box, which in most cases is associated to a catastrophic structural
failure so that a precise formulation is needed to evaluate this phenomenon. This and
several others reasons dictate how stiffness is much more important than strength for the
majority of aeroelastic problems encountered. At the very simplified case, a bi-dimensional
airfoil is modeled and then extended for finite span lifting surfaces.
Basically there are two different approaches that can be found in the literature (HODGES;
PIERCE, 2011; DOWELL et al., 2004; WRIGHT; COOPER, 2007), specifically the iterative and
direct-single step analyses. Here it will only be formulated the direct approach since it is
sometimes more convenient for strong coupling between aerodynamic forces and structural
deflections.
First consider the case of an airfoil represented by the typical section illustrated in
Figure 3.7. The aerodynamic center is assumed to be located at the quarter chord, ahead
of the elastic center with an eccentricity in terms of chord of e, or also defined in terms
of semi-chord as g b = (1/2 + a)b. The initial angle of attack of the rigid section before
deformation is denoted as 0 , and represents the extra incremental elastic twist induced
by the aerodynamic loading.
The pitching aerodynamic moment due to the lift about the elastic center can be
expressed as

M =L




1 2
1
1
+ a b = V c a0 (0 + )
+a b
2
2
2

(3.64)

Since only static aeroelastic effects are being studied here, the kinetic energy due to
the oscillation of the airfoil can be safely ignored. Thus, only the potential energy due to
the strain of torsional twist will be present and its value given by

K = 0
U = 1 k 2
2

(3.65)

The application of the Lagranges energy equations allows a simple and powerful
derivation of the equilibrium condition as an alternative to the classical free-body equilibrium formulation (BISMARCK-NASR, 1999)
d
dt

L
qi

L
(W )
=
qi
(qi )

i = 1, 2, 3, . . . , N

(3.66)

72

CHAPTER 3. THEORETICAL BACKGROUND


Substituting the Equations (3.65) into (3.66)

k = q


1
+ a b c a0 (0 + )
2

(3.67)

After some algebraic manipulation

(k q e c a0 ) = q e c a0 0

q e c/k
0
1 q e c/k

(3.68)

It can be clearly seen in the very right hand side of Equation (3.68) the term between
brackets that represents the effective structural stiffness, now reduced by the aerodynamic
influence. Consequently, there will be a divergence condition at a specific dynamic pressure
where the elastic twist becomes infinite in the critical state of instability, given by

qdiv =

1
=
R

1
2

k

+ a b c a0

(3.69)

Substituting Equation 3.69 by the expression of dynamic pressure at the divergence


condition and the semi-chord definition, the air velocity of static divergence instability
finally reads (BISMARCK-NASR, 1999; WRIGHT; COOPER, 2007)
Vdiv 2 ==

2k

2b2 12 + a a0

(3.70)

Indeed, this divergence phenomenon takes place as a result of the aerodynamic pitching
moment that overcomes the structural restoring moment. It is important to note that in
real life the twist cannot be infinite mathematically speaking, and the structure will fail
or collapse.
In general, for modern conventional aircraft with sweptback wings, other aeroelastic
problems such as flutter are usually reached before the aircraft reaches the divergence
speed, so normally this is not a serious concern. However, it can give an overview of the
general stiffness present and its estimation is mandatory for the certification process of
aircraft design in compliance with aeronautical regulations such as FAR Part 23 and FAR
Part 25 (FAA, 2014; FAA, 2004).

3.5.2

Trim

Based on the well-known rigid body equations of motion, the flexibility of the aircraft
now introduces a new contribution to the distributed aerodynamic and inertial forces to
account for elastic deformation of the structure. For the aerodynamic forces, the flexible

CHAPTER 3. THEORETICAL BACKGROUND

73

part is related to the structural deformation through the aerodynamic influence coefficients
matrix (AIC) in the following manner:
{Faf } = q [G]T [AIC][G]{x} = q [AIC]{x}

(3.71)

The rigid aerodynamic forces can be expressed as a function of the trim variables such
as:

{Far } = {Fr (, , p, q, r, i , ...)} = [G]




far
far
{a} =
{a}
a
a

(3.72)

being {a}T = [ p ...] the trim variables vector. Hence, the computation of the
distributed flight loads of a flexible aircraft can be performed by equalling the internal
forces, rigid inertial forces, rigid aerodynamic forces and incremental flexible aerodynamic
forces, as follow:



far
{a}
[Kgg ]{x} + [Mgg ][r ]{
ur } q [AIC]{x} =
a

(3.73)

where the flexible inertial forces due to accelerations of structural deformation (flexible
aircraft) are not considered in this case provided that they belong to the dynamic loads
problem.
There are two standard formulations for solving the Equation (3.73), one based on the
direct method (exact approach) and another that transforms the domain into the modal
space. The latter formulation will be discussed here since it corresponds to that used by
the commercial code ZAERO (ZONA, 2014a). Transforming the Equation (3.73) to the
modal space, and making use of the orthogonality properties between the rigid and elastic
modes with respect to the stiffness and mass matrices, after algebraic manipulation it
becomes:

[Mrr ]{
ur } = [r ]



 

fae
far
+
{a} = ([Sr ] + [Se ]) {a}
a
a

(3.74)

For a given flight maneuver condition, there will be a set of known accelerations of trim
degrees of freedom urg and known trim variables ag , given as input. The correspondent set
of unknown trim degrees of freedom uru and unknown trim variables au are then obtained
by solving the trim analysis. After re-arranging Equation (3.74), it can be partitioned to

74

CHAPTER 3. THEORETICAL BACKGROUND

separate given and unknown variables in the following fashion:


( )
( )
uru
urg
[[Mrr ]u , [ ([Sr ] + [Se ])]u ]
= [[Mrr ]g , [([Sr ] + [Se ])]g ]
au
ag

(3.75)

For the particular case in which the number of unknown trim degree of freedom plus
the unknown trim variables equals the number of trim equations, the systems becomes
determined and invertible, finally obtaining the trim variables and accelerations for the
aeroelastic static equilibrium.

3.6

Dynamic aeroelasticity

The steady assumption that has been considered in previous sections results in aerodynamic forces and moments that are constant with time. However, with the inclusion
of inertial forces in the upper corner of the Collar triangle as seen in Figure 1.1, dynamic
phenomena requires that a more accurate approach be taken into account. Thus, for flutter, maneuvers and gust response, a better behavior of the aerodynamic surfaces under
dynamic motion is required, as was described in Section 3.3. Unsteady effects are now
contemplated in such a way that the change of circulation and wake acting upon moving
surfaces directly impact modifying the aerodynamic forces and moments, now variable in
time.

3.6.1

Flutter

Flutter is usually considered a self-excited phenomenon due to the coupling of two or


more elastic vibration modes, leading to a dynamic instability of divergent behavior in
which the air stream adds energy to the system instead of extract, situation that may
exceed the operational limits of the aircraft with serious risks to the integrity of the
structure.
The motion of an aeroelastic general system can be formulated in the following manner:

[M]{
u(t)} + [K]{u(t)} = {L(u(t), u(t))}

(3.76)

The aerodynamic loads {L(u(t), u(t))}

can be decomposed into two separate contributions: one related to external forces {Le (t)} (e.g. steady flight loads, gust, external effects
from control systems, ASE) and other contribution coming from the incremental loads
dependent on the displacements {La (u(t), u(t))}

and whose value can be obtained from

CHAPTER 3. THEORETICAL BACKGROUND

75

the non-stationary aerodynamic theory. The latter kind of forces does not derive from any
potential and their nature is inherent to the system itself, provided that their presence is
due to the change in the position of the generalized coordinates (BISMARCK-NASR, 1999).
Hence, the governing equations of motion on (3.76) read:

[M]{
u(t)} + [K]{u(t)} = {Le (t)} + {La (u(t), u(t))}

(3.77)

In order to study the flutter phenomenon it is necessary to formulate properly this


aerodynamic loading as a function of displacements, velocities and even accelerations of
the structure. The inclusion of an non-stationary aerodynamic model is needed to effectively capture the vorticity effect present on the downstream wake, which in turn creates
aerodynamic lag linked to the loads induced by the deformations. The general model of
Theodorsen (THEODORSEN, 1935) is able to formulate this by splitting the aerodynamic
loads into two contributions, named as non-circulatory terms and circulatory terms. The
former considers the air flow is expressed as elemental fonts and sinks singularities, where
the latter represents the wake vorticity from the trailing edge downstream towards the
infinity and depends on the known Theodorsen complex function C(k) = F (k) + iG(k).
This function can be interpreted as the lift deficiency that modifies the circulation over
the airfoil by the influence of the normal downwash (Q).
Assuming that the flutter condition is associated to a neutral stability state in simple
harmonic motion, this type of motion was chosen to represent the oscillation of the wake
in terms of a given reduced frequency. In the neutral aeroelastic stability condition, the
indifferent equilibrium must be satisfied whatever be the deformed position. Thus, the
external loads can be canceled on Equation (3.77), becoming:

[M]{
u(t)} + [K]{u(t)} {La (u(t), u(t))}

= {0}

(3.78)

It is convenient to transform Equation (3.78) into the Laplace frequency domain,


where the aerodynamic load can be considered as output due to the deformation states
together with its derivatives. Representing this aerodynamic load as a Duhamel integral,
the indicial response of the system will be expressed as the aerodynamic transfer func
tion H(sb/V
) in terms of the non-dimensional Laplace variable. The system is now an
eigenvalue problem in the Laplace domain:


 
sb
2

{u(s)} = {0}
s [M] + [K] q H
V

(3.79)

The aerodynamic loads term has been computed historically by two methods. The
first one was associated to the extension of the bi-dimensional flutter theory of typical

76

CHAPTER 3. THEORETICAL BACKGROUND

section (THEODORSEN, 1935) to the three-dimensional effects through the Strip Theory
for the case of unswept high aspect ratio wings. BARMBY (1951) and YATES (1958) later
extended this method to the Modified Strip Theory that takes into account general swept
wings with compressibility corrections in the reports published as NACA-TR-1014 and
NACA-RM-157. A more recent theory developed in the last decades is associated to the
three-dimensional aerodynamic theory through the discrete element methods, also known
as panel methods. Here it will be only formulated the latter, since it is that one used
in the ZONA6 method developed by ZONA Technology. This method is based on the
known Kernel functions for the computation of the aerodynamic loading. Based on the
linearized perturbation velocity potential equation:

(1

2
M
)xx

2
2
M
M

xt
tt = 0
+ yy + zz 2
V
V

(3.80)

Assuming that the perturbation potential varies harmonically given by the relation

(x, y, z, t) = (x,
y, z, t)eikt , Equation (3.80) can be transformed into the reduced frequency domain. The discrete element method consists in subdividing the domain into
discretized regions and collocating distributions of flow singularities (which elementary
solution is known) and then applying the superposition principle as a sum of solutions.
Collocating distributions of fonts and dipoles on the surface and dipoles to model the wake,
the integral solution of Equation (3.80) in the frequency domain (after the application of
the Green Theorem) takes the following form of the perturbation velocity potential:

(x,
y, z, k) =

ZZ

S dS +
S

ZZ

D d(S + W )

(3.81)

S+W

Both velocity potentials of the singularities contain a common term, named the Kernel
function. Then, considering a body as lifting surface located on the x-y plane (with no
thickness), it will be only needed to use dipoles distributions, provided that fonts are only
required for modeling bodies with finite thickness. Hence, Equation (3.81) will be further
reduced to:
1
(x,
y, z, ik) =
4

ZZ

(,
, 0, ik)d(S + W )

(3.82)

S+W

The effect of the wake has as finality to keep memory of the aerodynamic lag induced
by the vortex wake of the lifting surface. In this way, for a approach with good precision
the wake should be modeled from the trailing edge down to a far distant region. This
leads as disadvantage a high computational cost required. To overcome this issue, it is
more convenient to use the perturbation acceleration potential instead, which will also
satisfy Equation (3.81). Since there is no pressure jump associated when crossing the

CHAPTER 3. THEORETICAL BACKGROUND

77

trailing wake, now only the wing domain will be necessary to be modeled. An expression
that relates the acceleration and velocity potentials is:

(x,
y, z, ik) = e

ikx

0 , y, z, ik)dx0
eikx0 (x

(3.83)

On Equation (3.82), notation was change to ik to denote the nature of the simple
harmonic motion. On the other hand, the relationship between the pressure variation and
the acceleration potential is given by:
1
(x,
y, z, ik) =
8

ZZ

Cp(, , 0, ik)K (X, Y, 0, ik)d(S)

(3.84)

In order to compute the Kernel functions, the normal downwash of each i-th panel
can be related to the pressure variation seen on each j-th panel through the called
aerodynamic influence coefficient matrix, given in the following manner:
Cpj
w = zi (x, y, 0, ik) =
(, , 0, ik)
8

ZZ

lim

Sj z

{wi } = [Dij ]{Cpj }

K dS
z

(3.85)

(3.86)

Matrix [Di j] on Equation (3.86) exclusively depends on the geometry, Mach number
and reduced frequency parameters. For the close-form solution, a boundary condition has
to be formulated. Thus, it can be shown that the downwash induced normal velocity at
3/4 chord position can be written as:

w3/4c =

dh
dh
+V
dt
dx

(3.87)

The problem is now in the closed-form, since the downwash is given associated to
the boundary condition from Equation (3.87) and the Kernel function dependent on the
geometry, Mach number and reduced frequency. Pressure values will be the unknowns.
Hence, the influence matrix between the downwash and pressures will be:

{Cp(ik)} = [AIC(ik)]{w(ik)}

(3.88)

The downwash velocity can be related to the displacements (h in the aerodynamic


grid) as:

{w(x, y, 0, ik)} = [F(ik)]{h(x, y, 0)}

(3.89)

78

CHAPTER 3. THEORETICAL BACKGROUND

Matrix [F(ik)] represents the substantial derivative of the corresponding motion mode
responsible for generating pressures. Finally, the system in the closed-form with the incremental aerodynamic loading given in Equation (3.77) gets the following fashion expressed
on the aerodynamic grid reference:

{La (ik)}aero = q [S][AIC(ik)][F(ik)]{h}

(3.90)

The area enclosed by each panel is represented in matrix form by [S]. For those cases in
which the structural grid differs from the aerodynamic grid, a technique for interpolating
nodal displacements (structural domain) is needed to get the displacements at the 3/4
chord control points (aerodynamic domain). It is then defined the interpolation splines
matrix as:

{h(x, y, 0)} = [G]{u(xs , ys , zs )}

(3.91)

The mode shapes can also be transformed in the same fashion from one domain to
other:

[]aero = [G][]struc

(3.92)

The aerodynamic loading on Equation (3.90) can also be transformed into the aerodynamic grid through the virtual work principle, assuming the virtual work of these loads
be the same whatever referential be used:
{La (xs , ys , zs )}struc = [G]T {La (x, y, 0)}aero

(3.93)

After algebraic manipulation of Equation (3.90), (3.91) and (3.93) it becomes:


{La (ik)}struc = [G]T q [S][AIC(ik)][F(ik)][G]{u}

(3.94)

Due to the fact of having the finite element model a number of degrees of freedom
excessively high, it is appropriate to further transform the domain into the a modal basis,
greatly reducing the size of the problem to a few modal degrees of freedom depending
on the amount of selected elastic modes. Also, taking advantage of the orthogonality
properties of natural modes with respect to the mass and stiffness matrices, the generalized
matrices will be diagonal and uncoupled, unlike the aerodynamic load that will be in

CHAPTER 3. THEORETICAL BACKGROUND

79

general fully coupled. The full aeroelastic system in the modal base will then be:

+ [K]
q [Q(ik)]{q(i)}

2 [M]
= {0}

(3.95)

Several methods are currently available for the calculation of the aeroelastic system.
One of them is the k-method, which consists in adding an artificial damping required
to destabilize the system and ensure that the simple harmonic motion as proposed by
Theodorsen. This artificial damping strictly has no physical meaning, except on the
flutter condition, but is a technique used to compose the V-g curve. The aeroelastic
equation to be solved by the method-k with the addition of artificial damping will be
finally:

+ (1 + ig)[K]
q [Q(ik)]{q(i)}

2 [M]
= {0}

(3.96)

Another well known technique for solving Equation (3.96) is the g-method (CHEN,
2000), considered as a k-method evolution. The g-method was created in order to correct
some possible inconsistencies that may exist in the former k-method and make results
more reliable by using a first-order damping perturbation in the flutter equation and
transforming it into state-space form. Unlike the k-method, the procedure now solves for
real, not artificial damping.

4 Methodology
4.1

Introduction

This chapter presents an overview of the methodology proposed for the aeroelastic
study of very flexible aicraft wings. An in-house vortex lattice method named VLM4FW
has been implemented with correction of sidewash and backwash effects during the deformation of the wing in bending and torsion. In addition, corrections on the spanwise
distribution of induced drag based on the cross-flow energy in the wake have been also
included. The detailed theoretical formulation of these methods were already presented
in Chapter 3. Other commercial software packages such as Abaqus, MSC.Nastran and
ZAERO are also used in the workflow for a complete analysis of flight loads and flutter
dynamic instabilities.

4.2

Proposed workflow

The VLM4FW code in MATLAB has been programmed to couple with the structural
finite element commercial software Abaqus for fluid-structure interactions (FSI) applicable
to aircraft wings. Abaqus is a well-known FEM solver in industry specially suitable and
robust for handling geometric non-linearities associated to large deflections of structures.
Thus, the aerodynamic code will pass loads to the structural code, and this will in turn
pass deflections in a closed feedback loop.
The communication between the VLM4FW and Abaqus is performed via writing and
reading of I/O files as illustrated in Figure 4.1. An aeroelastic coupler written in FORTRAN 77 as Abaqus user subroutines acts as interlocutor between them, managing the
loads and displacements been transferred between each other.
The proposed workflow starts with the definition of the model parameters in VLM4FW.
This includes geometry, mesh parameters, flow conditions, and other internal options. An
aerodynamic panel mesher has also been programed in VLM4FW to discretize the model
and the same mesh is used for all the simulations presented in this work. Once the mesh

82

CHAPTER 4. METHODOLOGY
FIGURE 4.1 Inter-communication between VLM4FW and Abaqus.
Aerodynamic solver
INPUT: .NOD (.DAT) file
created by Abaqus
OUTPUT: .PAOUT file to
pass aerodynamic
pressures

VLM4FW

Abaqus/Standard
(NLGEOM=YES)

Nonlinear structural
solver
INPUT: .PAOUT file
created by VLM4FW
OUTPUT: .DAT file to pass
displacements

has been created, a boundary conditions builder is run to automate the generation of the
input deck file of Abaqus and get it ready for the aeroelastic co-simulation.
The initial run starts with the VLM4FW solver, which after computation of the aerodynamic characteristics will write the aerodynamic loads into the .paout file. These aerodynamic loading is passed to the Abaqus solver for the structural finite element solution
using a robust geometric nonlinear algorithm based on the Newton-Raphson technique.
After satisfying the force and moment residuals in the structural equilibrium equations,
the numerical time increment is assumed to be converged and displacements are passed
to the VLM4FW to update the mesh. A DAT parser has been programmed to read the
nodal displacements and create an udated node file called .nod. Once read, the VLM4FW
runs another aerodynamic solution with the updated mesh. This procedure is repeated
until a converged solution is found in the equilibrium equations. For a more detailed
description of the framework of analysis between VLM4FW and Abaqus, the reader can
refer to Appendix A.
After computing the deformed wing configuration with the corresponding updated
flight loads, flutter studies are performed for the analysis of dynamic aeroelastic stability.
In this phase the numerical FEM model originally created in Abaqus, now updated to the
deformed wing configuration, is translated to a Nastran input deck model. The equivalence
of the bulk data cards and keywords used for the translation of both models are described
in Table 4.1.
Once converted to Nastran, a real modes solution sequence (SOL 103) is run in
MSC.Nastran for the extraction of modal parameters, specially natural frequencies and

CHAPTER 4. METHODOLOGY

83

TABLE 4.1 Comparison of bulk data cards and keywords used in FEM models.
MSC.Nastran

Abaqus

Shell element (wing)

CQUAD4

S4R

Beam element (ENP)

CBAR

B31

Inertia element

CONM2

MASS
ROTARYI

Rigid body coupling

RBE2

KINEMATIC COUPLING

Inertia element (w/offset)

CONM2

MASS
ROTARYI
CONN3D2

mode shapes. Finally, a flutter solution is performed on the deformed wing configuration
with the ZAERO software package using the subsonic ZONA6 g-Method. The representation of the deformed state of the wing is done through the usage of CAERO7 wing
macroelements arranged in a spanwise fashion, one per strip with chordwise divisions to
match the same mesh as the VLM4FW. V-g-f plots are finally obtained to identify the
flutter modes and its associated parameters: flutter speed and frequency. A comparison with the undeformed configuration is also done to evaluate the influence of the wing
flexibility on the aerodynamic loading and flutter predictions.
FIGURE 4.2 Software packages used for flight loads and flutter analyses.

Abaqus/VLM4FW
co-simulation
Geometric non-linearity
Updated aerodynamic
loading
Updated deformed shape

Flight loads

Flutter
MSC.Nastran
SOL 103
ZAERO
ZONA6 Subsonic
g-Method
Based on deformed shape

84

4.3

CHAPTER 4. METHODOLOGY

Considerations for design

The aircraft is modeled with an assumption of applied loads over the entire structure.
It is important to estimate correctly these different load cases provided that they determine
limit loads during the certification process, which are the maximum loads to be expected in
service and which the structure needs to support without reach permanent deformations.
In addition, the structure must be able to support ultimate loads without failure or rupture
(collapse).
During the development cycle of aircraft, the airworthiness certification process required by each aviation authority imposes that all possible aeroelastic phenomena and
most critical load cases should be clearly estimated, in order to ensure that any potentially disastrous scenario cannot occur or no critical load be exceeded in service. The
analysis process should also be complemented by a GVT and flight tests campaign to
validate the aerodynamic, structural, aeroelastic and aeroservoelastic models. The certification requirements for large aircraft in United States and Brazil are FAR-25 and
RBAC-25 respectively, which contain practically the same information. Flutter requirements (including divergence and control reversal) are specified in detail in Section 25.629
and complemented in the Advisory Circular FAA/AC-25.629-1B (FAA, 2014).
There are several aspects in real situations that depending on the magnitude of the
deformations may lead to inaccurate assumptions on the classical linear theory commonly
used as standard in the aerospace industry up to now, and it is expected that this proposed methodology gives more accurate results for flexible aircraft wings. In recent years
there has also been an increasing interest in the effect of aerodynamic and structural
nonlinearities and the effect they have on the aeroelastic behavior. Some examples are
LCO as well as aeroelastic stability boundaries at transonic regime. In addition, in most
cases FCS also introduce nonlinearities, so more advanced mathematical models should be
required to predict and characterize the nonlinear phenomena, which cannot be predicted
using linear theories (WRIGHT; COOPER, 2007).

5 Results
5.1

Cases studies overview

For validation of the VLM4FW program code, firstly several rigid wings have been
selected. The first case study is the Garner wing (KALMAN et al., 1970) with rectangular
unswept planform, no dihedral, no tapper ratio and aspect ratio AR = 2.0. The second
wing for comparison with the inclusion of dihedral effects is the Saunders wing (KALMAN
et al., 1971), also with rectangular unswept planform, aspect ratio AR = 4.0 and cases of
dihedral 0, 15, 30 and 45. Comparison with other commercial VLM software
such as TORNADO and ZAERO (rigid case) is also performed (RUGGERI et al., 2015). In
this case, the test case is the AE-249/B wing investigated by WESTIN (2010) with experimental and numerical models. Lastly, a more representative wing model corresponding to
the GNBA aircraft (NETO, 2014) is also studied with the most flexible wing configuration.
A summary of the test cases for verification of VLM4FW is described below:
Garner wing (rigid) (KALMAN et al., 1970)
Saunders wing (rigid) (KALMAN et al., 1971)
AE-249/B wing (rigid/flexible) (WESTIN, 2010; RUGGERI et al., 2015)
GNBA-12 wing (flexible) (NETO, 2014)

5.2

Garner wing

This wing has been investigated in detail by several authors and sufficient information
is available in the literature. It is here used for verification of the induced drag correction
method proposed by KALMAN et al. (1970). The model parameters of the test case are
described in Table 5.1.

86

CHAPTER 5. RESULTS
TABLE 5.1 Model parameters of Garner wing.
Geometrical parameters
Root chord

cr [m]

Tip chord

ct [m]
b [m]

1
1

Reference wing area

c [m]
Sw [m2 ]

Aspect ratio

AR

Dihedral

[deg]

Sweep angle

LE [deg]

Reference span
Reference chord

Flow conditions
Free-stream velocity

V [m/s]

10

Air density

[kg/m ]

1.225

Angle of attack

[deg]

Sideslip angle

[deg]

Mesh parameters

5.2.1

No. panels chordwise

Nj

10

No. panels spanwise

Ni

20

Job ID

garner01wing

Aerodynamic model

The aerodynamic mesh is composed of 10 panels chordwise and 20 panels spanwise,


giving a total mesh of 200 panels. It has been proved to be a reasonable mesh size
for accurate results, provided that further mesh refinement does not offer any precision
advantages other than increasing computational cost. Figure 5.1 shows the right semiwing of the Garner test case after meshing in VLM4FW.
FIGURE 5.1 Right semi-wing of Garner test case.

0.2
z [m]

0
0.2
0

1
0.5

0.5
1 0

x [m]

y [m]

CHAPTER 5. RESULTS

5.2.2

87

Numerical results

As mentioned earlier in Section 5.1, the first test case to be analyzed was the Garner
wing (KALMAN et al., 1970) for validation of a set of rigid configurations. The results are
displayed in Figures 5.2, 5.3, 5.4 and 5.5.
As expected, the chordwise lift contribution is null in this case since the wing has no
dihedral. All the total lift distribution is due to the spanwise bound vortex filaments of
the horseshoe inducing a downwash normal to the x-y plane. The pressure coefficient is
plotted in Figure 5.2 for the right semi-wing, indicating predictable high suction values
near the leading edge along the span.
FIGURE 5.2 Distribution of pressure coefficient on the Garner wing.

0.4
0.35
0.3

0.2
z [m]

0.25
0

0.2

0.2
0

1
0.5
1 0
x [m]

0.15

0.5

0.1

y [m]

0.05
0

A comparison of the induced drag distribution is also shown in Figure 5.6. It can
be noted an excellent correlation with KALMAN et al. (1970) near the root and medium
stations spanwise, with some small discrepancies on the near wing tip. The same aerodynamic mesh has been used for proper comparison. The global induced drag coefficients
give excellent agreement as seen in Table 5.2 with much less than 0.1% of percentage
error. The erratic values that would have been obtained without any correction on the
transversal flow of the induced drag CDi 0 /CL 2 are also displayed according to KALMAN
et al. (1970), which are less than the corresponding equivalent elliptical wing CDi ell /CL 2 .
This serves as proof so that the uncorrected results are physically impossible in practice.

88

CHAPTER 5. RESULTS
FIGURE 5.3 Distribution of lift coefficient on the Garner wing.

VLM4FW CL=0.088114
cl0=0.21932

0.25
0.2
cl 0.15
0.1
0.05
0
0

0.2

0.4

0.6

0.8

2y/b
FIGURE 5.4 Distribution of angles of attack on the Garner wing.

VLM4FW eff
VLM4FW i
0

2.5
2

[deg]

1.5
1
0.5
0
0

0.2

0.4

0.6

0.8

2y/b
TABLE 5.2 Correlation of global induced drag on the Garner wing.
VLM4FW
CDi /CL

Kalman/Garner Error (%)

0.160166

0.160165

+0.003

CDi 0 /CL 2

0.155375

CDi ell /CL 2

0.159155

0.159155

0.000

CHAPTER 5. RESULTS

89

FIGURE 5.5 Distribution of spanwise/chordwise lift on the Garner wing.

1.6

Spanwise lift distr.


Chordwise lift distr.
Total lift distr.

1.4
1.2

cl c
CL c

1
0.8
0.6
0.4
0.2
0
0

0.2

0.4

0.6

0.8

2y/b
FIGURE 5.6 Comparison of spanwise induced drag on the Garner wing.

Present VLM4FW
Kalman/Garner

0.2

cdi
CL 2

0.15
0.1

0.05

0
0

0.2

0.4

0.6

0.8

2y/b

5.3

Saunders wing

Similarly, the test case of Saunders is adopted as a verification to take into account
rigid wings with different angles of dihedral. This wing has also been investigated in
the literature with additional information for the modification of the lift slope in ground
proximity (KALMAN et al., 1971). The model parameters of the test case are described in
Table 5.3.

90

CHAPTER 5. RESULTS
TABLE 5.3 Model parameters of Saunders wing.
Geometrical parameters
Root chord

cr [m]

Tip chord

ct [m]
b [m]

Reference span
Reference chord

4
1

Reference wing area

c [m]
Sw [m2 ]

Aspect ratio

AR

Dihedral

[deg]

Sweep angle

LE [deg]

0, 15, 30, 45

Flow conditions
Free-stream velocity

V [m/s]

10

Air density

[kg/m ]

1.225

Angle of attack

[deg]

Sideslip angle

[deg]

Mesh parameters

5.3.1

No. panels chordwise

Nj

10

No. panels spanwise

Ni

20

Job ID

saundersXXwing

Aerodynamic model

The same aerodynamic mesh is used as before for the Garner case, thus 10 panels
chordwise and 20 panels spanwise, giving a total mesh of 200 panels. Figure 5.7 shows the
right semi-wing of the Garner test case of dihedral = 0 after meshing in VLM4FW.
FIGURE 5.7 Right semi-wing of Saunders test case (config. = 0).

0.4
0.2
z [m]

0
0.2
2
0.4
0

1
0.5
1 0
x [m]

y [m]

CHAPTER 5. RESULTS

5.3.2

91

Numerical results

The Saunders wing has been selected for the second test case for verification of sidewash and backwash effects on nonplanar wing configurations (KALMAN et al., 1971). The
parameter chosen for comparison is the global lift coefficient slope of the wing, since this is
the data available in the literature. Results for 6 different cases of dihedral angle ranging
from 45 up to +30 are plotted in Figures 5.8, 5.9, 5.10, 5.11 and 5.12.
FIGURE 5.8 Distribution of pressure coefficient on the Saunders wing (dihedral cases).

0.5
2
0.4
1.5
z [m]

0.3

1
0.5

0.2

0.1
2

00.5

1
1 0

y [m]

FIGURE 5.9 Distribution of lift coefficient on the Saunders wing (dihedral cases).

VLM4FW CL=0.1007
cl0=0.21932

0.25
0.2



cl 0.15





0.1
0.05
0
0

0.2

0.4

2y/b

0.6

0.8

92

CHAPTER 5. RESULTS

FIGURE 5.10 Distribution of angles of attack on the Saunders wing (dihedral cases).

2.5

VLM4FW eff
VLM4FW i
0

[deg]

1.5
1



0.2

0.4





0.5
0
0

2y/b

0.6

0.8

FIGURE 5.11 Distribution of spanwise/chordwise lift on the Saunders wing (dihedral


cases).

1.8

Spanwise lift distr.


Chordwise lift distr.
Total lift distr.

1.6
1.4


cl c
CL c

 1.2
1
0.8
0.6







0.4
0.2
0
0

0.2

0.4

2y/b

0.6

0.8

CHAPTER 5. RESULTS

93

FIGURE 5.12 Distribution of induced drag on the Saunders wing (dihedral cases).

0.25
0.2


cdi
CL 2



0.15







0.1
0.05
0
0

0.2

0.4

2y/b

0.6

0.8

FIGURE 5.13 Comparison of wing lift coefficient slope on the Saunders wing.

Present VLM4FW
Kalman/Saunders

7
6
dCL
d

5
4
3
2
1
0

45

30

15
0
15
Dihedral [deg]

30

TABLE 5.4 Correlation of lift coefficient slope on the Saunders wing.


Dihedral angle

VLM4FW

Kalman/Saunders Error (%)

45

2.8847

2.1

+37.367

30

3.185

2.9

+9.8276

15

3.445

3.5

-1.5714

3.6747

3.75

-2.008

94

CHAPTER 5. RESULTS

The results were compared against those obtained by KALMAN et al. (1971) for the
global wing lift coefficient slope, as illustrated in Figure 5.13. It can be noted a good
correlation for angles of dihedral up to 25 approximately, with errors less than 10%.
Larger angles of dihedral suggest that the formulation adopted in VLM4FW does not
provide accurate results, mainly due to the technique adopted for the correction of the
transversal flow of the wake for the computation of the induced drag coupled with the
sidewash and backwash effects calculated through the chordwise and spanwise bound
vortex filaments. It can be deducted that high angles of dihedral produce an adverse
effect because of the high influence of the horseshoe vortices from one semi-wing to the
symmetrically opposed.

5.4

AE-249/B wing

The AE-249/B wing model has been selected to perform a convergence analysis and
also for comparison with results obtained with other commercial software. Rigid and
flexible cases are now evaluated at different mesh sizes, free-stream air velocities and
AOA. This wing has already been studied by WESTIN (2010) and RUGGERI et al. (2015)
whether with experimental and numerical models. Detailed information is available in
the the cited references for comparison.
The model tested in the ITA/Lab. Prof. Kwei Lien Feng wind tunnel is composed
of aluminum material 2024-T3 and built on a plate-shaped with 0.032 thickness, and
dimensions 0.35 x 0.04 m. This wing is clamped on one end to a steel mast, which
consists of a tube of 1-3/4 and 1-1/4 outer and inner diameters respectively, through
a support that secures it through clamping screws. The clamping of the tube is made
through a steel plate welded on the lower end, whose role is to serve as a flange to be
bolted on an inertial base. The elastic axis is considered to be located at mid-chord
whereas the aerodynamic axis is positioned at quarter-chord.
In order to study the effect of inertia coupling on the dynamic instability of flutter,
a concentrated brass ballast located at the free wing tip is made in such a way that it
can run along the wing tip chord. The ballast center of mass is first centered at half
chord position, and later sensibility studies are performed varying position of the ballast
running chordwise at the free wing tip. For this case study, a 5mm positive ballast offset
configuration (backwards from the elastic axis) was selected. The decision to choose the
this offset case as reference was due to the fact of having the highest critical flutter speed
for comparison with experimental data obtained in the ITA/Lab. Prof. Kwei Lien Feng
wind tunnel (RUGGERI et al., 2015). Al the other relevant the model parameters are
displayed in Table 5.5.

CHAPTER 5. RESULTS

95

TABLE 5.5 Model parameters of AE-249/B wing.


Geometrical parameters
Root chord

cr [m]

0.04

Tip chord

ct [m]
b [m]

0.04
0.04

Reference wing area

c [m]
Sw [m2 ]

0.028

Aspect ratio

AR

17.5

Dihedral

[deg]

Sweep angle

LE [deg]

Reference span
Reference chord

0.70

Flow conditions
Free-stream velocity

V [m/s]

10, 45
3

Air density

air [kg/m ]

1.225

Angle of attack

[deg]

7.9, 5

Sideslip angle

[deg]

Mesh parameters
No. panels chordwise

Nj

4, 6

No. panels spanwise

Ni

10, 20

Job ID

ae249wing

Mechanical parameters
8.124 x 104

Thickness

t [m]

Material

Al 2024-T3

Density

[kg/m3 ]

Young modulus

E [Pa]

69 x 109

Shear modulus

G [Pa]

25.94 x 109

Tensile yield strength

Y t [Pa]

Poisson ratio

Torsion constant

2800

34 x 107
0.33
7.06 x 1012

J [m ]

Ballast parameters
Ballast mass

mb [kg]

0.03458
2

Mass inertia moment y-y Iyyb [kg m ]

1.858 x 105

Mass inertia moment z-z

Izzb [kg m2 ]

1.858 x 105

Offset position

xEAb [mm]

+5

Mass inertia moment x-x Ixxb [kg m ]

96

5.4.1

CHAPTER 5. RESULTS

Aerodynamic model

Two different aerodynamic meshes in VLM4FW are used for the AE249/B wing model,
one consisting of 6 panels chordwise x 20 panels spanwise and the other with 4 panels
chordwise x 10 panels spanwise. The reason for the adoption of these relatively coarse
meshes is analogous to what has been discussed previously. For comparison with other
commercial software, the coarser aerodynamic mesh of 4 x 10 aero panels was chosen in
order to adequate the same case study as presented by RUGGERI et al. (2015), as shown in
Figure 5.14. In either case, both rigid and flexible configurations are evaluated to analize
the influence on the elastic deformation on the aerodynamic loading.
FIGURE 5.14 Aerodynamic mesh of AE-249/B test case (config. 4 x 10).

0.05
z [m]

0.3
0.25

0
0.2
0.15

0.05
0
0.04

0.1
0.05 y [m]

FIGURE 5.15 Aerodynamic mesh of AE-249/B test case (config. 6 x 10).

0.05
z [m]

0.3
0.25

0
0.05
0
0.04 0

0.2
0.15
0.1
0.05 y [m]

CHAPTER 5. RESULTS

5.4.2

97

Structural model

Accordingly, since a spline formulation has not been implemented in VLM4FW, the
structural and aerodynamic meshes for the flexible cases are the same. For the first
mesh configuration, Figure 5.16 shows the structural FEM model in Abaqus, meshed
with S4R reduced-integration general-purpose shell elements. This mesh is equivalent to
40 structural shell elements and 55 nodes, whereas the second mesh has 120 structural
shell elements and 147 nodes respectively as seen in Figure 5.17. For the location of the
ballast mass offset a rigid beam-like CONN3D2 connector element is used to link the MASS
and ROTARYI elements at the offset position with the elastic center at the wing tip. This
modeling approach in Abaqus creates in turn one additional node and three additional
elements.
FIGURE 5.16 Structural mesh of AE-249/B test case (config. 4 x 10).
Beam

FIGURE 5.17 Structural mesh of AE-249/B test case (config. 6 x 20).


Beam

Z
Y

5.4.3

Numerical results

The results of the AE-249/B wing model can be visualized in Figure 5.18 for the
convergence analysis, whether varying the spanwise panels for a given chordwise panels
and vice-versa. Here it can be observed a fast convergence of the lift slope, even with

98

CHAPTER 5. RESULTS

only 2 panels chordwise. Nevertheless, although a good overall global lift coefficient
slope is obtained, the disadvantage of using lower chordwise panels resides on a poor
pressure distribution along each strip as observed comparing Figure 5.19 with Figure
5.20. Similarly, it is expected a slower convergence for wing configurations of less aspect
ratio, but still with good performance of the mesh.
FIGURE 5.18 Convergence of wing lift coefficient slope on the AE-249/B wing (rigid).

5.8

2 panels chordwise
4 panels chordwise
8 panels chordwise
16 panels chordwise

5.7
5.6
dCL
d

5.5
5.4
5.3
5.2

8 32

64

128
Panels spanwise

256

FIGURE 5.19 Normal force distribution on the AE-249/B wing (rigid mesh 2 x 64).

F z/ max F z

0.1
0.05
0
0 0.04 0

0.3
0.25
0.2
0.15
0.1
0.05 y

A sensitivity analysis of the mesh has been performed based on the influence of the
spanwise and chordwise panels over the result and performance. The results are shown
on Table 5.6. It can be shown a very little computational cost up to mesh sizes of the

CHAPTER 5. RESULTS

99

F z/ max F z

FIGURE 5.20 Normal force distribution on the AE-249/B wing (rigid mesh 8 x 64).

0.1
0.08
0.06
0.04
0.02
0
0 0.04 0

0.3
0.25
0.2
0.15
0.1
0.05 y

order of 500 panels. The VLM4FW seems to hangs for excessively refined meshes due
to an out of memory internal call out of MATLAB, although this can be overcome with
parallelization techniques and 64-bit platforms.
TABLE 5.6 Sensitivity analysis of mesh on the AE-249/B wing (rigid).
Panels

2 panels

4 panels

8 panels

16 panels

spanwise

chordwise

chordwise

chordwise

chordwise

dCL /d CPU [s] dCL /d CPU [s] dCL /d CPU [s] dCL /d CPU [s]
4

5.5868 7.003175

5.4901 6.869989

5.491

8.378081

5.4913

6.133968

16

5.4212 4.702091 5.4229

6.655174

5.4233

5.838928

5.4234

7.723379

32

5.3798 5.311151 5.3822

7.008100

5.3827

6.625649

5.3828

9.893850

64

5.3575 5.390186

8.305030

5.3606 10.784330 5.3607 23.585340

128

5.346

256

5.3401 9.897288 5.3427 31.494079 5.3433 89.863262

5.36

6.388012 5.3485 12.584074 5.3491 23.937647 5.3493 93.854848


OoM

OoM

The same study case at 1g level flight condition for the rigid and flexible cases was
simulated using the VLM4FW program in order to compare the output of aerodynamic
characteristics at the trimming condition and evaluate the discrepancies in each case.
However, this time the mesh used was 4 x 10 aero panels in order to respect an adequate
comparison with ZAERO and Tornado commercial software. As shown in Table 5.7, it
was selected an AOA of 7.90194 degrees based on the ZAERO rigid case for trimming
since it had been originally taken as reference by RUGGERI et al. (2015) for validation
in previous works. Results of pressure coefficient distribution indicated a severe influence
of the aerodynamic mesh near the tip region, which is important to effectively capture

100

CHAPTER 5. RESULTS

the gradient of pressure distribution. Similar results were also obtained with the Tornado
code.
Having as reference the trimming condition computed by ZAERO for the rigid case,
Table 5.7 shows the results comparison for all the methods implemented. The overall
error of the global lift coefficient at level flight was less than 1%, even with a coarse mesh
of 40 aero boxes, which indicates the robustness of the trimming formulation at very low
computational costs. In addition, for the flexible case ZAERO showed a reduction of the
approximately 3% of the global angle of attack compared to the rigid body case. It is
expected that for more severe loading configurations the flexibility influence plays a more
important role on the AOA variation for trimming.
It is important to remark that the flexible aeroelastic formulation of ZAERO for static
trim analysis is based on the so-called modal approach that approximates the structural
deformation using the generalized coordinates and the elastic modal matrix (excluding
any kind of rigid modes) (ZONA, 2014a) instead of a pure aeroelastic co-simulation as
implemented in VLM4FW. Moreover, with the exception of VLM4FW, none of the other
software handles geometrical non-linearities.
It is worth to mention on the other hand the difference in nearly ten times of the
induced drag coefficient values calculated by ZAERO and the other codes (VLM4FW,
Tornado). In the former case, ZAERO computes differently the CDi by simply multiplying
CL sin in an approximate fashion (RUGGERI et al., 2015). The latter cases compute the
CDi based on the downwash distribution, specifically VLM4FW following KALMAN et al.
(1970).
TABLE 5.7 Comparison of 1g steady flight trim condition on the AE-249/B wing.
ZAERO

ZAERO

VLM4FW

VLM4FW

Tornado

LLT

Rigid

Flexible

Rigid

Flexible

Rigid

Rigid

40 aero boxes 40 aero boxes 40 aero panels 40 aero panels 80 aero panels 41 stations
Semi-span

Semi-span

Semi-span

Semi-span

Full-span

Full-span

AOA [deg]

7.90194

7.90194

7.90194

7.90194

7.90194

7.90194

CL

0.76012

0.78588

0.75167

0.74299

0.75034

0.75368

CDi

0.10509

0.11112

0.01173

0.011478

0.010505

0.011829

L [N]

1.3036

1.3478

1.2891

1.2742

1.2868

1.2926

nz

1.0

1.0339

0.98888

0.97747

0.98711

0.99153

Figures 5.21 to 5.26 show the corresponding results after running the simulations
in VLM4FW for the case specified in Table 5.7. The rigid and flexible cases of the
aerodynamic characteristics are compared. As noted in Figure 5.21, the deformation of
the wing is downwards due to the weight contribution.

CHAPTER 5. RESULTS

101

FIGURE 5.21 Z Displacements on the AE-249/B wing (mesh 4 x 10).

-0.003
-0.006
-0.0089

0.05

-0.0119
0

z [m]

-0.0149
-0.0179

0.05
0.3
0.2
x [m]

0
0.04 0

-0.0209
-0.0238

0.1
y [m]

-0.0268

FIGURE 5.22 Distribution of pressure coefficient on the AE-249/B wing (mesh 4 x 10).

1.6
1.4
1.2

0.05

1
0.8

z [m]

0.6
0.05
0.3
0.2
x [m]

0
0.04 0

0.1
y [m]

0.4
0.2
0

102

CHAPTER 5. RESULTS

FIGURE 5.23 Distribution of lift coefficient on the AE-249/B wing (mesh 4 x 10).

VLM4FW CL=0.74299
cl0=0.86654

1
0.8
cl 0.6

Flexible
Rigid

0.4
0.2
0
0

0.2

0.4

2y/b

0.6

0.8

FIGURE 5.24 Distribution of angles of attack on the AE-249/B wing (mesh 4 x 10).

VLM4FW eff
VLM4FW i
0

10
9
8
7
[deg]

6
5
4
3
2
1
0
0

0.2

0.4

0.6
2y/b

0.8

CHAPTER 5. RESULTS

103

FIGURE 5.25 Distribution of spanwise/chordwise lift on the AE-249/B wing (mesh 4 x


10).

1.4

Spanwise lift distr.


Chordwise lift distr.
Total lift distr.

Rigid

1.2
1


cl c
CL c

0.8
Flexible

0.6
0.4

Rigid

0.2
0
0

0.2

Flexible

0.4

2y/b

0.6

0.8

FIGURE 5.26 Distribution of induced drag on the AE-249/B wing (mesh 4 x 10).

0.03
0.025


cdi
CL 2

0.02

Rigid

0.015
0.01

Flexible

0.005
0
0

0.2

0.4
0.6
2y/b

0.8

104

CHAPTER 5. RESULTS

In order to study the effect of large flexibility, the free-stream air velocity was increased
up to 45 m/s and the AOA changed to 5 degrees. The election of this free-stream velocity
is what might be expected to reflect the case in the imminence of flutter instability phenomenon, predicted by the well-known linear perturbation formulation implemented in
the standard commercial codes such as MSC.Nastran and ZAERO (RODDEN; JOHNSON,
2004; ZONA, 2014a). Numerical simulations for the chosen ballast configuration of 5mm
positive showed a flutter velocity of 46.7827 m/s (MSC.Nastran/ZAERO) and 46.1928
m/s (Abaqus/ZAERO) and were also correlated with experimental results for different
offset configurations as represented in Figure 5.27 (RUGGERI et al., 2015).
However, as will be discussed later the use of this linear theoretical approach to analyze
dynamic instabilities on the undeformed configuration is causing an important discrepancy
on the prediction of the flutter speed in about 20%. In fact, high aspect ratio flexible
wings have a stronger influence on the geometrical nonlinearities, as occurs in this case.
FIGURE 5.27 Influence of ballast offset on the flutter speed of AE-249 wing (linear
theory).
18

15.2651

14
12

Flutter
Speed
[m/s]

60

15.8373

16

50.6056
50

13.503
12.7716

10.0285

Abaqus

MSC.Nastran

Experimental

8.9239

6.5207

Flutter
Speed
[m/s]

45.9067
46.1928

40

10
8

50.9414

41.4501
41.7028

30

38.166
38.3525

20

Abaqus
10

MSC.Nastran

2.6954

0
-20

-15

-10

-5

Negative offset [mm]

10

15

Positive offset [mm]

Source: RUGGERI et al. (2015).

The mesh was also changed to 6 x 20 aero panels/shell elements to capture more
accurately the aerodynamic loading near the wing tip and the large non-linear deflections
from the structural side. The corresponding results after running the simulations in
VLM4FW for this case configuration are displayed in Figures 5.28 to 5.32.
It can be observed a large dependence of the very flexible deformation of the wing
on the aerodynamic loading. The global lift coefficient reduces substantially as expected,
partially affected by the chordwise and spanwise lift distributions, which in turn depend
on the sidewash and backwash new terms. Comparing both the rigid and flexible cases,
flexible data not only starts moving away but also shortens. This is due to the fact that
large deflections cause the effective wingspan to reduce in magnitude. However, data is
plotted on x-axis using the undeformed reference wingspan whether for the rigid or flexible

20

CHAPTER 5. RESULTS

105

cases, and thus justifying the contraction of flexible curves.


Plots of structural displacements, rotations and Mises stresses are displayed in Figures
5.33 to 5.38 using the Abaqus/Viewer post-processor. The effect of the aerodynamic
loading predominately induces bending about the x-axis with very low torsion. This
reinforces the assumption that the torsion does not play such an primary role as the case
of bending, even though both effects must be considered for the dynamic coalescence of
modes in dynamic instabilities studies.
Results of stresses indicate as a first approach that the highest values are still well
below the yield tensile strength of the material, assumed as specification in Table 5.5.
This observation makes the simplification made by using a linear elastic material behavior
even valid with no apparent need to add material non-linearities for this case study.
FIGURE 5.28 Distribution of pressure coefficient on the AE-249/B wing (mesh 6 x 20).

1.2
1
0.2

0.8

0.15
z [m]

0.1

0.6

0.05

0.4
0.3

0
0.05
0
0.04 0
x [m]

0.2
0.1
y [m]

0.2
0

106

CHAPTER 5. RESULTS

FIGURE 5.29 Distribution of lift coefficient on the AE-249/B wing (mesh 6 x 20).

0.7

VLM4FW CL=0.32931
cl0=0.54831

0.6
0.5
cl

Rigid

0.4
0.3

Flexible

0.2
0.1
0
0

0.2

0.4

2y/b

0.6

0.8

FIGURE 5.30 Distribution of angles of attack on the AE-249/B wing.

VLM4FW eff
VLM4FW i
0

6
5
4
[deg]

Flexible

Rigid

2
1
0
0

0.2

0.4

2y/b

0.6

0.8

CHAPTER 5. RESULTS

107

FIGURE 5.31 Distribution of spanwise/chordwise lift on the AE-249/B wing (mesh 6 x


20).

Spanwise lift distr.


Chordwise lift distr.
Total lift distr.

1.8
1.6
1.4


cl c
CL c

 1.2
1

0.8
0.6

Flexible
Rigid

0.4
0.2
0
0

0.2

0.4

2y/b

0.6

0.8

FIGURE 5.32 Distribution of induced drag on the AE-249/B wing (mesh 6 x 20).

0.06
0.05


cdi
CL 2

 0.04

Flexible

0.03
0.02
Rigid
0.01
0
0

0.2

0.4

2y/b

0.6

0.8

108

CHAPTER 5. RESULTS

FIGURE 5.33 Global displacements on the AE-249/B wing (mesh 6 x 20).


U,Magnitude
+1.785e01
+1.637e01
+1.488e01
+1.339e01
+1.190e01
+1.041e01
+8.926e02
+7.439e02
+5.951e02
+4.463e02
+2.975e02
+1.488e02
+0.000e+00

Beam

Beam

AE249/B120(+5MM)RIGHTWING:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:ae249wing120.odbAbaqus/Standard6.133TueOct2002:02:20E.SouthAmericaDaylightTime2015
Step:Step1
Increment28:StepTime=1.000
PrimaryVar:U,Magnitude
DeformedVar:UDeformationScaleFactor:+1.000e+00

FIGURE 5.34 X Rotations (bending) on the AE-249/B wing (mesh 6 x 20).


UR,UR1
+6.703e01
+6.145e01
+5.586e01
+5.028e01
+4.469e01
+3.910e01
+3.352e01
+2.793e01
+2.234e01
+1.676e01
+1.117e01
+5.586e02
+0.000e+00

Beam

Beam

AE249/B120(+5MM)RIGHTWING:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:ae249wing120.odbAbaqus/Standard6.133TueOct2002:02:20E.SouthAmericaDaylightTime2015
Step:Step1
Increment28:StepTime=1.000
PrimaryVar:UR,UR1
DeformedVar:UDeformationScaleFactor:+1.000e+00

CHAPTER 5. RESULTS

109

FIGURE 5.35 Y Rotations (torsion) on the AE-249/B wing (mesh 6 x 20).


UR,UR2
+4.730e02
+4.203e02
+3.676e02
+3.150e02
+2.623e02
+2.096e02
+1.570e02
+1.043e02
+5.162e03
1.042e04
5.371e03
1.064e02
1.590e02

Beam

Beam

AE249/B120(+5MM)RIGHTWING:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:ae249wing120.odbAbaqus/Standard6.133TueOct2002:02:20E.SouthAmericaDaylightTime2015
Step:Step1
Increment28:StepTime=1.000
PrimaryVar:UR,UR2
DeformedVar:UDeformationScaleFactor:+1.000e+00

FIGURE 5.36 Z Rotations (in-plane bend.) on the AE-249/B wing (mesh 6 x 20).
UR,UR3
+5.085e03
+4.454e03
+3.824e03
+3.193e03
+2.563e03
+1.933e03
+1.302e03
+6.717e04
+4.132e05
5.891e04
1.219e03
1.850e03
2.480e03

Beam

Beam

AE249/B120(+5MM)RIGHTWING:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:ae249wing120.odbAbaqus/Standard6.133TueOct2002:02:20E.SouthAmericaDaylightTime2015
Step:Step1
Increment28:StepTime=1.000
PrimaryVar:UR,UR3
DeformedVar:UDeformationScaleFactor:+1.000e+00

110

CHAPTER 5. RESULTS

FIGURE 5.37 Mises stresses on the AE-249/B wing (mesh 6 x 20).


S,Mises
SPOS,(fraction=1.0)
+1.712e+08
+1.569e+08
+1.427e+08
+1.285e+08
+1.142e+08
+9.999e+07
+8.575e+07
+7.151e+07
+5.728e+07
+4.304e+07
+2.881e+07
+1.457e+07
+3.327e+05

Beam

Beam

AE249/B120(+5MM)RIGHTWING:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:ae249wing120.odbAbaqus/Standard6.133TueOct2002:02:20E.SouthAmericaDaylightTime2015
Step:Step1
Increment28:StepTime=1.000
PrimaryVar:S,Mises
DeformedVar:UDeformationScaleFactor:+1.000e+00

FIGURE 5.38 Mirrored deformation on the AE-249/B wing (mesh 6 x 20).


Beam

Beam

Beam

Beam

AE249/B120(+5MM)RIGHTWING:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:ae249wing120.odbAbaqus/Standard6.133FriOct3017:25:53E.SouthAmericaDaylightTime2015
Step:Step1
Increment28:StepTime=1.000
DeformedVar:UDeformationScaleFactor:+1.000e+00

CHAPTER 5. RESULTS

111

As proposed in Chapter 4, in order to evaluate the influence of the structural deformation on the aeroelastic dynamic instability phenomenon, non-matched point flutter
simulations were then computed based on the undeformed and deformed configuration to
compare the critical velocity.
Firstly, for each configuration a solution of real normal modes was performed in
MSC.Nastran (SOL 103). Then the normal modes were used for a flutter analysis using
the subsonic ZONA6 g-Method in ZAERO (CHEN, 2000). Both structural and aerodynamic meshes were assumed to be the same, inherited from the original Abaqus/VLM4FW
mesh. The only remark that is important to note is the numeration sequence of panels
between the CQUAD4 structural shell elements and the CAERO7 aerodynamic panels. Since
the structural mesh had been previously meshed in VLM4FW, the numeration order of
panels was spanwise, as opposed to the ZAERO aerodynamic boxes for each CAERO7 region
macroelement considered chordwise. In addition, an infinite plate spline (IPS) method was
used in ZAERO with the bulk data card SPLINE1 for displacements and loads transferal
between both meshes.
The flutter modes are presented in Figures 5.39 to 5.42 for two instants of time: initial
and semi-period. Figures 5.43 and 5.44 also show the corresponding V-g-f plots for each
configuration. It can be observed a coupled bending-torsion mode in both cases, for the
deformed and undeformed condition and Table 5.10 compares the results of critical speed
and frequency using the ZONA6 g-Method in ZAERO. The difference in the order of 20% is
clearly appreciable, justifying the need to take into account the deformed configuration of
highly flexible wings for dynamic aeroelastic instability simulations. The fact of using the
undeformed case will lead to erratic non-conservative values for the estimation of flutter
phenomenon. Thus, the approach proposed in this work demonstrates the importance of
the geometrical nonlinearities on large deflections for this kind of wing structures. The
initial free-stream air speed that had been assumed to be 45 m/s in the imminence of
flutter is now invalidated, once the real wing would have already entered into flutter at a
lower speed of 37 m/s for that given aerodynamic loading.
TABLE 5.8 Comparison of flutter results on the AE-249/B wing.
Undeformed

Deformed

Relative

case

case

difference (%)

Critical speed [m/s]

46.54

37.30

19.85

Dynamic pressure [Pa]

1326

852.2

35.73

8.9512

8.3476

6.74

Frequency [Hz]
Mode (bending-torsion)

112

CHAPTER 5. RESULTS

FIGURE 5.39 Flutter mode at initial time on the AE-249/B wing (undeformed).
2.00-002

Patran 2014.0.1 64-Bit 01-Nov-15 01:50:30


ZAERO FLUTTER MODE AT TIME T= 0.00000, FOR PLTFLUT ID=

1.87-002
2.00-002

1.73-002
1.60-002
1.47-002
1.33-002
1.20-002
1.07-002
9.33-003
8.00-003
6.67-003
5.33-003
4.00-003
2.67-003
1.33-003
1.83-014

1.83-014
Z

default_Fringe :
Max 2.00-002 @Nd 479
Min 1.83-014 @Nd 10
default_Deformation :
Max 2.00-002 @Nd 479

Y
X

FIGURE 5.40 Flutter mode at semi-period time on the AE-249/B wing (undeformed).
2.00-002

Patran 2014.0.1 64-Bit 01-Nov-15 01:51:29


ZAERO FLUTTER MODE AT TIME T= 0.05586, FOR PLTFLUT ID=

1.87-002
1.73-002
1.60-002
1.47-002
1.33-002
1.20-002
1.07-002
2.00-002

9.33-003
8.00-003
6.67-003
5.33-003
4.00-003
2.67-003

1.83-014
Z
Y
X

1.33-003
1.83-014
default_Fringe :
Max 2.00-002 @Nd 479
Min 1.83-014 @Nd 10
default_Deformation :
Max 2.00-002 @Nd 479

CHAPTER 5. RESULTS

113

FIGURE 5.41 Flutter mode at initial time on the AE-249/B wing (deformed).
Patran 2014.0.1 64-Bit 01-Nov-15 02:05:02
ZAERO FLUTTER MODE AT TIME T= 0.00000, FOR PLTFLUT ID=

2.71-002

2.71-002

2.53-002
2.35-002
2.17-002
1.99-002
1.81-002
1.63-002
1.45-002
1.26-002
1.08-002
9.03-003
7.23-003
5.42-003
3.61-003
1.81-003
3.29-020

Z
Y

default_Fringe :
Max 2.71-002 @Nd 479
Min 3.29-020 @Nd 1
default_Deformation :
Max 2.71-002 @Nd 479

3.29-020
X

FIGURE 5.42 Flutter mode at semi-period time on the AE-249/B wing (deformed).
2.71-002

Patran 2014.0.1 64-Bit 01-Nov-15 02:06:29


ZAERO FLUTTER MODE AT TIME T= 0.05990, FOR PLTFLUT ID=

2.53-002
2.71-002

2.35-002
2.17-002
1.99-002
1.81-002
1.63-002
1.45-002
1.26-002
1.08-002
9.03-003
7.23-003
5.42-003
3.61-003
1.81-003
3.29-020

Z
Y

3.29-020
X

default_Fringe :
Max 2.71-002 @Nd 479
Min 3.29-020 @Nd 1
default_Deformation :
Max 2.71-002 @Nd 479

114

CHAPTER 5. RESULTS

FIGURE 5.43 V-g-f plots for flutter analysis on the AE-249/B wing (undeformed).
180
160
140
WHZ,MODE--1

120

WHZ,MODE--2
100

WHZ,MODE--3

f [HZ]

WHZ,MODE--4
80

WHZ,MODE--5
WHZ,MODE--6

60

WHZ,MODE--7
WHZ,MODE--8

40
20
0
0

10

20

30

V [M/S]

40

50

60

0.5
0.4
0.3
0.2
G,MODE--1
0.1

G,MODE--2
G,MODE--3

g 0.0

G,MODE--4
G,MODE--5

-0.1

G,MODE--6
-0.2

G,MODE--7
G,MODE--8

-0.3
-0.4
-0.5
0

10

20

30

40
V [M/S]

50

60

CHAPTER 5. RESULTS

115

FIGURE 5.44 V-g-f plots for flutter analysis on the AE-249/B wing (deformed).
180
160
140
WHZ,MODE--1

120

WHZ,MODE--2
100

WHZ,MODE--3

f [HZ]

WHZ,MODE--4
80

WHZ,MODE--5
WHZ,MODE--6

60

WHZ,MODE--7
WHZ,MODE--8

40
20
0
0

10

20

30

V [M/S]

40

50

60

0.3

0.2

0.1

G,MODE--1
G,MODE--2
G,MODE--3

g 0.0

G,MODE--4
G,MODE--5
G,MODE--6

-0.1

G,MODE--7
G,MODE--8
-0.2

-0.3
0

10

20

30

40
V [M/S]

50

60

116

5.5

CHAPTER 5. RESULTS

GNBA-12 wing

The last case study belongs to the right wing of the Generic Narrow Body Airliner
(GNBA) aircraft model developed by NETO (2014). It represents a conventional civil
transport aircraft with under-wing mounted engines, conventional tail and a maximum
seating capacity of 130 seats. The design point was established by NETO (2014) to be Mach
0.78 at 11582 m (38000 ft) of pressure altitude (ISA) with a maximum take-off weight
(MTOW) of 64200 kgf. Its preliminary design is comparable in role and configuration
to similar commercial aircraft such as B737-500/600, A318/319, E195 and CS300, whose
numerical model is primarily intended to be suitable for academic purposes.
The geometrical representation of the GNBA can be seen in Figure 5.45. The version
1.2 of GNBA models has been adopted with the most flexible wing configuration and
maximum fuel load (W025F025) in order to make the aeroelastic analyses more attractive.
Technical specifications of the wing configuration as well as aerodynamic flow conditions assumed for the simulations are described in Table 5.9. These air conditions were
not set to correspond to the design point of the aircraft in cruise phase as determined
by NETO (2014), but at sea level and at a much slower speed corresponding to Mach
0.30. This is due to a current limitation of functionality in VLM4FW to be unable to
handle compressibility effects. Similarly, the angle of attack was properly adjusted to
approximate the hypothetical 1g steady flight of the full aircraft.
FIGURE 5.45 Geometric representation of the GNBA aircraft model.

Source: NETO, 2014.

CHAPTER 5. RESULTS

117

TABLE 5.9 Model parameters of GNBA-12 wing.


Geometrical parameters
Root chord

cr [m]

6.0299

Tip chord

1.6966

Reference span

ct [m]
b [m]

Reference chord

c [m]

3.5413

Mean aerodynamic chord

3.8616

Reference wing area

MAC [m]
Sw [m2 ]

Aspect ratio

AR

Tapper ratio

0.2814

Dihedral - region 1

1 [deg]

8.211

Dihedral - region 2

2 [deg]

3.586

Sweep angle of LE

LE [deg]

32.756

116
9.25

30

Flow conditions
Pressure altitude - ISA

hISA [m]

Free-stream Mach

Free-stream velocity

V [m/s]

102.09

V [KEAS]

198.45

Air density

air [kg/m3 ]

1.225

Angle of attack

[deg]

8.9

Sideslip angle

[deg]

0.30

Mesh parameters
No. panels chordwise

Nj

No. panels spanwise - reg. 1 Ni1

10

No. panels spanwise - reg. 2 Ni2

25

Job ID

gnba12wing
Equivalent mechanical parameters

Aircraft gross weight

MTOW [kgf]

64200

Wing/fuel gross weight

Wwf [kgf]

14559

Thickness - region 1

t1 [m]

0.345

Thickness - region 2

t2 [m]

0.115

Young modulus - region 1

E1 [Pa]

1.85 x 1010

Young modulus - region 2

E2 [Pa]

1.85 x 1010

Young modulus - ENP

EEN P [Pa]

7.38 x 1010

Poisson ratio

0.33

118

CHAPTER 5. RESULTS

Per geometrical and structural considerations, the GNBA wing is divided into two
regions: the region 1 going from the root up to the station of the engine pylon, and the
region 2 continuing up to the wing tip. This gull-like wing configuration is typical for
civil commercial aircraft wings, so the VLM4FW mesher allows the generation of up to
two separate wing regions with different number of panels in the spanwise direction. The
reader can refer to Section A.2 of Appendix A for further information about the meshing
capabilities of the code.

5.5.1

Aerodynamic model

Figure 5.46 shows the aerodynamic mesh adopted for this case study. The inner
region (1) was discretized with 10 panels spanwise, whereas the outer region (2) with 25
panels spanwise. On both cases, 8 panels in the chordwise direction was used due to the
considerations mentioned in Appendix A. Two separate wing regions were defined and
meshed in order to contemplate the gull-like wing configuration with variable dihedral
and taper ratio, one going from the root up to the engine pylon, and the other from there
up to the wing tip.
Since the root of the GNBA wing model does not lie on the x-axis, dummy aerodynamic
panels were used to fill the gap (see Section A.2). In addition, for the discretization of
panels divisions were automatically to create nodes along the reference line of the elastic
axis. This was done in VLM4FW by activating the elasticaxis=1 option, which allows
the direct specification of the coordinates of the elastic axis in each wing region. The
reason of having modeled explicitly the elastic axis is in order to take advantage of rigid
coupling definitions in the structural model, specially for the inertia discrete elements
RBE2+CONM2 as will be discussed next.
FIGURE 5.46 Aerodynamic mesh of the GNBA-12 wing.

4
2
z [m]

0
2

15
2

10
4

x [m]

5
10

y [m]

The contributions of the engine, nacelle and pylon (ENP) for the aerodynamic model
have not been included, since its effect on the aerodynamic forces and moments is con-

CHAPTER 5. RESULTS

119

sidered to be secondary. However, even though the VLM4FW code is currently limited
to the modeling of wing surfaces, the ENP members are considered and included in the
structural model as described in the following section.

5.5.2

Structural model

The structural model in MSC.Nastran created by NETO (2014) consisted of beam CBAR
elements and rigid body connections RBE2 for the inertia discrete CONM2 elements. This
model already included the contribution of each structural member such as leading edge,
trailing edge, front spar, rear spar, engine, pylon, nacelle, pylon wing link, wing box, slats,
flaps, spoilers, ailerons, actuators, fairings, main landing gear, fuel and fuel tank. The
wing is assumed to be fixed at the root with an encastre boundary condition.
For the simulations presented here, the same mesh from VLM4FW was used with
structural shell CQUAD4 elements for the wing, so an equivalence analysis was performed
beforehand in order to convert the beam model into a shell model and retain the same
physics of the model. Firstly, the inertia model was matched with the use of the same
RBE2+CONM2 elements connected to the reference line of the elastic axis and verified by the
Grid Point Weight Generator in Nastran. The calibrated model matched weight, inertia
moments of mass and the position of the CG compared to the original beam model.
For the stiffness calibration, an equivalent structural thickness of the shell elements
was assigned for each of the two wing regions and varied iteratively until reaching an
correlation of modal properties. The same material properties as the beam model were
used. Natural frequencies, mode shapes and inertia properties were compared, with very
good agreement. Singularities on the 6th degree of freedom (in-plane torsion or drilling)
of the shell elements were removed with the use of the parameters PARAM,AUTOSPC,YES
and PARAM,K6ROT,0.0 to remove spurious in-plane bending modes, as had been done with
the AE-249 wing model.
Regarding the engine, nacelle and pylon (ENP) model, the same beam elements were
retained. The structural mesh of the GNBA model converted to shell elements is visualized
in Figure 5.47.
FIGURE 5.47 Structural mesh of the GNBA-12 wing.

Z
Y
1
X

Z
Y
X

120

CHAPTER 5. RESULTS

Once correlated, the structural shell model in MSC.Nastran was translated to Abaqus
for geometric nonlinear aeroelastic coupling with VLM4FW and compute the steady flight
loads. The reader can refer to Table 4.1 of Chapter 4 for a comparison of the bulk data
cards and keywords used for the translation of the structural models.

5.5.3

Numerical results

Figures 5.48 to 5.52 show the results after running the simulations in Abaqus/VLM4FW
for the rigid and flexible cases. The distribution of the lift coefficient suffers a deflection
in the transition station near to the engine pylon strip, mainly due to the effect of discontinuity change in the local chord. The impact of backwash and sidewash velocities appear
to be appreciable with most effect in the middle region of the wing as depicted in Figure
5.51. This in accordance to what had happened in the AE-249 wing. It is expected that
further deformation would lead to even more contribution of the chordwise lift. Regarding
the induced angle of attack and induced drag, noisy values were obtained and had to be
filtered in order to obtain reliable results. This can be reflected in the small waves in the
near root and central regions as seen in Figures 5.50 and 5.52.
On the other hand, global deflections in terms of displacements and rotations are
plotted in Figures 5.53 to 5.56. Bending in the y-axis is predominant as would be expected.
The near root region left to the pylon station behaves more rigidly due to the equivalence
discrete shell thickness approximation. For more accurate results, more refined discretized
thickness should be used accordingly.
FIGURE 5.48 Distribution of pressure coefficient on the GNBA-12 wing.

2.5
2
6
4

1.5

z [m] 2
1

0
2
2

15
10
4

x [m]

5
10

y [m]

0.5
0

CHAPTER 5. RESULTS

121

FIGURE 5.49 Distribution of lift coefficient on the GNBA-12 wing.

VLM4FW CL=0.62649
cl0=0.97599

1.2
1
Rigid

0.8
cl

0.6
Flexible
0.4
0.2
0
0

0.2

0.4

2y/b

0.6

0.8

FIGURE 5.50 Distribution of angles of attack on the GNBA-12 wing.

VLM4FW eff
VLM4FW i
0

10
8
[deg] 6
Flexible
4

Rigid

2
0
0

0.2

0.4

2y/b

0.6

0.8

122

CHAPTER 5. RESULTS

FIGURE 5.51 Distribution of spanwise/chordwise lift on the GNBA-12 wing.

Spanwise lift distr.


Chordwise lift distr.
Total lift distr.

1.8
1.6


cl c
CL c

1.4
1.2
1
0.8
0.6

Flexible

Rigid

0.4
0.2
0
0

0.2

0.4

2y/b

0.6

0.8

FIGURE 5.52 Distribution of induced drag on the GNBA-12 wing.

0.14
0.12


cdi
CL 2

0.1
0.08
0.06

Rigid

0.04
0.02
0
0

Flexible
0.2

0.4

2y/b

0.6

0.8

CHAPTER 5. RESULTS

FIGURE 5.53 Global displacements on the GNBA-12 wing.


U,Magnitude
+2.257e+00
+2.069e+00
+1.881e+00
+1.693e+00
+1.505e+00
+1.317e+00
+1.129e+00
+9.404e01
+7.523e01
+5.643e01
+3.762e01
+1.881e01
+0.000e+00

GNBA12RIGHTWING/ENGINE:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:gnba12wing.odbAbaqus/Standard6.133WedNov0415:40:00E.SouthAmericaDaylightTime2015
Step:Step1
Increment6:StepTime=1.000
PrimaryVar:U,Magnitude
DeformedVar:UDeformationScaleFactor:+1.000e+00

FIGURE 5.54 X Rotations (bending) on the GNBA-12 wing.


UR,UR1
+2.468e01
+2.263e01
+2.057e01
+1.851e01
+1.646e01
+1.440e01
+1.234e01
+1.028e01
+8.228e02
+6.171e02
+4.114e02
+2.057e02
+0.000e+00

GNBA12RIGHTWING/ENGINE:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:gnba12wing.odbAbaqus/Standard6.133WedNov0415:40:00E.SouthAmericaDaylightTime2015
Step:Step1
Increment6:StepTime=1.000
PrimaryVar:UR,UR1
DeformedVar:UDeformationScaleFactor:+1.000e+00

123

124

CHAPTER 5. RESULTS

FIGURE 5.55 Y Rotations (torsion) on the GNBA-12 wing.


UR,UR2
+6.316e03
2.582e04
6.833e03
1.341e02
1.998e02
2.656e02
3.313e02
3.971e02
4.628e02
5.286e02
5.943e02
6.601e02
7.258e02

GNBA12RIGHTWING/ENGINE:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:gnba12wing.odbAbaqus/Standard6.133WedNov0415:40:00E.SouthAmericaDaylightTime2015
Step:Step1
Increment6:StepTime=1.000
PrimaryVar:UR,UR2
DeformedVar:UDeformationScaleFactor:+1.000e+00

FIGURE 5.56 Z Rotations (in-plane bend.) on the GNBA-12 wing.


UR,UR3
+5.661e04
+9.569e06
5.470e04
1.104e03
1.660e03
2.217e03
2.773e03
3.330e03
3.886e03
4.443e03
4.999e03
5.556e03
6.112e03

GNBA12RIGHTWING/ENGINE:ABQ/VLM4FWSTATICFLIGHTLOADS
ODB:gnba12wing.odbAbaqus/Standard6.133WedNov0415:40:00E.SouthAmericaDaylightTime2015
Step:Step1
Increment6:StepTime=1.000
PrimaryVar:UR,UR3
DeformedVar:UDeformationScaleFactor:+1.000e+00

CHAPTER 5. RESULTS

125

Following the same methodology of analysis proposed in Chapter 4 and already evaluated for the AE-249 wing, non-matched point flutter analyses were performed for the
GNBA wing based on the undeformed and deformed configurations to compare the critical
velocity.
Again, as first step for each configuration a solution of real normal modes was performed in MSC.Nastran (SOL 103). Then the normal modes were used for a flutter analysis using the subsonic ZONA6 g-Method in ZAERO. Both structural and aerodynamic
meshes were assumed to be the identical, inherited from the original Abaqus/VLM4FW
mesh. The same modeling techniques were adopted for this case as presented for the
AE-249 wing. For the deformed configuration, each strip of the wing was modeled using a CAERO7 macroelement with the same chordwise divisions to match the VLM4FW
mesh. The only distinction was in terms of an additional CAERO7 macroelement that was
created in ZAERO to fill out the gap between the wing root chord and the global x-axis,
similarly to what had been implemented in the VLM4FW code. Infinite plate spline interpolation was used for the wing macroelements with the bulk data card SPLINE1, whereas
a zero-displacement interpolation was used for the aerodynamic dummy macroelement
using SPLINE0.
The modeling of the engine, nacelle and pylon was again neglected on the aerodynamic
side in ZAERO, since its contribution to promote the flutter phenomenon is primarily
dictated in the structural model. Thus, it was assumed that the engine nacelles and pylon
members did not add considerable aerodynamic lift nor drag to the system.
Figures 5.57 to 5.60 and 5.61 to 5.64 show the flutter mode in the initial time, quarterperiod time, semi-period time and three-quarter period time for the undeformed and
deformed configurations. Again, as expected the coupling of the bending-torsion modes
promoted the instability phenomenon. In both cases the same mode got unstable with
similar very similar mode shape.
The corresponding V-g-f plots for each case is also visualized in Figures 5.65 and 5.66.
It can be observed the coalescence of the first and third mode at the imminence of flutter
for both cases. In addition, only the first 5 modes appear to be active and affected by the
new aerodynamic contribution.

126

CHAPTER 5. RESULTS

FIGURE 5.57 Flutter mode at initial time on the GNBA-12 wing (undeformed).
1.79+000

Patran 2014.0.1 64-Bit 05-Nov-15 22:08:52


ZAERO FLUTTER MODE AT TIME T= 0.00000, FOR PLTFLUT ID=

1.67+000
1.55+000
1.43+000
1.79+000

1.31+000
1.19+000
1.07+000
9.53-001
8.34-001
7.15-001
5.96-001
4.77-001

0.

3.57-001
2.38-001
1.19-001
0.
Z

default_Fringe :
Max 1.79+000 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 1.79+000 @Nd 1119

Y
X

FIGURE 5.58 Flutter mode at quarter-period time on the GNBA-12 wing (undeformed).
7.40-001

Patran 2014.0.1 64-Bit 05-Nov-15 22:09:59


ZAERO FLUTTER MODE AT TIME T= 0.07152, FOR PLTFLUT ID=

1,

6.91-001
6.42-001
5.92-001
7.40-001

5.43-001
4.94-001
4.44-001
3.95-001
3.46-001
2.96-001
2.47-001
1.97-001

0.

1.48-001
9.87-002
4.94-002
0.
Z
Y
X

default_Fringe :
Max 7.40-001 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 7.40-001 @Nd 1119

CHAPTER 5. RESULTS

127

FIGURE 5.59 Flutter mode at semi-period time on the GNBA-12 wing (undeformed).
1.79+000

Patran 2014.0.1 64-Bit 05-Nov-15 22:11:44


ZAERO FLUTTER MODE AT TIME T= 0.14304, FOR PLTFLUT ID=

1,

1.67+000
1.55+000
1.43+000
1.31+000
1.19+000
1.07+000
9.53-001
1.79+000

8.34-001
7.15-001
5.96-001
4.77-001

0.

3.57-001
2.38-001
1.19-001
0.
Z

default_Fringe :
Max 1.79+000 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 1.79+000 @Nd 1119

Y
X

FIGURE 5.60 Flutter mode at three-quarter-period time on the GNBA-12 wing (undeformed).
7.40-001

Patran 2014.0.1 64-Bit 05-Nov-15 22:12:57


ZAERO FLUTTER MODE AT TIME T= 0.21455, FOR PLTFLUT ID=

1,

6.91-001
6.42-001
5.92-001
5.43-001
4.94-001
4.44-001
3.95-001
7.40-001

3.46-001
2.96-001
2.47-001
1.97-001

0.

1.48-001
9.87-002
4.94-002
0.
Z
Y
X

default_Fringe :
Max 7.40-001 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 7.40-001 @Nd 1119

128

CHAPTER 5. RESULTS

FIGURE 5.61 Flutter mode at initial time on the GNBA-12 wing (deformed).
1.92+000

Patran 2014.0.1 64-Bit 07-Nov-15 14:22:11


ZAERO FLUTTER MODE AT TIME T= 0.00000, FOR PLTFLUT ID=

1,

1.79+000
1.66+000
1.92+000

1.53+000
1.41+000
1.28+000
1.15+000
1.02+000
8.95-001
7.67-001
6.39-001
5.11-001
3.84-001
2.56-001

0.

1.28-001
0.
Z

default_Fringe :
Max 1.92+000 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 1.92+000 @Nd 1119

Y
X

FIGURE 5.62 Flutter mode at quarter-period time on the GNBA-12 wing (deformed).
5.92-001

Patran 2014.0.1 64-Bit 07-Nov-15 14:24:27


ZAERO FLUTTER MODE AT TIME T= 0.07292, FOR PLTFLUT ID=

1,

5.53-001
5.13-001
5.92-001

4.74-001
4.34-001
3.95-001
3.55-001
3.16-001
2.76-001
2.37-001
1.97-001
1.58-001
1.18-001
7.90-002

0.

3.95-002
0.
Z
Y
X

default_Fringe :
Max 5.92-001 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 5.92-001 @Nd 1119

CHAPTER 5. RESULTS

129

FIGURE 5.63 Flutter mode at semi-period time on the GNBA-12 wing (deformed).
1.92+000

Patran 2014.0.1 64-Bit 07-Nov-15 14:25:12


ZAERO FLUTTER MODE AT TIME T= 0.14584, FOR PLTFLUT ID=

1,

1.79+000
1.66+000
1.53+000
1.41+000
1.28+000
1.15+000
1.92+000

1.02+000
8.95-001
7.67-001
6.39-001
5.11-001
3.84-001
2.56-001

0.

1.28-001
0.
Z

default_Fringe :
Max 1.92+000 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 1.92+000 @Nd 1119

Y
X

FIGURE 5.64 Flutter mode at three-quarter-period time on the GNBA-12 wing (deformed).
5.92-001

Patran 2014.0.1 64-Bit 07-Nov-15 14:26:05


ZAERO FLUTTER MODE AT TIME T= 0.21876, FOR PLTFLUT ID=

1,

5.53-001
5.13-001
4.74-001
4.34-001
3.95-001
3.55-001
5.92-001

3.16-001
2.76-001
2.37-001
1.97-001
1.58-001
1.18-001
7.90-002

0.

3.95-002
0.
Z
Y
X

default_Fringe :
Max 5.92-001 @Nd 1119
Min 0. @Nd 1121
default_Deformation :
Max 5.92-001 @Nd 1119

130

CHAPTER 5. RESULTS

FIGURE 5.65 V-g-f plots for flutter analysis on the GNBA-12 wing (undeformed).
20
18
16
WHZ,MODE--1
14

WHZ,MODE--2
WHZ,MODE--3

12

WHZ,MODE--4
f [HZ] 10

WHZ,MODE--5
WHZ,MODE--6

WHZ,MODE--7
WHZ,MODE--8

WHZ,MODE--9
4

WHZ,MODE-10

2
0
0

50

100

150
V [M/S]

200

250

300

0.3
0.2
0.2
G,MODE--1

0.1

G,MODE--2
0.1

G,MODE--3
G,MODE--4

g 0.0

G,MODE--5
G,MODE--6

-0.1

G,MODE--7
-0.1

G,MODE--8
G,MODE--9

-0.2

G,MODE-10

-0.2
-0.3
0

50

100

150

200
V [M/S]

250

300

CHAPTER 5. RESULTS

131

FIGURE 5.66 V-g-f plots for flutter analysis on the GNBA-12 wing (deformed).
20
18
16
WHZ,MODE--1
14

WHZ,MODE--2
WHZ,MODE--3

12

WHZ,MODE--4
f [HZ] 10

WHZ,MODE--5
WHZ,MODE--6

WHZ,MODE--7
WHZ,MODE--8

WHZ,MODE--9
4

WHZ,MODE-10

2
0
0

50

100

150
V [M/S]

200

250

300

0.3
0.2
0.2
G,MODE--1

0.1

G,MODE--2
0.1

G,MODE--3
G,MODE--4

g 0.0

G,MODE--5
G,MODE--6

-0.1

G,MODE--7
-0.1

G,MODE--8
G,MODE--9

-0.2

G,MODE-10

-0.2
-0.3
0

50

100

150

200
V [M/S]

250

300

132

CHAPTER 5. RESULTS

A comparison of the flutter results is displayed in Table 5.10. The relative difference
gave results in the order of 6% for the critical speed and less than 2% for the flutter
frequency. Here, the simplification of assuming the undeformed wing configuration for the
study of dynamic instability does not lead to make a significant discrepancy. However,
it is expected that further flexibility of the elastic wing will create a stronger geometric
non-linear aeroelastic coupling and large deflections will be present. The reduction of the
critical flutter speed can be really appreciable as occurred in the AE-249 wing case.
TABLE 5.10 Comparison of flutter results on the GNBA-12 wing.
Undeformed Deformed

Relative

case

case

Difference (%)

265.03

248.99

6.054

515.18

483.99

6.054

Dynamic pressure [Pa]

43020

37970

11.739

Frequency [Hz]

3.4956

3.4284

1.9224

Critical speed [m/s]


[KEAS]

Mode (bending-torsion)

6 Conclusion
6.1

Final remarks

The coupling of elastic structural, aerodynamic and inertial effects on aerospace aircraft wings showed to play an important role for preliminary design, provided that dynamic instabilities of flutter can influence seriously the integrity of the structure making
critical the study of aeroelastic phenomena to evaluate quantitatively the operational
limits of the flight vehicles.
The objective of this research work was to study, analyze and investigate the participation of aeroelastic phenomena of flexible aircraft wings, specially taking into account
the geometrical nonlinear effects of large displacements with a new proposed theoretical
methodology. A correction on the aerodynamic loading for the inclusion of the sidewash
and backwash effects for flexible wings under deformation (bending and torsion) was implemented, together with a method to correct the low values of induced drag predicted
by the traditional VLM formulation by applying a correcting scale factor on the spanwise
distribution of induced drag, as a mean of correction of the cross-flow energy in the wake.
These original correction methods that had been published for rigid wings were now applied to elastic wings considering the bending effects as the local dihedral of each aero
panel, as well as the torsional effect modifying the elastic angle of attack.
The results obtained gave a clear idea of how important is the deformed configuration
for the study of dynamic instabilities. Depending on the wing aspect ratio and wing
flexibility, considering the undeformed wing configuration to perform a flutter analysis can
lead to large differences in the estimated critical speeds, and even worse, overestimating
the real values. For this, flutter analyses based on geometrical nonlinear deformed wings
are assumed to be conservative for the preliminary design condition and are expected to
provide better results as technological advances introduce higher aspect ratios on very
flexible wings.
The shell-like structural model approach used in this work showed to be an alternative
and attractive method compared to the traditional beam-like models used as standard
in the aerospace industry. Indeed, this is important for flexible wings to be able to

134

CHAPTER 6. CONCLUSION

accurately capture torsional effects, unlikely to be represented with beam elements in a


reliable manner. Results have showed good correlation with beam models after using the
equivalent shell thickness technique presented in Chapter 4. However, for more accurate
results it is suggested that a more refined field of discretized equivalent thickness be used
over all the shell elements (variable for each wing strip or even per panel). In particular
the GNBA wing model showed to have noisy data for the induced AOA and induced drag,
and thus compromising the convergence of the simulations.
Clearly the use of a complete aircraft model will create additional flexibility on the
wing-fuselage joint, which has not been contemplated in the simulations presented. The
assumption of an encastre structural boundary condition, even simplistic, has introduced
infinite rigidity on the wing root that can certainly bring inaccuracies on the computed
critical speeds. The real flutter speed of the complete aircraft in service may be even
lower, so a validation with a flight test campaign is nearly indispensable and mandatory.
Regarding the robustness and functionality performance, the in-house VLM code that
has been internally developed at ITA proved to show very good results for the cases of
studies evaluated, giving accurate correlation with the validation data. It can be concluded that the proposed formulation of the VLM4FW program acts as an alternative
approach to handle very flexible wings, specially those ones with high aspect ratios as discussed previously. In this case the flight aerodynamic loading will induce large structural
deflections and a geometrical nonlinear formulation must be taken into account for this
kind of problems to obtain accurate aeroelastic data. It is expected that future releases
of VLM4FW versions extend much more of the functionality presented in this work, as
discussed in the following section.

6.2

Future works

A more detailed investigation might also be performed with further sensibility analyses
modifying certain variables of the problem in order to comply with wing design requisites.
Examples can be the optimum geometrical position of the elastic axis, mass and inertia
contribution, effects of engine, fuel, pylons and nacelles on the flexiblity, among others.
Regarding the computational implementation of the approach formulated in this work
for aeroelastic geometrically non-linear simulations, below are proposed some potential
functionality enhancements that might be done to improve the robustness of the VLM4FW
program code in order to able to solve wider types of problems.
Add quasi-steady and unsteady aerodynamics formulations
Model variable trailing wake based on flow unsteadiness

CHAPTER 6. CONCLUSION

135

Include polar drag effects by interpolation of empirical data


Include thickness and camber effects instead of mean surface representation on

boundary conditions
Implement an interpolation spline formulation to handle different aerodynamic and

structural meshes and element types


Allow non-uniform mesh along span and chord
Expand functionality to allow more than 2 regions of wing for meshing
Add in-plane bending at each strip
Compute and transfer aerodynamic moments from VLM to FEM for wings composed

of real non-symmetrical airfoils


Formulate flexibility of boundary conditions and be able to update in case of motion

(not encastre)
Expand the methodology to simulate full-size aircraft instead of only cantilever

semi-wings clamped at root


Add compressibility corrections on VLM4FW to handle high subsonic air speeds
Implement an in-house flutter solver based on VLM4FW deformed configuration for

dynamic aeroelastic instability and plot V-g-f graphs


Implement an in-house gust time-response solver on VLM4FW deformed configura-

tion
Compute aerodynamic stability derivatives as published in Report NASA TN D-

6142
Automate the generation of the ZAERO input deck file for flutter analysis on the

deformed configuration
Validate with experimental results the deformed geometry based on the steady flight

loads computed from VLM4FW


Take into account the geometric stiffness matrix contribution in the prestressed

deformed geometry for subsequent flutter analyses


.

Bibliography
BATHE, K. J. Finite Element Procedures. New Jersey: Prentice Hall, 1996. 1037 p.
ISBN 0-133-01458-4.
BAVARO, M. A. Apuntes de Aeroelasticidad: UTNFRH. Haedo: Universidad
Tecnologica Nacional UTN, 2009. Lectures notes.
BERTIN, J. J.; CUMMINGS, R. M. Aerodynamics for Engineers. 5th. ed. New
Jersey: Prentice Hall, 2008. 752 p. ISBN 0-132-27268-7.
BILLAH, K. Y.; SCALAN, R. H. Resonance, tacoma narrows bridge failure, and
undergraduate physics textbooks. American Journal of Physics, American
Association of Physics Teachers, v. 59, n. 2, p. 118124, February 1991.
BISMARCK-NASR, M. N. Structural Dynamics in Aeronautical Engineering.
Reston: American Institute of Aeronautics and Astronautics, 1999. 297 p. ISBN
1-56347-323-2.
BISPLINGHOFF, R. L.; ASHLEY, H.; HALFMAN, R. L. Aeroelasticity. Cambridge:
Addison-Wesley Publishing Company, 1955. 860 p. ISBN 0-486-69189-6.
CHEN, P. C. Damping perturbation method for flutter solution: The g-method. AIAA
Journal, American Institute of Aeronautics and Astronautics, v. 38, n. 9, p. 15191524,
September 2000.
COLLAR, A. R. The first fifty years of aeroelasticity. Aerospace, v. 5, n. 2, p. 1220,
February 1978.
CORADIN, H. T. Estudo de Acoplamento Fluido-Estrutura Utilizando
Ferramentas de CFD e FEA para Soluc
ao de Problemas Aeroel
asticos. 2010.
93 p. Dissertation (Professional Master of Science in Aeronautical and Mechanical
Engineering) Instituto Tecnologico de Aeronautica ITA, Sao Jose dos Campos,
2010.
COURA, J. C. B. Aeroelastic Characteristics of Cantilever Wings. 2000. 90 p.
Dissertation (Master of Science in Aeronautical and Mechanical Engineering)
Instituto Tecnologico de Aeronautica ITA, Sao Jose dos Campos, 2000.
DESTUYNDER, R. Influence des deformations statiques dune voilure sur
laerodynamique instationnaire. In: North Atlantic Treaty Organization, Advisory Group
for Aerospace Research and Development. Proceedings... Static Aeroelastic Effects
on High Performance Aircraft. Athens, 1987. p. 111118. (AGARD-CP-403).

138

BIBLIOGRAPHY

DIEDERICH, F. W.; BUDIANSKY, B. Divergence of Swept Wings. National


Advisory Committee for Aeronautics, Washington, 1948. (NACA-TN-1680).
DOGGETT, R. V.; HARDER, R. L. Subsonic flutter analysis addition to NASTRAN.
In: National Aeronautics and Space Administration. Proceedings... NASTRAN
Users Experiences. Hampton, 1973. p. 507530. (NASA-TM-X-2893).
DOWELL, E. H. et al. A Modern Course in Aeroelasticity. 4th. ed. Dordrecht:
Kluwer Academic Publishers, 2004. 746 p. ISBN 1-4020-2039-2.
EMBRAER. Engineering and Development: Satoshi Yokota, Executive Vice
President. 2006. Available from Internet: <http://www.slideshare.net/embraerri/>.
Cited: 20/06/2015.
FAA. Advisory Circular: Means of Compliance with Title 14 CFR, Part 23,
23.629, Flutter. Federal Aviation Administration, Washington, 2004.
(FAA/AC-23.629-1B).
FAA. Advisory Circular: Aeroelastic Stability Substantiation of Transport
Category Airplanes. Federal Aviation Administration, Washington, 2014.
(FAA/AC-25.629-1B).
FOLTRAN, R. F. Efeito da Sustentac
ao Est
atica, Diedro e outros Par
ametros
na Determinac
ao das Velocidades de Flutter em Caudas-T. 2010. 118 p.
Dissertation (Professional Master of Science in Aeronautical and Mechanical
Engineering) Instituto Tecnologico de Aeronautica ITA, Sao Jose dos Campos,
2010.
FRAZER, R. A.; DUNCAN, W. J. The Flutter of Aeroplane Wings. Aeronautical
Research Committee, United Kingdom, 1928. (R&M-1155).
FREITAS, V. R. de. An
alise Aeroel
astica de uma Aeronave de Passageiros.
2004. 73 p. Dissertation (Professional Master of Science in Aeronautical and Mechanical
Engineering) Instituto Tecnologico de Aeronautica ITA, Sao Jose dos Campos,
2004.
FUNG, Y. C. An Introduction to the Theory of Aeroelasticity. Ney York: Dover
Publications, 1969. 498 p. ISBN 0-486-67871-7.
GARRICK, I. E. On Some Reciprocal Relations in the Theory of
Nonstationary Flows. National Advisory Committee for Aeronautics, Washington,
1938. (NACA-TR-629).
GARRICK, I. E.; REED III, W. H. Historical development of aircraft flutter. Journal
of Aircraft, American Institute of Aeronautics and Astronautics, v. 18, n. 11, p.
897912, November 1981.
HODGES, D. H.; PIERCE, G. A. Introduction to Structural Dynamics and
Aeroelasticity. 2nd. ed. New York: Cambridge University Press, 2011. 247 p. ISBN
978-0-521-19590-4.

BIBLIOGRAPHY

139

JAMES, R. M. On the Remarkable Accuracy of the Vortex Lattice


Discretization in Thin Wing Theory. McDonnell Douglas Corp., Long Beach, 1969.
(DAC-67011).
KALMAN, T. P.; GIESING, J. P.; RODDEN, W. P. Spanwise distribution of induced
drag in subsonic flow by the vortex lattice method. Journal of Aircraft, American
Institute of Aeronautics and Astronautics, v. 7, n. 6, p. 574576, November/December
1970.
KALMAN, T. P.; RODDEN, W. P.; GIESING, J. P. Application of the doublet-lattice
method to nonplanar configurations in subsonic flow. Journal of Aircraft, American
Institute of Aeronautics and Astronautics, v. 8, n. 6, p. 406413, June 1971.
KATZ, J.; PLOTKIN, A. Low-Speed Aerodynamics. 2nd. ed. New York: Cambridge
University Press, 2001. 613 p. ISBN 0-521-66219-2.
LEE, T.; PARK, S. O. Improved iteration algorithm for nonlinear vortex lattice method.
Journal of Aircraft, American Institute of Aeronautics and Astronautics, v. 46, n. 6,
p. 21742176, November/December 2009.
MARGASON, R. J.; LAMAR, J. E. Vortex-Lattice Fortran Program for
Estimating Subsonic Aerodynamic Characteristics of Complex Planforms.
National Aeronautics and Space Administration, Washington, 1971.
(NASA-TN-D-6142).
MARGASON, R. J. et al. Subsonic panel methods - a comparison of several production
codes. In: American Institute of Aeronautics and Astronautics. Proceedings... 23rd
Aerospace Sciences Meeting. [S.l.], 1985.
MASON, W. H. AOE 4114 Applied Computational Aerodynamics. Blacksburg:
Virginia Polytechnic Institute and State University, 1997. Lectures notes.
MUTTERPERL, W. The Calculation of Span Load Distributions of Swept-back
Wings. National Advisory Committee for Aeronautics, Washington, 1941.
(NACA-TN-834).
NAM, C.; KIM, Y.; WEISSHAAR, T. A. Computational Aids in Aeroservoelastic
Analysis Using MATLAB. West Lafayette: Purdue University, 2001.
NASA. Vortex-Lattice Utilization. National Aeronautics and Space Administration,
Hampton, 1976. (NASA-SP-405).
NETO, A. B. G. Flight Dynamics of Flexible Aircraft Using General Body
Axes: A Theoretical and Computational Study. 2014. 450 p. Thesis (Doctor of
Science in Aeronautical and Mechanical Engineering) Instituto Tecnologico de
Aeronautica ITA, Sao Jose dos Campos, 2014.
NICOLETTI, G. W. An
alise Aeroel
astica da Semi-Asa de uma Aeronave
Comercial em Nvel Preliminar. 2006. 143 p. Dissertation (Professional Master of
Science in Aeronautical and Mechanical Engineering) Instituto Tecnologico de
Aeronautica ITA, Sao Jose dos Campos, 2006.

140

BIBLIOGRAPHY

PAMADI, B. N. Performance, Stability, Dynamics, and Control of Airplanes.


3rd. ed. Reston: American Institute of Aeronautics and Astronautics, 2015. 708 p. ISBN
1-624-10274-3.
PINTO, T. H. L. Estudo Comparativo de M
etodos de Identificac
ao
Aeroel
astica com Dados de Ensaio em T
unel de Vento. 2013. 168 p. Dissertation
(Master of Science in Aeronautical and Mechanical Engineering) Instituto
Tecnologico de Aeronautica ITA, Sao Jose dos Campos, 2013.
PRANDTL, L. Applications of Modern Hydrodynamics to Aeronautics.
National Advisory Committee for Aeronautics, Washington, 1923. (NACA-TR-116).
RESENDE, O. C. de. The evolution of the aerodynamic design tools and transport
aircraft wings at Embraer. Brazilian Society of Mechanical Sciences and
Engineering, v. 26, n. 4, p. 379390, October/December 2004.
RODDEN, W. P.; HARDER, R. L.; BELLINGER, E. D. Aeroelastic Addition to
NASTRAN. National Aeronautics and Space Administration, Washington, 1979.
(NASA-CR-3094).
RODDEN, W. P.; JOHNSON, E. H. MSC.Nastran v68: Aeroelastic Analysis
Users Guide. Santa Ana, 2004. 864 p. MSC.Software Corp.
RODDEN, W. P. et al. Static aeroelastic addition to MSC/NASTRAN. In:
MacNeal-Schwendler Corporation. Proceedings... MSC/NASTRAN Users
Conference. [S.l.], 1984.
ROMMEL, B. A.; DODD, A. J. Practical considerations in aeroelastic design. In:
National Aeronautics and Space Administration. Proceedings... Recent Experiences
in Multidisciplinary Analysis and Optimization. Hampton, 1984. p. 3546.
(NASA-CP-2327).
RUGGERI, M. C.; SILVA, R. G. A. da; SOUZA, C. E. de. Aeroelastic simulations of
flexible aircraft with the commercial structural solver Abaqus. In: Central Aerohydrodynamic Institute. Proceedings... International Forum on Aeroelasticity
and Structural Dynamics. Saint Petersburg, 2015. (IFASD-2015-180).
SANTOS, L. A. dos et al. Modeling the subsonic aerodynamics of aircraft with external
stores for flutter analysis. In: Brazilian Society of Mechanical Sciences and Engineering.
Proceedings... 10th Brazilian Congress of Thermal Sciences and Engineering.
Rio de Janeiro, 2004.
SCANLAN, R. H.; ROSENBAUM, R. Introduction to the Study of Aircraft
Vibration and Flutter. New York: The Macmillan Company, 1951. 428 p. ISBN
1-124-07155-5.
SCHNEIKER, J. Otimizac
ao de Peso de Asa Utilizando o Crit
erio de
Estabilidade Aeroel
astica. 2010. 133 p. Dissertation (Professional Master of Science
in Aeronautical and Mechanical Engineering) Instituto Tecnologico de Aeronautica
ITA, Sao Jose dos Campos, 2010.

BIBLIOGRAPHY

141

SILVA, J. L. da. An
alise Aeroservoel
astica Utilizando o Software
MSC/NASTRAN. 2005. 82 p. Dissertation (Professional Master of Science in
Aeronautical and Mechanical Engineering) Instituto Tecnologico de Aeronautica
ITA, Sao Jose dos Campos, 2005.
SILVA, R. G. A. da. A Study on Correction Methods for Aeroelastic Analysis
in Transonic Flow. 2004. 233 p. Thesis (Doctor of Science in Aeronautical and
Mechanical Engineering) Instituto Tecnologico de Aeronautica ITA, Sao Jose dos
Campos, 2004.
SOARES, C. An
alise de Flutter em uma Aeronave em Fase de Projeto
Conceitual. 2004. 103 p. Dissertation (Professional Master of Science in Aeronautical
and Mechanical Engineering) Instituto Tecnologico de Aeronautica ITA, Sao Jose
dos Campos, 2004.
SORESINI, A. L. G. Prediction of Aeroelastic Phenomena in Preliminary
Aircraft Design. 2006. 93 p. Dissertation (Professional Master of Science in
Aeronautical and Mechanical Engineering) Instituto Tecnologico de Aeronautica
ITA, Sao Jose dos Campos, 2006.
SOUZA, C. E. de. Nonlinear Aeroelasticity of Composite Flat Plates. 2012.
169 p. Thesis (Doctor of Science in Aeronautical and Mechanical Engineering)
Instituto Tecnologico de Aeronautica ITA, Sao Jose dos Campos, 2012.
STOCKWELL, A. E. A Verification Procedure for MSC/NASTRAN Finite
Element Models. National Aeronautics and Space Administration, Hampton, 1995.
(NASA-CR-4675).
STRIZ, A. G.; VENKAYYA, V. B. Influence of structural and aerodynamic modeling on
flutter analysis. Journal of Aircraft, American Institute of Aeronautics and
Astronautics, v. 31, n. 5, p. 12051211, September/October 1994.
SU, W.; ZHANG, J.; CESNIK, C. E. S. Correlations between UM/NAST nonlinear
aeroelastic simulations and experiments of a cantilever slender wing. In: Proceedings...
International Forum on Aeroelasticity and Structural Dynamics. Seattle: [s.n.],
2009. (IFASD-2009-168).
THEODORSEN, T. General Theory of Aerodynamic Instability and the
Mechanism of Flutter. National Advisory Committee for Aeronautics, Washington,
1935. (NACA-TR-496).

WAGNER, H. Uber
die entstehung des dynamischen auftriebes von tragfl
ugeln.
Zeitschrift fu
r Angewandte Mathematik und Mechanik, v. 5, n. 1, p. 1735,
February 1925.
WEISSHAAR, T. A. AAE556 Aeroelasticity: An introduction to fundamental
problems - with an historical perspective, examples and homework problems. West
Lafayette: Purdue University, 2012. Lectures notes.
WEISSINGER, J. The Lift Distribution of Swept-Back Wings. National Advisory
Committee for Aeronautics, Washington, 1947. (NACA-TM-1120).

142

BIBLIOGRAPHY

WESTIN, M. F. Aeroelastic Modeling and Experimental Analysis of a Flexible


Wing for Wind Tunnel Flutter Test. 2010. 91 p. Dissertation (Master of Science in
Aeronautical and Mechanical Engineering) Instituto Tecnologico de Aeronautica
ITA, Sao Jose dos Campos, 2010.
WRIGHT, J. R.; COOPER, J. E. Introduction to Aircraft Aeroelasticity and
Loads. Chichester: John Wiley & Sons, 2007. 499 p. ISBN 978-0470-85840-0.
YANG, C. et al. Aeroelastic trim and flight loads analysis of flexible aircraft with large
deformations. Science China Technological Sciences, Science China Press and
Springer-Verlag Berlin Heidelberg, v. 55, n. 10, p. 27002711, October 2012.
YATES, E. C.; CHU, L. C. Static Aeroelastic Effects on the Flutter of a
Supercritical Wing. National Aeronautics and Space Administration, Hampton, 1987.
(NASA-TM-89132).
ZHANG, C. et al. Geometrical nonlinear aeroelastic analysis of large aircraft wing. In:
Central Aero- hydrodynamic Institute. Proceedings... International Forum on
Aeroelasticity and Structural Dynamics. Saint Petersburg, 2015. (IFASD-2015-76).
ZICHENKOV, M.; ISHMURATOV, F. Nonlinearities and uncertainties of aeroelasticity
characteristics in aircraft design and certification. In: Central Aero- hydrodynamic
Institute. Proceedings... 29th Congress of the International Council of the
Aeronautical Sciences. Saint Petersburg, 2014. (ICAS-2014-0139).
ZONA. ZAERO Theoretical Manual v9.0A. Scottsdale, 2014. 313 p. ZONA
Technology Inc.
ZONA. ZAERO Users Manual v9.0A. Scottsdale, 2014. 638 p. ZONA Technology
Inc.

Appendix A - Architecture of
Abaqus/VLM4FW
A.1

Framework

The internal architecture of VLM4FW is shown in Figure A.1, which contain the
following modules:
CASE CONFIG (wing01.m):

Case configuration environment for VLM4FW


AERO MESHER (vlm4fw_mesh36.m):

Aerodynamic mesher for VLM4FW


BC BUILDER (vlm4fw_bc11):

Boundary conditions builder for Abaqus input deck file


DAT READER (vlm4fw_rddat11):

Structural mesh reader from Abaqus DAT results file


VLM4FW SOLVER (vlm4fw_slvr97):

Aerodynamic solver of VLM4FW


Each module represents a MATLAB m-file programmed in a sequential workflow.
The interaction among these modules passing variables depends on a principal driver
vlm4fwruncmd, which is called within the aeroelastic coupler for each different stage of
the simulation. In turn, the aeroelastic coupler externally calls VLM4FW to run in
MATLAB batch-mode from the command prompt at specific instances of time during the
co-simulation.
There are also other modules in the VLM4FW program that are used for postprocessing operations, specially to plot 2D, 3D and XY data graphs. All the plots used
in this work have been created inside VLM4FW for the aerodynamic simulations. A list
of modules for graphics operations is described below:

144

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW


plot_aerogeom.m:

Plotter of aerodynamic geometry and mesh model


plot_aerocp.m:

Plotter of pressure coefficient distribution


plot_aerocoeff.m:

Plotter of spanwise aerodynamic characteristics


plot_aerodef.m:

Plotter of deformed mesh


plot_extrap.m:

Plotter of aerodynamic forces extrapolated from the aerodynamic center to the nodes
The relevant primary files used by VLM4FW and Abaqus are described in Table A.1.
An identifier for each file is arbitrarily assigned, and a distinction is made whether if the
file is being accessed in write- or read- mode. All these files remain stored in the working
directory where the main aeroelastic job is being executed.
FIGURE A.1 Internal architecture of VLM4FW.
(Model parameters)

CASE CONFIG
wing01.m
.DAT

MATLAB
variables

Initial
run?

NO

.NODNAST

YES

AERO MESHER
vlm4fw_mesh36.m
.NOD0NAST
.CONNNAST

.NOD0
.CONN

DAT READER
vlm4fw_rddat11.m

.NODNAST

.NOD

.NOD

VLM4FW-ABAQUS
AEROELASTIC
COUPLER
Abqvlm4fw36.for

VLM4FW SOLVER
vlm4fw_slvr97.m
.PAOUT

BC BUILDER
vlm4fw_bc11.m
.BCNAST

.BC

On the other hand, it is mandatory that a subdirectory named /matlabjob/ already


exists and where the case configuration parameters file resides. An example is illustrated
in Figure A.2, in which the structural INP input deck and aeroelastic coupler files reside
in .../working_dir/, whereas the VLM4FW case config file in .../working_dir/matlabjob/). It is the user responsibility that the name of the structural and aerodynamic

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW

145

files be exactly the same as depicted in Figure A.2. The name of the aeroelastic coupler
file should not be modified either to prevent any confusion.
TABLE A.1 I/O files in Abaqus/VLM4FW program
Extension

File ID

Description

.NOD0

100(w)/110(r) Nodal XYZ coordinates of initial undeformed mesh

.NOD

101(w)/111(r) Nodal XYZ coordinates of updated deformed mesh

.CONN

102(w)/112(r) Element connectivity table for Abaqus input

.BC

103(w)/113(r) Nodal boundary conditions for Abaqus input

.FAOUT

901(w)/911(r) Aerodynamic loading extrapolated to nodes

.PAOUT

902(w)/912(r) Aerodynamic normal pressures

.CMDOUT

VLM4FW log

.INP

Abaqus input deck

.DAT

Ouput data computed by Abaqus

.FOR

Abaqus/VLM4FW aeroelastic coupler

There are also other secondary output files that are created by VLM4FW, specially
for coupling with the finite element commercial solver MSC.Nastran. The file extensions
of these files are: .NOD0NAST, .NODNAST, .CONNNAST and .BCNAST. The File IDs are 400,
401, 402 and 403 respectively. They have the same description as the corresponding files
of Abaqus presented in Table A.1, but here with the Nastran bulk data format adapted.
It is important to remark that no aeroelastic coupling is implemented to work in cosimulation with MSC.Nastran solver. The purpose of these files is to automate and use
the same mesh created by the VLM4FW aero mesher, and prepare the BDF input deck
file for a structural analysis only. An aerodynamic rigid analysis can also be performed
in stand-alone mode.
The simulation code starts loading the case configuration parameters (geometry, flow
conditions, aerodynamic data, etc.). In this the case configuration file there are also code
options to customize (0 or 1). The meaning of each option available in the VLM4FW
program is described below:
plots=[0 | 1]

Activates the plots of figures in the MATLAB interface


plotfullwing=[0 | 1]

Mirrors both semi-wings for plotting the full-span wing


plotgraphsfullwing=[0 | 1]

Mirrors XY data for plotting full-span aerodynamic characteristics

146

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW


printcoord=[0 | 1]

Prints the nodal xyz coordinates in the MATLAB command window


printgamma=[0 | 1]

Prints the circulation strengths of panels in the MATLAB command window


printaeroy=[0 | 1]

Prints the span-load aerodynamic data in the MATLAB command window


corraitip=[0 | 1]

Corrects the induced AOA in the near wing tip and root (See Section 3.2.1.2)
meshnastran=[0 | 1]

Writes the mesh data files to export to the Nastran BDF input deck file
elasticaxis=[0 | 1]

Allows a direct specification of the elastic axis coordinates of the wing


rootoutxaxis=[0 | 1]

Activates the creation of dummy aero panels if wing root does not lie along the
x-axis
wingregions=[1 | 2]

Determines the quantity of wing regions for meshing

FIGURE A.2 Storage of the working files for execution of Abaqus/VLM4FW.

.../working_dir/
wing01.inp
abqvlm4fw36.for

.../working_dir/matlabjob/
wing01.m

In the initial run, an aerodynamic mesher is next invoked for the panel discretization
as well as a boundary conditions builder to prepare the Abaqus input deck file for the
mechanical engaste condition of the semi-wing. In case of an intermediate run, the DAT

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW

147

reader is executed to update the aerodynamic mesh based on the previous structural
deformation. Then, the VLM4FW solver is run and the aerodynamic pressures on each
panel written to be read by Abaqus. This procedure continues in the same manner for
the next iterations.
Figure A.3 illustrates a schematic representation of the aeroelastic coupler and its
interaction at different stages of the co-simulation, which is called at the beginning of
the analysis, at the start of each time increment and for the definition of the structural
equivalent nodal loads vector at each element. After the Abaqus solver completes at
each Newton-Raphson iteration, a check of force residuals is performed to guarantee the
convergence of the simulation. If these residuals are not under tolerance, the iteration is
assumed to be unconverged and a new iteration follows with a modified load increment
from the structural side.
Two separate pre-defined Abaqus user subroutines have been implemented within the
aeroelastic coupler, UEXTERNALDB and DLOAD. The former one allows Abaqus to access
VLM4FW data from at different instances of time, and the latter one is used to read the
aerodynamic loading and compute the loads vector at the integration point of each shell
element.

148

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW

FIGURE A.3 Architecture of the aeroelastic coupler Abaqus/VLM4FW.


Begininng of analysis

AEROELASTIC COUPLER
UEXTERNALDB
abqvlm4fw36.for

Define initial conditions

Initial
run?

Start of step

NO

YES

Start of increment

INITIALIZE AERO MESHER


vlm4fwruncmd(...',1,0,0,1)

INC

RUN DAT READER


FROM PREVIOUS INCREMENT
vlm4fwruncmd(...',0,INC-1,0,1)

Start of iteration

RUN VLM4FW SOLVER


vlm4fwruncmd(...',0,0,1,1)

Define stiffness
.PAOUT

DLOAD
abqvlm4fw36.for

Define loads

18/09/2015

Abaqus Solver

Converged?

NO

YES

Write output (.DAT)

End of
step?
YES

NO

.NOD

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW

A.2

149

Meshing considerations

An aerodynamic mesher module is already implemented in VLM4FW in order to correctly discretized the wing into lifting panels with horseshoe vortex distributions. Caution
must be taken since a special sequence of meshing needs to be respected for all cases.
Figure A.4 shows an illustrative sample case with 3 x 4 aero panels. The sequence in
numeration of panels follows a spanwise order. In other words, from the first row at the
leading edge to the last row at the trailing edge, and for a given row, from the root until
the wing tip. This meshing convention is in accordance with the guidelines proposed by
KATZ; PLOTKIN (2001), and is important to avoid potential bugs when coupling with
other commercial software. This convention is in contrast to what has been implemented
in the commercial software ZAERO by ZONA (2014), since there the panels are meshed
in a chordwise fashion for each given strip using different CAERO7 wing macroelements,
so extra care must be taken when inter-exchanging models from one code to another. A
non-compliance with the meshing sequence established in VLM4FW will cause a fatal
error.
The required input parameters for the mesher are the xyz coordinates of the leading
edge and trailing edge at the root (RLE, RTE) as well as the respective homologous
vertices at the tip (TLE, TTE). For a given arbitrary panel (p), the general relation of
the corresponding adjacent nodes can be seen in Figure A.4.
It is important to outline at this point that the numeration of nodes in VLM4FW is
directly performed in a global spanwise fashion and does not follow any local numeration
of nodes for each aerodynamic panel, avoiding the need of building a connectivity table
as might occur in the traditional general formulation of the finite element method. Most
of the FEM codes define the local numeration of nodes in a counter-clockwise fashion for
a given structural shell finite element (BATHE, 1996), so that connectivity information is
mandatory in those cases for the proper assembly of the elements.
A maximum number of 2 regions is allowed to be modeled and meshed. Figure A.5
represents a schematic visualization of the most general case in which the wing has cranked
wing at the rear root region with variable dihedral, sweep angle and position of the elastic
axis. Furthermore, the number of panels in the spanwise direction for each region may
be different, although the discretization is uniform over the region. The number of panels
in the chordwise direction must be the same for both regions and an EVEN number of
panels chordwise is only allowed if the elastic axis position is specified (elasticaxis=1).
The technique of meshing for the case of two regions of wings is similar to what
was discussed in the precedent paragraph and illustrated in Figure A.4. Each region is
considered to be a local wing portion with LE,TE vertices at the root and tip of the wing.
At the junction of both regions, the tip segment of Region 1 is patched accordingly with

150

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW


FIGURE A.4 Sequence of meshing in VLM4FW.

TLE 10

y
x

1
RLE

TTE

p+j

p+(j-1)

p+j+(Ni+1)

p+(j-1)+(Ni+1)

6
RTE

the root segment of Region 2. Finally, since each wing portion was meshed independently,
the nodes and panel numeration are re-ordered to comply with the global convention as
defined in Figure A.4.
It is also possible to directly specify the location of the elastic axis for each wing
region. The input data are the root and tip coordinates in each case. This option can
be activated with the usage of the elasticaxis=1 command in the case configuration
parameters m-file. If this command is invoked, the aerodynamic mesher of VLM4FW is
forced to discretize panels so that nodes pass along the elastic axis. The methodology
presented here can be very beneficious for cases in which the structural model contains
several rigid body elements with discrete stiffness and inertia elements, such as RBE2 +
CELAS1 or RBE2 + CONM2 in Nastran.
The mesh created by VLM4FW can also be used as structural mesh to be coupled for
subsequent dynamic aeroelastic analyses with other commercial software such as ZAERO
or MSC.Nastran). If those software packages are used, extreme caution must be taken
when interpolating the structural grid points, since the aerodynamic boxes will be discretized in a chordwise order rather than spanwise as in VLM4FW. To avoid any potential
confusion, it is worth to clarify in this kind of analyses the aerodynamic mesh is referred
to be that one created by the CAERO7 wing macroelements in the dynamic aeroelastic commercial software, with no control at all from the VLM4FW side. The VLM4FW mesh
will act as the structural mesh only.
In case the root chord of the wing is not defined coincident with the x-axis (for instance,

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW

151

FIGURE A.5 Regions of meshing in VLM4FW.

TLE2

Elastic axis

TEA2 TTE
2

TEA1=REA2

TLE1=RLE2

z
y

RLE1

REA1

TTE1=RTE2

Region 2

RTE1

Region 1

x
Elastic axis

because the user decides not to include the body in the model), there will be a gap between
the right semi-wing and the left one that corresponds to the symmetrically mirrored about
the XZ plane. This will leads to incorrect results since the wing will behave as having
two free ends. Due to the absence of an adjacent strip, a strong vortex line is generated
at the inboard edge of the wing in this case. This strong vortex line at the inboard edge
is not physical and leads to an incorrect aerodynamic force distribution (ZONA, 2014b).
To avoid this problem, by activating the option rootoutxaxis in VLM4FW, dummy
aerodynamic panels will be automatically created to bridge this gap as shown in Figure
A.6. These panels are rectangular horizontal patches without dihedral nor sweep that
link the wing root chord to the x-axis for each chordwise segment, and are only used for
the computation of the velocity influence coefficients and boundary conditions. The code
automatically removes these aero panels after the inversion of the matrix to compute the
strengths circulations. Hence, the strength of the inboard vortex line is now partially
canceled out by the vortex line generated by the additional dummy strengths. Therefore,
this option should be used to fill the gap and thus minimize the effects of the non-physical
inboard vortex line and establishes a correct model of the right as well as the left wing
configuration. The technique implemented here is very similar to what is used in the
ZAERO commercial code with the use of additional CAERO7 macroelements for filling out
the gap.
It is important to remark that the dummy aerodynamic panels are created and used
internally by the VLM4FW solver, so no nodal information is written in the I/O files for
exchange with third-party structural FE software.
The is also another possibility to overcome the gap between the wing root and the
x-axis without using dummy aerodyamic panels, which is based on creating an offset from

152

APPENDIX A. ARCHITECTURE OF ABAQUS/VLM4FW

the aerodynamic coordinate system with respect to the structural coordinate system.
VLM4FW allows the creation of offsets in the y-direction with the use of the variable
yosft in the model parameters file. In this case, the offset will be created internally only
for computation purposes of VLM4FW. All I/O files will remain to be written in the
structural global coordinate system.
FIGURE A.6 Dummy aero panels in VLM4FW to avoid gaps in the wing root.

Dummy aerodynamic
panels

Real aerodynamic
panels

Different coordinate systems can be used between the aerodynamic and structural
models. However, restrictions apply. Only relative translations are allowed with an offset
in the x and y directions (z axis must be colineal in both the aerodynamic and structural
meshes) and no relative rotations can exist. No input option is required in this case for the
VLM4FW code, although the input deck file of the structural model must have defined the
local coordinate system used in the aerodynamic model with the bulk data card CORD2R
in MSC.Nastran or the keyword *TRANSFORM in Abaqus.

Appendix B - VLM4FW program


code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33

%% VLM4FW Aero initial mesher (for initial undeformed configuration)


%MCR [email protected] $rev36
%
% ====================================================================
% !! IF RUN VIA MATLAB INTERFACE (NOT VIA VLM4FWRUNCMD), THEN
!!
% !! RUN THE workdir=pwd command in MATLAB BEFORE STARTING THE CASE !!
% ====================================================================
%
disp(['Job name: ',jobID])
%clean diary output file in matlab before first run (during meshing task)
diary off
delete([workdir,'\',jobID,'.cmdout'])
diary([workdir,'\',jobID,'.cmdout'])
%
disp(' ')
disp('!!! MATLAB/VLM4FW AERO MESHER !!!')
disp(' ')
disp('Previous .CMDOUT output file has been deleted.')
%
%% === MESHER OF NODES ===
%Number of nodes of WING
Nnod=(npc+1)*(npb+1);
%Initial undeformed nodes in x,y,z
xnod0=[]; %zeros(Nnod,1);
ynod0=[]; %zeros(Nnod,1);
znod0=[]; %zeros(Nnod,1);
%
% Mesher of nodes per REGION
for r=1:wingregions
%
%Number of panels spanwise of REGION (r)
npb_r=eval(['npb_',int2str(r)]);
%Number of nodes of REGION (r)

154
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

APPENDIX B. VLM4FW PROGRAM CODE


Nnod_r=(npc+1)*(npb_r+1);
%
%NOTE!: sum of Nnod_r for all regions will be greater than Nnod of wing
%Later depuration of coincident nodes will need to be made (cleanup)
%
%Initial undeformed nodes in x,y,z of REGION (r)
xnod0_r=zeros(Nnod_r,1);
ynod0_r=zeros(Nnod_r,1);
znod0_r=zeros(Nnod_r,1);
%Loading coordinates of active regions for meshing
RLE_r=eval(['RLE_',int2str(r)]);
RTE_r=eval(['RTE_',int2str(r)]);
TLE_r=eval(['TLE_',int2str(r)]);
TTE_r=eval(['TTE_',int2str(r)]);
%
%Nodes in y
%==========
%Subdivision in y axis nodes
ydiv=linspace(RLE_r(2),TLE_r(2),npb_r+1);
for j=1:npc+1 %loop for each row of nodes spanwise
if j==1
ynod0_r(1:j*(npb_r+1))=ydiv';
else
ynod0_r(1:j*(npb_r+1))=[ynod0_r(1:(j1)*(npb_r+1));ydiv'];
end
end
%
%Subdivision in x axis nodes
if elasticaxis==1
REA_r=eval(['REA_',int2str(r)]);
TEA_r=eval(['TEA_',int2str(r)]);
%Direct specification of elastic axis divisions to force mesh nodes
%to pass over there.
%
%ODD number of panels chordwise NOT ALLOWED if elasticaxis==1
%Checker
if mod(npc,2) %panels chordwise is odd number?
error(['VLM4FW CANNOT MESH AN ODD NUMBER OF CHORDWISE',...
' PANELS IF ELASTIC AXIS IS DIRECTLY SPECIFIED.'])
else
%even number of panels chordwise checked continue
end
%
% >>> x Divisions at ROOT <<<
%Subdivision in x axis nodes along ROOT from RLE to REA
xrdivRLEREA=linspace(RLE_r(1),REA_r(1),npc/2+1)';
%Subdivision in x axis nodes along ROOT from REA to RTE

APPENDIX B. VLM4FW PROGRAM CODE


81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

155

xrdivREARTE=linspace(REA_r(1),RTE_r(1),npc/2+1)';
%Merge of subdivisions
xrdiv=[xrdivRLEREA;xrdivREARTE];
%Remove duplicate sewing node of junction
xrdiv(npc/2+1)=[];
%
%Checker to verify number of nodes chordwise
if length(xrdiv)==npc+1
%do nothing checked
else
error('VLM4FW HAS ENCOUNTERED AN ERROR WHEN MESHING CHORDWISE')
end
%
% >>> x Divisions at TIP <<<
%Subdivision in x axis nodes along TIP from TLE to TEA
xtdivTLETEA=linspace(TLE_r(1),TEA_r(1),npc/2+1)';
%Subdivision in x axis nodes along TIP from TEA to TTE
xtdivTEATTE=linspace(TEA_r(1),TTE_r(1),npc/2+1)';
%Merge of subdivisions
xtdiv=[xtdivTLETEA;xtdivTEATTE];
%Remove duplicate sewing node of junction
xtdiv(npc/2+1)=[];
%
%Checker to verify number of nodes chordwise
if length(xtdiv)==npc+1
%do nothing checked
else
error('VLM4FW HAS ENCOUNTERED AN ERROR WHEN MESHING CHORDWISE')
end
%
%Divisions in y axis along root and tip in case RLERTE or TLETTE
%segments are not aligned parallel to longitudinal axis
%Subdivision in y axis nodes along root
%
% >>> y Divisions along ROOT <<<
%Subdivision in y axis nodes along ROOT from RLE to REA
yrdivRLEREA=linspace(RLE_r(2),REA_r(2),npc/2+1)';
%Subdivision in y axis nodes along ROOT from REA to RTE
yrdivREARTE=linspace(REA_r(2),RTE_r(2),npc/2+1)';
%Merge of subdivisions
yrdiv=[yrdivRLEREA;yrdivREARTE];
%Remove duplicate sewing node of junction
yrdiv(npc/2+1)=[];
%
%Checker to verify number of nodes chordwise
if length(yrdiv)==npc+1 %still npc because for each spanline
%do nothing checked

156
128

APPENDIX B. VLM4FW PROGRAM CODE


else

129

error('VLM4FW HAS ENCOUNTERED AN ERROR WHEN MESHING CHORDWISE')

130

end
%
% >>> y Divisions along TIP <<<
%Subdivision in y axis nodes along TIP from TLE to TEA
ytdivTLETEA=linspace(TLE_r(2),TEA_r(2),npc/2+1)';
%Subdivision in y axis nodes along TIP from TEA to TTE
ytdivTEATTE=linspace(TEA_r(2),TTE_r(2),npc/2+1)';
%Merge of subdivisions
ytdiv=[ytdivTLETEA;ytdivTEATTE];
%Remove duplicate sewing node of junction
ytdiv(npc/2+1)=[];
%
%Checker to verify number of nodes chordwise
if length(ytdiv)==npc+1 %still npc because for each spanline
%do nothing checked
else
error('VLM4FW HAS ENCOUNTERED AN ERROR WHEN MESHING CHORDWISE')
end
%
else
%No specification of elastic axis. Uniform mesh chordwise adopted
%
%Subdivision in x axis nodes along root
xrdiv=linspace(RLE_r(1),RTE_r(1),npc+1)';
%Subdivision in x axis nodes along tip
xtdiv=linspace(TLE_r(1),TTE_r(1),npc+1)';
%
%Divisions in y axis along root and tip in case RLERTE or TLETTE
%segments are not aligned parallel to longitudinal axis
%Subdivision in y axis nodes along root
yrdiv=linspace(RLE_r(2),RTE_r(2),npc+1);
%still npc because for each spanline
%Subdivision in y axis nodes along tip
ytdiv=linspace(TLE_r(2),TTE_r(2),npc+1);
%still npc because for each spanline
end
%
%Nodes in x
%==========
%Construction of rect line equation joining each root and tip nodes as
%two reference points to draw line
pp=0;
for ii=1:npc+1 %loop for each row of nodes along the rect line (span.)
for jj=1:npb_r+1 %nodes along spanwise
pp=pp+1;

131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174

APPENDIX B. VLM4FW PROGRAM CODE


xnod0_r(pp)=(xtdiv(ii)xrdiv(ii))/(ytdiv(ii)yrdiv(ii))*...
(ynod0_r(pp)yrdiv(ii))+xrdiv(ii);

175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221

157

end
end
%
%Nodes in z
%==========
%Assumed no washout/washin spanwise (no geometrical torsion)
%Note: using rect line of LE as reference
%
%Slope of dihedral region
mphi_r=(TLE_r(3)RLE_r(3))/(TLE_r(2)RLE_r(2));
%Nodes evaluated
for kk=1:(npc+1)*(npb_r+1)
znod0_r(kk)=mphi_r*(ynod0_r(kk)RLE_r(2))+RLE_r(3);
end
%Reallocation appending xyz nodes of REGION to global nodes of WING
xnod0=[xnod0;xnod0_r]; %#ok<AGROW>
ynod0=[ynod0;ynod0_r]; %#ok<AGROW>
znod0=[znod0;znod0_r]; %#ok<AGROW>
%
%% Output in CMD of mesh data per REGION
disp(' ')
disp(['>>> Meshing REGION ',int2str(r),' ... '])
disp(' ')
disp(['!! Number of aero boxes: ',int2str(npb_r*npc),' !!'])
disp(' ')
disp([' Number of spanwise panels: ',int2str(npb_r),' '])
disp([' Number of chordwise panels: ',int2str(npc),' '])
%
end
%
%% Resorting and depuration of nodes
%NOTE!!! ONLY VALID FOR 2 WING REGIONS AT MAXIMUM
%
if wingregions == 1
%do nothing resorting and depuration of nodes not needed
elseif wingregions == 2
%Note: each region was meshed independently and nodes need to be
% reordered in a global fashion following spanwise pattern convention
%
%=== Start Resorting nodes ===
Nnod_1=(npc+1)*(npb_1+1);
%
Nnod_2=(npc+1)*(npb_2+1);
%Initialization of variables
xnod0sort=[]; ynod0sort=[]; znod0sort=[];
%

158

for jj=1:npc+1 %spanwise row of nodes


%
xnod0sort_aux1=xnod0(1+(jj1)*(npb_1+1):jj*(npb_1+1));
xnod0sort_aux2=xnod0(Nnod_1+1+(jj1)*(npb_2+1):Nnod_1+jj*(npb_2+1));
xnod0sort=[xnod0sort;xnod0sort_aux1;xnod0sort_aux2]; %#ok<AGROW>
%
ynod0sort_aux1=ynod0(1+(jj1)*(npb_1+1):jj*(npb_1+1));
ynod0sort_aux2=ynod0(Nnod_1+1+(jj1)*(npb_2+1):Nnod_1+jj*(npb_2+1));
ynod0sort=[ynod0sort;ynod0sort_aux1;ynod0sort_aux2]; %#ok<AGROW>
%
znod0sort_aux1=znod0(1+(jj1)*(npb_1+1):jj*(npb_1+1));
znod0sort_aux2=znod0(Nnod_1+1+(jj1)*(npb_2+1):Nnod_1+jj*(npb_2+1));
znod0sort=[znod0sort;znod0sort_aux1;znod0sort_aux2]; %#ok<AGROW>
end
%
%=== Start Cleanup ===
% Depuration of coincident nodes between adjacent regions
tolnod=1e6;
for nn=1:length(xnod0sort)1
if abs(xnod0sort(nn)xnod0sort(nn+1))<tolnod && ...
abs(ynod0sort(nn)ynod0sort(nn+1))<tolnod && ...
abs(znod0sort(nn)znod0sort(nn+1))<tolnod
xnod0sort(nn)=0; %#ok<SAGROW>
ynod0sort(nn)=0; %#ok<SAGROW>
znod0sort(nn)=0; %#ok<SAGROW>
else
%do nothing continue
end
end
%Removal of zero lines
xyznod0sort=[xnod0sort,ynod0sort,znod0sort];
xyznod0sort(all(xyznod0sort==0,2),:)=[];
%Final compatibility of code and reassignation of variables
xnod0=xyznod0sort(:,1);
ynod0=xyznod0sort(:,2);
znod0=xyznod0sort(:,3);

222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268

APPENDIX B. VLM4FW PROGRAM CODE

else
error('VLM4FW MESHER CURRENTLY LIMITED TO 2 REGIONS AS MAXIMUM.')
end
%
%Clear aux variables
clear RLE_r RTE_r TLE_r TTE_r mphi_r Nnod_r Nnod_1 Nnod_2 ...
xyznod0sort xnod0sort ynod0sort znod0sort ...
xnod0sort_aux1 xnod0sort_aux2 ynod0sort_aux1 ynod0sort_aux2 ...
znod0sort_aux1 znod0sort_aux2 xnod0_r ynod0_r znod0_r tolnod r npb_r
%
%% Output in CMD of mesh data of WING

APPENDIX B. VLM4FW PROGRAM CODE


269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315

159

disp(' ')
disp( '=================================== ')
disp(' ')
disp('>>> TOTAL mesh data of WING <<< ')
disp(' ')
disp(['!! Number of aero boxes: ',int2str(N),' !!'])
disp(' ')
disp([' Number of spanwise panels: ',int2str(npb),' '])
disp([' Number of chordwise panels: ',int2str(npc),' '])
disp(' ')
disp( '=================================== ')
disp(' ')
disp(['Using aero mesher ',mfilename])
disp(' ')
%
%% Write mesh data to file Abaqus format
%
%Initial nodal xyz coordinates (for initial undeformed configuration .nod0)
%=== write input file 100 ===
fid100=fopen([workdir,'\',jobID,'.nod0'],'w');
fprintf(fid100,'%5d, %+12.8e, %+12.8e, %+12.8e \n',...
[(1:Nnod)',xnod0,ynod0+yofst,znod0]');
fclose(fid100);
%
%Nodal xyz coordinates (for "deformed" configuration .nod)
%!!! In the case of initial starting run, .DAT reader not needed since
%all displacements are zero > .nod and .nod0 files will be the same
%.nod file created by mesher to go directly to solver (bypassing RDDAT)
xnod=xnod0; ynod=ynod0; znod=znod0;
%=== write input file 101 ===
fid101=fopen([workdir,'\',jobID,'.nod'],'w');
fprintf(fid101,'%5d, %+12.8e, %+12.8e, %+12.8e \n',...
[(1:Nnod)',xnod,ynod+yofst,znod]');
fclose(fid101);
%
%% Write mesh data to file Nastran format
if meshnastran==1
%
%Initial nodal xyz coord. (for initial undeformed configuration .nod0)
%=== write input file 400 ===
fid400=fopen([workdir,'\',jobID,'.nod0nast'],'w');
fprintf(fid400,'GRID
%7d
%#7.4f %#7.4f %#7.4f \n',...
[(1:Nnod)',xnod0,ynod0+yofst,znod0]');
fclose(fid400);
%
%Nodal xyz coordinates (for "deformed" configuration .nod)
%!!! In the case of initial starting run, .DAT reader not needed since

160
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362

APPENDIX B. VLM4FW PROGRAM CODE


%all displacements are zero > .nod and .nod0 files will be the same
%.nod file created by mesher to go directly to solver (bypassing RDDAT)
xnod=xnod0; ynod=ynod0; znod=znod0;
%=== write input file 401 ===
fid401=fopen([workdir,'\',jobID,'.nodnast'],'w');
fprintf(fid401,'GRID
%7d
%#7.4f %#7.4f %#7.4f \n',...
[(1:Nnod)',xnod,ynod+yofst,znod]');
fclose(fid401);
%

end
%% Panels connectivity for compatibility with FEM structural elements
%Note1: Defined for Abaqus solver compatibility, with counterclockwise of
%normal vector for nodes connectivity:
%node(1)=LE_A , node(2)=TE_A , node(3)=TE_B , node(4)=LE_B
%Note2: This convention is different to vlm4fw_slvr definition
%
elconn=zeros(N,5); %first column elem id, then 4 columns for each node id
%
for j=1:npc %along chordwise
for n=1:npb %along spanwise
p=n+(j1)*npb;
%panel/elem id
elconn(p,1)=p;
%node(1) id
elconn(p,2)=p+(j1);
%node(2) id
elconn(p,3)=p+(j1)+(npb+1);
%node(3) id
elconn(p,4)=p+j+(npb+1);
%node(4) id
elconn(p,5)=p+j;
end
end
%
%% Write elem connectivity data to file Abaqus format
%Panel/elem connecivity (following Abaqus counterclockwise convention)
%=== write input file 102 ===
fid102=fopen([workdir,'\',jobID,'.conn'],'w');
fprintf(fid102,'%5d, %5d, %5d, %5d, %5d \n',...
elconn');
fclose(fid102);
%
%% Write elem connectivity data to file Nastran format
if meshnastran==1
%Panel/elem connecivity (following Nastran counterclock. convention)
%=== write input file 402 ===
PID=1*ones(N,1);

APPENDIX B. VLM4FW PROGRAM CODE


363
364
365
366
367
368
369
370
371
372
373
374
375
376

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

161

fid402=fopen([workdir,'\',jobID,'.connnast'],'w');
fprintf(fid402,'CQUAD4 %7d %7d %7d %7d %7d %7d \n',...
[elconn(:,1),PID,elconn(:,2:end)]');
fclose(fid402);
end
%
%% Run BC builder for structural input deck before first run
% run([vlm4fwdir,'\','vlm4fw_bc11']);
run('vlm4fw_bc11');
%
%% Clear aux variables
clear p ans i ii j jj kk n nn p pp
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% VLM4FW Automatic ENCASTRE BCs for RHS wing


% (To be read by the Abaqus/Nastran structural FEM solver)
%MCR [email protected] $rev11
%
% ====================================================================
% !! IF RUN VIA MATLAB INTERFACE (NOT VIA VLM4FWRUNCMD), THEN
!!
% !! RUN THE workdir=pwd command in MATLAB BEFORE STARTING THE CASE !!
% ====================================================================
%
%Note(1): Defined for Abaqus solver format compatibility in datalines of
%keyword *BOUNDARY
%Note(2): Also for Nastran compatibility in SPC1 bulk data card
%
%number of nodes spanwise and chordwise
nnb=npb+1;
nnc=npc+1;
%number of constrained nodes BC only valid for cantilever semiwing!!
Nnodbc=nnc;
%initialization
nodbc=zeros(Nnodbc,4);
%counter
count=0;
for n=1:nnb:1+npc*(nnb) %along chordwise at each node
count=count+1;
%node id
nodbc(count,1)=n;
%first DOF constrained DOF1
nodbc(count,2)=1;
%last DOF constrained DOF6
nodbc(count,3)=6;
%displacement of node

162
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

APPENDIX B. VLM4FW PROGRAM CODE

nodbc(count,4)=0;
end
%% Write BC to file Abaqus format
%=== write input file 103 ===
fid103=fopen([workdir,'\',jobID,'.bc'],'w');
fprintf(fid103,'%5d, %1d,%1d, %+12.8e \n',...
nodbc');
fclose(fid103);
%
disp(' ')
%
disp('!! Boundary Conditions for Abaqus INP file have been written. !!')
disp(' ')
%
%% Write BC to file Nastran format
if meshnastran==1
%SPC ID
SID=1*ones(Nnodbc,1);
%C
CSPC1=123456*ones(Nnodbc,1);
%=== write input file 403 ===
fid403=fopen([workdir,'\',jobID,'.bcnast'],'w');
fprintf(fid403,'SPC1
%7d %7d %7d \n',...
[SID,CSPC1,nodbc(:,1)]');
fclose(fid403);
%
disp('!! Boundary Conditions for Nastran BDF file have been written. !!')
disp(' ')
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% VLM4FW Reader of .DAT Abaqus file to pass displacements to VLM4FW


%MCR [email protected] $rev11
%
% ====================================================================
% !! IF RUN VIA MATLAB INTERFACE (NOT VIA VLM4FWRUNCMD), THEN
!!
% !! RUN THE workdir=pwd command in MATLAB BEFORE STARTING THE CASE !!
% ====================================================================
%
disp(['Job name: ',jobID])
%
%% Read initial undeformed nodal xyz coordinates (for displacements update)
%=== read input file 100> (110 in read mode) ===
fid110=fopen([workdir,'\',jobID,'.nod0'],'r');
xyznod0=fscanf(fid110,'%d, %e, %e, %e',[4 Inf]);
fclose(fid110);

APPENDIX B. VLM4FW PROGRAM CODE


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

163

%Nnod reassigned in case initial mesher not run


Nnod=(npc+1)*(npb+1);
xyznod0=xyznod0';
xnod0=xyznod0(:,2); ynod0=xyznod0(:,3); znod0=xyznod0(:,4); %col 1: node id
%
%% Search engine of desired time increment
%string of time inc to be searched
strinc=([int2str(lkinc),' SUMMARY']);
%=== read .DAT file 6> (6 in read mode) ===
fid6=fopen([workdir,'\',jobID,'.dat'],'r');
%starting shoot read first line
numline=0+1;
rdline=fgetl(fid6);
strobj=strfind(rdline,strinc);
%asks if there is no match to string in previous read
while isempty(strobj) && ~feof(fid6)
%if no match, continue reading next line
numline=numline+1;
rdline=fgetl(fid6);
strobj=strfind(rdline,strinc);
end
%debug output
if isempty(strobj)
disp(' ')
error(['>> Time increment # ',int2str(lkinc),' not found in .DAT file'])
else
disp(' ')
disp(['!!! Displacements of ABAQUS TIME INCREMENT ',...
int2str(lkinc),' found in line # ',int2str(numline)]);
%
disp(['!!! at starting column # ',int2str(strobj)]); (for debugging)
disp(' ')
disp('READING ABAQUS DISPLACEMENTS FROM .DAT FILE...')
disp(' ')
end
%
%% Read U data
%Note: Only of active structural DOFs are written in the .DAT file
%first skip 18 lines to access U data counting from '<INC> SUMMARY' line
for j=1:18
numline=numline+1;
rdline=fgetl(fid6);
end
Ua=fscanf(fid6,'%d %e %e %e %e %e %e',[7 Inf]);
fclose(fid6);
Ua=Ua';
U1a=Ua(:,2); U2a=Ua(:,3); U3a=Ua(:,4); %col 1: ACTIVE node id
%

164
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104

APPENDIX B. VLM4FW PROGRAM CODE

%% Update nodal coordinates based on increment displacements (deformation)


%initialize actual deformed nodes in x,y,z
xnod=xnod0; ynod=ynod0; znod=znod0;
%length of table (active disp) to be read
aux1=size(Ua);
for cc=1:aux1(1)
%active node id at each table position
na=Ua(cc,1);
%<rev11> checker to verify that active node belongs to aerodynamic node
%(remove any extra struct node that does not matter for VLM4FW)
if na <= Nnod
%deformed nodal coordinates
xnod(na)=xnod0(na)+U1a(cc);
ynod(na)=ynod0(na)+U2a(cc);
znod(na)=znod0(na)+U3a(cc);
else
%do nothing extra struct. node is not of interest
end
end
%
%Write deformed nodal coordinates Abaqus format
%=== write input file 101 ===
fid101=fopen([workdir,'\',jobID,'.nod'],'w');
fprintf(fid101,'%5d, %+12.8e, %+12.8e, %+12.8e \n',...
[(1:Nnod)',xnod,ynod,znod]');
fclose(fid101);
%
%Write deformed nodal coordinates Nastran format
%=== write input file 401 ===
fid401=fopen([workdir,'\',jobID,'.nodnast'],'w');
fprintf(fid401,'GRID
%7d
%#7.4f %#7.4f %#7.4f \n',...
[(1:Nnod)',xnod,ynod,znod]');
fclose(fid401);
%
%%
disp('ABAQUS DISPLACEMENTS READ SUCESSFULLY.')
disp(' ')
%
%% Clear aux variables
clear aux1 cc ans
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

APPENDIX B. VLM4FW PROGRAM CODE

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

165

%% VLM4FW Solver
%MCR [email protected] $rev97
%
% ====================================================================
% !! IF RUN VIA MATLAB INTERFACE (NOT VIA VLM4FWRUNCMD), THEN
!!
% !! RUN THE workdir=pwd command in MATLAB BEFORE STARTING THE CASE !!
% ====================================================================
%
tic
%
%% Read mesh data from file
%Nodal xyz coordinates
% clear xnod ynod znod Nnod %!!! cleared to be read from .nod file
%=== read input file 101> (111 in read mode) ===
fid111=fopen([workdir,'\',jobID,'.nod'],'r');
xyznod=fscanf(fid111,'%d, %e, %e, %e',[4 Inf]);
fclose(fid111);
%
%Nnod reassigned in case initial mesher not run
Nnod=(npc+1)*(npb+1);
xyznod=xyznod';
xnod=xyznod(:,2); ynod=xyznod(:,3)yofst; znod=xyznod(:,4); %col 1: node id
%
%% Panel and nodes IDs in mesh sequence of panels and nodes in xy plane
MESHIDp=zeros(npc,npb);
MESHIDn=zeros(npc+1,npb+1);
p=0;
for j=1:npc %along chordwise
for i=1:npb %along spanwise
p=p+1;
MESHIDp(j,i)=p;
end
end
%
n=0;
for jj=1:npc+1 %along chordwise
for ii=1:npb+1 %along spanwise
n=n+1;
MESHIDn(jj,ii)=n;
end
end
%
%% Local chords and angles of panels, bound vortices and control points
%Coordinates of bound vortices and control points (ONLY RIGHT SEMIWING)
xm=zeros(N,1); ym=zeros(N,1); zm=zeros(N,1);
xAn=zeros(N,1); yAn=zeros(N,1); zAn=zeros(N,1);

166
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

APPENDIX B. VLM4FW PROGRAM CODE

xBn=zeros(N,1); yBn=zeros(N,1); zBn=zeros(N,1);


xBDm=zeros(N,1); yBDm=zeros(N,1); zBDm=zeros(N,1);
xABm=zeros(N,1); yABm=zeros(N,1); zABm=zeros(N,1);
%Computation of local chords of trailing vortex segmentspanels from LE of
%panel down to TE of panel (cA and cB)
cA=zeros(N,1);
cB=zeros(N,1);
%Computation of normal vector
vecn=zeros(N,3);
%Computation of bound vortices coordinates (A,B), control points and swept
%angle of projected bound vortex AB into xy plane wrt yz plane
psip=zeros(N,1);
%Computation of local angles at each panel
%(dihedral/flexion, torsion, planebending)
phip=zeros(N,1);
thetap=zeros(N,1);
epsilonp=zeros(N,1); %!!! TBImp...
%
%Note1: Assumed trailing vortices parallel to the vehicle axis (xaxis)
%Note2: Do not confuse chord of LETE panel with chord of chordwise bound
%vortex chord (since the chordwise filament vortex starts at 25%)
%
%Counter of panels
p=0;
for j=1:npc %along chordwise
for n=1:npb %along spanwise
%
p=n+(j1)*npb;
p=p+1;
%
%LE vertex of leftsegment panel (passing through A)
LEA=[xnod(p+(j1)),ynod(p+(j1)),znod(p+(j1))];
%TE vertex of leftsegment panel (passing through A)
TEA=[xnod(p+(j1)+(npb+1)),ynod(p+(j1)+(npb+1)),...
znod(p+(j1)+(npb+1))];
%LE vertex of rightsegment panel (passing through B)
LEB=[xnod(p+j),ynod(p+j),znod(p+j)];
%TE vertex of rightsegment panel (passing through B)
TEB=[xnod(p+j+(npb+1)),ynod(p+j+(npb+1)),znod(p+j+(npb+1))];
%
%local chord of left and right segments of panel
cA(p)=pdist([TEA;LEA]);
cB(p)=pdist([TEB;LEB]);
%
%left border vector
vec1=TEALEA;
%leadingedge border vector
vec2=LEBLEA;

APPENDIX B. VLM4FW PROGRAM CODE


94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140

167

vec3=cross(vec1,vec2);
%unit vector normal to panel
vecn(p,:)=vec3/norm(vec3);
%
%left vertex of spanwise bound vortex (A)
xAn(p)=xnod(p+(j1))+0.25*cA(p);
yAn(p)=ynod(p+(j1));
zAn(p)=znod(p+(j1));
%right vertex of spanwise bound vortex (B)
xBn(p)=xnod(p+j)+0.25*cB(p);
yBn(p)=ynod(p+j);
zBn(p)=znod(p+j);
%collocation control point
ym(p)=(yAn(p)+yBn(p))/2;
zm(p)=(zAn(p)+zBn(p))/2;
slope75=((xBn(p)+0.5*cB(p))(xAn(p)+0.5*cA(p)))/(yBn(p)yAn(p));
xm(p)=slope75*(ym(p)yAn(p))+(xAn(p)+0.5*cA(p));
%
%bound vortex AB of each elemental panel projected into xy plane,
%and then sweep angle wrt yz plane (ref. fig.4 NASATND6142)
psip(p)=atan((xBn(p)xAn(p))/(yBn(p)yAn(p)));
%
%dihedral (flexion) angle of panel
%note:computed along 1/4c AB bound vortex
if zBn(p)>zAn(p) %dihedral of panel: phi(+)
phip(p)=+1*acos(dot(vecn(p,:),[0,0,1]));
else %anhedral of panel: phi()
phip(p)=1*acos(dot(vecn(p,:),[0,0,1]));
end
%<rev93>:torsion angle of panel
%leftsegment (passing through A)
thetaA=atan( (LEA(3)TEA(3))/(TEA(1)LEA(1)) );
%rightsegment (passing through B)
thetaB=atan( (LEB(3)TEB(3))/(TEB(1)LEB(1)) );
%average between left and right segments angles
thetap(p)=(thetaB+thetaA)/2;
%
%<< control points for computation of sidewash and backwash >>
%3/4chord location on right segment of each panel used to compute
%sidewash
xBDm(p)=xnod(p+j)+0.75*cB(p); %equal to (xBn(p)+0.5*cB(p))
yBDm(p)=yBn(p);
zBDm(p)=zBn(p); %t.here
%1/2span location on AB segment of each panel used to compute
%backwash
yABm(p)=(yAn(p)+yBn(p))/2;
zABm(p)=(zAn(p)+zBn(p))/2;

168

APPENDIX B. VLM4FW PROGRAM CODE


slope25=(xBn(p)xAn(p))/(yBn(p)yAn(p));
xABm(p)=slope25*(yABm(p)yAn(p))+xAn(p);

141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187

end
end
clear slope75 slope25 vec1 vec2 vec3 LEA LEB TEA TEB thetaA thetaB
%
%Midpoint strip location spanwise (at middle of strip = control point)
yn=ym(1:npb)';
%
if printcoord==1
header=['
COL1:Panel
COL2:xm
COL3:ym
COL4:zm
',...
'COL5:xAn
COL6:yAn
COL7:zAn
COL8:xBn
COL9:yBn',...
'
COL10:zBn'] %#ok<*NOPTS>
coord=[(1:N)' xm ym zm xAn yAn zAn xBn yBn zBn] %#ok<NOPTS>
else
%do nothing no print coord
end
%
%% Creation of dummy aero panels (00) if root out of xaxis
if rootoutxaxis==1
%each dummy panel per chordwise panel
xAn00=zeros(npc,1); yAn00=zeros(npc,1); zAn00=zeros(npc,1);
xBn00=zeros(npc,1); yBn00=zeros(npc,1); zBn00=zeros(npc,1);
xm00=zeros(npc,1); ym00=zeros(npc,1); zm00=zeros(npc,1);
theta00=zeros(npc,1);
phi00=zeros(npc,1);
xBDm00=zeros(npc,1); yBDm00=zeros(npc,1); zBDm00=zeros(npc,1);
xABm00=zeros(npc,1); yABm00=zeros(npc,1); zABm00=zeros(npc,1);
%
for j=1:npc %dummy panel chordwise
%real panel attached to the right
pj=1+(j1)*npb;
%front left node of real panel
nj=pj+(j1);
%A vertex of dummy panel
xAn00(j)=xnod(nj)+0.25*(xnod(nj+npb+1)xnod(nj));
yAn00(j)=0; %xaxis
zAn00(j)=znod(nj); %parallel to XY plane
%B vertex of dummy panel
%assuming last root real segment parallel to xaxis
xBn00(j)=xnod(nj)+0.25*(xnod(nj+npb+1)xnod(nj)); %idem xAn00
yBn00(j)=ynod(nj);
zBn00(j)=znod(nj); %parallel to XY plane
%control point of dummy panel
xm00(j)=xnod(nj)+0.75*(xnod(nj+npb+1)xnod(nj));
ym00(j)=0.50*ynod(nj);
zm00(j)=znod(nj); %horizontal dummy panel

APPENDIX B. VLM4FW PROGRAM CODE


188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234

%
%
%
%
%
%
%
%
%
%
%
%

169

%torsion and dihedral of dummy panel


theta00(j)=0;
phi00(j)=0;
%control points for computation of sidewash and backwash
%3/4chord location on right segment of each panel used to compute
%sidewash
%BD segment of dummy panel adjacent to A segment of real panel
xBDm00(j)=xnod(nj)+0.75*cA(pj); %equal to (xAn(pj)+0.5*cA(pj))
yBDm00(j)=yAn(pj);
zBDm00(j)=zAn(pj); %t.here
%1/2span location on AB segment of each panel used to compute
%backwash
xABm00(j)=xAn(pj); %rect. dummy panel
yABm00(j)=(0+yAn(pj))/2;
zABm00(j)=zAn(pj); %horizontal dummy panel
end
%Ficticius addition of aero panels in "total" number of panels
N=N+npc;
xAn=[xAn;xAn00]; yAn=[yAn;yAn00]; zAn=[zAn;zAn00];
xBn=[xBn;xBn00]; yBn=[yBn;yBn00]; zBn=[zBn;zBn00];
xm=[xm;xm00];
ym=[ym;ym00];
zm=[zm;zm00];
thetap=[thetap;theta00];
phip=[phip;phi00];

end
clear pj j
%
if plots==1
run('plot_aerogeom');
else
%do nothing no plot
end
%
%% Velocity influence coefficients (PSI) Cmn
[PSIir,PSIjr,PSIkr]=PSI(xAn,yAn,zAn,xBn,yBn,zBn,xm,ym,zm,N);
%
%% Boundary condition
%Air flow tangent to the surface at the control point (m) of each panel
%
%<rev93.4> Redimension of global AOA at each panel
alphap=alpha*ones(N,1);
%Elastic angle of attack (global AOA + torsion) at each panel
alphaelp=alphap+thetap;
%
%<rev93.3> Note: added trigonometric functions instead of approximations
%for large displacements and deformations theory
%LeftHandSide of BC equation (imposed on right semiwing modeled)
LHSr=diag(sin(thetap))*PSIirdiag(cos(thetap))*diag(tan(phip))*PSIjr+...

170
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281

APPENDIX B. VLM4FW PROGRAM CODE

diag(cos(thetap))*PSIkr;
%RightHandSide of BC equation (imposed on right semiwing modeled)
RHSr=Vinf*sin(alphap); %m t. here
%
disp(' ')
disp('>>> Solving... >>>')
disp(' ')
disp(['Using solver ',mfilename])
disp(' ')
Gamma=(LHSr)\RHSr;
%
if printgamma==1
Gamma %#ok<NOPTS>
else
%do nothing no print Gamma
end
%
%% Removal of dummy aero panels (00) if root out of xaxis
if rootoutxaxis==1
N=Nnpc;
xAn(end(npc1):end)=[]; yAn(end(npc1):end)=[]; zAn(end(npc1):end)=[];
xBn(end(npc1):end)=[]; yBn(end(npc1):end)=[]; zBn(end(npc1):end)=[];
xm(end(npc1):end)=[]; ym(end(npc1):end)=[]; zm(end(npc1):end)=[];
thetap(end(npc1):end)=[];
phip(end(npc1):end)=[];
alphap(end(npc1):end)=[];
alphaelp(end(npc1):end)=[];
%
Gamma00=Gamma(end(npc1):end);
Gamma(end(npc1):end)=[];
end
%
%% Aerodynamic forces
%Note: High angles of dihedral causes a coupling between AoA and "apparent"
%sideslip angle (beta), which increases the transversal flow in the
%spanwise direction. At the limit condition (dihedral 90deg), the AoA is
%null and there is pure sideslip angle (alpha tx into > beta).
%NASATND6142:
%There are now local sidewash and backwash velocities in addition to the
%freestream velocity. The interaction of these velocity components with
%the spanwise bound vortex provides an additional lift force and the
%interaction of the sidewash with the chordwise bound vortex (that portion
%of the horseshoe vortex trailing leg ahead of the wing trailing edge)
%results in another and new lift force. These types of planforms must have
%a continuous variation in local chord from the wing tip to the wing root.
%
%Assumption: symmetric flow (only right semiwing calculated and then x2)

APPENDIX B. VLM4FW PROGRAM CODE


282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328

171

%
%% Lift
%
%Preliminary computations
Gammay=zeros(1,npb);
c=zeros(1,npb);
for n=1:npb
%distribution of circulation at strip (yn) (first summed chordwise)
sum_Gammay=0;
sum_cA=0;
sum_cB=0;
for j=n:npb:N(npbn)
sum_Gammay=sum_Gammay+Gamma(j);
sum_cA=sum_cA+cA(j);
sum_cB=sum_cB+cB(j);
end
Gammay(n)=sum_Gammay;
%local chords of strip (avg between AB segments summed from LE to TE)
c(n)=(sum_cA+sum_cB)/2;
end
clear sum_Gammay sum_cA sum_cB
%
%==========================================================================
%% >>> Method 1 for CL (MCR ONLY VALID FOR WINGS WITHOUT DIHEDRAL) <<<
%Distribution of local lift coefficient at strip (yn)
cl1=zeros(1,npb);
for n=1:npb
cl1(n)=2*Gammay(n)/(Vinf*c(n));
end
%Lift (global)
sum_GammayDy=0;
for n=1:npb
sum_GammayDy=sum_GammayDy+Gammay(n)*(yBn(n)yAn(n));
end
L1=2*rho*Vinf*sum_GammayDy;
clear sum_GammayDy
%Lift coefficient (global)
CL1=L1/(qinf*Sref);
%Lift coefficient slope (global)
CLalpha1=CL1/alpha;
%
%==========================================================================
%% >>> Method 2 for CL (ref.NASATND6142 pag.2023 eq.30) <<<
%
%Net bound vortex strength along BD (right )trailing leg of each panel
%Note: Computed only at right semiwing
DeltaGammaBDn=zeros(N,1);

172
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375

APPENDIX B. VLM4FW PROGRAM CODE

for n=npb:1:1 %loop spanwise from tip to root


for j=1:npc %loop chordwise from LE to TE
%panel ID
p=n+(j1)*npb;
% <<< start cases... >>>
% % %
if n==npb
%it is free wing tip BD segment
if j==1
%it is first panel from LE
DeltaGammaBDn(p)=Gamma(p);
else
%it is not first panel from LE
%previous panel ID chordwise
p_1c=n+((j1)1)*npb;
DeltaGammaBDn(p)=DeltaGammaBDn(p_1c)+Gamma(p);
end
% % %
else
%it is not free wing tip inboard BD segment
% % %
if j==1
%it is first panel from LE
% % %
DeltaGammaBDn(p)=Gamma(p)Gamma(p+1);
% % %
else
%it is not first panel from LE
% % %
%previous panel ID chordwise
% % %
p_1c=n+((j1)1)*npb;
% % %
DeltaGammaBDn(p)=...
% % %
DeltaGammaBDn(p_1c)+Gamma(p)Gamma(p+1);
% % %
end
% % %
end
end
end
%
%Backwash and sidewash at each control point* of panel induced by fullwing
%==========================================================================
%(ref.NASATND6142 fig.3)
%
%Computation of sidewash
%Note1: Sidewash computed at 3/4chord on right segment of each panel of RHW
%Note2: Horseshoe vortex filaments or their extensions which go through a
%point at which the velocity is being computed are eliminated in the PSIBDm
%function since a line vortex filament cannot induce a velocity on itself
%or its prolongation
[PSIBDir,PSIBDjr,PSIBDkr]=...
PSIBD(xAn,yAn,zAn,xBn,yBn,zBn,xBDm,yBDm,zBDm,N);
%
%Computation of backwash
%Note1: Backwash computed at 1/2span along AB vortex filament segment
[PSIABir,PSIABjr,PSIABkr]=...
PSIAB(xAn,yAn,zAn,xBn,yBn,zBn,xABm,yABm,zABm,N,MESHIDp);
%
uABm=zeros(N,1); vABm=zeros(N,1); vBDm=zeros(N,1);
for p=1:N %loop for each panel
%Backwash and sidewash at 1/2span AB panel segment for spanwise lift

APPENDIX B. VLM4FW PROGRAM CODE


376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422

173

uABm(p)=sign(phip(p))*PSIABir(p,:)*Gamma;
vABm(p)=sign(phip(p))*PSIABjr(p,:)*Gamma;
%Sidewash at 3/4chord LETE panel segment for chordwise lift
vBDm(p)=sign(phip(p))*PSIBDjr(p,:)*Gamma;
end
%>>>Checker<<<
%Checker to remove potential NaN values of induced velocities
uABm(isnan(uABm(:)))=0;
vABm(isnan(vABm(:)))=0;
vBDm(isnan(vBDm(:)))=0;
%>>>Checker<<<
%
%Length of each bound vortex AB projected into yz plane
%(equivalent to "2s" ref. fig.2/4 NASATND6142)
ssp=(yBnyAn)./cos(phip);
%Length of each bound vortex AB projected into yz plane, and then projected
%into xy (equivalent to division of panel segments along yaxis)
yyp=yBnyAn;
%
%======
%Spanwise bound vortex contribution to lift coefficient for each panel
%Note: Only computed for right halfwing and at the end multiplied by 2
ls_qinfSref=zeros(N,1);
for p=1:N %loop for each panel
ls_qinfSref(p)=(2/Sref)*(Gamma(p)/Vinf)*ssp(p)*...
( (1uABm(p)/Vinf)+(vABm(p)/Vinf)*tan(psip(p)) )*cos(phip(p));
end
%======
%Chordwise bound vortex contribution to lift coefficient for each panel
%Note: Only computed for right halfwing and at the end multiplied by 2
lt_qinfSref=zeros(N,1);
for p=1:N %loop for each panel
if p>(npc1)*npb %check to see if it is last spanwise row
%yes:right bound vortex chord is 3/4 due to length from B to TE
lt_qinfSref(p)=...
(2/Sref)*(DeltaGammaBDn(p)/Vinf)*0.75*cB(p)*(vBDm(p)/Vinf);
else
%no:right bound vortex chord is full due to length from B to B+1
lt_qinfSref(p)=...
(2/Sref)*(DeltaGammaBDn(p)/Vinf)*1.00*cB(p)*(vBDm(p)/Vinf);
end
end
%
%Interpolation to transport values from BD segments chordwise of each panel
%to midpoint of AB segment chordwise
p=0;
lts_qinfSref=zeros(N,1);

174
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469

APPENDIX B. VLM4FW PROGRAM CODE

for j=1:npc %along chordwise


for n=1:npb %along spanwise
p=p+1;
if n==1 %root spanwise row
%prolongate the second spanwise row linearly for midpoint at
%first spanwise row
sloper=(lt_qinfSref(p+1)lt_qinfSref(p))/(yBn(p+1)yBn(p));
lts_qinfSref(p)=sloper*(yBn(p)/2yBn(p))+lt_qinfSref(p);
else
%interpolate between vertices A and B at midpoint of panel span
lts_qinfSref(p)=interp1( [yBn(p1);yBn(p)],...
[lt_qinfSref(p1);lt_qinfSref(p)],(yBn(p1)+yBn(p))/2 );
end
end
end
clear sloper
%
if filton==1
run('filtlts');
end
%
%Lift of each panel
%Note: Assumed to be located at 25%chordwise of panel and midpoint spanwise
lp=(ls_qinfSref+lts_qinfSref)*qinf*Sref;
%
%Total lift coefficient of fullwing (LHS and RHS)
CL=2*(sum(ls_qinfSref)+sum(lts_qinfSref));
%
%Lift coefficient slope (global)
CLalpha=CL/alpha;
%
%Distribution of local lift coefficient per unit span at strip (yn),
%contributed by streamwise and chordwise bound vortices
clc_CLcref_s=zeros(1,npb);
clc_CLcref_t=zeros(1,npb);
%
for n=1:npb
sum_ls_qinfSrefcphi=0;
sum_lts_qinfSrefcphi=0;
for j=n:npb:N(npbn) %loop to sum in a chordwise row (strip)
%contribution streamwise bound vortex filaments (s)
sum_ls_qinfSrefcphi=sum_ls_qinfSrefcphi+...
ls_qinfSref(j)*1/cos(phip(j));
%contribution chordwise bound vortex filaments (c)
%<rev95> include cos(phi) inside sum since variable @ chordwise row
sum_lts_qinfSrefcphi=sum_lts_qinfSrefcphi+...
lts_qinfSref(j)*1/cos(phip(j));

APPENDIX B. VLM4FW PROGRAM CODE


470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516

175

end
clc_CLcref_s(n)=(Sref/(ssp(n)*CL*cref))*sum_ls_qinfSrefcphi;
clc_CLcref_t(n)=(Sref/(ssp(n)*CL*cref))*sum_lts_qinfSrefcphi;
end
%
if filton==1
run('filtclct')
end
%
clear sum_ls_qinfSrefcphi sum_lt_qinfSrefcphi sum_lts_qinfSrefcphi
%Distribution of local lift coefficient at strip (yn)
cl=zeros(1,npb);
for n=1:npb
cl(n)=(clc_CLcref_s(n)+clc_CLcref_t(n))*(cref/c(n)*CL);
end
%Lift (global)
L=qinf*Sref*CL;
%
L, CL, CLalpha
%
%% Induced drag (global)
%
% disp('')
% disp('Computation of induced drag: Corrected VLM for transversal flow:')
% disp('Ref. Kalman, Giesing, Rodden, AIAA J. AIRCRAFT VOL.7 NO.6 1970:')
% disp('Spanwise Distribution of Induced Drag in Subsonic Flow by the VLM')
% disp('')
%>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
%
%%%% Transformation of yaxis if root out of xaxis %%%%
if rootoutxaxis==1
%translation of yaxis to coincide with wing root
ym=ymRLE_1(2);
end
%
%Computation of semiwidth of strip (n)
%<rev96.1> projected into xy and yz planes (equiv. to Delta y)
e=zeros(1,npb);
for n=1:npb
e(n)=(yBn(n)yAn(n))/2;
end
%Computation of am,bm,cm
clc_CLcref=zeros(1,npb);
am=zeros(1,npb);
bm=zeros(1,npb);
cm=zeros(1,npb);
for m=1:npb

176
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563

APPENDIX B. VLM4FW PROGRAM CODE

clc_CLcref(m)=cl(m)*c(m)/(CL*cref);
end
for m=1:npb
AUXm=clc_CLcref(m);
if m==1 %@root
AUXm_1=clc_CLcref(m);
AUXm1=clc_CLcref(m+1);
dmi=e(m)+e(m);
dmo=e(m)+e(m+1);
elseif m==npb %@tip
AUXm_1=clc_CLcref(m1);
AUXm1=0;
dmi=e(m)+e(m1);
dmo=e(m)+0;
else
AUXm_1=clc_CLcref(m1);
AUXm1=clc_CLcref(m+1);
dmi=e(m)+e(m1);
dmo=e(m)+e(m+1);
end
%<rev95> corr sign bm
am(m)=1/(dmi*dmo*(dmi+dmo))*(dmi*AUXm1(dmi+dmo)*AUXm+dmo*AUXm_1);
bm(m)=1/(dmi*dmo*(dmi+dmo))*...
(dmo*(2*ym(m)+dmo)*(AUXmAUXm_1)dmi*(2*ym(m)dmi)*(AUXm1AUXm));
cm(m)=AUXmam(m)*ym(m)^2bm(m)*ym(m);
end
alphai_CLcref=zeros(1,npb);
for i=1:npb
sum_alphai_CLcref=0;
for m=1:npb
sum_alphai_CLcref=sum_alphai_CLcref+(...
(ym(i)^2*(ym(m)+e(m))*am(m)+ym(i)^2*bm(m)+(ym(m)+e(m))*cm(m))/...
(ym(i)^2(ym(m)+e(m))^2) ...
(ym(i)^2*(ym(m)e(m))*am(m)+ym(i)^2*bm(m)+(ym(m)e(m))*cm(m))/...
(ym(i)^2(ym(m)e(m))^2) ...
+1/2*ym(i)*am(m)*log((((ym(i)e(m))^2ym(m)^2)/...
((ym(i)+e(m))^2ym(m)^2))^2) ...
+1/4*bm(m)*log(((ym(i)^2(ym(m)+e(m))^2)/...
(ym(i)^2(ym(m)e(m))^2))^2) ...
+2*e(m)*am(m) );
end
alphai_CLcref(i)=1/(4*pi)*sum_alphai_CLcref;
end
%Computation of an,bn,cn
an=zeros(1,npb);
bn=zeros(1,npb);
cn=zeros(1,npb);

APPENDIX B. VLM4FW PROGRAM CODE


564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610

177

clcalphai_CLcref2=clc_CLcref.*alphai_CLcref;
for n=1:npb
AUXn=clcalphai_CLcref2(n);
if n==1 %@root
AUXn_1=clcalphai_CLcref2(n);
AUXn1=clcalphai_CLcref2(n+1);
dmi=e(n)+e(n);
dmo=e(n)+e(n+1);
elseif n==npb %@tip
AUXn_1=clcalphai_CLcref2(n1);
AUXn1=0;
dmi=e(n)+e(n1);
dmo=e(n)+0;
else
AUXn_1=clcalphai_CLcref2(n1);
AUXn1=clcalphai_CLcref2(n+1);
dmi=e(n)+e(n1);
dmo=e(n)+e(n+1);
end
%<rev95> corr sign bn
an(n)=1/(dmi*dmo*(dmi+dmo))*(dmi*AUXn1(dmi+dmo)*AUXn+dmo*AUXn_1);
bn(n)=1/(dmi*dmo*(dmi+dmo))*...
(dmo*(2*ym(n)+dmo)*(AUXnAUXn_1)dmi*(2*ym(n)dmi)*(AUXn1AUXn));
cn(n)=AUXnan(n)*ym(n)^2bn(n)*ym(n);
end
%
%Total induced drag (fullwing)
sum_auxsimp=0;
for n=1:npb
sum_auxsimp=sum_auxsimp+...
(e(n)*((ym(n)^2+1/3*e(n)^2)*an(n)+ym(n)*bn(n)+cn(n)));
end
CDi=(4/AR)*sum_auxsimp*CL^2;
%
%Reference CDi equivalent of elliptical wing (fullwing)
CDiellip=CL^2/(pi*AR);
%
CDi %#ok<NOPTS>
%
%Distribution of INDUCED angle of attack along span
%(already summed chordwise for each strip)
alphai=alphai_CLcref*(CL*cref);
%
%Spline correction on TIP
if corraitip==1
%correct lack of convergence of 2 last points of tip spanwise
alphai(end1)=interp1(...

178

APPENDIX B. VLM4FW PROGRAM CODE


yn(end5:end2),alphai(end5:end2),yn(end1),'cubic','extrap');
alphai(end)=interp1(...
yn(end4:end1),alphai(end4:end1),yn(end),'cubic','extrap');

611
612
613
614

else

615

%no correction
end
%Spline correction on ROOT if root out of xaxis
if corraitip==1
%correct lack of convergence of 2 last points of root spanwise
alphai(2)=interp1(yn(3:6),alphai(3:6),yn(2),'cubic','extrap');
alphai(1)=interp1(yn(2:5),alphai(2:5),yn(1),'cubic','extrap');
else
%no correction
end
%
%%%% Inverse transformation BACK of yaxis if root out of xaxis %%%%
if rootoutxaxis==1
%inverse translation BACK of yaxis to coincide with xaxis
ym=ym+RLE_1(2);
end
%
if filton==1
run('filtai');
end
%
%===Other angles of attack along span (value per chordwise strip)===
% %<rev93>:average of elastic AOA of panels along chordwise strip
% alpha0=zeros(1,npb);
% for n=1:npb %along spanwise (for each strip)
%
alphael_strip=zeros(npc,1);
%
for j=1:npc %along chordwise (inside strip)
%
p=n+(j1)*npb;
%
alphael_strip(j)=alphaelp(p);
%
end
%
alpha0(n)=mean(alphael_strip);
% end
% clear alphael_strip
% %
%AOAs and sideslip evaluated spanwise (for each strip)
alpha0=alpha(1)*ones(1,npb); %<rev93.2>
beta=beta(1)*ones(1,npb); %redimension of sideslip angle
%Note: (1) index put to allow repetitive runs without clearing variables
alphaeff=alpha0alphai;
%
%Induced drag of each panel
%Note: Assumed to be located at 25%chordwise of panel and midpoint spanwise
%Note: Assumed constant effective angle of attack that is being seen by

616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657

APPENDIX B. VLM4FW PROGRAM CODE


658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704

179

%each chord row strip (there can be twist along span with these formulas,
%but no chordwise twist along panels at same strip)
dip=zeros(N,1);
for n=1:npb %along span
for j=1:npc %along chord
p=n+(j1)*npb;
%alphai already corrected by spanwise transversal flow: Ref. Kalman
%Giesing, Rodden AIAA J. AIRCRAFT VOL.7 NO.6 1970
dip(p)=lp(p)*sin(alphai(n));
end
end
%Distribution of induced drag coefficient along span only!
%(already summed chordwise for each strip)
cdi=zeros(1,npb);
for n=1:npb %along span
cdi(n)=cl(n)*sin(alphai(n));
end
%
clear AUXm AUXm1 AUXm_1 AUXn AUXn1 AUXn_1 sum_CDiw sum_ai_CLref dmi dmo ...
sum_auxsimp am bm cm an bn cn sum_alphai_CLcref
%
%Local average chord cavp of each panel
cavp=zeros(N,1);
for p=1:N
%local average chord cavp of panel p (not of strip! variable c(p))
cavp(p)=(cA(p)+cB(p))/2;
end
%% Misc computations
%Load factor in Z
nZ=L/W %#ok<NOPTS>
%
%Flat plate 2D lift coefficient along spanwise strips (npb)
cl0=2*pi*alpha0;
%
%Parasite drag (of each panel)
d0p=cd0*qinf.*cavp.*ssp;
%Total drag (of each panel)
dtp=d0p+dip;
%
%plot aerocoeff
if plots==1
run('plot_aerocoeff');
else
%do nothing no plot
end
%
if printaeroy==1

180

Gammay, yn, cl, cdi, alphai, alphaeff

705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751

APPENDIX B. VLM4FW PROGRAM CODE

else
%do nothing no print
end
%
%% Transformation of coordinates for aerodynamic forces and norm. pressures
% TX AERODYNAMIC AXES > GLOBAL BODY AXES (evaluated at each panel)
%Note1: Assumed constant effective angle of attack and sideslip angle that
%are being seen along a chordwise strip
%Bendingtorsion angles (phitheta) are computed panelbypanel though
%
Fxp=zeros(N,1); Fyp=zeros(N,1); Fzp=zeros(N,1);
Deltap=zeros(N,1); DeltaCp=zeros(N,1);
for n=1:npb %along span
for j=1:npc %along chord
p=n+(j1)*npb;
%
%++
%1) TX aerodynamic axes (a) > LOCAL panel body axes (bl)
%aux comp. of angles for each strip of panels
cosa=cos(alphaeff(n)); sina=sin(alphaeff(n));
cosb=cos(beta(n));
sinb=sin(beta(n));
%aerodynamic force at each panel
%assumed each panel does not create side aerodynamic force
Fap=[dtp(p) , 0 , lp(p)]';
%transformation matrix
Tblap=[+cosa*cosb , cosa*sinb , sina;
+sinb
, +cosb
, +0
;
+sina*cosb , sina*sinb , +cosa];
%LOCAL panel body force
Fblp=Tblap*Fap;
%
%()()()
%Normal pressures and pressure coefficients with dihedral
%(Method 2 modified from NASATND6142) at each panel
Deltap(p)=Fblp(3)/yyp(p)/cavp(p);
DeltaCp(p)=Deltap(p)/qinf;
%()()()
%!!! Tangential pressures at local panel CSYS (TBImp...)
%
%++
%2) TX LOCAL panel body axes (bl) > GLOBAL panel body axes (bg)
%aux comp. of angles for each panel
cosp=cos(phip(p))
; sinp=sin(phip(p)) ;
cost=cos(thetap(p))
; sint=sin(thetap(p));
cose=cos(epsilonp(p)) ; sine=sin(epsilonp(p));
%transformation matrix

APPENDIX B. VLM4FW PROGRAM CODE


752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798

181

Tbgblp=...
[+cost*cose , +sinp*sint*cose+cosp*sine , +cosp*sint*cosesinp*sine ;
cost*sine , +cosp*cosesinp*sint*sine , sinp*cosecosp*sint*sine ;
sint
, +sinp*cost
, +cosp*cost];
Fbgp=Tbgblp*Fblp;
%
%===
%variables assignation
Fxp(p)=Fbgp(1); Fyp(p)=Fbgp(2); Fzp(p)=Fbgp(3);
end
end
clear Fap Tblap Fblp Tbgblp Fbgp
clear cosa sina cosb sinb cosp sinp cost sint cose sine
%
%% Normal pressures, pressure coefficients and U3 deformed plot
%Note: Computation performed for each panel (p)
%
%Method 1 with no dihedral correction (for each panel)
DeltaCp1=zeros(N,1);
for p=1:N
DeltaCp1(p)=2/cavp(p)*Gamma(p)/Vinf;
end
%Method 2 with dihedral correction (for each panel)
% % % Deltap(p);
!already computed in previous section
% % % DeltaCp(p)=Deltap(p)/qinf;
!already computed in previous section
%
if plots==1
run('plot_aerocp');
%
run('plot_aerodef');
else
%do nothing no plot
end
%
%% Extrapolation of body forces from panel data to nodal data
%
% Fznod=interp2(YABmg,XABmg,Fzpg,ynod,xnod,'spline'); %<only rect wings
Fxnod=griddata(xABm,yABm,Fxp,xnod,ynod,'v4'); %#ok<FPARK>
Fynod=griddata(xABm,yABm,Fyp,xnod,ynod,'v4'); %#ok<FPARK>
Fznod=griddata(xABm,yABm,Fzp,xnod,ynod,'v4'); %#ok<FPARK>
%
Fnod=[Fxnod,Fynod,Fznod];
%
if plots==1
run('plot_extrap');
else
%do nothing no plot
end

182
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

APPENDIX B. VLM4FW PROGRAM CODE

%
%% Write output data to file
%Note: write format to accomodate syntax of Abaqus FEM solver
%
%=== write output file 901 ===
%Nodal aerodynamic forces (tx'ed into GLOBAL body axes)
fid901=fopen([workdir,'\',jobID,'.faout'],'w');
fprintf(fid901,'%5d,
1, %+12.8e \n',[(1:Nnod)',Fxnod]');
fprintf(fid901,'%5d,
2, %+12.8e \n',[(1:Nnod)',Fynod]');
fprintf(fid901,'%5d,
3, %+12.8e \n',[(1:Nnod)',Fznod]');
fclose(fid901);
%
%=== write output file 902 ===
%Panel aerodynamic normal pressures
%Note: these are follower pressures normal to the surface of the panel
fid902=fopen([workdir,'\',jobID,'.paout'],'w');
fprintf(fid902,'%5d, %+12.8e \n',[(1:N)',Deltap]');
fclose(fid902);
%
%% Clear aux variables
clear i ii j jj kk pp p p_1c m n ans
%%
disp(' ')
toc
disp(' ')
%
diary off
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [PSIir,PSIjr,PSIkr]=PSI(xAn,yAn,zAn,xBn,yBn,zBn,xm,ym,zm,N)
% PSI for computation of boundary conditions at classical control points
%
% SYNTAX:[PSIir,PSIjr,PSIkr]=PSI(xAn,yAn,zAn,xBn,yBn,zBn,xm,ym,zm,N)
%
% MCR [email protected] $rev93
%
%% Velocity influence coefficients (PSI) Cmn
%
%>>>>>> CONTRIBUTION OF RIGHT SEMIWING AT RIGHT SEMIWING (rr) <<<<<<
CABirr=zeros(N,N);
CABjrr=zeros(N,N);
CABkrr=zeros(N,N);
CAINFjrr=zeros(N,N); CAINFkrr=zeros(N,N);
CBINFjrr=zeros(N,N); CBINFkrr=zeros(N,N);
PSIirr=zeros(N,N);
PSIjrr=zeros(N,N);
PSIkrr=zeros(N,N);
%
%At control point of Panel (m), induced by Panel (n)
for m=1:N

APPENDIX B. VLM4FW PROGRAM CODE


18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

183

for n=1:N
CABirr(m,n)=+((ym(m)yAn(n))*(zm(m)zBn(n))(ym(m)yBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABjrr(m,n)=((xm(m)xAn(n))*(zm(m)zBn(n))(xm(m)xBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABkrr(m,n)=+((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
%%%
%%%
CAINFjrr(m,n)=+(zm(m)zAn(n))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)yAn(n))^2+(zm(m)zAn(n))^2));
CAINFkrr(m,n)=+(yAn(n)ym(m))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)yAn(n))^2+(zm(m)zAn(n))^2));

184

APPENDIX B. VLM4FW PROGRAM CODE


%%%
%%%
CBINFjrr(m,n)=(zm(m)zBn(n))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)yBn(n))^2+(zm(m)zBn(n))^2));
CBINFkrr(m,n)=(yBn(n)ym(m))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)yBn(n))^2+(zm(m)zBn(n))^2));
%%%
%%%
PSIirr(m,n)=1/(4*pi)*(CABirr(m,n));
PSIjrr(m,n)=1/(4*pi)*(CABjrr(m,n)+CAINFjrr(m,n)+CBINFjrr(m,n));
PSIkrr(m,n)=1/(4*pi)*(CABkrr(m,n)+CAINFkrr(m,n)+CBINFkrr(m,n));

65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

end
end
%
% CABirr,CABjrr,CABkrr,CAINFjrr,CAINFkrr,CBINFjrr,CBINFkrr %#ok<NOPTS>
% PSIirr,PSIjrr,PSIkrr %#ok<NOPTS>
%
%>>>>>> CONTRIBUTION OF LEFT SEMIWING AT RIGHT SEMIWING (rl) <<<<<<
CABirl=zeros(N,N);
CABjrl=zeros(N,N);
CABkrl=zeros(N,N);
CAINFjrl=zeros(N,N); CAINFkrl=zeros(N,N);
CBINFjrl=zeros(N,N); CBINFkrl=zeros(N,N);
PSIirl=zeros(N,N);
PSIjrl=zeros(N,N);
PSIkrl=zeros(N,N);
%
%At control point of Panel (m), induced by Panel (n)
%Note1: In formulas VAB,VAINF,VBINF, ym do not change, since the control
%points are still at the right semiwing, only yAn,yBn for vertex A and B
%will change to represent the vortices from the contribution of the left
%semiwing. Whatever xm, xAn, xBn will remain unmodified due to XZSYMM
%Note2: All factors of terms in formulas invert sign since
%those ones were derived for vortices on right semiwing only.
%Note3:For left semiwing, now (A) vertex means closest to wing root, and
%(B) vertex means closest to wing tip
%
for m=1:N
for n=1:N
CABirl(m,n)=((ym(m)+yAn(n))*(zm(m)zBn(n))(ym(m)+yBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...

APPENDIX B. VLM4FW PROGRAM CODE


112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158

185

(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABjrl(m,n)=+((xm(m)xAn(n))*(zm(m)zBn(n))(xm(m)xBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABkrl(m,n)=((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
%%%
%%%
CAINFjrl(m,n)=(zm(m)zAn(n))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2));
CAINFkrl(m,n)=(yAn(n)ym(m))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2));
%%%
%%%
CBINFjrl(m,n)=+(zm(m)zBn(n))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2));
CBINFkrl(m,n)=+(yBn(n)ym(m))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2));
%%%
%%%
PSIirl(m,n)=1/(4*pi)*(CABirl(m,n));

186

APPENDIX B. VLM4FW PROGRAM CODE


PSIjrl(m,n)=1/(4*pi)*(CABjrl(m,n)+CAINFjrl(m,n)+CBINFjrl(m,n));
PSIkrl(m,n)=1/(4*pi)*(CABkrl(m,n)+CAINFkrl(m,n)+CBINFkrl(m,n));

159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

end
end
%
% CABirl,CABjrl,CABkrl,CAINFjrl,CAINFkrl,CBINFjrl,CBINFkrl %#ok<NOPTS>
% PSIirl,PSIjrl,PSIkrl %#ok<NOPTS>
%
%=============================SUMMATION====================================
%Assumption: singularity in each mirrored left and right panel about the x
%axis is the same to guarantee the XZ symmetric flow in order to reduce the
%order of unknowns from 2Nx2N to NxN
PSIir=PSIirr+PSIirl; PSIjr=PSIjrr+PSIjrl; PSIkr=PSIkrr+PSIkrl;
%
end
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [PSIir,PSIjr,PSIkr]=PSIAB(xAn,yAn,zAn,xBn,yBn,zBn,xm,ym,zm,N,MESHp)
% PSIAB for computation of backwash
%
% SYNTAX:[PSIir,PSIjr,PSIkr]=PSIAB(xAn,yAn,zAn,xBn,yBn,zBn,xm,ym,zm,N,MESHp)
%
% MCR [email protected] $rev93
%
%% Velocity influence coefficients (PSI) Cmn
%
%>>>>>> CONTRIBUTION OF RIGHT SEMIWING AT RIGHT SEMIWING (rr) <<<<<<
CABirr=zeros(N,N);
CABjrr=zeros(N,N);
CABkrr=zeros(N,N);
CAINFjrr=zeros(N,N); CAINFkrr=zeros(N,N);
CBINFjrr=zeros(N,N); CBINFkrr=zeros(N,N);
PSIirr=zeros(N,N);
PSIjrr=zeros(N,N);
PSIkrr=zeros(N,N);
%
%At control point of Panel (m), induced by Panel (n)
for m=1:N
[rowm,~]=find(MESHp==m);
for n=1:N
[rown,~]=find(MESHp==n);
if rown==rowm %check to see if m and n are along same spanwise row
%same panels or prolongarion of AB bound vortex
%do not compute CABirr or CABjrr or CABkrr
%line vortex filament cannot induce velocity on itself or its
%axial extension
else
CABirr(m,n)=+((ym(m)yAn(n))*(zm(m)zBn(n))(ym(m)yBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...

APPENDIX B. VLM4FW PROGRAM CODE


29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75

187

(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABjrr(m,n)=((xm(m)xAn(n))*(zm(m)zBn(n))(xm(m)xBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABkrr(m,n)=+((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
end
%%%
%%%
CAINFjrr(m,n)=+(zm(m)zAn(n))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)yAn(n))^2+(zm(m)zAn(n))^2));
CAINFkrr(m,n)=+(yAn(n)ym(m))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)yAn(n))^2+(zm(m)zAn(n))^2));
%%%
%%%

188
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122

APPENDIX B. VLM4FW PROGRAM CODE


CBINFjrr(m,n)=(zm(m)zBn(n))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)yBn(n))^2+(zm(m)zBn(n))^2));
CBINFkrr(m,n)=(yBn(n)ym(m))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)yBn(n))^2+(zm(m)zBn(n))^2));
%%%
%%%
PSIirr(m,n)=1/(4*pi)*(CABirr(m,n));
PSIjrr(m,n)=1/(4*pi)*(CABjrr(m,n)+CAINFjrr(m,n)+CBINFjrr(m,n));
PSIkrr(m,n)=1/(4*pi)*(CABkrr(m,n)+CAINFkrr(m,n)+CBINFkrr(m,n));

end
end
%
% CABirr,CABjrr,CABkrr,CAINFjrr,CAINFkrr,CBINFjrr,CBINFkrr %#ok<NOPTS>
% PSIirr,PSIjrr,PSIkrr %#ok<NOPTS>
%
%>>>>>> CONTRIBUTION OF LEFT SEMIWING AT RIGHT SEMIWING (rl) <<<<<<
CABirl=zeros(N,N);
CABjrl=zeros(N,N);
CABkrl=zeros(N,N);
CAINFjrl=zeros(N,N); CAINFkrl=zeros(N,N);
CBINFjrl=zeros(N,N); CBINFkrl=zeros(N,N);
PSIirl=zeros(N,N);
PSIjrl=zeros(N,N);
PSIkrl=zeros(N,N);
%
%At control point of Panel (m), induced by Panel (n)
%Note1: In formulas , ym do not change, since the control
%points are still at the right semiwing, only yAn,yBn for vertex A and B
%will change to represent the vortices from the contribution of the left
%semiwing. Whatever xm, xAn, xBn will remain unmodified due to XZSYMM
%Note2: All factors of terms in formula invert sign since
%those ones were derived for vortices on right semiwing only.
%Note3:For left semiwing, now (A) vertex means closest to wing root, and
%(B) vertex means closest to wing tip
%
% !!!! PARTICULAR CASE FOR RECTANGULAR WING WITH NO DIHEDRAL:
%
LHS ALSO HAS EXTENSION AB BOUND VORTICES OVER RHS!!
%Rectangular wing without dihedral flag
if xAn(1)==xBn(length(MESHp)) && zAn(1)==zBn(length(MESHp))
rectphi0wing=1;
else
rectphi0wing=0;
end
%
for m=1:N
[rowm,~]=find(MESHp==m);
for n=1:N
[rown,~]=find(MESHp==n);
if rown==rowm && rectphi0wing==1

APPENDIX B. VLM4FW PROGRAM CODE


123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169

189

% IDEM AS RHS CRITERIA:


%check to see if m and n are along same spanwise row
%
%same panels or prolongarion of AB bound vortex
%do not compute CABirr or CABjrr or CABkrr
%line vortex filament cannot induce velocity on itself or its
%axial extension
else
CABirl(m,n)=((ym(m)+yAn(n))*(zm(m)zBn(n))(ym(m)+yBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABjrl(m,n)=+((xm(m)xAn(n))*(zm(m)zBn(n))(xm(m)xBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABkrl(m,n)=((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
end

190
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205

1
2
3
4
5
6
7
8
9

APPENDIX B. VLM4FW PROGRAM CODE


%%%
%%%
CAINFjrl(m,n)=(zm(m)zAn(n))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2));
CAINFkrl(m,n)=(yAn(n)ym(m))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2));
%%%
%%%
CBINFjrl(m,n)=+(zm(m)zBn(n))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2));
CBINFkrl(m,n)=+(yBn(n)ym(m))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2));
%%%
%%%
PSIirl(m,n)=1/(4*pi)*(CABirl(m,n));
PSIjrl(m,n)=1/(4*pi)*(CABjrl(m,n)+CAINFjrl(m,n)+CBINFjrl(m,n));
PSIkrl(m,n)=1/(4*pi)*(CABkrl(m,n)+CAINFkrl(m,n)+CBINFkrl(m,n));

end
end
%
% CABirl,CABjrl,CABkrl,CAINFjrl,CAINFkrl,CBINFjrl,CBINFkrl %#ok<NOPTS>
% PSIirl,PSIjrl,PSIkrl %#ok<NOPTS>
%
%=============================SUMMATION====================================
%Assumption: singularity in each mirrored left and right panel about the x
%axis is the same to guarantee the XZ symmetric flow in order to reduce the
%order of unknowns from 2Nx2N to NxN
PSIir=PSIirr+PSIirl; PSIjr=PSIjrr+PSIjrl; PSIkr=PSIkrr+PSIkrl;
%
end
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function [PSIir,PSIjr,PSIkr]=PSIBD(xAn,yAn,zAn,xBn,yBn,zBn,xm,ym,zm,N)
% PSIBD for computation of sidewash
%
% SYNTAX:[PSIir,PSIjr,PSIkr]=PSIBD(xAn,yAn,zAn,xBn,yBn,zBn,xm,ym,zm,N)
%
% MCR [email protected] $rev93
%
%% Velocity influence coefficients (PSI) Cmn
%

APPENDIX B. VLM4FW PROGRAM CODE


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

%>>>>>> CONTRIBUTION OF RIGHT SEMIWING AT RIGHT SEMIWING (rr) <<<<<<


CABirr=zeros(N,N);
CABjrr=zeros(N,N);
CABkrr=zeros(N,N);
CAINFjrr=zeros(N,N); CAINFkrr=zeros(N,N);
CBINFjrr=zeros(N,N); CBINFkrr=zeros(N,N);
PSIirr=zeros(N,N);
PSIjrr=zeros(N,N);
PSIkrr=zeros(N,N);
tol=1e2;
%
%Note:vertices of interest A,B,C,D seen from point of view of inducting
%panel (CAB,CAINF,CABINF)
%At control point of Panel (m), induced by Panel (n)
for m=1:N
for n=1:N
CABirr(m,n)=+((ym(m)yAn(n))*(zm(m)zBn(n))(ym(m)yBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABjrr(m,n)=((xm(m)xAn(n))*(zm(m)zBn(n))(xm(m)xBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABkrr(m,n)=+((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))/( ((ym(m)yAn(n))*(zm(m)zBn(n))...
(ym(m)yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)yBn(n))(xm(m)xBn(n))*...
(ym(m)yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)yAn(n))*...
(ym(m)yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2)...

191

192

APPENDIX B. VLM4FW PROGRAM CODE


((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)yAn(n))*...
(ym(m)yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2) );

57
58
59

%%%
%%%
if abs(yBn(m)yAn(n))<tol
%!!adjacent panels or prolong. of BD bound vortex
%tolerance of proximity 1e2
%do not compute CAINFjrr or CAINFkrr
%line vortex filament cannot induce velocity on itself or its
%axial extension
else
CAINFjrr(m,n)=+(zm(m)zAn(n))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2));
CAINFkrr(m,n)=+(yAn(n)ym(m))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/...
sqrt((xm(m)xAn(n))^2+(ym(m)yAn(n))^2+(zm(m)zAn(n))^2));
end
%%%
%%%
if abs(yBn(m)yBn(n))<tol
%!!same panels or prolongation of BD bound vortex
%tolerance of proximity 1e2
%do not compute CBINFjrr or CBINFkrr
%line vortex filament cannot induce velocity on itself or its
%axial extension
else
CBINFjrr(m,n)=(zm(m)zBn(n))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2));
CBINFkrr(m,n)=(yBn(n)ym(m))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/...
sqrt((xm(m)xBn(n))^2+(ym(m)yBn(n))^2+(zm(m)zBn(n))^2));
end
%%%
%%%
PSIirr(m,n)=1/(4*pi)*(CABirr(m,n));
PSIjrr(m,n)=1/(4*pi)*(CABjrr(m,n)+CAINFjrr(m,n)+CBINFjrr(m,n));
PSIkrr(m,n)=1/(4*pi)*(CABkrr(m,n)+CAINFkrr(m,n)+CBINFkrr(m,n));

60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103

end
end
%
% CABirr,CABjrr,CABkrr,CAINFjrr,CAINFkrr,CBINFjrr,CBINFkrr %#ok<NOPTS>
% PSIirr,PSIjrr,PSIkrr %#ok<NOPTS>
%
%>>>>>> CONTRIBUTION OF LEFT SEMIWING AT RIGHT SEMIWING (rl) <<<<<<

APPENDIX B. VLM4FW PROGRAM CODE


104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150

193

CABirl=zeros(N,N);
CABjrl=zeros(N,N);
CABkrl=zeros(N,N);
CAINFjrl=zeros(N,N); CAINFkrl=zeros(N,N);
CBINFjrl=zeros(N,N); CBINFkrl=zeros(N,N);
PSIirl=zeros(N,N);
PSIjrl=zeros(N,N);
PSIkrl=zeros(N,N);
%
%At control point of Panel (m), induced by Panel (n)
%Note1: In formulas, ym do not change, since the control
%points are still at the right semiwing, only yAn,yBn for vertex A and B
%will change to represent the vortices from the contribution of the left
%semiwing. Whatever xm, xAn, xBn will remain unmodified due to XZSYMM
%Note2: All factors of terms in formulas invert sign since
%those ones were derived for vortices on right semiwing only.
%Note3:For left semiwing, now (A) vertex means closest to wing root, and
%(B) vertex means closest to wing tip
%
for m=1:N
for n=1:N
CABirl(m,n)=((ym(m)+yAn(n))*(zm(m)zBn(n))(ym(m)+yBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABjrl(m,n)=+((xm(m)xAn(n))*(zm(m)zBn(n))(xm(m)xBn(n))*...
(zm(m)zAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...
((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );
%
CABkrl(m,n)=((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))/( ((ym(m)+yAn(n))*(zm(m)zBn(n))...
(ym(m)+yBn(n))*(zm(m)zAn(n)))^2+((xm(m)xAn(n))*...
(zm(m)zBn(n))(xm(m)xBn(n))*(zm(m)zAn(n)))^2+...

194

APPENDIX B. VLM4FW PROGRAM CODE


((xm(m)xAn(n))*(ym(m)+yBn(n))(xm(m)xBn(n))*...
(ym(m)+yAn(n)))^2 )*...
( ((xBn(n)xAn(n))*(xm(m)xAn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yAn(n))+(zBn(n)zAn(n))*(zm(m)zAn(n)))/...
sqrt((xm(m)xAn(n))^2+(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2)...
((xBn(n)xAn(n))*(xm(m)xBn(n))+(yBn(n)+yAn(n))*...
(ym(m)+yBn(n))+(zBn(n)zAn(n))*(zm(m)zBn(n)))/...
sqrt((xm(m)xBn(n))^2+(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2) );

151
152
153
154
155
156
157
158

%%%
%%%
CAINFjrl(m,n)=(zm(m)zAn(n))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2));
CAINFkrl(m,n)=(yAn(n)ym(m))/((zm(m)zAn(n))^2+...
(yAn(n)ym(m))^2)*(1+(xm(m)xAn(n))/sqrt((xm(m)xAn(n))^2+...
(ym(m)+yAn(n))^2+(zm(m)zAn(n))^2));
%%%
%%%
CBINFjrl(m,n)=+(zm(m)zBn(n))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2));
CBINFkrl(m,n)=+(yBn(n)ym(m))/((zm(m)zBn(n))^2+...
(yBn(n)ym(m))^2)*(1+(xm(m)xBn(n))/sqrt((xm(m)xBn(n))^2+...
(ym(m)+yBn(n))^2+(zm(m)zBn(n))^2));
%%%
%%%
PSIirl(m,n)=1/(4*pi)*(CABirl(m,n));
PSIjrl(m,n)=1/(4*pi)*(CABjrl(m,n)+CAINFjrl(m,n)+CBINFjrl(m,n));
PSIkrl(m,n)=1/(4*pi)*(CABkrl(m,n)+CAINFkrl(m,n)+CBINFkrl(m,n));

159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197

end
end
%
% CABirl,CABjrl,CABkrl,CAINFjrl,CAINFkrl,CBINFjrl,CBINFkrl %#ok<NOPTS>
% PSIirl,PSIjrl,PSIkrl %#ok<NOPTS>
%
%=============================SUMMATION====================================
%Assumption: singularity in each mirrored left and right panel about the x
%axis is the same to guarantee the XZ symmetric flow in order to reduce the
%order of unknowns from 2Nx2N to NxN
PSIir=PSIirr+PSIirl; PSIjr=PSIjrr+PSIjrl; PSIkr=PSIkrr+PSIkrl;
%
%Check if NaN values are present and replace by zeros
PSIir(isnan(PSIir))=0;
PSIjr(isnan(PSIjr))=0;
PSIkr(isnan(PSIkr))=0;
%
end

APPENDIX B. VLM4FW PROGRAM CODE


198
199

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

195

%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function vlm4fwruncmd(jobID,flagmesh,lkinc,flagslvr,flagexit)
% VLM4FW Runner from CMD for batch processing
% MCR [email protected]
%
% ====================================================================
% VLM4FWRUNCMD Function only useful for batch processing from CMD
%
% !! Warning: DO NOT USE THIS FUNCTION IF RUN FROM MATLAB INTERFACE !!
% If so, all variables will be local to the function and not be saved
% to the global workspace
%
% (Mesher, DAT reader and solver encapsulated into function for batch)
%
% SYNTAX: vlm4fwruncmd(jobID,flagmesh,lkinc,flagslvr,flagexit)
% ====================================================================
%

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

%%
%vlm4fwdir installation of vlm4fw files
vlm4fwdir='C:\Users\MCR\Documents\MATLAB\vlm4fw' %#ok<NOPRT>
%workdir from where matlab was started
workdir=pwd %#ok<NOPRT>
%
%run case environment LOCAL variables
run([workdir,'\matlabjob\',jobID])
%
%run mesher (if desired by flagmesh)
if
nargin==2 && flagmesh==1
run([vlm4fwdir,'\','vlm4fw_mesh36'])
elseif nargin==3 && flagmesh==1
run([vlm4fwdir,'\','vlm4fw_mesh36'])
elseif nargin==4 && flagmesh==1
run([vlm4fwdir,'\','vlm4fw_mesh36'])
elseif nargin==5 && flagmesh==1
run([vlm4fwdir,'\','vlm4fw_mesh36'])
end
%
%run .DAT reader (depending on last completed time increment number lkinc)
%only will be executed if there was a previous time increment
%if structural analysis did not start yet, lkinc is considered 0 (INITIAL)
%the .DAT will not exist and the mesher creates the .nod
if
nargin==3 && lkinc>0
run([vlm4fwdir,'\','vlm4fw_rddat11'])

196
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

APPENDIX B. VLM4FW PROGRAM CODE

elseif nargin==4 && lkinc>0


run([vlm4fwdir,'\','vlm4fw_rddat11'])
elseif nargin==5 && lkinc>0
run([vlm4fwdir,'\','vlm4fw_rddat11'])
end
%
%run solver (if desired by flagslvr)
if
nargin==4 && flagslvr==1
run([vlm4fwdir,'\','vlm4fw_slvr97'])
elseif nargin==5 && flagslvr==1
run([vlm4fwdir,'\','vlm4fw_slvr97'])
end
%
%run exit (if desired by flagexit)
if nargin==5 && flagexit==1
exit
end
%
end

Appendix C - ABQ/VLM4FW
aeroelastic coupler code

1
2
3

C
C
C

SUBROUTINE UEXTERNALDB(LOP,LRSTRT,TIME,DTIME,KSTEP,KINC)

4
5
6
7
8
9
10

C
C
C
C
C
C
C

DIMENSION
CHARACTER*256
INTEGER*8
REAL*8
CHARACTER*26
CHARACTER*15
INTEGER*8
CHARACTER*3

13
14
15
16
17
18
19
20
21

24
25
26

COMMON /KMCR/ KDTIME,OUTDIR,JOBID,LOUDIR,LJOBID


C
C
C
C

27
28
29
30
31
32
33

TIME(2)
OUTDIR,JOBID
LOUDIR,LJOBID
KDTIME
CMDMAT
VLMOPT
CMDRES,LKINC
SLKINC

22
23

LRSTRT NOT USED SINCE IT IS ONLY APPLICABLE FOR RESTART


NOTE(1): DO NOT INCLUDE CALLS TO XIT IN THIS SUBROUTINE
NOTE(2): UNITS 1518 OR .GT.100 FREE FOR USER
UNIT=6>.DAT FILE
INCLUDE 'ABA_PARAM.INC'

11
12

ABQ/VLM4FW AEROELASTIC COUPLER


MCR [email protected] $REV36

C
C

>>> START MCR CODING >>>


TIME INCREMENT (COMMON)
KDTIME=DTIME
WRITE(6,*)
WRITE(6,*) '=== <MCR> OUTPUT OF SUBROUTINE UEXTERNALDB ==='
WRITE(6,*)
CASE LOP=0
IF (LOP.EQ.0) THEN

198

APPENDIX C. ABQ/VLM4FW AEROELASTIC COUPLER CODE


PRINT *,
'!! START OF ANALYSIS !!'
WRITE(6,*) '!! START OF ANALYSIS LOP =',LOP

34
35
36
37

C
C

38
39
40
41
42
43
44

CASE LOP=1
ELSE IF (LOP.EQ.1) THEN
PRINT *
PRINT *,
'!! START OF INCREMENT NUMBER:',KINC
PRINT *,
'
PROPOSED TIME INCREMENT:',DTIME
PRINT *,
'
CURRENT STEP TIME:',TIME(1)
WRITE(6,*) '!! START OF INCREMENT LOP =',LOP

C
CALL GETOUTDIR(OUTDIR,LOUDIR)
CALL GETJOBNAME(JOBID,LJOBID)

45
46
47
48
49
50
51

C
C
C
C
C

===START MATLAB/VLM4FW===
LAST PREVIOUS INCREMENT NUMBER
(IN CASE OF INITIAL RUN, WILL BE NO.0!)
LKINC=KINC1
CONVERT INTEGER TO STRING
WRITE(SLKINC,'(I0)') LKINC

52
53

54
55
56

C
C

57
58

59
60
61
62
63

64

65
66

67

68
69
70
71
72
73

C
C

74
75
76
77
78

79
80

CHECK IF INCREMENT = 1 (INITIAL RUN)


IF (KINC.EQ.1) THEN
INITIALIZE MESHER
PRINT *,
'>>> INITIALIZING MATLAB/VLM4FW MESHER...'
WRITE(6,*) '>>> INITIALIZING MATLAB/VLM4FW MESHER...'
CMDMAT='matlabnowin vlm4fwruncmd('''
VLMOPT=''',1,'//TRIM(SLKINC)//',0,1)'
DISPLAY DRIVER TO RUN VLM4FW (FIX FOR OVERCLOCK BUG)
PRINT *, 'cd '//OUTDIR(1:LOUDIR)//' && '
//CMDMAT//JOBID(1:LJOBID)//VLMOPT
EXECUTE DRIVER IN CMD
CMDRES=SYSTEM('cd '//OUTDIR(1:LOUDIR)//' && '
//CMDMAT//JOBID(1:LJOBID)//VLMOPT)
PRINT *,
'>>> MATLAB/VLM4FW MESHER COMPLETED'
WRITE(6,*) '>>> MATLAB/VLM4FW MESHER COMPLETED'
END IF
CONTINUE TO RUN SOLVER FOR ALL INCREMENTS
PRINT *,
'>>> STARTING MATLAB/VLM4FW SOLVER...'
WRITE(6,*) '>>> STARTING MATLAB/VLM4FW SOLVER...'
CMDMAT='matlabnowin vlm4fwruncmd('''
VLMOPT=''',0,'//TRIM(SLKINC)//',1,1)'
DISPLAY DRIVER TO RUN VLM4FW (FIX FOR OVERCLOCK BUG)
PRINT *, 'cd '//OUTDIR(1:LOUDIR)//' && '
//CMDMAT//JOBID(1:LJOBID)//VLMOPT

APPENDIX C. ABQ/VLM4FW AEROELASTIC COUPLER CODE


81

82

83
84
85
86
87

C
C

88
89
90
91
92

C
C

93
94
95
96
97
98
99

C
C

100
101
102
103

C
C
C

104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

EXECUTE DRIVER IN CMD


CMDRES=SYSTEM('cd '//OUTDIR(1:LOUDIR)//' && '
//CMDMAT//JOBID(1:LJOBID)//VLMOPT)
PRINT *,
'>>> MATLAB/VLM4FW SOLVER COMPLETED'
WRITE(6,*) '>>> MATLAB/VLM4FW SOLVER COMPLETED'

CASE LOP=2
ELSE IF (LOP.EQ.2) THEN
PRINT *,
'!! END OF INCREMENT STEP TIME:',TIME(1)
WRITE(6,*) '!! END OF INCREMENT LOP =',LOP
CASE LOP=3
ELSE IF (LOP.EQ.3) THEN
PRINT *
PRINT *,
'!! END OF ANALYSIS !!'
WRITE(6,*) '!! END OF ANALYSIS LOP =',LOP
PRINT*, CHAR(7)
CASE LOP=4
ELSE IF (LOP.EQ.4) THEN
LOP=4 START OF RESTART ANALYSIS NOT USED
CASE LOP=?
ELSE
LOP=? SHOULD NOT BE POSSIBLE
END IF

C
C
RETURN
END
C
C=======================================================================
C
SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,
1 COORDS,JLTYP,SNAME)
C
C
LAYER AND KSPT NOT USED FOR CONVENTIONAL SHELLS (0 VALUED)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION
TIME(2),COORDS(3)
CHARACTER*80 SNAME
CHARACTER*256 OUTDIR,JOBID,FID912
INTEGER*8
LOUDIR,LJOBID,TEMP1,I,WRTDAT
REAL*8
KDTIME,TEMP2
C
COMMON /KMCR/ KDTIME,OUTDIR,JOBID,LOUDIR,LJOBID

199

200
128
129
130

C
C
C

APPENDIX C. ABQ/VLM4FW AEROELASTIC COUPLER CODE

>>> START MCR CODING >>>


IF (SNAME.EQ.'SURF_TOP') THEN

131
132
133
134
135
136
137

C
C
C
C
C
C

> FORCE TO BE APPLIED <


ABQ SIGN CONVENTION:
PRESSURE POSITIVE IN OPPOSITE DIR TO SURFACE NORMAL

138

139
140
141

142
143

144
145

146
147
148

149
150
151
152

153
154

155
156
157
158

159
160

161
162
163
164
165
166
167
168
169
170
171
172
173
174

=== READ OUTPUT FILE 902>(912 IN READ MODE) ===


FID912=
OUTDIR(1:LOUDIR)//'/'//JOBID(1:LJOBID)//'.paout'
OPEN(UNIT=912,FILE=FID912)
SPECIFIC LINE TO BE READ IN .PAOUT
IF (NOEL.EQ.1) THEN
READ DIRECTLY FIRST LINE
READ(912,*) TEMP1,TEMP2
APPLY ABQ SIGN AND NUMERICAL LOAD TIME FOR LOAD INCREMENT
F=TEMP2*TIME(1)
ELSE
SKIP LINES OF FID912 UNTIL PREVIOUS LINE OF CURRENT ELEMENT
DO I=1,NOEL1
READ(912,*)
END DO
READ ELEMENT LINE
READ(912,*) TEMP1,TEMP2
APPLY ABQ SIGN AND NUMERICAL LOAD TIME FOR LOAD INCREMENT
F=TEMP2*TIME(1)
END IF
CLOSE(912)
ELSE
> NO FORCE TO BE APPLIED <
F=0
END IF

C
WRTDAT=0
IF (WRTDAT.EQ.1) THEN
WRITE(6,*)
WRITE(6,*) '=== <MCR> OUTPUT OF SUBROUTINE DLOAD ==='
WRITE(6,*)
WRITE(6,*)
1
'READING VLM4FW AERODYNAMIC PRESSURES FROM .PAOUT FILE...'
WRITE(6,*) 'Load increment applied =',F
WRITE(6,*) 'Step number =',KSTEP
WRITE(6,*) 'Increment number =',KINC
WRITE(6,*) 'Increment time =',KDTIME

APPENDIX C. ABQ/VLM4FW AEROELASTIC COUPLER CODE


175
176
177
178
179
180
181
182
183
184
185
186

WRITE(6,*)
WRITE(6,*)
WRITE(6,*)
WRITE(6,*)
WRITE(6,*)
WRITE(6,*)
WRITE(6,*)
END IF

'Step time =',TIME(1)


'Element number =',NOEL
'Integration point:',NPT
'Integration points coordinates (X,Y,Z):'
COORDS(1),COORDS(2),COORDS(3)
'Load type:',JLTYP
'Surface name:',SNAME

C
C
RETURN
END

201

FOLHA DE REGISTRO DO DOCUMENTO


1.

CLASSIFICAC
AO/TIPO

DM
5.

2.

DATA

3.

10 de dezembro de 2015

DOCUMENTO N

4.

N DE PAGINAS

DCTA/ITA/DM-092/2015

202

TITULO E SUBTITULO:

Development of methodologies of aeroelastic analysis for the design of flexible aircraft wings
6.

AUTOR(ES):

Marcos Cesar Ruggeri


7.

OES)/

OES):

INSTITUIC
AO(
ORG
AO(S)
INTERNO(S)/DIVISAO(

Instituto Tecnol
ogico de Aeron
autica ITA
8.

PALAVRAS-CHAVE SUGERIDAS PELO AUTOR:

Aeroelasticidade; Asas flexveis; Metodo Vortex-Lattice; Flutter


9.

PALAVRAS-CHAVE RESULTANTES DE INDEXAC


AO:

Asas flexveis; Aeroelasticidade; Corpos flexiveis; Vibracao aeroelastica; Caractersticas dinamicas; Engenharia
aeron
autica
10.

APRESENTAC
AO:
(X) Nacional ( ) Internacional
ITA, S
ao Jose dos Campos. Curso de Mestrado. Programa de Pos-Graduacao em Engenharia Aeronautica e

Mec
anica. Area
de Mec
anica dos S
olidos e Estruturas. Orientador: Prof. Dr. Roberto Gil Annes da Silva.
Co-orientador: Prof. Dr. Carlos Eduardo de Souza. Defesa em 09/12/2015. Publicada em 2015.
11.

RESUMO:

This work deals with several computational methodologies for the aeroelastic study of flexible aircraft wings on
a preliminary design phase. An in-house vortex lattice method code named VLM4FW has been implemented
with correction of sidewash and backwash effects to take into account the aeroelastic deformation of the wing
in bending and torsion. In addition, corrections on the spanwise distribution of induced drag based on the
cross-flow energy in the wake have been included. This code has been also programmed to be coupled in a
co-simulation scheme with Abaqus for aeroelastic geometrical non-linear simulations and compute steady flight
loads. Then, based on the deformed wing configuration new natural frequencies and mode shapes are extracted
in MSC.Nastran with the solution sequence SOL 103. Flutter studies are next performed using the ZONA6
g-Method in ZAERO to analyze the dynamic aeroelastic instability and evaluate the results compared to the
undeformed initial wing shape. Several case studies have been adopted to validate the VLM4FW program with
rigid and flexible wings, such as the AE-249 and GNBA aircraft. Depending on the wing aspect ratio and
flexibility, the results obtained give a clear idea of how important is the deformed configuration for the study of
dynamic aeroelastic instabilities. The fact of considering the initial wing shape to perform a flutter analysis can
lead to large discrepancies in the estimated critical speeds, and even worse, overestimate the real values. Flutter
analyses based on geometrical nonlinear deformed wings are assumed to be conservative for the preliminary
design condition and are expected to provide better results as technological advances introduce higher aspect
ratios on very flexible wings.

12.

GRAU DE SIGILO:

(X) OSTENSIVO

( ) RESERVADO

( ) CONFIDENCIAL

( ) SECRETO

You might also like