# Category Modeling and Simulation of Aerospace Vehicle Dynamics

## Euler Transformation

Flight dynamics deals with many reference frames and their associated coordi­nate systems. Often the reference has to be changed, e. g., from Earth to inertial or body to local level. If the transformation involves time derivatives, tensor flight dynamics proceeds differently than vector mechanics. In vector mechanics the transformation is made at the coordinate level. For instance, Let A and В be two coordinate systems in which to express the time derivative of vector v, then

where u>BA is the angular velocity of В wrt A. This is not a tensor relationship, because the ordinary time derivatives give rise to the extra term on the right hand side.

Tensor flight dynamics employs a more general transformation, the so-called Euler transformation. By recognizing the distinction between reference frame and coordinate system and by introducing the rotational time derivative, the transfor­mation assumes tensor properties. With the arbitrary reference frames A and B, the rotational time derivatives of vector v wrt the two frames are related by

Da v = DB + flBAv

where 17s"4 is the skew-symmetric angular velocity tensor of frame В wrt A. An analytical proof will now be given of the Euler transformation, whereas the rational proof, based on the isotropy of space, can be found in Sec.4.2.4.

Proof: We introduce two arbitrary Cartesian coordinate systems, X;, X;, which

coordinate the arbitrary tensor of rank one D;, D,, and two coordinate systems, fixed

А В

in frames A and S, x, , x;, respectively, that coordinate the two special tensors of

A ^

rank one a,. b, , which have constant components in their respective coordinate systems. The coordinate transformations we will need are

 A Vi = tjiVj (D.71) В = _ Vi = tjiVj (D.72) В BA A Vi = tu Vj (D.73) pi (D.74)

The proof starts with two additive scalars, whose time derivative are equal in any coordinate system, and specifically in the A and В coordinates:

л d a A d a d а а в d в d в в B d в

at — Vi…………. + bi —vj+— bi Vi щ — Vi + —Щ vi + bi — vt

dr dr dr dr dr dr

A в

To find expressions for the two time derivatives dbt /dt and da; /dr we use the rotational time derivative, Eq. (D.22), recognizing the fact they are zero for their respective vectors

from which follows

d В BA d BA в

~T~ tti tjk “ Г//; d[

dt dt

and similarly

d A AB d AB A

~T~ bi = Uk ~Г~ Ьк bi

dr dr

Substituting both equations into Eq.( 4.8 ) yields

A AdA /В B d В AB d AB A A BA d BA В В

ai + bi J — Vi = la; + bi J — Uy + tik — tik bi Vi – tik — t, k Щ Vj (D.80)

Let’s convert the second term on the right-hand-side to В coordinates, by using the first transformation of Eq. (D.73) and use the fact that reversing the transformation from A wrt В to В wrt A is the same as taking the transpose:

AB BA

tij = tji (D.81)

Then we have for the second term on the right-hand-side of Eq. (D.80):

AB d AB A A BA d BA В B

Uk ~7~ tik bj Vj — tji ~7~ tnl bi vn (D.82)

dr dr

Now we want to reverse the sign of the last term of Eq. (D.80) by developing a relationship from the time derivative of the unit tensor,

which results in

We have obtained the desired sign change of the last term of Eq. (D.80) after relabeling of subscripts:

BA & BA в В BA d BA в В tik ~T~ tik tV = hi ~T~ hi I (Iі Vn d t d t

Substituting this equation and Eq. (D.81) into Eq. (D.80) provides us with the simplified relationship

Now, the left side is transformed to x, coordinates, as well as the first factor on the right-hand-side, whereas the second factor is transformed to the x-t coordinates:

-,d__ = . . / d,= = . BA d ba= _

t ji [&j H” bj) {t(i’ ^/) = t ki j ® j ) ( ^ }mi Vm ) H” Ul ^nl t pn^ p

(D.87)

After deleting the common factor (aj + bj) and expanding the time derivative, we obtain the main result:

d _ d _ _ / d _ = d = _ = BAdBA-

^ tt/ “I – ty/“ t//U/ — t^j I “ Vk T" t ki t oi W T" tki hi tni tpnVp j (D.88)

We recognize the rotational time derivatives on both sides of the equation and an extra term; all connected by the arbitrary transformation tkj:

Because the rotational time derivative is a tensor, the extra term must also be a tensor and, therefore, this equation is a tensorial relationship. Again, because vp is a tensor, it follows from the quotient theorem (Ref. 4, p. 90) of tensor calculus that

BA d BA
til ~7~ tnl
dt

is a tensor of rank two, transformed from the В to the two-barred coordinates. It is the angular velocity tensor of frame В wrt frame A, coordinated in the В system. In matrix notation we write it as [£2ВД]В.

Continuing in matrix notation, if we introduce for x-t —*■ ]" and x, —*■ ]", we converge on the relationship

