NASA Technical Memorandum 87344 

i NASA-TM-87344 19860020596 

i 

\,~-------

HYTESS II-A Hypothetical Turbofan· 

Engine Simplified Simulation With 

Multivariable Control and Sensor 

Analytical Redundancy 

Walter C. Merrill 

Lewis Research Center 

Cleveland, Ohio 

June 1986 

. NI\SI\ 

Ii i i jn i.~ ·,'~~ll)' v -. 6 \.,J ,-. ~I 

LANGlEY RESEARCH CENTER 

LIBRARY, NASA 

HA~.':?Tor:l, VIR3!N!A 

i 1111111111111 1111 111111111111111 1111111111111 

. NF01532 

\. 
ro 

M 

, 

LLI 

HYTESS II - A HYPOTHETICAL TURBOFAN ENGINE SIMPLIFIED SIMULATION WITH 

MULTIVARIABLE CONTROL AND SENSOR ANALYTICAL REDUNDANCY 

Walter C. Merrill 

National Aeronautics and Space Administration 

Lewis Research Center 

Cleveland, Ohio 44135 

SUMMARY 

A hypothetical turbofan engine simplified simulation with a multivariable 

control and sensor failure detection, isolation, and accommodation logic 

(HYTESS II) is presented. The digital program, written in FORTRAN, is selfcontained, efficient, realistic, and- easily used. Simulated engine dynamics 

were developed from linearized operating point models. However, essential nonlinear effects are retained. The simulation is representative of a hypotheti- cal, low bypass ratio turbofan engine with an advanced control and failure 

detection logic. Included is a description of the engine dynamics, the control 

algorithm, and the sensor failure detection logic. Details of the simulation 

including block diagrams, variable descriptions, common block definitions, subroutine descriptions, and input requirements are given. Example simulation 

results are also presented. 

INTRODUCTION 

This report is a user's manual for the hypothetical turbofan engine simplified simulation with multivariable control and sensor failure detection 

logic (HYTESS II). This simulation builds upon the technology reported in 

reference 1. Essentially, the simulation developed in reference 1 (HYTESS) has 

been modified to incorporate a control law and sensor failure logic. Additionally, some improvements have been incorporated. In particular some routines 

have been eliminated to simplify the program flow. Also, some information 

transfer between routines is now accomplished explicitly using subroutine 

arguments rather than implicitly using large common blocks. This makes following and understanding program flow much easier. Finally, in HYTESS scaled 

(unitless) variables were used extensively in the simulation along with 

unscaled variables. This inconsistency often led to confusion. In HYTESS II 

all variables are now unscaled and therefore consistent from one routine to the 

next. Performance scaling, however, is still a feature of the program. It now 

takes place, once, during program initialization. 

This digital simulation exists as FORTRAN source code and was designed for 

use on the NASA Lewis Research Center's IBM 3033 AP computer running under the 

TSS/370 operating system. The program is self-contained and was developed to 

offer those interested in engine dynamics and controls research an efficient, 

realistic, and easily used engine simulation. 

Typically turbine engine simulations incorporate detailed nonlinear 

descriptions of both steady-state and dynamic engine operation throughout the 

engine's flight envelope. These detailed nonlinear simulations are very accurate and realistic and, when implemented in a digital computer, require 

relatively large amounts of computer storage and computer processing time. 
This makes these detailed simulations difficult and costly to use. HYTESS II 

was developed as an alternative. It is structurally simpler than a full nonlinear engine simulation and therefore has reduced storage and processing 

requirements. HYTESS II retains the essential nonlinear effects inherent in 

the engine's operation. This is accomplished by modeling the engine using a 

linear state space formulation, and incorporating the nonlinear characteristics 

by representing the matrix elements within the linear state space structure as 

nonlinear functions of various engine variables. The compromise implied in 

this process is that, although the fidelity of HYTESS II is maintained for the 

variables considered, it ;s very difficult to identify individual component behavior as in a detailed simulation. Also HYTESS II is restricted to opera- tion in regions about the normal operating line of the engine. The engine characteristics simulated by HYTESS II, although hypothetical, are qualitatively similar to those of realistic advance turbofan engines. Typical applications for this simulation would include open-loop engine dynamics studies, 

closed-loop controls analysis, and sensor failure detection performance studies. 

This report begins with a description of the engine control and failure 

logic simulated by HYTESS II. Descriptions of the mathematical model of the 

engine and the simulation are given. Finally some results are given. Flow 

charts and variable definitions are also included. 

ADIA 

HYH.SS 

LQR 

MVC 

PI 

SFS 

WSSR 

Variables 

AJ 

ALT 

BLC 

D 

F 

f 

SYMBOL LIST 

Description 

advanced detection, isolation, and accommodation 

hypothetical turbofan engine simplified simulation 

linear quadratic regulator 

multivariable control 

proportional-integral 

sensor failure simulator 

weighted sum of squared residuals 

Description 

nozzle jet area 

altitude 

compressor bleed flow 

feed forward system matrix. 

state system matrix 

engine nonlinear state function vector 

2 
F-1G 

FGV 

FNMX 

FTIT 

Variables 

G 

g 

H 

£ 

K 

N 

Nl 

N2 

PLA 

PT2 

PT4 

PT6 

PO 

S 

SMHC 

SMN 

SVA 

TT2 

TT25 

TT4PLO 

TT4.5 

TT45LO 

t 

ga1n system matrix 

fan gu1de vane angle 

thrust 

fan turbine inlet temperature 

Description 

control system matrix 

engine nonlinear output function vector 

output system matrix 

log likelihood ratio 

Kalman gain matrix 

number of past residual samples 

fan speed 

compressor speed 

power lever angle 

engine face pressure 

burner pressure 

augmentor pressure 

ambient pressure 

switching matrix 

compressor surge margin 

Mach number 

high compressor stator vane angle 

engine face temperature 

fan discharge temperature 

burner exit slow response temperature 

inter-turbine temperature 

fan turbine inlet slow response temperature 

time 

3 
U eng1ne control vector 

v value 

W res1dual we1ght1ng factor 

WFMB ma1n burner fuel flow 

Variables Description 

X I engine state vector 

Y eng1ne output vector 

6 corrected face pressure 

& residual vector 

e corrected face temperature 

A detection/isolation threshold 

~ env1ronmental variables 

Subscripts Descr1ption 

b base p01nt 

H hard failure 

I isolat10n 

1 hypothes1s number 

m measured 

RP reference point 

S soft failure 

SS steady-state 

TR trajectory control 

o normal mode 

SYSTEM DESCRIPTION 

The system described by this report consists of a hypothetical turbofan 

engine,' sensors, actuators, control system, sensor failure simulator (SFS), and 

sensor fa1lure detection, isolation, and accommodation (DIA) logic. These com-

·ponents are connected as shown in figure 1. Note that sensors for three 

classes of variables are shown: (1) control variables, (2) environmental 

variables, and (3) engine outputs. Note also that the sensor failure logic 

4 
applies only to the engine output variable sensors. A description of each of 

these components and its respective model follows. 

ENGINE DESCRIPTION 

The engine simulated by HYTESS II is representative of current high technology engines and is shown schematically in figure 2. It is a low bypass 

ratio. twin-spool. axial-flow turbofan engine, consisting of the following 

components: 

(1) Low-speed fan driven by a turbine (spool 1) 

(2) High-speed compressor driven by a turbine (spool 2) 

(3) Main burner 

(4) Annular fan duct that surrounds the basic gas generator and 

discharges air into the mixed flow augmentor 

(5) Variable area nozzle 

Variable inlet guide vanes are used ahead of the fan to improve inlet distortion tolerance and fan efficiency. Variable stators in the high compressor improve starting and high Mach number characteristics. Airflow bleed is 

extracted at the compressor exit to improve starting. The exhaust nozzle variable geometry enables all three nozzle performance parameters (nozzle area, 

expansion ratio, and boattail drag) to be simultaneously near optimum throughout the operating range. A list of engine inputs and outputs is given in the 

next section. 

Engine Model 

A detailed nonlinear engine model can be written in vector differential 

equation form 

• 

x = f(X,U,~) 

Y = g(X,U,t) 

where X is a state vector, U is the vector of controls, Y is the output 

vector. and t is a vector of environmental conditions. Detailed nonlinear 

engine relations are represented by the functions f(·) and g(.). At a 

base point, that is a steady-state point on the operating line, 

. f(X:.Ub.+b) = 0 l 

