Continuous of Complex Systems Applied to a Vehicle AIAA Aircraft Flight Mechanics Conference Derek J. Dalle, Sean M. Torrez, James F. Driscoll University of Michigan, Ann Arbor, MI 4819 August 15, 212, AFM 212 1/26
Why dual-mode ram/scram again? It s that or a rocket! Competition Space access: rocket High-speed, long-range: rocket with glide High-speed loiter:? Maximum practical Mach number is about 12 Specific Impulse [s] 8, Theoretical maximum 7, Hydrogen fuel in air 6, 5, 4, Turbofan 3, Theoretical maximum 2, Turbofan with Hydrocarbon fuel in air afterburner Ramjet 1, Scramjet Rocket 2 4 6 8 1 Mach Number For applications where we use lift, doubling the specific impulse is a big increase Wide range of applications Possibility of a large flight envelope, AFM 212 2/26
Integration of engine and vehicle dynamics Energy added Compression Expansion AIR (fast) Combustor Air-breathing engine Compressor work AIR + PRODUCTS (faster), AFM 212 3/26
Integration of engine and vehicle dynamics Energy added AIR (fast) Inlet compression Combustor Air-breathing engine Nozzle expansion AIR + PRODUCTS (faster), AFM 212 3/26
Vehicle used for MAX-1 z [m] 2 2 5 1 15 2 25 3 y [m] 5 5 x [m], AFM 212 4/26
Michigan/AFRL Scramjet In Vehicle code z [m] z [m] 1.6 1.8 2 1.6 3 1.8 18 2 2.2 4 45 5 2 5 2 35 4 35 4 3 3 5 25 6 5 45 55 6 55 7575 88 6565 66 77 75 25 45 5 55 65 7 75 8 25 3 35 4 45 5 55 6 65 75 8 6 7 12 12.5 13 13.5 14 x [m] 17 Inlet cowl solution 2 16 15 13 12 13 4 11 12 13 11 6 1 1 17 17.5 18 18.5 19 x [m] Nozzle cowl solution Trimmed flight condition at Mach 8, q = 1 atm. Values are static temperature in Kelvins. Summary The Bad Installed thrust coefficient.4.3.2.1.1.2 Collection of low-order methods Shock interactions, fuel-air mixing, finite-rate chemistry Equations of motion, trim, and linearization tools.3 6 7 8 9 1 Mach number, AFM 212 5/26
Vehicle used with exact differentiation model z [m] 2 2 5 y [m] 5 5 1 x [m] 15 2 25, AFM 212 6/26
Model used with exact differentiation Simple, longitudinal vehicle model External surfaces Inlet shock 1 Newtonian aerodynamics Two elevators and a rudder height of captured flow height of spilled flow shock 2 shock 3 shock 4 Sequence of oblique shocks with isentropic correction for mass spillage Combustor inlet isolator constant-area combustor diverging θ (divergence) Constant-area heat addition plus diffuser. Scram-mode only! Nozzle Exhaust expands perfectly to atmospheric pressure. (Chavez/Schmidt model) nozzle... and derivatives calculated exactly, AFM 212 7/26
Finite differences Easy, but with issues Suppose you have some function f (x), and it s really complicated. You want its derivative. Easy! f (x) = Or other versions... f (x) = f (x + h) f (x) +O(h) h f (x + h) f (x h) +O(h 2 ) 2h f (x) exact derivative forward difference central difference x The main thing about this method is that it requires no special planning, and it will always provide an answer., AFM 212 8/26
Finite differences Easy, but with issues Suppose you have some function f (x), and it s really complicated. You want its derivative. Easy! f (x) = Or other versions... f (x) = f (x + h) f (x) +O(h) h f (x + h) f (x h) +O(h 2 ) 2h f (x) forward difference exact derivative central difference x The main thing about this method is that it requires no special planning, and it will always provide an answer., AFM 212 8/26
Complex-step approximation Different set of issues, but possibly less Take a step in the imaginary direction. Here s the Taylor series. f (x + ih) = f (x) + ihf (x) h 2 f (x) +O(h 3 ), AFM 212 9/26
Complex-step approximation Different set of issues, but possibly less Take a step in the imaginary direction. Here s the Taylor series. f (x + ih) = f (x) + ihf (x) h 2 f (x) +O(h 3 ) Notice that the imaginary part contains the derivative and the real part contains the main function value. f (x) = 1 h Im [ f (x + ih)] +O(h2 ), AFM 212 9/26
Complex-step approximation Different set of issues, but possibly less Take a step in the imaginary direction. Here s the Taylor series. f (x + ih) = f (x) + ihf (x) h 2 f (x) +O(h 3 ) Notice that the imaginary part contains the derivative and the real part contains the main function value. f (x) = 1 h Im [ f (x + ih)] +O(h2 ) Also, the function value can be retrieved. f (x) = Re [ f (x + ih)] +O(h 2 ), AFM 212 9/26
Complex-step approximation Different set of issues, but possibly less Take a step in the imaginary direction. Here s the Taylor series. f (x + ih) = f (x) + ihf (x) h 2 f (x) +O(h 3 ) Notice that the imaginary part contains the derivative and the real part contains the main function value. f (x) = 1 h Im [ f (x + ih)] +O(h2 ) Also, the function value can be retrieved. f (x) = Re [ f (x + ih)] +O(h 2 ) Since there is no subtraction, an extremely small step can be used. An example is h = ε 2 x where ε is machine precision., AFM 212 9/26
Complex-step approximation Pros and cons Advantages Accurate to machine precision in most cases Simple to implement because most languages have complex numbers available No worry about step size Disadvantages Does not apply to complex-valued functions Can fail for iterative problems Less efficient (especially since it requires overloading a few built-in functions) Requires meticulously getting rid of real part and imaginary part functions within the program, AFM 212 1/26
derivatives The DIY method! Sometimes it s practical to calculate the derivative directly. There are lots of obvious things to say about this. Example: Atmosphere model and Mach number Mach number is a useful state, but its derivative depends on the temperature. Ṁ = d ( ) V = V dt a a Vȧ a 2 Ṁ M = V V 1 2 Ṫ T = V V 1 ḣ 2 T Using it requires knowing the derivative of the temperature with respect to altitude. dt dh So there are certain cases where this can actually be appropriate. Combining it with other techniques gives the second derivative., AFM 212 11/26
Dedicated syntax The complicated DIY method Use a built-in object like a struct to store the value and the derivative (or Jacobian). Then create some functions for applying the chain rule. Example: struct of Jacobians (MATLAB) % First variable: x (value of 4) x = 4; J.x = [1, ]; % Second variable: y (value of -1) y = -1; J.y = [, 1]; % Now calculate a function. A = sin(x) + y^2; % Use the chain rule. J = chain_rule(j, 'x', cos(x), 'y', 2*y); Obviously this is a lot of work. The advantage is that all derivatives of intermediate values are stored., AFM 212 12/26
Quantification of errors from finite differences of net acceleration u α = 52.83 m s 2 rad Normalized error 1 2 1 1 2 1 4 1 6 1 8 1 16 1 12 1 8 1 4 α [rad] u M = 1.44 m/s 2 (design) Normalized error 1 5 1 1 5 1 1 1 16 1 12 1 8 1 4 M (design) Reference value: u =.2163 m/s 2, AFM 212 13/26
Quantification of errors from finite differences of post-combustion temperature T 5 α Normalized error = 174 rad/k 1 2 1 1 2 1 4 1 6 1 16 1 12 1 8 1 4 α [rad] T 5 η (combustion) = 2699 K Normalized error 1 2 1 1 2 1 4 1 6 1 8 1 16 1 12 1 8 1 4 η (combustion) Reference value: T 5 = 2851 K, AFM 212 14/26
Create a special class Amazing but slow Using this technique, new variables are declared with both a value and a derivative Variables without a derivative are assumed to be constant Overload every numerical function with a new version to handle the derivatives First derivatives are then calculated automatically... without any changes to the original code >> x = dvar(3, 2); >> y = -1; >> f = @(x,y) 3*x.^2 + x./y; >> z = f(x,y) z = value: 24 derivative: 34, AFM 212 15/26
Special class for derivatives An example of the extra work It s not so bad because someone else does the work for you. Example: overwriting sin.m in MATLAB function Y = sin(x) % First calculate the value. x = sin(x.x); % Now calculate the derivative using the chain rule. d = cos(x.x).* X.d; % Output Y = dvar(x, d); Advantages Almost no work for end user Can pick any basis variable whenever Works for many functions Disadvantages Very slow for interpreted languages Requires some learning, AFM 212 16/26
Linearized Flight Dynamics Analysis Analysis Use a single trajectory to compare the models Short-period and Dutch-roll modes along the trajectory Comparing trends more than values Design Sensitivity What happens to modes with more/less ballast mass? Moving center of mass effective way to affect stability Single flight condition Altitude, h [km] 3 29 28 27 26 25 q = 5 kpa q = 75 kpa q = 1 atm q = 15 kpa 24 7 8 9 1 11 Mach number, M q = 125 kpa q = 2 kpa Altitude versus Mach number for trajectories with constant dynamic pressure Constant acceleration, V = 2 m/s 2 Constant dynamic pressure, q = 1 atm, AFM 212 17/26
Short-period mode Imaginary Part [1/s] 4 M = 7 2 M = 11 2 M = 11 4 M = 7.3.25.2.15.1 Real Part [1/s] Short-period poles of model Imaginary part [1/s] M = 7 2 M = 11 1 1 M = 11 2 M = 7.4.35.3.25 Real part [1/s] Short-period poles of simplified model Constant-acceleration ascent trajectory from Mach 7 to Mach 11 Constant dynamic pressure of 1 atmosphere Constant acceleration of 2 m/s 2 Short-period mode involves pitch and pitch rate, AFM 212 18/26
Dutch roll mode 5 M = 7 5 M = 7 M = 11 Imaginary Part [1/s] M = 11 M = 11 Imaginary part [1/s] M = 7 5.8.6.4.2 Real Part [1/s] Dutch-roll poles of model M = 11 M = 7 5 1.9.8.7.6.5 Real part [1/s] Dutch-roll poles of simplified model Constant-acceleration ascent trajectory from Mach 7 to Mach 11 Constant dynamic pressure of 1 atmosphere Constant acceleration of 2 m/s 2 Dutch roll mode involves sideslip, yaw rate, and roll, AFM 212 19/26
Ballast and the Dutch-roll mode Ballast mass Ballast mass added at center of leading edge The parameter λ b is the ballast mass divided by original mass Moving center of gravity forward tends to stabilize any vehicle Dutch-roll mode A certain ballast makes the vehicle stable The largest ballast below this point is the most unstable Adding more ballast from there decreases stability margin Ballast affects the trim condition, which can destabilize Imaginary part [1/s] 1 5 5 1 λ b =.145 λ b =.1425 λ b =.24 λ b = λ b =.24 λ b = λ b =.1425 2 1 1 2 Real part [1/s] Dutch-roll poles with increasing ballast mass placed at nose of vehicle, AFM 212 2/26
Short-period mode and ballast mass Imaginary part [1/s] 3 2 1 1 2 λ b = λ b =.16 λ b =.24 λ b =.1575 λ b = λ b =.24 3 1 5 5 1 Real part [1/s] Movement of short-period poles with increasing ballast mass Imaginary part [1/s] 3 2 1 1 2 3 λ b =.24 λ b =.16 λ b =.24.4.3.2.1 Real part [1/s] Zoomed in on stable modes Amount of ballast is placed at nose of vehicle Ballast mass adds to mass of vehicle The parameter λ b is the ballast mass divided by original mass, AFM 212 21/26
Short-period mode and ballast mass How does this compare to? 5 M = 5 Δx cg =.5 ( ) 5 M = 5 f fuel =.6 ( ) Imaginary part [1/s] M = 12 M = 9.2 Δx cg = ( ) Δx cg =.25 ( ) Imaginary part [1/s] f fuel =.5 ( ) M = 12 M = 12 5 4 2 2 4 Real part [1/s] Shift in cg with fixed mass M = 5 5.6.5.4.3.2.1 Real part [1/s] Mass increase with fixed cg Adding mass destabilizes even without moving the cg Changes in angle of attack are the reason Takes a lot of ballast to move the cg This trajectory includes ram-to-scram transition, AFM 212 22/26
Trim variables and design perturbations from a future paper.8 f fuel =.6 Angle of attack, α.6.4.2 α range = MAX-1 M design = 8 Δx cg = r p = 75.2 5 6 7 8 9 1 11 12 Mach number, M, AFM 212 23/26
Trim variables and design perturbations from a future paper Fuel mass flow rate, m f [kg/s]. 1 8 6 4 2 MAX-1 f fuel =.6 Δx cg = r p = 75 M design = 8 α range = 5 6 7 8 9 1 11 12 Mach number, M, AFM 212 24/26
Trim variables and design perturbations from a future paper Elevator deflection angle, δ CE 6 4 2 2 MAX-1 f fuel =.6 Δx cg = r p = 75 M design = 8 α range = 4 5 6 7 8 9 1 11 12 Mach number, M, AFM 212 25/26
Linearized Flight Dynamics Trends match for two models Exception is the period of the Dutch-roll mode Exact differentiation is possible even for very complicated models I probably wasted a lot of time on this Having a huge set of sensitivities (especially to design variables) is quite helpful during early design Ballast mass has huge effect Ballast lower than the amount needed to stabilize the vehicle actually decreases the time to double, AFM 212 26/26