[DAvf = IT]"" ([DBvf + [£2вд]"[и]") (D.90)

Because [T}M is the transpose of the transformation matrix between any two Cartesian coordinate systems, the equation can be written in the symbolic tensor

TThe overbar of T indicates the transposed of the matrix.

form,

Da = Db + ПВА (D.91)

and the Euler transformation has been proven by purely analytical means. The angular velocity tensor is skew-symmetric, which can be proven from the general theorem of tensor analysis that states the following: A skew-symmetric tensor is a tensor (of any rank) whose components change sign under any odd permutation of its indices. Starting with Eq. (D.84), exchanging the free indices on the right side establishes the proof. Because ilBA is skew-symmetric, it has the axial vector – equivalent utBA.

D.5 Conclusions

In this appendix the key elements of tensor flight dynamics have been given a sound analytical basis. In general space-time, an operator was identified that ac­counts for changing time. For the special Euclidean/Cartesian space this operator is called the rotational time derivative. It was shown that, when operating on ten­sors, it preserves their tensorial character even under time-dependent coordinate transformations. This is not true for the ordinary time derivative that is exclusively used in vector mechanics. In the latter only time-independent coordinate transfor­mations maintain invariance. In tensor flight dynamics the covariance principle is realized because of the recognition that reference frames and coordinate systems are distinctly different entities—physical vs mathematical. Newton’s law, being a law of physics, should therefore be referred to an inertial frame and not an inertial coordinate system. Changing reference frames is also a physical concept and is governed by the Euler transformation. Its tensor form was analytically derived from general principles.

Both, the rotational time derivative and the Euler transformation are the under­pinning of tensor flight dynamics. Though Gibbs’ vector mechanics has served us well, tensor flight dynamics’ focus on modeling the physics first, followed by coor­dination and matrix programming, has enabled the building of ever more complex computer simulations. It is hoped that the novelty of tensors will find widespread acceptance for the effectual formulation of flight dynamics.

References

‘Gibbs, J. W., The Scientific Papers of J. Willard Gibbs, Ph. D, LL. D., Volume 11, Dover, New York, 1961.

2 Adler, R., Bazin, M., Schiffer, M., Introduction to General Relativity, McGraw-Hill, New York, 1965.

3Wundheiler, A., “Kovariante Ableitung und die Cesaroschen Unbeweglichkeitsbedin – gungenf Mathematische Zeitschrift, Vol. 36, 1932, pp. 104-109.

4Lass, H., Elements of Pure and Applied Mathematics, McGraw-Hill, New York, 1956.

[1] Time and space are homogeneous. There exists no preferred instant of time or special location in space.

[2] is the abbreviation for d/dt | vB |, [TI1V is given by Eqs. (9.8) or (9.11), and [T JVL byEq. (9.21). The state variables of the linear differential equations are V, фуВ, вуВ. For the Hat-Earth case the second and third equations become singular if V cos 6VI or V are zero. Therefore, we cannot simulate a missile that takes off vertically, an aircraft that dives straight to the ground, or, for that matter, a hovering helicopter. Fudging the initial conditions can help us get started, and once underway we program around the singular values until the equations are again well behaved. The errors incurred may be tolerable, as experience has shown.

[3] Initialize the geodetic latitude with the geocentric value Xd = kc = arcsin

[(■5в/)з/І5В/|]-

[4] [A] — к[Я]| = 0

## D.3 Tensor Property of the Rotational Time Derivative

In flight dynamics, only the tensors of rank zero, one, and two are needed. Special consideration, however, must be given to the axial vector of rank one, because it is derived by contraction from a skew-symmetric tensor of rank two. We will now proceed to prove that the operation of the rotational time derivative is covariant for these tensors, i. e., they remain tensors under all time dependent, Cartesian coordinate transformations.

Theorem DA: The rotational time derivative of vector v-, transforms like a

tensor of rank one under any Cartesian, time dependent coordinate transformations

іц* i-e.,

8Vi – 8vj

J7 = tijJ7

Proof: We introduce three Cartesian coordinate systems, x;,x,,x;, each of

which coordinates the tensor of rank one, іу, i>,, V/. The coordinate systems are related by the transformations

In addition, we need a tensor of rank one r, , whose coordinates are constant in the unbarred system, dr,/dr = 0. Now form the scalar product and take the ordinary time derivative in the three coordinate systems:

d d d _

T (riri) = — (Nri) = x Kv<r‘

dr dr dr

Expanding the first relationship, we obtain

‘For the remainder of this appendix the overbar is used to distinguish different Cartesian coordinate systems; i. e., serving a slightly different purpose than in Sec. D.2.

where we used the fact that the r, coordinates are constant. Let

d _ d _

rk – tkin and — (tkiri) – —tkiri

dr dr

and substitute into Eq. (D.25)

d _ d d.

ri — Vi = tsin—vs + vk—tkiri dr dr dr

Because r, is arbitrary, this relationship reduces to

d – d _ d _

~7~Vi = tsi~rVs -|- —tki)k

dr dr dr

Multiply with

\$li — Гу//,

both sides of Eq. (D.28)

d _ d _ __d__

— Vs f tsltsl ~tk[Vk

dr dr dr

and contract

d. / d _ . d.

~7~^i — tsi I ~~Vs + tsj —~tkiVk

dr V dr dr

We recognize the term in parentheses as the rotational part of the time derivative. The second relationship of Eq. (D.24)

-7- Ып) = (vift) (D.32)

dr dr v ‘

yields a similar equation using the same procedure

d = (d = = d= = ,

— I); — tri I — D + trj-^tpjVpI (D.33)

Set Eq. (D.31) equal to Eq. (D.33)

/ d _ _ d _ _ = / d = = d = = ,

Ksl ( “t” ?si tki^k — trl I + t rj t pjV p 1 (D.34)

Multiply both sides with t, i, contract, and introduce from Eq. (D.23),

Г* = tJri (D.35)

and get

d _ _ d _ ^

— U; -|- tfl ~tkiVk = Г(г

d = = d = =

diVr+trjdttpjVp)

According to Eq. (D.21) both sides contain the rotational time derivative of the vector, expressed in the single – and double-barred coordinate systems, connected by their common transformation

Svr _ „5iv

J7 ~ ttt~sT

Because t* is any Cartesian coordinate transformation, the rotational time deriva­tive of a tensor of rank one is itself a tensor of rank one; and the proof is complete.

In the proof, the unbarred coordinate system, though arbitrary, has a key prop­erty, namely that in it the coordinates r, are constant. This coordinate system is associated with the reference frame of the rotational time derivative. To specify the rotational time derivative completely, such a reference frame must always be provided. Instead of the subscript notation, the symbolic notation is better suited to specify the rotational time derivative. Let the operator 5/5 f be replaced by D, the collection of all tensors of rank one by v, and the reference frame by A, then the rotational time derivative, valid in all Cartesian coordinate systems, is written as Da.

In flight dynamics, where coordinate transformations abound, identifying co­ordinate systems by overbars or other symbols is cumbersome. A matrix notation is preferred, with the coordinate system indicated by a capital letter, e. g., for two coordinate systems A and B, the transformation of В wrt A is [T]BA, and the transformation of tensor v of rank one is

[u]B = [T]BA[v]A (D.38)

In matrix notation, the rotational time operator of Eq. (D.21) takes on the form

Note that the coordinate system ]A is associated with the reference frame A, whereas ]B is entirely arbitrary. This equation is in the form as found in Eq. (4.36) of the main text. If in the current proof we associate the unbarred system with A, the one-barred with B, and the two-barred with C, then Eq. (D.37) becomes

[Dav]b = [T]BC[DAvf

Because ]B and ]c are any Cartesian coordinate systems, the rotational time deriva­tive of v is a tensor of rank one. Next, we prove that the rotational time derivative also preserves tensors of rank two.

Theorem D.2: The rotational time derivative of tensor V, y transforms like a

tensor of rank two under any Cartesian, time dependent coordinate transformations

Proof: The proof is similar to that of Theorem D. 1. Again we introduce three

Cartesian coordinate systems, Xj, T, each of which coordinates the tensor of rank two, Vjj, Vij, Vjj. The coordinate systems are related by the transformations given in Eq. (D.23). We also need a tensor of rank two Rtj, whose coordinates are constant in the unbarred system, dRjj/dt — 0. Let’s form a scalar with the twice contracted product:

 Ї (KA) = 5 = s (Mt.) Expanding the first relationship, we obtain d – d – – d- (D.42) R-ij ~7~ V[j — Rim ~7~ Vim “t – Vkn ~T~ Rkn dt dr dr Take the time derivative of (D.43) Rkn — ft/ tnj Rjj and get d – /_ d. d _ _ (D.44) Rkn — Ifki ~ tnj T" t(j tfij J Rij (D.45) and then substitute into Eq. (D.43). Because Rjj is arbitrary, we get with Eq. (D.44) d __ __ d – _d_- d__- і Vjj — tn tyfij Vim + t^i, tni Vkn ~~ . tin tnj Vkfi dr dr dr dr Multiplying by (D.46) Spi ^ trptri and Sqj — fijf, and contracting, yields d _ _ /d _ _ d _ – _ d_ _ > (D.47) Vpq tmqhp 1 “ 4“ f / ~ L, VlfH ) (D.48)

The expression in the parentheses is the rotational time operator of a tensor of rank two:

SV, m d _ _ d _ – _ d_ _

e TjL/m ”1“ Ui tki Vkm + Vln~rtnjtmj (D.49)

St dt d t dt

The first term is the ordinary time derivative, whereas the last two terms are the contributions of the rotating coordinate system to the rate of change of the tensor. The second relationship of Eq. (D.42),

yields a similar equation using the same procedure:

Set this equation equal to Eq. (D.48), multiply both sides by taqtbp, contract, and introduce the following:

tas — hqhq and — tbptfp

The result is

d – _d_- – d__

~~rVba "F hi T гкі Vka "F hj)n — tnj C / dr dr dr

/ d = =d== =d==

= hr his І ~j^ V rs "F t vn^ vr “F V tr~^t ruit sw

Both sides contain the rotational time derivative of the tensor, expressed in the single – and double-barred coordinate systems, connected by their common trans­formation:

Because the r*. is any Cartesian coordinate transformation, the rotational time derivative of a tensor of rank two is itself a tensor of rank two, and the proof is complete. Note that the unbarred coordinate system assumes the same special place as in Theorem D. l, namely that the coordinates Rjj are constant. It is associated with the reference frame of the rotational time derivative.

Following the matrix conventions of Eq. (D.39), the rotational time operator of a tensor of rank two, Eq. (D.49), assumes the form

which is the same as Eq. (4.37) of the main text. The tensor quality of the rotational time derivative of a tensor of rank two, Eq. (D.54), is stated in matrix notation,

[.DaV]b = [T}BC[DAVf[T}BC

where ]s and ]c are any two Cartesian coordinate systems.

In flight dynamics we deal not just with regular tensors of rank one and two, but also with a special skew symmetric tensor of rank two, which can be reduced to a tensor of rank one—an axial vector—under the restriction of right-handed Cartesian coordinate systems. Examples are angular velocity, angular momentum, and aerodynamic moments.

Theorem D.3: If the allowable coordinate systems are restricted to be right-

handed Cartesian, then the axial vector /,■ has the same rotational time derivative as the regular tensor of rank one.

Proof: Axial vectors are skew-symmetric tensors of rank two, which can be

contracted to tensors of rank one under the assumption of right-handed Cartesian coordinate systems. Let L,;be a skew-symmetric tensor, then, with the help of the