Vb - g(Xb,Ub'~b) 

(1) 

(2) 

·In HYTESS the state space description of the model of equations (1) and (2) is 

implemented as 

5 
x = F(X - X ) ss (3) 

The subscript b is used to denote base points. The subscript ss is used 

to denote the steady-state value of X for a given U. The matrices F, 

F-'G. H, and 0 are the typical system matrices. The states, inputs, and 

outputs were chosen to be typical of those variables used in dynamics and controls analysis in modern turbofan engines and consist of the following 

variables. 

states: 

X, fan speed (N1), rpm 

X2 compressor speed (N2), rpm 

X3 burner exit slow response temperature (TT4PlO), K 

X4 fan turbine inlet slow response temperature (TT45l0), K 

Engine inputs: 

U, main burner fuel flow (WFMB). kg/sec 

U2 nozzle jet area (AJ), m2 

U3 fan guide vane position (FGV). deg 

U4 high compressor variable stator vane angle (SVA). deg U5 customer compressor bleed flow (BlC), percent 

Engine outputs: 

Y, fan speed (N1), rpm 

Y2 compressor speed (N2), rpm Y3 burner pressure (PT4), N/m2 

Y4 augmentor pressure (PT6), N/m2 

Y5 fan turbine inlet temperature (FTIT), K 

Y6 thrust (FNMX), N 

Y7 compressor surge margin (SMHC) 

Operating conditions: 

~1 ambient pressure (PO) ~2 engine face pressure (PT2), N/m2 

~3 engine face temperature (TT2), K ~4 fan discharge temperature (TT25) 

The system matrices were determined in the following manner. Linearized system matrices at several base points were found from a representative detailed nonlinear rimulation using perturbational techniques. The elements of each of 

these matrices were regressed upon selected engine variables or elementary 

functions of these variables (elements of Y and ~). As a result, nonlinear polynomial functions were found that fit the change in these matrix 

elements for the full range of engine power through the flight envelope as 

shown in figure 3. An example of some typical regression polynomials for 

6 
the system matr1ces 1s g1ven 1n table 1. Rewr1t1ng equat10n (3) w1th a more 

exp11c1t funct10nal notat10n y1elds 

x = F(Y,t)[X - Xss] 

Y = Yb(Y,t) + H(Y,t)[X - Xb(Y,t)] + D(Y,t)[U - Ub(Y,t)] 

(4) 

Note, that 1n the 11st of eng1ne var1ables, TT25 was def1ned as an operat1ng 

cond1t10n var1able. Although str1ctly an eng1ne output, TT25 (t4) 1s be1ng 

called an env1ronmental or operat1ng cond1t10n var1able for three reasons. 

F1rst the only place TT25 1s used 1n the control 10g1c 1s to schedule the SVA. 

Thus, TT25 1s used only 1n a fash10n s1m11ar to that for the other env1ronmental var1ables. Second, TT25 1s not covered by the sensor fa11ure 10g1c as are 

all of the 11sted eng1ne output var1ables. F1nally, 1n th1s s1mulat10n TT25 

1s modeled as 

( 

PT6 ) TT25 = 0.2308 PT2+ 0.82 TT2 

Thus, TT25 1s 11nearly related to TT2, an env1ronmental var1able. 

Control Descr1pt10n 

The control law used here 1s a mult1var1able proport10nal-1ntegral (PI) 

control law. The control used 1s a mod1f1cat10n of an ex1st1ng control 

(ref. 2) des1gned for a h1gh performance turbofan eng1ne. Th1s eng1ne has a 

s1milar 1nput-output structure to HYTESS II, and thus, the ex1st1ng control was 

a log1cal start1ng p01nt for the HYTESS II control. A block d1agram of the 

HY1ESS II control 1s g1ven 1n f1gure 4. Also shown are the subrout1nes that 

correspond to the var10us blocks. The reference p01nt schedules estab11sh the 

des1red steady-state performance of the eng1ne and essent1ally are an 1mplementat10n of equat10n 2. The reference p01nt schedules are followed by the trans1t1on control wh1ch 11m1ts the rate of change of the commanded var1ables 

dur1ng changes 1n operat1ng p01nt. The var1ables, UTR, serve as feed forward 

controls, wh11e YTR serves as a command trajectory to be followed by the control law. The PI control acts upon d1fferences between YTR and the eng1ne 

output est1mates wh1ch are obta1ned from the DIA 10g1c. The PI ga1ns are 

scheduled as a funct10n of t and the compressor speed component of YTR. 

F1nally, the max1mum and m1n1mum values of the control are 11m1ted by the 

eng1ne protect10n 10g1c to ensure safe eng1ne operat10n. 

Sensor Fa11ure Log1c Descr1pt1on 

Also, 1ncorporated 1n the s1mulat1on 1s 10g1c based upon the pr1nc1ple of 

ana·lyt1cal redundancy (ref. 3) to detect, 1s01ate, and accommodate (DIA) sensor 

fa1lures. The DIA 10g1c 1ncorporated 1n th1s s1mulat10n 1s a mod1f1cat10n of 

a recently developed algor1thm (ref. 4) called the Advanced Detect10n, Isolat1on, and Accommodat1on (ADIA) algor1thm. The ADIA as or1g1nally developed 

1ncorporatesadvanced f11ter1ng and detect10n methodolog1es. The ADIA 10g1c 

7 
was modified for use with HYTESS II by incorporating the HYTESS II model in the 

AOIA logic. Thus, in the simulation there are two identical copies of the 

engine dynamics. The first engine model is combined with a mu1t1var1ab1e control and OIA logic to form the simulation. The OIA logic portion of the simulation itself contains the second copy of the engine model which is used to 

estimate engine outputs. 

The OIA logic consists of four elements: (1) hard failure detection and 

isolation logic, (2) soft failure detection logic, (3) soft failure isolation 

logic, and (4) an accommodation filter. The algorithm detects two classes of 

sensor failures, hard and soft. Hard failures are out-of-range or large bias 

errors that occur instantaneously in the sensed values. Soft failures are 

small bias errors or drift errors that accumulate relatively slowly with time. 

The algorithm inputs are the measured engine inputs, Um(t), and the m~asured 

engine outputs, Ym(t). The algorithm outputs are optimal estimates, Y(t), 

of the engine outputs, Yet). . 

The algorithm has two modes of operation, normal and failure. During normal mode operation, i.e., when no sensor failure is present, the n2rmal mode 

accommodation filter uses all the measured information to determine Yet). In 

failure mode operation, one of the five sensors has failed. Simultaneous 

multiple sensor failures are rare events and are not considered. A threefold 

process takes place once the failure has occurred. first the failure is 

detected. Once a failure is known to have occurred, the specific faulty sensor 

must be isolated. finally, when isolation has occurred, the failure is accommodated by recoQf1gur1ng the normal mode accommodation filter which generates 

the estimates, Yet). This threefold procedure takes place for both hard and 

soft failures. . 

The normal mode accommodation filter logic, shown in figure 5, generates the estimates of the engine outputs, Yet). In the Kalman filter equat10nsA the 

matrices f, G, H, and 0 are typical state space system matrices where X(t) 

is the 4 by 1 vector of estimates of the eng1ne 's state variables and c(t) is 

the 5 by 1 vector of residuals. The matrix K is the Kalman gain matrix, and 

S is a switching matrix. The diagonal elements of S, s11, are either 1 or 

O. All the system matrices as well as the Kalman gain matrix are scheduled as 

a function of operating point to model variations in engine dynamics. 

The hard failure detection and isolation logic, shown in figure 6, performs a straightforward threshold check on each sensor residual, C1. Threshold values are determined from sensor and process noise values as well as sensor range considerations. If a residual value is greater than the threshold, ~H' hard failure detection and isolation follow immediately. 

If a hard failure has not occurred, then a soft failure check is per- formed. The soft failure detection logic, shown in figure 7, first calculates 

an average weighted sum of squared residuals (WSSR). A soft failure is 

detected when the weighted sum is greater than a prespec1f1ed soft failure 

detection threshold, AS. The number, N, of past residuals summed to obtain 

the average, the weighting factor, W, and the detection threshold, ~S, are 

design parameters that are chosen to provide an acceptable tradeoff between 

.false alarms and missed detections. 

Once a soft failure has been detected, the soft failure isolation logic, shown in figure 8, is used to isolate the failed sensor. Six different 

8 
isolation filters generate six different sets of residuals, one for each possible failed sensor, and one based on no failed sensors. A log likelihood rat10,~ is generated for each set of residuals. A test is then performed 

which determines the most probable set of residuals by finding the maximum ~. When this maximum ~ is above an isolation threshold, AI, the 

faulty sensor is isolated. 

Once a hard or soft failure is detected and isolated, the accommodation 

filter is reconfigured by an appropriate change of its Kalman gain matrix, K, 

to remove the failed sensor from consideration. This is shown conceptually as 

a modification of the switching matrix S. For example if a failure in sensor 

3 has been isolated then s33= 0 and s1i = 1, i = 1,2,4,5. That is 

1 

o 

S = 0 

o 

o 

o 0 

1 0 

o 0 

o 0 

o 0 

o 

o 

o 

1 

o 

o 

o 

o 

o 

1 

For a soft failure of senior i, theAaccommodation filter is also.re1n1tia1ized 

to the current value of Yi(t) and Xi(t) from the appropriate isolation 

filter. Re1n1tia1izat10n is necessary since a significant amount of time may have elapsed between failure and isolation. 

