Aswing FAQ
last updated 5 Mar 15
======================
Mark Drela
-------------------------------------------
Q: What is the fastest way to learn to use ASWING?
Are there any tutorials, seminars, example problems or courses available?
A: ASWING comes with several sample session.txt files.
These list keyboard command and data entries, along with comments,
and exercise the main features of ASWING.
ASWING can be executed off-line via script files.
The sample session.txt files would become sample script files
if the comments, blank lines, and interactive-graphics
commands are stripped out.
-------------------------------------------
Q: When questions come up, is there any timely support to answer them?
A: I can generally respond to email within a day or two,
unless maybe if I'm on travel.
-------------------------------------------
Q: If we use the code and find that we need a capability added to the code,
is there anyone to add it? How would development cost work?
A: I can add features to ASWING if I have time, under a consulting contract.
However, I will insist that all such modifications become part of the
standard ASWING ship set. I cannot support multiple versions of the code.
Having said that, I've already added quite a few features to ASWING
from industry contracts, and these are now in the latest ASWING
version. It's rather unlikely that you will need a feature which
is implementable and isn't already present.
-------------------------------------------
Q: Would we have to develop in-house support for Aswing?
A: You will naturally have in-house people which will become familiar
with running ASWING, just from the practice. ASWING comes with its
Fortran source code, which is very modular and well documented.
The source code also follows the theory document very closely.
If the user isn't quite sure what a displayed quantity is exactly,
it's often feasible to track it down in the source code.
For example, each significant variable in the code is described in
src/ASWING.INC where it's declared.
It's easy to make simple parameter changes (convergence tolerance,
array limits, etc). All primary array dimension parameters are defined
in src/DIMEN.INC. If any limit is exceeded at runtime, the code
stops and states the dimension parameter which must be increased.
-------------------------------------------
Q: What validation of the code has been done against "truth data"?
A: It's almost impossible to fully validate ASWING, since it has
a combination of capabilities which aren't present in any other code
that I'm aware of (e.g. large deformations with unsteady flow modeling,
with control laws active). However, subsets of the capabilites have been
verified against other calculation methods and flight data:
* Rigid-structure cases:
Against classical lifting-line, Vortex Lattice, panel methods,
classical flight dynamics analysis.
* In-vacuo elasticity with small deflections:
Against simple beam theory (steady and unsteady), NASTRAN.
* Flutter prediction of high aspect ratio wing with simple elasticity:
Against Theodorsen theory.
* Aileron reversal and divergence speeds:
Against NASTRAN.
A number of aircraft companies have used ASWING to model flight
scenarios and compared various predictions against flight data.
I don't know most of the details.
The following paper compares ASWING and NASTRAN predictions for
Body Freedom Flutter of a swept flying wing:
AIAA-2005-1947
Body Freedom Flutter of High Aspect Ratio Flying Wings
Love,M., Zink,P., Wieselmann,P., Youngren,H.
The following paper uses ASWING to quantify gust responses
of rigid and flexible transport aircraft:
AIAA-2008-5848
Stochastic Gust Analysis Techniques for Aircraft Conceptual Design
Fidkowski,K.J., Engelsen,F., Willcox,K.E., Kroo,I.M.
-------------------------------------------
Q: Describe the following:
User input
EA/EI/GJ definition
Concentrated mass/inertia representations
Control Surfaces
Geometric nonlinear beam formulation
Does the axis of the beam lineup with the wing section axis?
Can the principal beam axis be oriented as necessary?
Can 2D aerofoil section data be represented?
CL alpha slope, Reynolds number variation?
Unsteady aerodynamics
Gust model
Stall model
ASE stability analysis
Transient aeroelastic gust response
Gust load alleviation
Need more information on the Reduced Order Model that Aswing can produce
A: All these are described in the ASWING theory documents
and User Manual, available at http://raphael.mit.edu/aswing/
-------------------------------------------
Q: How does Aswing interface with Nastran?
A: It doesn't. The intent of ASWING is to allow fast evaluation
of possibly very many candidate configurations, over the entire
flight envelope (high G's, divergence/reversal, flutter, stall, etc).
The aero, structure, stability, and control-law performance
can all be analyzed. Once the down-select has been made
to relatively few attractive designs, _then_ you bring
in NASTRAN and 3D CFD tools to do the detailed analyses.
-------------------------------------------
Q: Can the following effects be included?
Actuator model; linear or nonlinear
Control surface hinge moments
Signal time delays
Sensor models
A: ASWING allows input of a custom control law via a user-supplied subroutine.
This subroutine defines the instantaneous control-surface deflections
by giving a linear or nonlinear residual function of the current state x,
state rate x_dot, sensor outputs y, and time t:
R( delta , x , x_dot, y , t ) = 0
This then implicity defines the control deflections as
delta( x , x_dot, y , t )
The state vector x and sensor outputs y contain error-integral variables,
so that any PID controller can be implemented.
-------------------------------------------
Q: Can the simulation transition through changing flight conditions
(i.e. speed, altitude)?
A: Any physically-possible flight scenario can be simulated.
-------------------------------------------
Q: Are different day-type environments available?
A: An arbitrary gust velocity vector field of the form V(X,Y,Z,t)
can be supplied via a user-provided subroutine.
-------------------------------------------
Q: Is CG location a fallout from joined beam model
or can it be forced to a desired location?
A: The CG location falls out of the input mass distributions
and point masses. The only way to move it is by changing
the distributions or adding/removing point masses.
-------------------------------------------
Q: How is sim/analysis output data captured and viewed?
A: The usual method is via screen graphics and screen listing.
The screen graphics can be
* steady (a state snapshot)
* unsteady (a movie)
* input-parameter plots
* gust-field plots
* time-trace plots of selected quantities
* Bode gain/phase plots
* Forced-response snapshots or movie
* Eigenvalue plots
* Eigenmode snapshots or movie
... and a bunch of other minor plots
A plot or sequence of plots can be dumped to PostScript
file(s) at any time. Numerical data can be dumped
at any time to file(s).
-------------------------------------------
Q: Is all ASWING analysis conducted with 3-axis
(roll / pitch / yaw) coupled modeling?
A: ASWING has full-DOF dynamical modeling.
Some DOFs can be artificially restrained by specifying
appropriate constraints.
-------------------------------------------
Q: Are inertia changes caused by dynamic vehicle deformation
included in ASWING modeling?
A: Yes.
-------------------------------------------
Q: Is there an ability to monitor critical loads during a simulation
A: Structural loads, strains, stresses, etc. can be plotted for
individual time snapshots, or for all snapshots superimposed.
The latter allows immediate spotting of the peak stress or strain
during e.g. a gust encounter. The loads at specific locations
can be monitored via user-specified sensors.
-------------------------------------------
Q: Need more information on the flight controls interface to Aswing
What flight control law implementations can be accommodated?
A: See documentation, and previous answer above.
-------------------------------------------
Q: Is the control law Discrete and / or continuous?
Linear / nonlinear; can parameters be scheduled with flight condition?
A: The control law is assumed to be continuous, and must provide
a control residual at any specified time (see above). There is
no current capability to directly simulate discrete-time
control laws (e.g. aliasing effects).
-------------------------------------------
Q: Must it be in FORTRAN?
A: The sample control-law routine provided is in FORTRAN.
The routine can be in C, since this is linkable to FORTRAN.
-------------------------------------------
Q: Can linear models be extracted from ASWING?
A: ASWING allows extraction of the following linear-model results
for any solution state (with or without participation of control law):
* Classical stability derivatives, with deformation participating
(although these have limited utility for a very flexible aircraft)
* Forced response versus frequency (Bode analysis)
* Eigenvalues and eigenvectors (Eigenmode analysis)
* ROM model from selected eigenpairs
-------------------------------------------
Q: Can specific input and output signals be specified?
A: Only a selected subset of the state vector is output,
since the entire state vector is large and most of it
is of little interest.
-------------------------------------------
Q: What parameters are available as inputs to control law?
A: State, state rate, sensor outputs, time. See above.
-------------------------------------------
Q: Can multiple arbitrary sensor location be specified?
A: Yes. Sensors are "real", in the sense that they are influenced
by structural flexibility, aerodynamic near-fields, aircraft motion,
and aircraft deformation. For example, a sensor mounted near a wingtip
will report a vertical velocity from the trailing vortices,
in addition to apparent vertical velocities caused by aircraft
roll rate, and in addition to the apparent vertical velocities
caused by the wingtip flapping up and down from unsteady
wing bending.
-------------------------------------------
Q: Is inertial position and direction available
that would enable mission plan following (waypoints)
to be conducted with ASWING, or is this beyond
the purposes of its intend use?
A: The state vector x which is available to the control-law routine
includes the X,Y,Z earth-position of the aircraft-axes origin.
Waypoint-navigation control laws can be implemented, to examine
flight behavior as the aircraft arrives at the waypoint.
-------------------------------------------
Q: Are there provisions in ASWING for calculating stability margins,
or conducting parameter uncertainty robustness testing?
A: Linear stability is best examined via eigen analysis
at flight conditions deemed critical. This stability will
include the effect of structural deformation, as in divergence
or flutter. The nonlinear stability of a flexible aircraft
in some flight scenario can only be fully ascertained
by a time-domain solution of that flight scenario.
ASWING is relatively fast, so numerous scenarios
can be examined.
Parameter uncertainty robustness testing can be done via
Monte-Carlo applied to time-marched solutions.
-------------------------------------------
Q: Why does ASWING require the normal chords to be specified,
rather than the streamwise or x-wise chords.
A: The ASWING aero/structural model requires the beam-normal chords
as inputs. These then stay fixed, while the streamwise or x-wise
chords change as the structure deforms.
I could have set up ASWING to receive the jig-shape x-wise chords,
and compute the normal chords from that. But then this computed
normal chord would be ambiguous at a sweep break. I chose to avoid
second-guessing the user by requiring him to provide the normal chords
explicitly.
The simple "fix" is to simply multiply each x-wise chord by the local
cos(sweep) = sqrt(dy^2 + dz^2) / sqrt(dx^2 + dy^2 + dz^2),
and put that value in the .asw file. Or just input the x-wise chords
and use the multiplier line to specify the cos(sweep) factor.
Note that at a sweep break point, you will have to define some
suitable average dx,dy,dz to compute this cos(sweep) factor.
-------------------------------------------
Q: Can ASWING model multiple fuselages within the same configuration?
Are there any limitations in terms of the connection of multiple fuselages
with lifting surfaces?
A: Other than physical array limits (which can easily be increased)
there few restrictions on how many fuselage beams
or surface beams there are, or how they are connected.
One major requirement is that if the connections are such
that the structure is not statically determinate,
it must have the necessary elastic compliance
to give a well-posed structural problem.
For example, two perfectly-rigid beams cannot be
connected at more than one point.
--------------------------------------------
Q: It appears that ASWING does not have the capability to compute M_wdot,
which can have a significant effect on the short period. Are we missing
a method to compute M_wdot using ASWING? If so, how did you work around
this in your longitudinal dynamics modeling?
A: ASWING models the effect of shed vorticity, but only on the surface doing
the shedding, and via a simple linearized rate term. So a tail doesn't see
a time delay in the unsteady changes to wing downwash, for example.
To model this effect would require including the entire shed wake geometry
into the ASWING state vector. This would produce a massive increase in the
solution size and code complexity. It would probably also make the solution
more fragile.
Since M_wdot effect from shed vorticity tends to increase tail authority
for rapid pitch changes. So ignoring the effect is seen as a conservative
approximation, justified by the enormous relative simplifications it gives.
--------------------------------------------
Q: What is the format of the *.pnt and *.set files?
How do I create them to run a large number of different cases?
A: The .pnt and .set files are in effect simple memory-block dumps.
This was done for code simplicity and ease of maintenance.
One apparent drawback is that they are not compatible across
code versions or even across code recompilation with different array sizes.
But I see this actually as an advantage, because using an "old" state dump
to set a "new" state format will inevitably produce some parts of the state
being wrong or undefined, which is very bad. With the current .pnt and .set
file system, trying to use an old file will draw an error, as it should.
To answer the original question, these files were never intended to be
human-readable or human generated, which is why their format is not given
in the manual.
--------------------------------------------
Q: AVL calculates and displays the neutral point location.
Can Aswing also display this useful quantity?
A: For a rigid aircraft the neutral point location is given by
Xnp = Xref - Cref * (dCm/dalpha) / (dCL/dalpha)
where Xref is the moment reference point.
Aswing does not print this out because for a flexible aircraft the stability
derivatives are ambiguous, and depend on how the aircraft is assumed
to deform when alpha is perturbed. The aircraft can be assumed "frozen"
in shape, or it can be assumed to always be in elastic equilibrium with
the instantaneous airloads. And in fact both cases can be set up and the
corresponding /dalpha derivatives calculated.
But neither assumption is strictly correct during actual flight, and the two
assumptions will have different Xnp values. For a flexible aircraft,
the only meaningful definition of pitch stability is when all the
eigenvalues (calculated in MODE) are stable. The Xnp criterion
can only be an approximation.
File derivative_calc.txt has more detailed discussion of the meaning and
possible interpretation of stability derivatives of flexible aircraft.