permutation tensor £, д the axial vector /; can be found:

І і = sijkLjk (D.57)

For the proof it is sufficient to show that, if Vjj of Eq. (D.46) is a skew symmetric tensor of rank two, say Eq. (D.46) can be reduced to Eq. (D.31) with axial vector /;. Rewrite Eq. (D.46) for Ьц

d _ _ d – – / d. d _ _

— tutmj—Lim -|- Lfcn І ^г”^иу ~^^ki^nj 1 (D.58)

and introduce the definition for the axial vector/, of the unbarred and single-barred coordinate systems,

Lij — Sijplp and L[j — Sjjplp (D.59)

to obtain

d d- _ – d _ d__

Sijp-lp — hitmj£lmq~^lq ”1“ &knAr ( / (D-60)

To further reduce the second term on the right-hand side, we use the transformation relationship

£ pqr — К I tpitqk trm ^ikm

and multiply both sides by tpstqt, while taking the time derivatives
. d. d. _

Now we insert the result into Eq. (D.60)

d d- __ d –

£(mq q t£ijs ~^trs*r

and use the inverse of Eq. (D.61)

— |-j Slmqtlitmjtqs

to combine the terms on the right-hand side of Eq. (D.63),

^— E-imq hi hn J I ^ q d – tqs

In view of

Slmqtlitmi — t£ijptq

For right-handed Cartesian coordinate systems |?| = +1. Furthermore, because i, j are free indices, there will be for each p = 1,2, 3 a combination of г, j such that є і//> ф 0. Therefore we have

dtp~tqp di 4+t4’dit, J’

which is exactly in the form of Eq. (D.31). This completes the proof.

## Foundation of Tensor Flight Dynamics

D.1 Introduction

In this appendix you find the analytical proofs of the two fundamental elements of tensor flight dynamics: the rotational time operator and the Euler transforma­tion. While Chapter 4 introduced the rotational time derivative in an axiomatic fashion, here I will derive it from general space-time properties. Similarly, in Chapter 4, Euler’s transformation was given a rational proof based on the isotropic property of Euclidean space, whereas tensor calculus will be used here to pro­vide an analytical proof. To follow the exposition you should be skilled in tensor analysis and nimble in manipulating sub – and superscripted variables.

Tensor flight dynamics departs from the methodology of Gibb’s vector mechanics.1 It formulates the equations of motion in a form that is invariant under time-dependent Cartesian coordinate transformations. Although a branch of classi­cal physics, tensor flight dynamics conforms to Einstein’s Principle of Covariance (Ref. 2. p. 107): No coordinate system should be distinguished in the formulation of physical laws. In other words, the physical laws should have the same form, i. e., be covariant (invariant) in all coordinate systems, even in accelerated systems. The covariance principle is the cornerstone of the General Theory of Relativity, whereas in the Special Theory of Relativity the same postulate encompasses only inertial coordinate systems.

In classical dynamics, Newton’s second law is formulated as invariant with re­spect to inertial coordinate systems. If the coordinate transformations are time dependent (rotationally accelerated), it takes on a different form, i. e., the covari­ance principle is violated. The intent of tensor flight dynamics is to impose the covariance principle on the formulation of the equations of motion, in order for them to be invariant also under time-dependent coordinate transformations. Then the physics of flight can be modeled first in tensors, followed by conversion to matrices, and finally coded for computer execution.

Not every subscripted variable is a tensor; though some publications make that claim. An entity is a tensor only, if it maintains its form under all admissible coor­dinate transformations. In classical dynamics, and especially in flight dynamics, coordinate systems are Cartesian with generally time-dependent elements. As soon as ordinary time derivatives are taken, additional terms appear in the equations of motion, which destroy the tensor quality. The special rotational time derivative, however, maintains the tensor property.

The objective of this appendix is to derive the rotational time derivative from general principles. After restricting the space to be Euclidian/Cartesian, the ro­tational time derivative will emerge as it is used in flight dynamics. Proofs will be given of the tensor properties of the rotational time derivative when applied to tensors of rank one and two, as well as to axial vectors. Furthermore, the Euler
transformation, which governs the change of reference frames, also will be given a sound analytical basis.

D.2 Derivation of the Rotational Time Derivative

Any two coordinate systems xk and x‘ embedded in general и-dimensional space may be related by time-independent coordinate transformations (also called sderonomic transformations),

x’ =x'{xk) (i, k = 1, …, и) (D. l)

or by time-dependent (rheonomic) transformations,

x’=x,(xk, t) (i, к = 1, и) (D.2)

The coordinate differential dx’of the barred system is obtained from that of the unbarred system dxA by the local sderonomic transformation,

fix’

dx’ — —Tdxk (D.3)

dxk

or the local rheonomic transformation,

dx‘ = ^-dxk + —dt (D.4)

дхк 3t

The total differential form Sv’ of a contravariant tensor of rank one v’ for sclero- nomic space is

Sv1 =dv‘+f‘jkvjdxk (D.5)

implying Einstein’s summation convention. dS’ is the incremental change of the vector and Г’д D ‘dxA the so-called transplantation contribution from curved space. (Ref. 2, p. 41). Г’-к are called the coefficients of affine connections or simply the connection matrix. The differential form in the rheonomic space includes, according to Wundheiler,3 another term K’-v’ dt that accounts for the changing time at space point xk

Sv’ — dv’ + r’^iVdx^ + A’iv’dt

with Л’ called the rotation matrix.

і

Our aim is to determine the form of the rotation matrix. To proceed, we assume that in the rheonomic space xk there is one location x’where the transformation is independent of time, i. e., the first partial derivatives of space coordinates wrt time are zero. At that location the total differential is given by Eq. (D.5) and the transformation of a vector vk is governed by the transformation

(D.7)

Substituting Eq. (D.7) into Eq. (D.5), we have

but

dxk „ , 3 / Эх’

— ^0 and —

Substituting Eqs. (D.9) and (D.10) into Eq. (D.8) yields

Эх’ 32x’ о v Э2х’ о Эх; дхк о v

Sv = —– du -|—— ——– v^dxy ——- – —u^dt + Г jk——– v^dxY

дха Эх/Эх5′ Эх/Эt ]k дх\$ дхУ

Fig. D. l Visualization of partial differentials.

and by rearranging we get

The two terms in parentheses are the transformed connection matrix (Ref. 4, p. 98):

This connection matrix accounts for the effect of the curvature of space. All three terms within the braces of Eq. (D.12) constitute the differential form in rheonomic space. In particular, the contribution of the explicit time dependency is captured in the last term of Eq. (D. 12) by the rotation matrix:

„ _ dxa d2Xh P dxh дх\$дt

In summary, the terms in the braces of Eq. (D.12) comprise the differential form 8v’ in rheonomic space:

Now we assume that the space is Euclidean. Because of its flatness, the connec­tion matrix vanishes, but not the rotation matrix:

8 v’ = du’ + A’jVJd t

Introduce new nomenclature for the transformation matrices:

dx‘ _h dxh h = tj =

Their product is the unit tensor, represented by the Kronecker symbol <5′(:

Because the transformation is now only dependent on time, we can write Eq. (D.14) in the following form:

Substituting A’, into Eq. (D.16) and dividing by dt yields the rotational time derivative operator 8/8t applied to v‘:

The rotational time derivative consists of the ordinary time derivative du’/dt and an additional term contributed by the rotation of the coordinate system.

For the remainder of this appendix we limit the discussion to Cartesian coor­dinate systems. In this case the distinction between covariant and contravariant vectors disappears, and we can write Eq. (D.20) in subscripted form only:

8 V( d d

— = ~7~Vj + Uh~7~t jh^j (D.21)

8t d t dt 1 J

Because coordinate transformations in Cartesian space are orthogonal, their inverse equals their transposed; i. e., the inverse th – of tlh, now to,, equals the transposed fh, where the overbar has become superfluous.

## Aerospace Simulations in C++

C.1 Introduction

The simulation examples of this book are provided on the CADAC CD-ROM in FORTRAN. This computer language has had a long and illustrious tradition in the engineering sciences. I did all coding starting in the mid 1960s in FORTRAN II, IV, and 77, until the year 2000, when a cadet from the U. S. Air Force Academy convinced me to give C++ a try. After some exploration I set out to upgrade CADAC to C++. It is not a straight conversion, but rather a complete re-write of the executive, modules, and utility functions, taking full advantage of the language’s polymorphism, inheritance, and encapsulation.

Today, CADAC++ as it is called is a mature trajectory simulation in ANSI/ISO 1998 C++. While teaching graduate courses at the University of Florida in modeling and simulation (M&S), I developed three self-study CD-ROMs that complement this textbook with C++ simulations. The first one, entitled “Building Aerospace Simulations in C++,”1 focuses on the architecture of the simulation framework, and uses simple cruise missile and satellite models to illustrate the interplay be­tween the executive and vehicle functions. The second CD lays the foundation for high fidelity simulations and is entitled "Fundamentals of Six Degrees of Freedom Aerospace Simulation and Analysis in FORTRAN and C++."2 As the title implies it juxtaposes FORTRAN with C++ by dealing with missile and aircraft simulations side by side. At the advanced level, the third CD, entitled “Advance Six Degrees of Freedom Aerospace Simulation and Analysis in C++.”3 treats some of the most dif­ficult topics of aerospace vehicle components like modeling of the elliptical Earth, inertial navigation systems, Kalman filters, global positioning systems (GPS), star trackers, and endo – and exo-atmospheric guidance laws. These three progressively more challenging CDs, this textbook, the CADAC Studio plotting programs, and the solutions manual,4 constitute a complete set of instructions for aerospace ve­hicle modeling and simulation. A more detailed description of each CD follows, with particular emphasis on their computer simulations.

C.2 C++ Architecture and Three-DoF Cruise Missile Simulation

The first CD, “Building Aerospace Simulations in C++,” introduces the appli­cation of C++. It assumes that you have taken a C++ language course and have a good understanding of Chapter 8, “Three-Degrees-of-Freedom Simulation." The lesson plan of the 16 labs is given in Table C. l. The labs are grouped into five training units, of which numbers 2-5 lead to four simulations: satellite, target on the ground, cruise missile, and short-range air-to-air missile. The SRAAM6 is a teaser of things to come. It models a missile/target engagement in six DoF without providing much detail. It is left to CD no. 2 to pick up the story from there with more elaborate discussions.

Table C. l Lesson plan of CD-ROM no. 1 “Building Aerospace Simulations in C++”

 Training modules Lab no. Training units 1 Introduction 1 Welcome; C++ Overview 2 Satellite3 2 Satellite3 Simulation 3 Rocket Propulsion; Class: Variable 4 Apparent Forces; Output 3 Target3 5 Integration; Input 4 Cruise3 6 Aero; Tables; Cruise3 Simulation 7 Turbojet; Polymorphism 8 Autopilot; Overloading Operators 9 Plotting; CADAC Studio 10 Environment; Event Scheduling 11 Line Guidance; Multiple Objects 12 Intercept; Communication Bus 13 Terminal Guidance; Subscribing 14 Engagements; Satellite Targeting 15 Global Engagements; Cruise3S Sim 5 SRAAM6 16 Six-DoF Equations; SRAAM6 Sim

Each lab discusses an aerospace vehicle component and combines it with a particular C++ feature. The topics become progressively more difficult as the simulations are combined to grow to a full engagement model with cruise missiles attacking ground targets, guided by overhead satellites.

More detail is provided in Table C.2 with references to the sections of this book. To build up to the satellite simulation in Lab 3 we need to cover only two modules: “newton” and “propulsion.” The simulation is called Satellite3 and models a satellite orbiting the Earth with optional rocket propulsion to change its orbital parameters. The equations of motion are based on Newton’s law expressed in inertial coordinates.

In Labs 4 and 5 a simulation is built for targets moving on the surface of the Earth, which is called Target3. Here we are especially challenged by having to include Coriolis and centrifugal accelerations to the equations of motions for the vehicles to hug the surface.

The remaining labs, 5-14, build toward the three-DoF cruise missile simulation Cruise3. Such modules like aerodynamics, turbojet propulsion, guidance, control, and seekers are added to create a complete vehicle.

Finally, in Lab 15 all three types of vehicle objects are combined to build the engagement simulation Cruise3S, which consists of cruise missiles flying toward multiple targets while monitored by overhead satellites. The trajectories of these engagements can be displayed by the plot programs of CADAC Studio from the CADAC CD.

C.3 High Fidelity Missile and Aircraft Simulations

The second CD, “Fundamentals of Six Degrees of Freedom Aerospace Simu­lation and Analysis in FORTRAN and C++,” introduces high fidelity missile and

Table C.2 Simulation and language features of CD-ROM no. 1

 Lab Theme Simulation feature C++ Feature Book 1 Introduction 3 DoF Overview C++ Overview Chap. 8 2 Satellite Module “Newton” Statements Arrays Sec. 8.1.1 3 Satellite with propulsion Rocket propulsion Class “Variable” Inheritance Sec. 8.2.4 4 Ground targets Module “force” Output to screen and to files Sec. 5.3.1 5 Multiple ground targets Integration Module utility fcts. Input from file Sec. 3.2.2 6 Missiles Module Structure “Table” Chap. 8 Aerodynamics “aerodynamics” Overloading Sec. 8.2.3 7 Turbojet propulsion Module “propulsion” Polymorphism Sec. 8.2.4.2 8 Autopilot Module “control” Matrix utilities Operator overloading Sec. 9.2.3 9 Plotting CADAC Studio Output plotting 10 Events Environment Flight phases Module “environment” Class “Event” Sec. 8.2.1 Sec. 8.2.2 11 Missiles and targets Line guidance Multiple objects Polymorphism Sec. 9.2.4.3 12 Communication Terminal miss Communication bus Prob. 2.9 13 Terminal homing Module “seeker” Module “guidance” Subscribing of variables Sec. 9.2.5 Sec. 9.2.4 14 Multiple engagements Module “targeting” Overhead satellites Structure “Targeting” 15 Global engagements Missiles, targets, and satellites Satellite object 16 Air-to-air engagements Six-DoF Simulation Equations of motion Chap. 10

aircraft simulations in C++. It does this from a FORTRAN vantage point, based on simulations from the CADAC CD. The FORTRAN modules are converted to C++ and incorporated into the CADAC++ architecture of CD no. 1. A particular appeal of CD no. 2 is the dual language track. You can work either in FORTRAN, C++ or both.

Table C.3 provides an overview. Five training modules encompass 13 labs. As you can see, the emphasis is on modeling the components of aerospace vehicles. Because this CD focuses on aircraft and missiles, the Earth can be assumed to be quasiflat, as discussed in Sec. 3.2.2.7, and it can serve as an inertial reference frame. The individual training units have similar titles as those of CD no. 1, but are more elaborate, because of their high fidelity, six-DoF characteristics.

Table C.3 Lesson plan of CD-ROM no. 2 “Fundamentals of Six Degrees of Freedom Aerospace Simulation and Analysis in FORTRAN and C++”

 Training modules Lab no. Training units 1 Overview 1 Concepts in Modeling and Simulation 2 Primer of FORTRAN and C++ Simulations 2 Dynamics 3 Matrices, Vectors, and Tensors 4 Coordinate Systems 5 Kinematics 6 Equations of Motion; Numerical Integration 3 Aerodynamics & Propulsion 7 Aerodynamics; Table Look-up 8 Propulsion & Actuators 4 Guidance & Control 9 Autopilot 10 Seeker 11 Guidance 5 Performance 12 Performance Analysis 13 Summary Simulations Air-to-Air Missile in FORTRAN Air-to-Air Missile in C++ FI6 Aircraft in FORTRAN F16 Aircraft in C++

The detailed simulation buildup is shown in Table C.4. Both the air intercept missile (AIM) and the Falcon aircraft (FI6) are modeled in FORTRAN (FTN) and in C++. To jump-start your involvement, the primer of Lab 2 helps you, without going into details, to execute and plot the complete missile simulation in FORTRAN and C++. In Lab 3 the computational methods are discussed. Though up to this point the missile is used as illustration, the aircraft follows similar patterns. However, starting with coordinate systems in Lab 4, the aircraft requires separate treatment from the missile. As you proceed, you focus on one module at a time, skipping the nonexistent aircraft seeker module. Eventually in Lab 12 you evaluate the performance of the complete missile and aircraft using the final simulations. In a separate folder you are given the beginning simulations, code additions, and the final completed simulations.

This self-study course touches on all major elements of missile and aircraft sim­ulations in a FORTRAN and C++ environment. Because of the modular structure, you can expand and tailor the simulations to your own needs. If you want to model a cruise missile or unmanned air vehicle you would start with the FI6 simulation and import the seeker module from the missile simulation. You need not worry about violating copyright laws. All source code on the CDs is in the public domain; only the accompanying training charts are restricted by AIAA copyright.

Though this CD is complete in itself, it only deals with the fundamentals of six-DoF simulations. Advanced subjects, like elliptical Earth, inertial navigation systems, GPS, Kalman filters, and exo-atmospheric guidance are reserved for the third CD. Yet, you should first master the fundamentals before approaching these advanced subjects.

Table C.4 Creating aircraft and missile simulations in FORTRAN and C++

of CD-ROM no. 2

 Simulations Training Aim Missile F16 Aircraft Lab no. Training units FTN C++ FTN C++ modules Startup 1 Overview 1 Introduction: Concepts in Modeling and Simulation 2 Primer AIMF02 AIMC02 2 Dynamics 3 Matrices, Vectors, and Tensors AIMF03 AIMC03 4 Coordinate Systems AIMF04 AIMC04 F16F04 F16C04 5 Kinematics AIMF05 AIMC05 F16F05 F16C05 6 Equations of Motion; Numerical Integration AIMF06 AIMC06 F16F06 F16C06 3 Aerodynamics & Propulsion 7 Aerodynamics AIMF07 AIMC07 F16F07 F16C07 8 Propulsion & Actuators AIMF08 AIMC08 F16F08 F16C08 4 Guidance 9 Autopilot AIMF09 AIMC09 F16F09 F16C09 & Control 10 Seeker AIMF10 AIMC10 11 Guidance AIMF11 AIMC11 F16F11 F16C11 5 Performance 12 Performance Analysis AIMF12 AIMC12 F16F12 F16C12 13 Summary Simulations Begin Sims AIMF# AIMC# F16F# F16C# Code Results AIMF% AIMC% F16F% F16C% Final Sims AIMFS AIMCS F16F\$ F16C\$

C.4 Advanced Components of Ascent Vehicles

The third CD, “Advanced Six Degrees of Freedom Aerospace Simulation and Analysis in C++,” presents advanced topics and assumes that you already have a good working knowledge of aerospace simulations, commensurate with CDs 1 and 2. It uses as a prototype a three-stage ascent vehicle, composed of a hypersonic air breather, exo-atmospheric transfer vehicle, and terminal interceptor.

Table C.5 outlines the 12 labs divided into seven training modules. Each lab consists of a training unit that introduces the subject and hands-on exercises using a self-contained simulation. There are 16 simulations, starting with simple or­bital trajectories over the elliptical Earth; a hypersonic vehicle with aerodynamics, propulsion, flight controller, inertial navigation, GPS and star tracker; a trans­fer vehicle; and finally an interceptor. Together they produce the full-up HYPER

Table C.5 Creating a three-stage ascent vehicle simulation with CD-ROM no. 3 “Advanced Six Degrees of Freedom Aerospace Simulation and Analysis in C++”

 Training modules Lab no. Training units Hands-on Simulation 1 Overview 1 2 Introduction; C++ Essentials CADAC Primer; Architecture Paper HYPER Slide Show 2 Elliptical Earth 3 Translational Equations HandsOn03 HYPER03 4 Attitude Equations HandsOn04 HYPER04 3 Hypersonic 5 Aerodynamics HandsOn05 HYPER05 Vehicle 6 Propulsion & Actuators HandsOn06 HYPER06 7 Flight Control HandsOn07 HYPER07 8 Monte Carlo & Turbulence HandsOn08 HYPER08 9 Inertial Navigation HandsOn09 HYPER09 10 Endo-Guidance HandsOnlO HYPER10 11 Global Positioning System HandsOnl 1 HYPER 11 12 Kalman Filter HandsOnl2 HYPER 12 13 Star Tracker HandsOnl 3 HYPER 13 4 Transfer Vehicle 14 Reaction Control HandsOnl4 HYPER 14 15 Orbit Insertion HandsOnl 5 HYPER 15 5 Aux Vehicles 16 Satellite & Radar HandsOnl 6 HYPER 16 6 Interceptor 17 Rendezvous HandsOnl7 HYPER 17 18 Intercept with Seeker HandsOnl8 HYPER 18 7 Performance 19 End-to-End Analysis HandsOnl 9 HYPER 20 Summary

simulation, which consists of three objects: ascent vehicle, satellite, and ground radar. All of them interact with each other and can be multiply instantiated.

The course starts with a review of C++ features and an in-depth discussion of the CADAC architecture. Then, at once, you will execute the complete HYPER simulation in a typical scenario. This should motivate you for the arduous task of building up to the HYPER simulation in 16 labs until in Lab 19 you conduct a complete end-to-end analysis.

Modeling and simulation can only be learned by doing. It requires a great investment of time and resources. The top experts in industry, academia, and government have made mastery of this subject a life-long quest. They combine a broad system engineering knowledge with mathematical modeling skills and computer savvy. Often they are the highest paid, nonsupervisory engineers.

To achieve this expertise in aerospace simulations you should build on a multidis­cipline college education in mathematics, flight mechanics, aerodynamics, propul­sion, and guidance and control, followed by hands-on training with prototype simulations. Having taught M&S courses for many years, I distilled them into these three CDs. They combine instructions and experimentation with a host of typical aerospace simulations. Everything you need is provided, you only supply the compiler. The one thing I cannot provide is the motivation it takes to plow through the material. That only can come from your commitment to and fondness for aerospace engineering.

References

‘Zipfel, P. H., “Building Aerospace Simulations in C++,” AIAA Self Study Series CD – ROM, 2003.

2Zipfel, P. H., “Fundamentals of Six Degrees of Freedom Aerospace Simulation and Analysis in FORTRAN and C++,” AIAA Self Study Series CD-ROM, 2004.

’Zipfel, P. H., “Advanced Six Degrees of Freedom Aerospace Simulation and Analysis in C++,” AIAA Self Study Series CD-ROM, 2005.

4Zipfel, P. H., “Solution Manual for Modeling and Simulation of Aerospace Vehicles,” AIAA 2000 (instructors can request a free copy from AIAA).

Appendix D

Program CADAC, Computer Aided Design of Aerospace Concepts, provides an environment for the development of general purpose, digital computer simulations of time-phased dynamic systems. It manages input and output, generates stochas­tic noise sources, controls state variable integration, and provides postprocessing analysis and display. CADAC has proven its adaptability to many simulation tasks: air-to-ground and air-to-air missiles, ground-to-space and space-to-ground vehi­cles, and airplanes. The CADAC environment is suitable for three-, five-, and six-DoF simulations. It supports deterministic and Monte Carlo runs. Output can be listed or plotted.

CADAC is hosted on an IBM-compatible PC with a minimum of 32 MB of RAM, 25 MB of free disk space, and Microsoft’s Window operating system. The graphics utilities are best displayed on a 1024 x 768-resolution screen with font size set to small.

CADAC consists of CADAC Studio and CADAC Simulations. Both are pro­vided on the CADAC CD. CADAC Studio, written in Visual BASIC, analyzes and plots the output with programs KPLOT and SWEEP and provides utility function for debugging. The vehicle simulations are written in FORTRAN 77 with some common language extensions. The preferred compiler is Compaq’s (formerly Dig­ital) Visual FORTRAN for Microsoft’s Developer Studio. Other compilers (like Silicon Graphics) may require minor modifications of the CADX3.FOR executive routine.

The CADAC Studio comes with four volumes of documentation:

1) Quick Start gets you started with the test case and provides an overview of the input files, executables, and output files.

2) User Documentation addresses all capabilities of the CADAC development environment. It should give answers to most questions that come up during the design of a new trajectory simulation. Tables, examples, and matrix utilities pro­vide useful references. The serious CADAC user should read this document in its entirety.

3) Program Documentation provides details for many subjects: building the input and the header files, the integration routine, generation of stochastic variables, execution of multiruns, sweep runs, Monte Carlo runs; utilities that aid in building, documenting, and analyzing CADAC simulations. It should be used as reference to answer specific questions.

4) Real-time CADAC Documentation addresses the functionality and capabil­ities of the real-time CADAC methodology. It explains how to generate the data files for the real-time version of the modules and the validation procedures.