A The output of the algorithm, Y, is directed to the PI control law. Thus, 

although the filter reconfigures due to sensor failures no control mode reconfiguration is required. All DIA logic is contained within the subroutine FDIA. 

Filter dynamics are calculated by the subroutine FILTER. 

Program Description 

HYTESS II contains all the subroutines necessary to execute the program. There are no system library routines required. The program is written in 

FORTRAN 66, and it is anticipated that few modifications, if any, will be 

required to execute the program on any system of adequate size that supports 

FORTRAN. Additionally, the program is entirely compatible with the ANSI 11 

FORTRAN standard except for the use of the NAMELIST feature in the following 

subroutines GCNTL, INCNTL, MODEL, READIN, SCURVE, and TRCNTL. The NAMELIST 

statements in all the routines, except READIN, could be trivially removed without changing program operation. Changes to eliminate the use of the NAMElIST 

feature in READ IN would be straightforward but substantial. 

The program itself consists of a main program and 46 subroutines and 5 

block data routines. (See table II for program hierarchy.) There are a total 

of eight levels with a maximum of seven levels of nested subroutines. For 

example at level III the subroutine INLET (called by STDSTB) calls four subroutines: ALTABL, PRCMB, HFTA, and TFHA. Subsequently, PRCMB, HFTA, and TFHA 

all call PVAL. Subroutines are listed in the order of their first occurrence 

in the calling program. Several of the subroutines may be called more than 

once by the calling routine. No attempt has been made to show multiple calls 

.in table II. In table III a description of the purpose of each subroutine and 

block data is given. 

9 
· . 

Basic program flow is shown in figure 9. Essentially, the program initializes, reads input data, calculates a steady-state point, and if required, 

calculates a user-specified transient. The program accepts as steady-state or 

transient input either of the following two sets of inputs: 

Input set 1 (IS1) 

Altitude (Alt) 

Mach number (MN) 

Power level angle (PLA) 

Input set 2 (IS2) 

Altitude (Alt) 

Mach number (MN) 

Fuel flow (WFMB) 

Nozzle area (AJ) 

Fan guide van angle (FGV) 

High compressor stator vane angles (SVA) 

Bleed flow (BLC) 

Input set 1 is used to simulate engine response to pilot (PLA) requests. Engine response to PLA is the typical mode of operation for the simulation. 

Input set 2 overrides the engine inputs calculated by the control logic and 

replaces them with user supplied values. This mode of operation might be useful for a study of engine dynamics, for example. Also included in the input 

information are program control parameters which control steady-state and 

transient execution of the program. Input requirements are completely specified in the next section. This is followed by descriptions of the steadystate and transient options of the main program. 

Input Requirements 

HYTESS II uses the FORTRAN input mode called NAMELIST to accept values for 

input parameters. There are six namelists used in subroutine READ IN to define 

input parameters: INPUT, SCALE, MVCIN, INTRAN, PLOT, and FSNS. To help illustrate data entry two examples of program input which correspond to ISl and 

IS2 are given in tables IV and V, respectively. Note that although program 

output is available in both English and metric units, program input must be 

specified in English units. 

Namelist INPUT 

The namelist INPUT is used to define the steady-state input as well as for 

program control. All of the variables used to define a steady-state engine 

condition as well as some option control parameters are contained in namelist 

INPUT. The variable names, their default values, and descriptions are given in table VI. For example in table IV the namelist INPUT is used to (1) indicate that a transient is required (TRAN = 1.0); (2) indicate that plotting 

.variables are to be saved (IPLOT = 1); (3) indicate that sensor failures are 

to be detected (SFAIL = 1.0); (4) define the initial conditions for IS1(SALT = 

0.0, SMACH = 0.0, SPLA = 20.0); and (5) indicate that the program output is to 

be in metric units. 

10 
Name 11 st SCALE 

The namelist SCALE is used to change the program's scale factors. These 

scale factors can be changed to modify engine simulated performance. The variable names, their default values, and descriptions are given in table VII. The 

default values are selected to yield a performance that is typical of modern, 

high performance turbofan engines. 

Name 11 st MVCIN 

The namelist MVCIN is used to control the modification of the multivariable control. The variable names, their default values, and descriptions are 

given in table VIII. 

Namelist INTRAN 

The namelist INTRAN is used to define the input necessary for an engine transient. This namelist is only read if TRAN = 1.0 in the namelist INPUT. 

All of the parameters entered via this namelist are entered in the following 

array format 

where ARRAY represents the respective variable array and tl,vl is a time/-

value pair. Up to seven pairs may be entered for each array variable, i:e., 

n ~ 7. The INTRAN namelist parameters are accepted as either step or ramp inputs. Since the particular array variable is specified at n discrete time 

points, the intervals between time points need to be further specified. This 

is accomplished by defining step and ramp inputs. For a step input the array 

value in any interval, say ti to ti+l' is equal to the preceding time 

point array value vi' For a ramp input, the array value in any interval 

lies on a straight line defined by the two points ti,vi and ti+i,vi+l' 

Variable names, default values, and descriptions for the transient input namelist INTRAN are given in table IX. For example in table IV namelist INTRAN is 

used to define the print interval, the user specified PLA transient, and the 

sampling rate of the control. In this case the PLA input is specified as shown 

in figure 10. 

Namelist PLOT 

The namelist PLOT is used to specify plotted variables. This namelist 

will only be read if IPLOT = 1 in the namelist INPUT. Namelist PLOT contains 

three array variables, IPVAR1, IVPAR2, and IPVAR3 as defined in table X. These 

array variables are used to specify the variables to be stored for plotting. A certain variable is specified for plotting by including its associated 

integer. value (channel number) as defined in appendix A in the variable IPVAR1, 

in appendix B in IPVAR2 and in appendix C in IPVAR3. For example in table IV, 

IPVARl contains the channel numbers 1, 4, 22, and 23. Referencing these numbers with appendix A, it can be seen that TIME(l), PLA(4), engine fan 

speed(22), and engine compressor speed(23) are specified for plotting. From 

table IV, IPVAR2 specifies sensed fan and compressor speed for plotting while 

11 
IPVAR3 specifies the accommodation filter residuals that correspond to fan and 

compressor speed. 

Namel1st FSNS 

The namelist FSNS is used to define various performance parameters (detection thresholds, e.g.) for the sensor failure detection logic as well as specifying simulated failures. Sensor failures are simulated in the subroutine 

FSENS as 

YFAILED = SF*YSENSED + BIAS + NOISE (S) 

Default values (SF = 1.0, BIAS = 0.0, NOISE = 0.0) are for the no failure 

(normal mode) case. The variable NAMP is used to specify noise amplitude. The 

variables that begin with SN are used to define the scale factors (SF in 

eq. 5), and the variables that begin with BI define the bias failure values. 

A complete description is given in table XI. In the ISl example of table IV a 

bias failure is simulated on the PT6 sensor. The failure is plotted versus 

time in figure 11. 

Steady-State Program 

After the main program is initialized and the input conditions are specified, a steady-state operating point must be established. This is accomplished by a call to subroutine STDST8. Basic program flow through this 

subroutine is shown in figure 12. First the subroutine INLET is used to ~alculate engine face conditions. For example given ALT and SMN (see appendix A), 

INLET calculates PO, TO, PT2, VO, and ETARAM. This subroutine is based upon a 

table of altitude, pressure, and temperature data taken from the 1962 Geometric 

Standard. Next, PLA is determined, either explicitly or implicitly from the 

user specified input. Then nominal engine operation is calculated by RPSCH for 

this value of PLA. Next. the multivariable control and the sensor DIA logic is calculated for the nominal engine response by MVCNT. Next, engine model 

base points Ceq. 2) and system matrices are calculated by EMODEL. Finally, the 

actual engine model response is simulated by SIMUL using the control information obtained from MVCNT and the parameters obtained from EMODEL. A convergence test is applied to fan speed. If the fan speed predicted by SIMUL (model 

response) is equal to the fan speed (nominal response) used in the initial call 

to RPSCH (within 0.01 percent) then convergence to a steady-state point is 

achieved. The steady-state values of the engine states, controls, and outputs 

are used as initial conditions in any subsequent transient calculation. 

Transient Program 

After a steady-state operating point is establlshed, the main program 

determines if a transient calculation was requested (TRAN = 1.0). If 

requested, the transient is simulated by the subroutine TRANS. A block diagram 

of the basic program flow through TRANS is given in figure 13. Here the pro-

.gram flow is similar to that of STDST8. First model base points and system 

matrices are computed (EMODEL). Next, engine dynamics are simulated (SIMUL). 

The data is printed if the print time specified by the user is equal to the 

simulated time. Next, a call to NUTIME updates the simulated time and updates 

12 
all the user requested trans1ent 1nput 1nformat10n that was entered through the 

name11st INTRAN. If s1mu1ated t1me 1s greater than the stop t1me there 1s a 

f1nal data pr1nt before the return to the ma1n program. Next, new eng1ne face 

cond1tions are calculated (INLET) and the control and sensor DIA logic are s1mu1ated (MVCNT). The program then returns to the call to EMODEL and continues 

the 1terat10n through the program. Each 1terat10n represents an update of the 

Euler 1ntegrat10n scheme (1n SIMUL) and the 1terat10n cont1nues unt11 the spec- 1fied f1nal t1me 1s reached. 

Program Output 

F1gure 14 shows a sample of some of the printout for the test case of 

table IV. The program f1rst prints the number of iterations requ1red to reach 

a steady-state p01nt. Th1s output 1s controlled by the subrout1ne STDSTB. The 

main program output is generated by calls to the subrout1ne PRINT. For both 

steady-state and trans1ent data subrout1ne PRINT pr1nts the variables from the 

common ENGOUT (append1x A), common MVCOUT (append1x B), and common OIAOUT 

(append1x C). The ENGOUT var1ab1es are labeled ENGINE RESPONSE VARIABLES' with 

four subhead1ngs. The MVCOUT variables are labeled 'CONTROL RESPONSE VARIABLES' w1th sixteen subhead1ngs, and the DIAOUT variables are labeled 'DIA 

RESPONSE VARIABLES' with seventeen subhead1ngs. The subrout1ne PRINT uses a 

10-co1umn format. Each column corresponds to a t1me at wh1ch rout1ne PRINT was 

called. The program also creates an unformatted b1nary data f1le wr1tten on 

un1t 10. This file conta1ns all the transient data that was spec1f1ed by the 

user for plott1ng. F1gures 15 to 17 are time plots of the var1ables spec1f1ed 

for plotting in the example of table IV. The plot of PLA 1s already giv~n 1n 

figure 9. Routines for plotting transient data are not 1ncluded 1n the HYTESS 

II program. Thus, the user must interface h1s own plotting capability to the 

program. 

CONCLUDING REMARKS 

A hypothetical turbofan engine simplified simulation w1th control and 

sensor failure DIA logic is presented. The program is su1tab1e for dynamics 

and control analys1s. The eng1ne simulat10n is structurally s1mp1er than a 

detailed performance digital s1mu1ation. However, 1t does retain the essent1al 

nonlinearities of the engine and accurately simulates qualitative engine operation. The engine is modeled using a state space structure. Elements w1thin 

the state matrices are defined by polynomials whose independent variables are 

functions of engine environment and engine operation. Storage and execution 

time requirements are significantly less than those for a detailed non11near 

simulation and are qu1te reasonable for typical dynam1cs and control analys1s 

studies. The control 1s a mult1variable proport10nal plus 1ntegra1 controller. 

The control represents advanced eng1ne control technology. Also s1mu1ated 1s 

sensor fa11ure detection, isolat10n, and accommodat10n logic. Th1s OIA 10g1c is based upon state of the art decis10n making and control theories. Thus, 

HY1ESS II represents a realist1c, techn1ca1ly advanced, test bed for a var1ety of research objectives w1thin the dynamics and controls arena. 

13 
APPENDIX A 

ENGINE SIMULATION VARIABLES IN ENGOUT 

The following is the list of engine variables used in the simulation. 

These variables are all in the COMMON called ENGOUT and are also printed as a 

portion of the hard copy output of the program. 

Channel Variable Units 

number 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

29 

30 

T 

ALT 

SMN 

PLA 

PO 

TO 

DPO 

DTO 

PT2 

TT2 

VO 

ETA RAM 

WFMBH 

AFCD 

FGVPOS 

SVAPOS 

BLC 

SNFAN 

SNCOM 

TT4PLO 

TT45PLO 

SNFM 

SNCM 

PT4 

PT6 

TT45 

FNMX 

SMHC 

XTRA1 

XTRA2 

sec 

m 

deg 

N/M2 

K 

N/m2 

K 

N/m2 

K 

m/sec 

~2/sec 

deg 

deg 

Percent 

rpm 

rpm 

K 

K 

rpm 

rpm 

N/m2 

N/m2 

K 

N 

Time 

Altitude 

Mach number 

Power level angle Ambient pressure 

Ambient temperature 

Description 

Adder to ambient pressure 

Adder to ambient temperature 

Engine face pressure 

Engine face temperature 

Airspeed at the inlet 

Ram effic1ency 

Fuel flow 

Nozzle area 

Fan guide vane angle 

High compressor stator angle Bleed flow . Fan physical speed, engine state 

Compressor physical speed, engine state 

Burner exit slow response temperature, engine state 

Fan turbine inlet slow response temperature, 

engine state 

Fan physical speed, engine output 

Compressor physical speed, engine output 

Burner pressure, engine output Augmentor pressure, engine output 

Fan turbine inlet, engine output Thrust, engine output 

Compressor surge margin, engine output 

Extra dummy variable 

Extra dummy variable 

14 
APPENDIX B 

CONTROL SIMULATION VARIABLES IN MVCOUT 

The follow1ng 1s a l1st of control var1ables used 1n the s1mulat1on. 

These var1ables are all 1n the common called MVCOUT and are also pr1nted as a 

portion of the hard copy output of the program. 

Channel 

number 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 

23 

24 

25 

26 

27 

28 

29 

30 

31 

32 

33 

34 

35 

36 

37 

38 

39 

4"0 

41 

42 

43 

Variable 

PLAMV 

ALTMV 

SMNMV 

TT2MV 

PT2MV 

PLASN 

TT2SN 

PT2SEN 

SMNSEN 

PMODE 

SNFSEN 

SNCSEN 

TT25SN 

FTITSN 

PT4SEN 

PT6MSN 

RINP1 

RINP2 

RINP3 

RINP4 

WFMBFB 

AJFB 

SVAVFB 

FGVVFB 

BLCFB 

PLAEST 

TT2EST 

PT2EST 

SMNEST 

PMDEST 

SNFEST 

SNCEST 

T25EST 

FTIEST 

PT4EST 

PT6EST 

RESTl 

REST2 

REST3 

REST4 

WFMBES 

AJEST 

SVAVES 

Units 

deg 

m 

K 

kPa 

deg 

K 

N/m2 

rpm 

rpm 

K 

K 

N/m2 

N/m2 

~~/sec 

deg 

deg 

percent 

deg 

K 

N/m2 

rpm 

rpm 

K 

K 

N/m2 

N/m2 

~~/sec 

deg 

Description 

PLA 1nput 

Altitude input 

Mach number input 

Ambient TT2 

Ambient PT2 

Sensed PLA 

Sensed TT2 

Sensed PT2 

Sensed Mach number 

Extra variable 

Sensed fan speed Sensed compressor speed 

Sensed TT25 

Sensed FTIT 

Sensed PT4 

Sensed PT6 

Extra variable 

Extra variable 

Extra var1able 

Extra variable 

Sensed fuel flow 

Sensed nozzle area 

Sensed h1gh compressor stator angle 

Sensed fan gu1de vane angle Sensed bleed flow 

Estimated PLA 

Estimated TT2 

Estimated PT2 

Estimated Mach number 

Extra variable 

Estimated fan speed 

Estimated compressor speed 

Estimated TT25 

Estimated FTIT 

Estimated PT4 

Estimated PT6 

Extra variables 

Extra variables 

Extra variables 

Extra var1ables 

Estimated fuel flow 

Estimated nozzle area 

Estimated stator vane angle 

15 
Channel 

number 

44 

45 

46 

47 

48 

49 

50 

51 

52 

53 

54 

55 

56 

57 

58 

59 

60 

61 

62 

63 

64 

65 

66 

67 

68 

69 

70 

71 

72 

73 

74 

75 

76 

77 

78 

79 

80 

, 81 

82 

83 

84 

85 

86 

87 

88 

89 

90 

91 

92 

93 

94 

Var1able 

FGVVES 

8LCEST 

PLASS 

TT2SS 

PT2SS 

SMNSS 

PMDSS 

SNFSCH 

SNCSCH 

T25SCH 

FTISCH 

PT4SCH 

PT6MSH 

TT4P 

TT45P 

FNMXSH 

SMHCSH 

WFMBSH 

AJSCH 

FGVVSH 

SVAVSH 

BLCSH 

PLATR 

TT2TR 

PT2TR 

SMNTR 

PMDTR 

SNFTR 

SNCTR 

T25TR 

FTITR 

PT4TR 

PT6M1R 

RTR1 

RTR2 

RTR3 

RTR4 

WFMBTR 

AJTR 

FGVVTR 

SVAVTR 

BLCTR 

DELN1 

DELN2 

DELPH 

DELTIT 

DELPT4 

DLQWF 

OLQAJ 

OLQSVA 

OLQFGV 

UnHs 

deg 

percent 

deg 

K 

N/m2 

rpm 

rpm 

K 

K 

N/m2 

N/m2 

K 

K 

N 

~~/sec 

deg 

deg 

percent 

deg 

K 

N/m2 

rpm 

rpm 

K 

K 

N/m2 