CADAC is essentially a trajectory program. Over the years features were added to make it more useful. Some of these capabilities are the following:

Vector integration State vectors can be integrated as an entity without break­ing them up into scalar components.

Staging Modes of trajectories, like midcourse or terminal guidance, can be sequenced in sections called stages. They are initiated by IF statements in the INPUT. ASC file.

Multiruns Several trajectories can be combined. For instance, if the sensitivity of a seeker parameter is to be investigated, new parameter values are scheduled in separate group runs and loaded into the global C-array at the appropriate stage with the keywords LOAD and STAGE.

Reinitializing To save execution time, the state of the trajectory can be saved at a certain event, say seeker acquisition, and the following group runs are reini­tialized at this point. The keyword SAVE will write the global C-array to the file CSAVE. ASC.

Sweep runs This feature is used to automate the calculation of launch en­velopes and footprints. The launch position or target location is swept through a polar grid. The SWEEP utility analyzes and displays the results.

Single Monte Carlo runs Stochastic runs are generated by the keyword MONTE, followed by the number of desired runs. The noise sources, like wind gusts, INS errors, and seeker noise, are defined by the keywords GAUSS, UNIF, EXPO, or RAYLE. The output file RANVAR. ASC saves the random values, which can be used to rerun a particular trajectory realization. The MCAP program av­erages the trajectory parameters and calculates means, standard deviations, and correlation coefficients. Histograms and error ellipses are displayed by the KPLOT program.