N/m2 

~~/sec 

deg 

deg 

percent 

rpm 

rpm 

N/m2 

K 

N/m2 

~fsec 

deg 

deg 

Descr1pt1on 

Est1mated fan gu1de vane angle Est1mated bleed 

Steady state schedule value of PLA 

Steady state schedule value of TT2 

Steady state schedule value of PT2 

Steady state schedule value of SMN 

Extra var1able 

Steady state schedule value of fan speed Steady state schedule value of compressor speed 

Steady state schedule value of TT25 

Steady state schedule value of FTIT 

Steady state schedule value of PT4 

Steady state schedule value of PT6 

Steady state schedule value of TT4PLO 

Steady state schedule value of TT45PLO 

Steady state schedule value of THRUST 

Steady state schedule value of compressor surge 

marg1n Steady state schedule value of fuel flow 

Steady state schedule value of nozzle area 

Steady state schedule value of fan gu1de vane angle 

Steady state schedule value of stator vane angle 

Steady state schedule value of bleed 

Trans1t1on control value of PLA 

Trans1t1on control value of TT2 

Trans1tion control value of PT2 

Trans1t1on control value of Mach number 

Extra variable 

Trans1tion control value of fan speed Transition control value of compressor speed 

Trans1tion control value of TT25 

Transition control value of FTIT 

Trans1tion control value of PT4 

Trans1tion control value of PT6M 

Extra variable 

Extra variable 

Extra var1able 

Extra var1able 

Trans1tion control value of fuel flow 

Trans1t1on control value of nozzle area 

Transit10n control value of fan guide vane angle 

Trans1t1on control value of stator vane angle 

Transition control value of bleed 

Regulator error. fan sp,eed Regulator error. compressor speed 

Regulator error. PT6 

Regulator error. FlIT 

Regulator error. PT4 

Regulator control contribution. fuel flow 

Regulator control contribution. nozzle area 

Regulator control contribut1on. stator vane angle 

Regulator control contribution. fan guide vanes 
Channel Variable Units. Description number 

95 OlQBlC percent Regulator control contribution, bleed 

96 XINFER rpm Integral error, fan speed 

97 XIEPER ------- Integral error, EPR 

98 XISVER deg Integral error, stator vane 

99 XIFGER deg Integral error, fan guide vanes 

100 XIBlER percent Integral error, bleed 

101 XIFTER K Integral error, FTIT 

102 XIPHER N/m2 Integral error, high burner pressure 

103 XIPlER N/m2 Integral error, low burner pressure 

104 XTRAA1 ------- Extra variable 

105 XTRAA2 ------- Extra variable 

106 OITWF ~2/sec Euler difference value of WFMBH 

107 OITAJ Euler difference value of AJCO 

108 OITSVA deg Euler difference value of SVAPOS 

109 DITFGV deg Euler difference value of FGVPOS 

110 DITBlC percent Euler difference value of BlC 

111 XIWFMB ~2/sec Integral control contribution of WFMBH 

112 XIAJ Integral control contribution of AJCO 

113 XISVAV deg Integral control contribution of SVAPOS 

114 XIFGVV dog Integral control contribution of FGVPOS 

115 XIBlC percent Integral control contribution of BlC 

116 WFMBCl ~~/sec Unlimited control output for WFMBH 

117 AJCl Unlimited control output for AJCO 

118 SVAVCL deg Unlimited control output for SVAPOS 

119 FGVVCL deg Unlimited control output for FGVPOS 

120 BlCCl percent Unlimited control output for BlC 

121 WFCOM ~2/sec Commanded control output for WFMBH 

122 AFCOM Commanded control output for AJCD 

123 SVAVCM deg Commanded control output for SVAPOS 

124 FGVVCM deg Commanded control output for FGVPOS 

125 BlCCM percent Commanded control output for BlC 

126 WFABSH -------- Unused variable 

127 WFABTR ------- Unused variable 

128 WFABCl ------- Unused variable 

129 WFABCM ------- Unused variable 

130 WFABFB ------- Unused variable 

131 WFABES ------- Unused variable 

132 XSEGlT ------- Unused variable 

133 XlOO ------- Unused variable 

134 OlQWAB ------- Unused variable 

135 XIWFAB - ------ Unused variable 

136 XIABER ------- Unused variable 

137 OITWAB ------- Unused variable 

138 ABS5 ------- Unused variable 

139 ABS6 ------- Unused variable 

140 ABS7 ------- Unused variable 