Sweep Monte Carlo runs Sweep runs can also be executed as a family of Monte Carlo runs. Just introduce the keyword MONTE with its replication number into a sweep run.

Weather Atmospheric conditions, like temperature, density, pressure, and wind, can be specified as tabular functions of altitude using the keyword WEATHER in the INPUT. ASC file.

Real-time execution The CADAC simulation can be converted by the CON – VRT. EXE program into a real-time capable code package, suitable for a man-in – the-loop simulation.

The best way to learn CADAC is by trying. So get the code from the CADAC CD and a FORTRAN compiler, then start running the test cases. To help you over the initial hurdles, I include a primer that gets you going.

## Appendix A Matrices

Computer modeling of flight dynamics makes extensive use of matrices. You should already be familiar with the basic concepts of matrix algebra. To refresh your memory, the essential facts are summarized here. For practice you can do the exercises at the end of this section.

A.1 Matrix Definitions

An m x n matrix is a rectangular array of m x n elements arranged in m rows and n columns. For in = 3 and n = 4 we have the 3×4 matrix

 3×4 "fill Й12 Й13 aH~ [A] = ац ai2 Й23 aiA _г? зі Й32 ЙЗЗ Я34.

In general, the subscript notation defines an in x n matrix as

ay, / = 1.2.3….»;: j = 1.2.3….//

The determinant |AI of a matrix [A] is a scalar, obtained from the determinants of the minors My of the matrix [A]:

IAI = (—1)’+-‘cijjMij for; = 1, or2, or3,…, in

The transpose [ B of a matrix [A] is obtained by swapping out the rows and columns [ B] = [A];£>/,■ = ay. A vector is always portrayed as a column matrix. For a 3 x 1 vector

L"3J

The null matrix consists of zero element [0]; 0y = 0; for all / and j. The square matrix has the same number of rows and columns

[A]; a, y,; = 1,…,/?; j = 1,… ,n A matrix is symmetric if it equals its transposed

[A] = [A], cijj = o. y

A matrix is skew symmetric if it equals its negative transposed

[A] = -[A]; cijj = – ay, і ф j; аи = ay = 0, / = j

 The skew-symmetric 3×3 matrix is ■ 0 -аз a2 [A] = аз 0 —a .-аг a 0

 d\ 0 0 " [D] = 0 СІ22 0 _ 0 0 d33_
 The off-diagonal elements of a diagonal matrix are zero. For a 3 x 3 matrix

 The unit matrix is a diagonal matrix with unit elements. For a 3 x 3 matrix

The adjoint of a matrix [A] is obtained by adj[A] = transposed of {(— l),+j My}, where My is the minor determinant of ay.

The inverse of a matrix [A] is calculated from its adjoint and determinant: [A]-1 =adj[A]/|A|;|A| * 0.

A matrix [A] is orthogonal if its inverse equals its transposed: [A] 1 = [А]. Other properties are [A][A] = [£]; |A| = ±1.

The rank of a matrix is the largest number r such that at least one rth-order determinant formed from the matrix by deleting rows and/or columns is different from zero. The trace of a matrix is the sum of its diagonal elements.

A matrix [A] can be partitioned into submatrices. For example,

 2×1 2×3 Ац 1 to 1×1 1×3 А21 А22

where Ац, Ai2, A2i, and A22 are submatrices.

A.2 Matrix Operations

Two matrices [A] and [В] of dimension m, n are equal if all corresponding elements are equal:

mxn mxn

[ A ] = [ В ], if ay — by, for all i, j

The sum of two matrices [A] and [Л] with the same dimension m, n is obtained by adding corresponding elements:

mxn mxn mxn

[ C ] – [ A ] + [ В ], or су = ay + by, for all i, j

Addition is associative: ([A] + [fi]) + [C] = [A] + ([fi] + [C+]). Addition is commutative: [A] + [Л] = [Л] + [А].

The product of the m x n matrix [A] and the n x r matrix [£] is the m x r matrix [C]:

mxr mxn nxr n

[C] = [A][B]; or ctk = / ajjbjk’, і = 1, • • •, m к = 1, …, r

j=і

where f A] and [fi] must be conformable: m x r = (m x if) {ф x r).

The product of the mxn matrix [A] by the scalar a is

[C]—a[A], or сц = a ay, for all г,;’

Multiplication is associative: [А]([Л][С]) = ([А][Л])[С]. Multiplication is dis­tributive: [А]([Л] + [С]) = [А][Б] + [A][C] but not commutative [A][fi] ф [fi][A], Important rules are the following:

[A][B] = [B][A]

([A][fi])-‘ = [fij-‘tA]-[4], if АфО,ВфО