141 XWFFlG ------- Fuel flow limit flag (1 = Max limit, -1 = Min limit 

142 XAJFlG ------- AJ limit Flag (1 = Max limit, -1 = min limit) 

1"43 XRCFlG ------- SVAPOS limit flag (1 = Max limit, -1 = Min limit) 

144 XCVFLG ------- FGVPOS limit flag (1 = Max limit, -1 = Min limit) 

145 XBlFLG ------- BlC limit flag (1 = Max limit, ~1 = Min limit) 

146 XABFLG ------- Unused variable 

17 
Channel Var1able UnHs Descr1pt1on 

number 

147 XNFFLG ------- Integral control (=1 , fan speed control) 

148 XFTFLG ------- Integral control flag (=1, FTIT control) 

149 XPHFLG ------- Integral control flag (=1, Max PT4 control) 

150 XPLFLG ------- Integral control flag (=1, M1n PT4 control)' 

151 XMTRAN ------- Transient indication flag 

152 SPR2 ------- Unused variable 

153 SPR3 ------- Unused variable 

154 SPR4 ------- Unused variable 

155 SPR5 ------- Unused variable 

156 SPR6 ------- Unused variable 

151 SPR1 ------- Unused variable 

158 SPR8 ------- Unused variable 

159 SPR9 ------- Unused variable 

160 SPR10 ------- Unused variable 

161 SPR11 ------- Unused variable 

162 SPR12 ------- Unused variable 

163 SPR13 ------- Unused variable 

164 SPR14 ------- Unused variable 

165 SPR15 ------- Unused variable 

166 WASH kg/sec Maximum a 1 rfl ow 

161 WFMIN kg/sec Minimum fuel flow 

16B WFMAX kg/sec Maximum fuel flow 

169 WABMX ------- Unused variable 

170 WABMN ------- Unused variable 

171 FTITMX K Maximum FTIT 

172 PBMIN N/m2 Minimum PT4 

173 PBMAX N/m2 Maximum PT4 

18 
APPENDIX C 

DIA SIMULATION VARIABLES IN DIAOUT 

The follow1ng 1s a l1st of DIA var1ables used 1n thes1mulat10n. These 

variables are all 1n the common called DIAOUT and are also printed as a 

port10n of the hard copy output of the program. 

Channel 

number 

1 to 11 

12 to 22 

23 to 33 

34 to 38 

39 to 43 

44 to 48 

49 to 53 

54 

55 

56 

51 

58 

59 

60 to 64 

65 to 69 

10 to 14 

15 to 19 

80 to 84 

85 to 89 

90 to 94 

95 to 99 

100 to 104 

105 to 109 

110 to 114 

115 to 119 

120 

121 to 125 

126 to 130 

131 

132 to 136 

131 

138 

139 to 145 

146 to 200 

Var1able 

SF 

BI 

V 

Z 

ZUL 

ZH 

GAMDHO 

DTHRSH 

DFLAGH 

KI 

ElA 

DTHRSS 

DFlAGS 

ZIO 

GAMIHO 

Zll 

GAMIHl 

ZI2 

GAMIH2 

ZI3 

GAMIH3 

ZI4 

GAMIH4 

ZI5 

GAMIH5 

HIOO 

HI 

HOMHI 

ITHRSH 

ICHAN 

ISOLT 

ACCOM 

ZACCOM 

DOUT 

Descr1pt10n 

Scale factor fa1lure values for the eleven sensed variables 

B1as fa1lure values for the eleven sensed variables 

N01se fa1lure values for the eleven sensed var1ables 

The vector of measurements used as the accommodation 

f1lter 1nput 

The vector of unlagged (no sensor dynam1cs) est1mates of Z 

The vector of est1mates of Z (w1th sensor dynam1cs) 

The vector of accommodat10n f1lter res1duals 

Unused 

Hard detect10n flag 

Norma11zed and squared sum of res1duals 

We1ghted sum (over t1me) of squared residuals 

Unused 

Soft detect10n flag 

Output vector of hypothes1s 0 

Res1dual vector of hypothes1s 0 

Output vector of hypothes1s 1 

Res1dual vector of hypothes1s 1 

Output vector of hypothes1s 2 

Res1dual vector of hypothes1s 2 

Output vector of hypothes1s 3 

Res1dual vector of hypothes1s 3 

Output vector of hypothes1s 4 

Res1dual vector of hypothes1s 4 

Output vector of hypothes1s 5 

Res1dual vector of hypothes1s 5 

L1ke11hood value for hypothes1s 0 

l1ke11hood value for hypothes1s 1 to 5 

log l1ke11hood rat10s 

Unused 

Isolated channel flags 

Isolat1on flag 

Accommodat1on flag 

Accommodat1on f1lter outputs 

Extra var1ables 

19 
REFERENCES 

1. Merrill, W.C., et al.: HYTESS - A Hypothetical Turbofan Engine Simplified 

Simulation. NASA TM-83561, 1984. 

2. Lehtinen, B., et al.: F100 Multivariable Control Synthesis Program - Results of Engine Altitude Tests. NASA TM S-83367, 1983. 

3. Merrill, W.C.: Sensor Failure Detection for Jet Engines Using Analytical 

Redundancy. Journal of Guidance, Control, and Dynamics, vol. 8, no. 6, 

Nov.-Dec. 1985, pp. 673-682. 

4. DeLaat, J.C.; and Merrill, W.C.: A Real-Time Implementation of an Advanced 

Sensor Failure Detection, Isolation, and Accommodation Algorithm. AIAA 

Paper 84-0569, Jan. 1984. 

TABLE I. - TYPICAL REGRESSION POLYNOMIALS FOR THE ELEMENTS OF 

THE SYSTEM MATRICES 

System Element Polynomial a 

matr1x 

F (1 ,1) 0.0968 0.0019 PT62 - - 2.463 6 - 62 

0.000933 PT6 -9 2 

F-1 G (4,1) 0.97x10 N1 PT~ _ 0.03&0& - ---- . 6 -Vo 6 

H (5,3) 0.03116 + 0.5486x10-4 TT45 _ 0.3612 6 

0 (5,1) -0.03546 + 

31 .356 

+ 0.04914 PT4 

a6 = Pl/14.696; 6 = Tl/518.67 

20 
TABLE II. - HYTESS II ROUTING HIERARCHY 

Level 

I II III IV V VI VII VIII 

MAIN SETUP 

MSET 

READ IN SCURVE UNBAR 

GCNTL UNBAR 

TRCNTL MODEL UNBAR 

UNBAR 

INCNTL UNBAR 

STDST8 INLET ALTABL 

PRCMB PVAL 

HFTA PVAL 

TFHA PVAL 

SNFMAP UNBAR 

SN1SCH SCURVE UNBAR 

N2TABL SCURVE UNBAR 

RPSCH N2TABL SCURVE UNBAR 

SCURVE UNBAR 

SPRINT 

FGVCAL 

MVCNT SENSOR XLAGX 

FSENS GRAND RANDU 

EMODEL SNFMAP UNBAR 

RPSCH N2TABL SCURVE UNBAR 

SCURVE UNBAR 

SPRINT 

FGVCAL 

FDIA FILTER SUB 

MUL 

ADD 

DMINV 

SCA 

XLAGX 

NORMAL MUL 

WSSR 

XLAGX 

RPSCH N2TABL SCURVE UNBAR 

SCURVE UNBAR 

SPRINT 

FGVCAL 

TRCNTL MODEL UNBAR 

UNBAR 

GCNTL UNBAR 

LQR 

INCNTL UNBAR 

EPRTKT SCURVE UNBAR 

ACTUAT 

EMODEL SNFMAP UNBAR 

RPSCH N2TABL SCURVE UNBAR 

SCURVE UNBAR 
TABLE II. - Concluded. 

Level 

I II III IV V VI VII VIII 

SPRINT 

FGVCAL 

SIMUL SUB 

MUL 

SCA 

ADO 

PRINT 

TRANS PRINT 

NUTIME 

INLET ALTABL 

PRCMB PVAL 

HFTA PVAL 

TFHA PVAL 

MVCNT SENSOR XLAGX 

FSENS GRANO RANDU 

EMODEL SNFMAP UNBAR 

RPSCH N2TABL SCURVE UNBAR 

SCURVE UNBAR 

SPRINT 

FGVCAL 

FDIA FILTER SUB 

MUL 

ADO 

DMINV 

SCA 

XLAGX 

NORMAL MUl 

WSSR 

XLAGX 

RPSCH N2TABL SCURVE UNBAR 

SCURVE UNBAR 

SPRINT 

FGVCAL 

TRCNTL MODEL UNBAR 

GCNTL UNBAR 

LQR 

INCNTL UNBAR 

EPRTKT SCURVE UNBAR 

ACTUAT 

EMODEL SNFMAP UNBAR 

RPSCH N2TABL SCURVE UNBAR 

SCURVE UNBAR 

SPRINT 

FGVCAL 

SIMUl SUB 

MUL 

SCA 

ADD 
TABLE III. - HYTESS II ROUTINE DESCRIPTIONS 

ACTCRV - Block Data, contains data for stator vane angle schedule 

ACTUAT - Simulates actuators 

ADD - General matrix addition 

ALTABL - Calculates temperature and pressure corrections at various altitudes 

DIAPNT - Block Data, contains names of DIA variables to be printed 

DMINV - General matrix inversion 

EMODEL Calculates engine model matrices and basepoints and Kalman filter 

gain matrix 

ENGPRN - Block Data, contains names of engine variables to be printed 

EPRTKT MVC engine protection logic 

FolA - DIA analytical redundancy algorithm 

FGVCAL - Calculates fan guide vane angle scheduled value 

FILTER - DIA Kalman filter calculation 

FSENS - Simulates sensor failures 

GCNTL - Calculates proportional and integral gains 

GRAND - Converts uniformly distributed random numbers to Gaussian distributed 

random numbers 

HFTA - Calculates enthalpy as a function of temperature 

INCNTL - Integral control logic 

INLET - Solves for engine inlet conditions from ambient conditions 

LQR - Linear Quadratic Regulator (proportional) control logic. 

MAIN - Main program for HYTESS II 

METRIC - Converts from English to metric units or vice versa 

MODEL - Used by the transition control to generate trajectory value of states 

MSET 

MUL 

MVCGAN 

MVCNT 

and outputs - Initializes program control parameters - General matrix multiply - Block Data, contains data for PI gain matrices - Control system structure including sensors, DIA logic, multivariable 

PI logic, and actuators 

MVCPRN - Block Data, contains names of control variables to be printed 

NORMAL - Computes normalized dot product of a vector 

NUTIME - Finds print interval and values of ramp functions 

N2TABL - Calculates N2 as a function of PLA and TT2, or PLA as a function of 

N2 and TT2 

PRCMB - Calculates specific heat as a function of temperature 

PRINT - Formats and prints output 

PVAL - Evaluates a given polynomial RANDU - Generates uniformly distributed random numbers 

READIN - Reads input data 

RPSCH - Calculates steady-state operating point values for state, output, 

and control variables 

SCA Multiply elements of a matrix by a constant 

SCURVE - Contains data (curves) for steady-state operating points 

SENSOR - Simulates sensors 

SETUP Initialization routine 

SIHUL - Updates engine state space model equations using Euler integration 

SNFMAP - Finds PLA as a function of Nl, TT2, and SMN 

SN1SCH - Finds Nl as a function of TT2, SMN, and PLA 

SPRINT - Table lookup routine 
TABLE III. - Concluded. 

STOST8 - Controls execution during steady-state convergence 

SUB - General matrix subtraction 

TFHA - Calculates temperature as a function of enthalpy 

TRANS - Controls execution during a transient. 

TRCNTL - Transition control logic 

UNBAR - Table lookup routine 

WSSR - OIA weighted sum of squared residuals calculation 

XLAGX - First order lag 

TABLE IV. - IS1 EXAMPLE INPUT TEST CASE 

&INPUT 

TRAN=1.0, IPLOT= l,SFAIL=1.0, 

SALT =0.0, SMACH=0.O,SPLA=20.0 

IMTRC= 1, 

&ENO 

&INTRAN 

PNTBLK = 0.0, 0.1, 10.0,.1 , PLABLK = 0.0,20.0, .5, 20.0, 1.0,83.0, 10.0,83.0, 

SMPBLK = 0.0,0.02, 0.04,0.02, 10.0,.02, 

&ENO 

&PLOT 

IPVAR1 = 1, 4,22,23 

IPVAR2 = 11,12 

IPVAR3 = 49,50 

&END 

&FSNS 

Bl11BK = 0.0,0.0, 2.5,0.0, 7.502,250., 

&ENO 

TABLE V. - IS2 EXAMPLE INPUT TEST CASE 

&INPUT 

SMACH=0.,SALT=0.,SPLA=52.,TRAN=1., 

SFGVV=-25.,SSVAV=6.0, 

&END 

&INTRAN 

PNTBLK=O. , .1 ,10. , .1 , FGVBLK=0.O,-25.0,O.l,-25.0,.2,-22.5,10.,-22.5, 

SVABLK=0.O,6.0,5.0,6.0,5.1,5.4,10.,5.4, 

&ENO 
TABLE VI. - DESCRIPTION OF STEADY-STATE NA~~LlST INPUT 

Var1able Default 

name 

Description 

TRAN 

IPLOT 

ISCL 

SFAIL 

MFLAG 

SALT 

SMACH 

SPLA 

SIAM 

SPAM 

SDTAM 

SDPAM 

SPT2 

STT2 

SWF 

SAJ 

SFGVV 

SSVAV 

SBLC 

IMTRC 

Variable 

name 

SCL(l) 

SCL(2) 

SCL(3) 

SCL(4) 

SCL(5) 

SCL(6) 

SCL(7) 

SCL(B) 

SCL(9) 

$CL(lO) 

o 

1 

-999 

o 

If TRAN=l then transient run des1red 

If IPLOT=l then plotting desired 

If ISCL=l then enter new engine scale factors 

If SFAIL=l then 1nclude sensor DIA logic If MFLAG=l then enter new control logic parameters 

Altitude. m 

Mach number 

Power level angle. deg Amb1ent temperature, K ~ 

Ambient pressure. N/m2 

Adder to ambient temperature. K 

Adder to ambient pressure. N/m2 

Engine face total pressure. N/m2 

Engine face total temperature. K 

Fuel flow. kg/sec 

Nozzle jet area. m2 

Fan gu1de vane angle. deg 

Compressor stator vane angle. deg 

Bleed flow. percent If IMTRC=l then convert output from English to 

metric units 

TABLE VII. - DESCRIPTION OF NAMELIST SCALE 

Default value Var1able descript10n 

10 000 rpm Scale factor for engine state l(SNFAN) 

15 000 rpm Scale factor for engine state 2(SNCOM) 

1 600 OF Scale factor for engine state 3(TT4PLO) 

1 600 OF Scale factor for engine state 4(TT45LO) 

10 000 rpm Scale factor for engine output l(SNFN) 15 000 rpm Scale factor for engine output 2(SNCM) 

550 psi Scale factor for engine output 3(PT4) 

130 psi Scale factor for engine output 4(PI6) 1 600 OF Scale factor for engine output 5(TT45) 

25 000 lb Scale factor for engine output 6(FNMX) 
TABLE VIII. - DESCRIPTION OF NAMELIST MVCIN 

Var1able Default Descr1pt1on 

name 

XMVC Def1ned 1n Equ1valenced to the 81 var1ables 1n the 

rout1ne MSET common MVCCON 

SSCH 0.0 If SSCH~O.O then read ~ew steady-state 

schedule data 

GAININ 0.0 If GAININ~O.O then read new PI control ga1ns 

TCNIN 0.0 If TCNIN~O.O then read new trans1t1on 

control rate data 

XINTIN' 0.0 If XINTIN~O.O then read 1ntegral control dead zone data 

TABLE IX. - DESCRIPTION OF TRANSIENT NAMELIST INTRAN 

Var1able Default Descr1pt1on 

array name 

Step 1nput 

PNTBLK -999 Pr1nt 1nterval 

SMPBLK -999 Control samp11ng 1nterval 

Ramp 1nputs 

PLABLK -999 PLA ramp 1nput ALTBLK Alt1tude ramp 1nput 

XMNBLK Mach number ramp 1nput 

WFBLK Fuel flow ramp 1nput 

AJBLK Nozzle area ramp 1nput 

FGVBLK Fan gu1de vane ramp 1nput 

SVABLK Compressor stator vane angle ramp 1nput 

BLCBLK Bleed flow ramp 1nput 

TABLE X. - DESCRIPTION OF NAMELIST PLOT 

Var1ab1e Default Var1able descr1pt1on 

name 

I PVARl -1 Integer array that def1nes those var1ables 1n the common 

ENGOUT that are to be saved for plott1ng. See appendix A 

IPVAR2 - 1 Integer array that def1nes those var1ables 1n the common 

MVCOUT that are to be saved for p1ott1ng. See appendix B. 

IPVAR3 -1 Integer array that def1nes those var1ables 1n the common 

DIAOUT that are to be saved for plotting. See appendix C. 
TABLE XI. - DESCRIPTION OF NAMELIST FSNS 

Variable Default 

name 

GMEANO(l) 0 

(3 (2) ) 1 

(4) 

( 5) 

GSDO( 1) 350 

(2) 400 

(3) 30 

(4) 5 

( 5) 250 

NHIST 3 

THRH 0.2 

THRDI 2.0 

THRD 1.6 

THRI 3.0 

TAU .1 

FSPRT 0 

NAMP( 1) 0 

(2 ) 

(3 ) 

(4) 

( 5) 

(6) 

(7) 

(8) 

(9) 

(10) 

(11 ) 

SN1BLK -999 

SN28LK 

SN3BLK 

SN4BLK 

SN5BLK 

SN6BLK 

SN7BLK 

SN8BLK 

SN9BLK 

SN10BLK 

SNllBLK 

BIl BLK -999 

BI2BLK 

BI3BLK 

BI4BLK 

BI5BLK 

BI6BLK 

BI1BLK 

Variable description 

Noise mean for DIA variable 1 

Noise mean for DIA variable 2 

Noise mean for DIA variable 3 

Noise mean for DIA variable 4 

Noise mean for DIA variable 5 

Noise standard deviation for DIA variable 1 

Noise standard deviation for DIA variable 2 

Noise standard deviation for DIA variable 3 

Noise standard deviation for DIA variable 4 

Noise standard deviation for DIA variable 5 

The number of past values used in the calculation of 

the WSSR statistic 

Heal threshold factor 

Hard failure detection/isolation threshold factor 

Soft failure detection threshold 

Soft failure isolation threshold 

Time constant used for smoothing hypothesis log 

likelihoods 

If FSPRT=O.O then write the failure detection data 

and failure scenario data 

Noise amplification factor for PLASN 

Noise amplification factor for TT2SN 

Noise amplification factor for PT2SN 

Noise amplification factor for SMNSN 

Noise amplification factor for EXTRA 

Noise amplification factor for SNFSEN 

Noise amplification factor for SNCSEN 

Noise amplification factor for TT25SN 

Noise amplification factor for FTITSN 

Noise amplification factor for PT4SEN 

Noise amplification factor for PT6MSN 

Data for simulated step change in PLASN scale factor 

Data for simulated step change in TT2SN scale factor 

Data for simulated step change in PT2SN scale factor 

Data for simulated step change in SNMSN scale factor 

Data for simulated step change in EXTRA scale factor 

Data for simulated step change in SNFSEN scale factor 

Data for simulated step change in SNCSEN scale factor 

Data for simulated step change in TT25SN scale factor 

Data for simulated step change in FTITSN scale factor 

Data for simulated step change in PT4SEN scale factor 

Data for simulated step change in PT6MSN scale factor 

Data for simulated ramp change in PLASN bias factor 

Data for simulated ramp change in TT2SN bias factor 

Data for simulated ramp change in PT2SN bias factor 

Data for simulated ramp change in SMNSN bias factor 

Data for simulated ramp change in EXTRA bias factor 

Data for simulated ramp change in SNPSEN bias factor 

Data for simulated ramp change in SNCSEN bias factor 
TABLE XI. - Concluded. 

Variable Default Variable description 

name 

BI8BLK -999 Data for simulated ramp change in TT25SN bias factor 

BI9BLK 

1 

Data for simulated ramp change in FTITSN bias factor 

BIllBLK Data for simulated ramp change in PT4SEN bias factor 

BIllBLK Data for simulated ramp change in PT6MSN bias factor 
Station o 

Actuators 

Inlet Fan 

2 2.5 

PLA 

Figure 1. - HYTESS II system block diagram. 

r High pressure turbi ne I Combustor ---'\ , rLow pressure turbine 

\ , I 

Compressor 

__ \ , I ~-L-.L 

3 4 4.5 5 6 

Nozzle 

-----

8 E 

Figure 2. - Schematic representation of a hypothetical turbofan engine. 
24 

21 

IB 

15 

x 12 

.a 

.3 

:;::; 

< 

9 

6 

3K/.3 

22 9K/l 2 22. 9K/2. 3 ,..--·..."..-·-------...--... 22. 9K/2. 5 

1O.7K/.B 

9.21</.6 

• 

• 

6. 1Kl75 

21. 41<12.1 

• 

19. 2KIl. 2 19.BK/1.B 

• • 

.1BK/2. 0 

.17.1K/2. 0 

• 

19. BK/2. 5 

15. 2K I 1.3 16.BK/2.1 _--15.2K/Z.3 

• • :=---14. 9K/2. 3 

15.2K/1.B ,~13. 7K/2. 5 

13KIl.B • 13K/2. 2 . ,,' • ." 12. 5K12. 0 

• 10. 7K/1. 6 

,,- .--

~ 12. 5K/2. 3 

~ 10. 7K/2. 2 

10. 7K/2. 5 

B. 5K/1. 25 

• 

3 • .3K/.75 

(RPSCH) 

Reference 

point 

schedules 

o 

(e) - Simulation 

subroutine 

names 

rO/O 

I 

I 

Mach number 

Figure 3. - Engine flight envelope with engine operating 

points. 

(TRCNTU 

Transition 

control YTR 

Engine 

output 

estimates 

Y 

+ Proportional 

and integral 

control 

Gain 

schedules 

N2TR cp 

Figure 4. - HYTESS II control block diagram. 

+ 

+ 

(EPRTKTl 

Engine 

protection 

(LOR) and UNCNTll 

(GCNTU 

u 
Controls r---------. 

Urn Accommodation filler 

x = FX + GU + KE 

Y = HX + OU 

Estimates 

Y 

Engine 

outputs 

Ym 

Residuals 

E 

Figure 5. - Sensor OIA normal mode accommodation filter. 

Residuals, E 

Soft detect 

Figure 6. - OIA hard failure detection 

and isolation logic. 

U 

Y 

Residuals, E 

No failures 

Soft isolation 

Figure 7. - OIA soft failure detection 

logic. 

i • 0,1, 2, ... ,5 

Continue 

Y Update X and Yi 

Modify 5 and Sj 

Figure 8. - OIA soft failure isolation logic. 
Initialize 

all variables 

Calculate 

ste ady state 

point 

Generate 

transient 

Figure 9. - Basic program flow through MAIN. 
'" Q) 

"C 

<t' 

-' 

c... 

100 

80 

60 

0 User specified pOint 

40 

20 

o .5 

Figure 10. - User specified PLA input transient - ISl example test 

case. (See table IV. ) 

300 

Q. '" 

~£ 200 ::l 

~ 

'" :c '" 100 -0 

I:i: 

0 

Figure 11. - PT6 bias failure versus time. 
Calculate 

engine face 

conditions 

Calculate 

Nl = F(WFI 

Calculate 

PlA = F(Nli 

Calculate 

nominal 

response 

Calculate 

control 

and OIA 

Calculate 

base pOint 

and system 

matrices 

Solve state 

space model 

equations 

Figure 12. - Basic program flow through 5T05T. 
Calculate base 

point and 

system matrices 

C alcu late state 

space model 

equations 

Increment time 

and update 

requested input 

Calculate 

inlet 

conditions 

Calculate 

control 

and OIA 

Figure 13. - Basic program flow through TRANS. 
I TIME 0.00000 

2 At T 0.00000 3 SMN 0.00000 4 PlA 20.000 

5" 14.696 • TO 5111.69 7 OPO 0.00000 8 OTO 0.00000 9 pT2 14.696 10 TT2 518.67 11 VO 0.00000 12 ET ARAM 1.0000 

13 IoIFMBH lln.l 14 AJCO 3.0000 IS FGVPOS -25.000 16 SVAPOS -39.0n 17 BtC 0.00000 

18 SNFAH 3540.9 19 SNCOM 8695.4 20 TT4PtO 87.559 21 TT45l0 61.513 

22 SNFAH 3540.9 

23 SHCOM 8695.4 2. PI' 65.498 

25 PT6 13.516 2. TT4S 974.43 27 FIlMX 1363.9 

28 SMHC 0.77921 

HYPOTHETICAL TURBOFAN CONTROllER 

'" ENGINE RESPONSE VARIABLES Ull O.IOOOOE 00 0.20000 0.30000 0.40000 0.50000 0.60000 0.70000 

II!1l1AMBIENT CONOITIONS!IlIIi 

0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.011000 0.00000 0.00000 0.00000 0.00000 20.000 20.000 20.000 20. ODD 20. ODD 32.600 45.200 14.696 14.696 14.696 14.696 14.696 14.696 14.696 5111.69 5111.69 5111.69 5111.69 5111.69 518.69 5111.69 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 14.696 14.696 14.696 14.696 14.696 14.696 14.696 518.67 518.67 518.67 518.67 518.67 518.67 518.67 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 1. 0000 1. DODO 1.0000 1. 0000 1. 0000 1.0000 1.0000 

!IlI.ENGINE INPUTsuli 

1133.1 lln.3 lln.6 lln.8 1134.0 1227.9 1358.4 2.9500 2.9500 2.9500 2.9500 2.9500 3.0062 3.0034 -25.000 -25.000 -25.000 -25. ODD -25. ODD -24.357 -24.7ll -39.0n -39.0n -39.033 -39.029 -39.018 -33.321 -38.608 

0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 

lin ENGINE STATES.u 3536.8 3534.1 3531. 9 3530.1 3528.6 3536.2 3557.1 8693.8 8692.5 8691. 4 8690.4 8689.6 3702.2 8743.5 87.504 87.467 87.439 87.413 37.404 87.813 89.101 61.472 61.450 61.439 61.437 61.439 61. 998 63.712 

nllEHGIHE OUTPUTSu. 3536.3 3534.1 3531. 9 3530.1 3528.' 3536.2 3557.1 8693.3 8692.5 8691.4 8690.4 8689.6 8702.2 8743.5 65.470 65.448 65.429 65.414 65.403 66.643 68.749 13.617 13.613 13.610 13.608 13.606 13.520 13.576 975.04 975.51 975.94 976.29 976.55 1015.4 1065.2 1381.2 1380.2 1379.4 1378.7 1378.2 1373.3 1399.1 0.77891 0.77861 0.77834 0.77809 0.77785 0.76993 0.76486 

Figure 14. - Sample of program printout for test case of table IV. 

14000 

E 10000 ~ 

"CO> 

0> 

C. 

Vl 6000 

2000 

0 

Compressor (SNCOM) 

Fan (SNFAN) 

2 8 

Time, sec 

Figure 15. - Fan and compressor speed versus time 

(lPVARll. 

10 

0.1I0000 0.90000 

0.00000 0.00000 0.00000 0.00000 57.1I00 70.400 14.696 14.696 

5111.69 518.69 0.00000 0.00000 0.00000 0.00000 14.696 14.696 

518.67 518.67 0.00000 0.00000 1. 0000 1. 0000 

1469.6 1564.7 3.0053 2.9995 -24.562 -24.452 -38.281 -37.748 

0.00000 0.00000 

3592.7 3642.6 8809.1 8392.1 91.143 93.731 66.290 69:368 

3592.7 3642.6 8809.1 8892.1 71. 097 73.646 13.656 13.758 1100.9 1125.1 1430.1 1465.9 0.76730 0.77496 
E 

a. 

"-

'0' 

Q) 

Q) 

a. 

v> 

'0 

Q) 

v> 

c: 

Q) 

Vl 

E 

a. 

"-

on 

;; 

::l 

:2 

v> 

~ 

a:J 

Q) 

a. 

14000 

Compressor (SNCSEN) 

10000 Fan (SNFSEN) 

6000 

2000

0 

400 

200 

0 

Time, sec 

Figure 16, - Sensed fan and compressor speed versus 

time (IPVAR2), 

" Compressor I \ (gamma 2) 

1\ 

, \ 

I , I , 

I 

Vl . 

-200 

-400 

0 2 4 6 10 

Time, sec 

Figure 17. - Fan and compressor speed residuals versus 

time (lPVAR3). 
1. Report No. 2. Government Accession No. 

NASA TM-87344 

4. Title and Subtitle 

HYTESS II - A Hypothetical Turbofan Engine Simplified Simulation With Multivariable Control 

and Sensor Analytical Redundancy 

7. Author(s) 

Walter C. Merrill 

9. Performing Organization Name and Address 

National Aeronautics and Space Administration 

Lewis Research Center 

Cleveland, Ohio 44135 

12. Sponsoring Agency Name and Address 

National Aeronautics and Space Administration 

Washington, D.C. 20546 

15. Supplementary Notes 

16. Abstract 

3. Recipient's Catalog No. 

5. Report Date 

June 1986 

6. Performing Organization Code 

505-62-01 

8. Performing Organization Report No. 

E-30l4 

10. Work Unit No. 

11. Contract or Grant No. 

13. Type of Report and Period Covered 

Technical Memorandum 

14. Sponsoring Agency Code 

A hypothetical turbofan engine simplified simulation with a multivariable control 

and sensor failure detection, isolation, and accommodation logic (HYTESS II) is 

presented. The digital program, written in FORTRAN, is self-contained, efficient, realistic, and easily used. Simulated engine dynamics were developed from 

linearized operating point models. However, essential nonlinear effects are 

retained. The simulation is representative of a hypothetical, low bypass ratio 

turbofan engine with an advanced control and failure detection logic. Included 

is a description of the engine dynamics, the control algorithm, and the sensor 

failure detection logic. Details of the simulation including block diagrams, 

variable descriptions, common block definitions, subroutine descriptions, and 

input requirements are given. Example simulation results are also presented. 

17. Key Words (Suggested by Author(s» 

Turbofan engine; Mu1tivariab1e 

control; Simulation; Analytical 

redundancy 

18. Distribution Statement 

Unclassified - unlimited 

STAR Category 33 

19. Security Classlf. (of this report) 

Unclassified 

20. Security Classl!. (of this page) 

Unclassified 

21. No. of pages 

"For sale by the National Technical Information Service, Springfield, Virginia 22161 

22. Price' 
End of Document