([А]-1) = ([А]Г1, if АфО Differentiation operates on every element of a matrix [A]: d d

— [A] = —ац, for all і, j and a» must be differentiable dr dr 1 1

Integration operates on every element of a matrix [A]

/

Any square matrix [A] can be decomposed as the sum of a symmetric and skew – symmetric matrix:

A.3 Matrix Eigenvalues

The similarity transformation is formed from a square, nonsingular matrix [T] operating on a square matrix [A]:

[А]* = [Г][А][Г]-‘

Two similar matrices [A]* and [A] have the same rank, trace, determinant, and eigenvalues; if [A] is symmetric, so is [A]*. If [Г] is orthogonal, the similarity transformation is [A]* = [T][A][T].

Orthogonal transformations preserve scalar multiplication of vectors, vector addition, multiplication by scalars, absolute values and distances, orthogonality and orthonormality, and value of trace of a matrix. The eigenvalues of an n x n matrix [A] are the roots of the characteristic equation

An n x n matrix has n eigenvalues. A real symmetric matrix has only real eigenval­ues. An orthogonal matrix [Г] has one real eigenvalue ±1 and a pair of conjugate complex poles е±,ф. Given a square matrix [A] with eigenvalues A.,-, then a[A] has the eigenvalues a A,-, and ([A])p has the eigenvalues kf. A square matrix is nonsingular if and only if all its eigenvalues are nonzero.

A matrix [A] can be diagonalized by an orthogonal matrix [Г] if [A] is sym­metric. The determinant of a matrix [A] can be calculated from the product of its eigenvalues IAI = kj.

The trace of a matrix [A] is the sum of all its eigenvalues Tr(A) = Yl’i=і ‘W-

A real, symmetric quadratic form [x][A][x] is symmetric if the matrix [A] is real and symmetric. A real symmetric quadratic form is positive definite, if its eigenvalues are positive.

Problems

A. 1 Partitioned matrices obey matrix operations j ust like regular matrices. Show that the product of two matrices equals the product of their partitioned forms by using the following example:

 Г 1 1 11 Г1 2 3 -П 2 -1 0 3 -1 1 0 _-l 0 2_ _0 0 -2 1_

A.2 What is the adjoint and the inverse of matrix [A]?

2 1 3" 4 0-1

3 3 2

A.3 If [A] and [fi] are symmetric matrices of the same dimension, prove that the product [A][fi] is symmetric only if [A][fi] = [Л][А].

A.4 Prove that the square of a skew-symmetric matrix is a symmetric matrix.

A.5 Determine the symmetric and skew-symmetric parts of the matrix [A],

 ‘1 2 3" [A] = 4 5 6 1 8 9_

A.6 Determine the characteristic equation and the eigenvalues of the matrix [A],

‘2 0 0 ‘

0 3 – y/3

0 – s/b 5

## Assessing a War Game

War is chaotic, unpredictable, and not a good training ground, although senior commanders are selected from battle-hardened soldiers. As new officers advance through the ranks, they must be given the opportunity to practice their decision­making skills in war-like scenarios. War games fill that need. They make people think about war. Players can apply their theoretical knowledge, acquired in com­mand and staff colleges, to specific military conflicts and become battle-hardened without the terrible cost of war.

New strategies and tactics can be explored in war games without risk of life and loss of equipment, except, possibly, the loss of ego. Battle planning, force sizing, and logistic preparations can be conducted. If the commander and his staff make bad decisions, the war is not lost, only the computer has to be reset for replay.

War games are cheaper than command post and field exercises. No actual troops have to be deployed, and no farmer’s field is ravaged by tank tracks. They can be played anywhere on the globe or, stretch your imagination, anywhere in space. Because battles are fought over maps and not over actual territory, international treaties are not violated. Furthermore, war games are unaffected by cumbersome safety and environmental restrictions.

Even the technologist clamors for participation in war games. He brings his newest weapon concept to the games and hopes for a rousing support from the training audience. Thus emboldened, he can go home and begin the task of planning a development program.

War games embody many advantages. Ultimately, competing nations may settle their conflicts by simulated war, without firing a single bullet. However, until that age dawns, we have to assess war games in the critical light of real, cruel, and chaotic war. Here lie the shortcomings. War games do not match reality. The movement of troops, aircraft, and space assets can be approximated, but models never can predict what will really occur during their deployment. Human relations, the threat of death, and mechanical failures contribute to the confusion. Without the physical threat players may be more complacent or more aggressive than in actual combat, whereas others may be tempted to play the expected solution, to satisfy the sponsor’s preference.

The participants determine the success of a war game. The most common pitfall is the complaint that something about the model is not quite right. Particularly, the losing players are tempted by that response. They may not understand the scenario or the constraints placed on their movements. If the game deals with new doctrines or advanced weapon concepts, their know-how fails them, and they may lose interest in continuing the exercise. Senior experienced commanders have their own ideas how a game should play. To convince them otherwise is often difficult. After all, the model could be wrong!

The sponsoring agency must not prejudge the outcome. Using a game to prove or disprove a point is a travesty. War games are played to raise issues not to settle them. They rarely produce quantitative measures of performance and are unique and do not provide a statistical basis for decision making.

War games do not predict the outcome of a conflict; they only sharpen the decision-making skills of the officers. They can convey a false picture of time pas­sage and combat effects. Particularly, they conceal the reality and difficulty of the command and control functions. The free message flow between the commander, his staff, and the response cell lulls the players into the illusion that the information flow in war is unimpeded.

11.3.1 Summary

1 have laid out before you the strength and weaknesses of wargaming. Used with caution, war games become a great tool in the hands of a seasoned leader. Admiral Chester W. Nimitz acknowledged, “The war with Japan has been enacted in the game room here by so many people and in so many different ways that nothing that happened during the war was a surprise—absolutely nothing, except the kamikaze tactics towards the end of the war; we had not visualized those.”

Wargaming inhabits the pinnacle of the pyramid of model hierarchy. It is the ultimate campaign simulation. Beneath it are the mission simulations whith single force-on-force conflicts, followed by the engagement simulations of few players. The bedrock foundation is fashioned by the engineering simulations, to which this book is dedicated. All of these tools are necessary to build the pyramid and to undergird the genuineness of war games.

References

‘Rolfe, J. M.. and Staples, K. J. (eds.). Flight Simulation, Cambridge Univ. Press. Cambridge. England, U. K., 1986.

2 Young, L. R., "Fundamentals of Flight Simulation,” Summer Course. Man-Vehicle Lab., Dept, of Aeronautics and Astronautics, Massachusetts Inst, of Technology. Cambridge, MA. 1996.

’Proctor. R, "Boeing Hones Computer-Based Fighter Training System,” Aviation Week and Space Technology, 29 Nov. 1999, pp. 50-53.

4Perla. P. P.. The Art of Wargaming: A Guide for Professionals and Hobbyists, U. S. Naval Inst. 1990.

## Conducting a War Game

With the planning complete the invitations are sent out to the participants. You receive an order to report to the wargaming institute Monday morning at 0800 sharp. Entering a large briefing room, you find a seat and are bombarded with the in-brief. Depending on your rank or expertise, you may be part of the training audience, the response cell, or the control cell. The training audience consists of the decision makers. There you find the commander and staff of the red and blue forces. The whole game is set up for their benefit. The rest of the personnel that surrounds them are just support folk.

The people in the response cell are the buffer between the training audience, the computer model, and the control cell. They take the battle orders from the staff, convert them into simulation lingo, and feed them to the beast, while keeping the control cell informed of the moves. The output of the computer is relayed back to the commander and his staff. The response cell is vital to the realism of the game. They organize and operate the joint and combined armed forces; portray the correct levels of allowances, supply, and logistics; and exercise appropriate operational doctrines, tactics, and procedures.

The control cell consists of the umpires, analysts, and computer operators. Here you find the experts and most likely the planners who set up the game. Any technical and modeling issues are resolved by them, and they are responsible for debriefs and final reports.

After the prebrief the groups go into their team rooms, and the action begins. You have very little warm-up time. The action is fast paced, combat like, and the training audience is directly immersed in the conflict. The competition is intense. The blue commander, usually the highest-ranking officer, feels that his reputation is on the line. It can happen that a staff member is fired on the spot if his performance is lacking.

Following the intelligence briefing, the first move is made. The red commander decides to invade the oil-rich territory. His staff passes the order of battle to the response cell. There it is checked, fed into the computer, and the control cell is notified. The result is given to the red and blue forces in the appropriate format. Now, the blue commander must counter with the deployment of his forces. He responds with a massive assault, engaging his Air Force, Navy, and Army Corps. This force structure is passed to the response cell, checked, and entered into the computer. Casualties are calculated, loss of war materiel is recorded, and territorial gains are drawn on the maps. One cycle is complete.

These cycles can be time phased or event driven and continue until the exit criteria are reached. Usually time-phased games are more realistic because they portray more faithfully the pressure that limited time can inflict on the decision makers. It is important that the players act out their roles as faithfully as possible and that the losing party does not fall into the temptation of blaming the game setup for their misfortune.

After the play the training audience gets a good night’s rest while the control cell burns the midnight oil analyzing the data and composing the debrief. This hot wash is given the next day. It summarizes the events from an overall perspective and provides red and blue with the rationale behind all of the important decisions. The sponsor of the games is given an assessment of his objectives. Any discrepancies of the conduct of the game and modeling deficiencies are addressed and hopefully resolved. With the quick-look report in hand, the warriors say goodbye and, despite some ruffled feathers, part as friends until the next encounter.

## Building a War Game

Long before the start of a game, possibly a year or so, the responsible agency defines the objectives and the scenarios. The objective is simply the purpose toward which the game is directed. It may be tactical, operational, or strategic. It may serve the evaluation of a weapon concept, the development of doctrine, strategy, or policy, and provide guidance in resource planning. Answers to the following questions can be sought: what is the required number of tactical fighters needed to protect offensive bombers against an air attack, or what are the best tactics of an armored battalion to conquer a heavily defended city? At the operational level the scope is broader, and the objective may be, for instance, the optimum deployment sequence of fighter wings and army corps against an invading adversary. Games with strategic objectives are the favorites of four-star generals. They take on global implications. What strategies should the national command authority pursue to prevent the annihilation of a friendly country? How do space assets enhance global power projection? As you can imagine, the examples are innumerable.

The objectives must be played out in scenarios. The players are immersed in real-life situations that challenge their decision-making capacity. They may be confronted with actual scenarios to prepare for war or with generic situations to explore new weapon concepts. In either case much thought goes into the prepa­ration of scenarios. Only if they stress the players in all aspects of the intended objectives will the game be productive.

Scenarios are categorized by the capability of the opposing forces. Peer com­petitors are nations with similar infrastructure and weapons. A niche competitor is inferior to the blue force but may have innovative concepts of deployment or certain political advantages. Among the niche competitors one distinguishes fur­ther regional conflicts or small-scale contingencies. These are scenarios of limited scope but can be politically explosive.

A typical peer scenario may consist of two world powers claiming the same oil – rich territory. Their own energy resources have been depleted to such a degree that their economical prosperity depends on the exploitation of these new oil resources. Both competitors have colossal conventional forces and atomic weapons. Their leadership is aware that an all-out war would be catastrophic for both countries. However, the red side believes that through a quick preemptive strike they could occupy the contested territory before the blue side can respond. Faced with the fait accompli, the blue nation may acquiesce to the occupation. Afterwards, over the years, the red nation should prosper economically and would become the dominant world power.

This scenario sketch must of course be expanded in several areas. Detailed maps must be provided with key cities, military installations, and choke points like bridges, mountain passes, and shipping lanes. Question must be addressed like what is the time frame—is it today or 30 years from now? What is the time line of the conflict—build up of tensions, massing of forces, political intervention, and first strike? (Once the first shot is fired, the events are determined by the play.) Given the time frame, the war fighting capability of each side is to be assembled in databases, also called toolboxes. Finally, rounding out the scenario, the political landscape and the infrastructure of both competitors need to be described.

This elaborate process of fleshing out the scenario is called modeling. As you may already have suspected, that word has taken on quite a different flavor from that so familiar to us through the preceding 10 chapters. The war gamers like to define a model as a “representation of some aspect or attribute of a system,’’ and modeling as “the process of constructing a model that represents some aspects of a system.” These are quotes from the wargaming literature. As you see, the definition is very broad; it is as broad as you may want to interpret the word “system.”

On the heel of modeling follows simulation. You will find that the words mod­eling and simulation are used by war gamers as often as by engineers, but be aware of the difference in meaning. We already dealt with modeling. The definition of simulation is similarly broad: simulation is the use or exercise of a model. Another definition reads: Modeling and simulation is the process of designing a model of a system and conducting experiments with this model for the purpose either of understanding the behavior of the system or of evaluating various strategies for the operation of the system. Clearly, a model does not have to be mathematical or be some kind of breadboard, just as simulations do not have to run on computers.

However, I do not want to create the impression that war games do not use computers. To the contrary, you find more computer terminals in a wargaming facility than at a NASA launch pad. As part of the planning process, the game designer must allocate carefully the computer resources. The first question he needs to ask is what computer models will be required. It could be any of the major models, like AWSIM, the U. S. Air Force’s warfare simulation; TACWAR, the U. S. Army’s tactical warfare model; or ITEM, the U. S. Navy’s integrated theater engagement model. In the future it may even be JTLS, the Joint Theater Level Simulation, representing the aggregate wisdom of all three services. Many more examples could be given. Building war-game simulations is big business outside the beltway of Washington, D. C.

If existing computer models do not suit the objectives of the game, the planner must engage a team of experts to develop specialized tools. Prior to usage, the new model must be verified, validated, and accredited. Verification is the responsibility of the developer. He must ensure that the implementation accurately models the conceptual description. Then, jointly with the customer, he validates that the model accurately represents the real world. Finally, the customer or a higher authority certifies that the simulation is acceptable for the intended purpose. Only then is the computer tool accredited for the war game.

Based on the type of war game, the planner specifies the simulation models. If the game is to be played in real time, the simulations must be synchronized to the clock, or for more flexibility the time could also be accelerated or delayed. In either case, as long as the time marches in constant increments, the game is said to be time stepped. However, a conflict that extends over months or years is better simulated by dynamic event scheduling, i. e., the clock jumps from event to event rather than in constant steps. The three games AWSIM, TACWAR, and ITEM are time stepped, whereas the new JTLS supports both phasings.

Another decision the planner has to make is the fidelity of the models. High – fidelity war games require the display of movements of entities and fly-out tra­jectories of weapons. Low-fidelity engagements are limited to iconic symbols, representing flights of aircraft or tank battalions. Be cautioned however concern­ing the use of the word fidelity. The trajectories of high-fidelity war games are at best three-DoF trajectory models, which we considered low-fidelity trajectory simulations in preceding chapters.

Should our world be deterministic or stochastic? This is the puzzling question often asked during planning meetings. Deterministic models capture only specific events and do not lend themselves to generalizations. Stochastic simulations take the fuzziness of the “fog-of-war” into considerations, but stir up much controversy when the numerical results are to be interpreted. Often, random number generators are enlisted to cover sins of sloppy modeling. Be aware of ignorance hidden in stochastic simulations!

Once the simulation support is defined and the databases established, the rules of engagement must be laid down: who strikes first; will weapons of mass destruction be used and under what conditions; will the combatants abide by the Geneva conventions; when is the game over; and what are the win-lose criteria? At this point in the planning cycle, it is necessary to bring in the umpires who will referee the game. They need to participate in the rule development because they will have to enforce them later.

Although computers have an important part in wargaming, they are dispensable. The further we play in the future, the vaguer the data and the harder it becomes to computerize the moves. We escape to the so-called seminar games. Here, a BOGAG (bunch of guys and gals) sit around tables forming the blue and red forces and making alternate moves. An umpire decides the outcome of each engagement and declares the winner. Seminar games are popular with technologists and are the favorite form played in the corporate boardrooms.

## Wargaming

Our focus throughout the preceding chapters was on the engineering-level treat­ment of aerospace simulations. In the last section we made an excursion into the world of real-time simulators, but essentially concentrated on the technical aspects of aerospace systems. However, the treatment of modeling and simulation would be incomplete without an egression to the rapidly growing field of wargaming.

A war game is a simulation of a military operation, involving two or more opposing forces, using data and procedures that model a real-life situation. This definition captures the main elements: entities that reflect the real world and are in conflict with one another. Although the emphasis is on military engagements, war-gaming-like techniques are also applied to civilian endeavors. Like nations, the corporate world is subject to competition and conflicts. CEOs, functioning as generals, experiment with winning strategies using war-gaming techniques.

The best known and first war game is the venerable chess game. The chessmen are the entities, their moves model their real-life mobility, and the two opposing players are in conflict for the winning call: checkmate! Generations have enjoyed this game, which was first played in the eighth century. It was much later, in 1811 in the Prussian military, that Herr von Reisswitz formalized the “Kriegspiele” (the German word for war games). In sand tables with elaborate terrain models he con­fronted blue and red forces and maneuvered them under strict rules of engagement. His fame spread to the United States, and there Major W. R. Livermore, playing catch up, published the “American Kriegspiele” in 1879. The U. S. Navy picked up the idea in earnest with the first fleet maneuvers in 1887. Ever since, the U. S. Navy has led the military services in the art of war gaming.

Many publications have appeared in print. If you are serious about researching this subject, the book by Peter Perla The Art of Wargaming4 is a most quoted text.

I invite you to throw off all engineering inhibitions, abandon high-fidelity six degrees of freedom, and reach out to the wide world of opposing armies, air forces, and navies. Follow my guided tour of building a war game, participate in a demonstration, and learn to critically assess the results.