+ All Categories
Home > Documents > ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet...

ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet...

Date post: 26-May-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
139
A New Method for Generating Swirl Inlet Distortion for Jet Engine Research Kevin M. Hoopes Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Master of Science in Mechanical Engineering Walter F. O’Brien, Chair Kevin Todd Lowe Christopher B. Williams May 8, 2013 Blacksburg, Virginia Copyright 2013, Kevin M. Hoopes
Transcript
Page 1: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A New Method for Generating Swirl Inlet Distortion

for Jet Engine Research

Kevin M. Hoopes

Thesis submitted to the Faculty of the

Virginia Polytechnic Institute and State University

in partial fulfillment of the requirements for the degree of

Master of Science

in

Mechanical Engineering

Walter F. O’Brien, Chair

Kevin Todd Lowe

Christopher B. Williams

May 8, 2013

Blacksburg, Virginia

Copyright 2013, Kevin M. Hoopes

Page 2: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A New Method for Generating Swirl Inlet Distortion for Jet Engine

Research

Kevin M. Hoopes

(ABSTRACT)

Jet engines operate by ingesting incoming air, adding momentum to it, and exhausting

it through a nozzle to produce thrust. Because of their reliance on an inlet stream, jet

engines are very sensitive to inlet flow nonuniformities. This makes the study of the effects

of inlet nonuniformities essential to improving jet engine performance. Swirl distortion is

the presence of flow angle nonuniformity in the inlet stream of a jet engine. Although

several attempts have been made to accurately reproduce swirl distortion profiles in a testing

environment, there has yet to be a proven method to do so.

A new method capable of recreating any arbitrary swirl distortion profile is needed

in order to expand the capabilities of inlet distortion testing. This will allow designers to

explore how an engine would react to a particular engine airframe combination as well as

methods for creating swirl distortion tolerant engines. The following material will present

such a method as well as experimental validation of its effectiveness.

Page 3: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Contents

1 Introduction 1

1.1 Total temperature distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Total pressure distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3 Swirl distortion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4 Effects of flow distortion on engines . . . . . . . . . . . . . . . . . . . . . . . 4

1.5 Summary of present research . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Literature Review 6

2.1 Methods for generating swirl distortion . . . . . . . . . . . . . . . . . . . . . 7

2.1.1 Turned vanes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.1.2 Delta wing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.3 Swirl chamber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Relationship of present research to other methods . . . . . . . . . . . . . . . 15

3 Methodology 18

3.1 Method overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2 Method details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.1 Determine desired swirl profile . . . . . . . . . . . . . . . . . . . . . . 19

3.2.2 Create lines everywhere perpendicular to the desired profile . . . . . . 19

3.2.3 Use a vane model to determine the vane section geometry to place

along each vane line . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

iii

Page 4: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

3.2.4 Add structural supports . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2.5 Export geometry to a CAD package for creation of solid bodies . . . 30

3.2.6 Manufacture the geometry using an additive manufacturing method . 31

4 Experimental Setup 35

4.1 Low-speed tunnel overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2 Rotator and traverse system . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.1 5-hole probe description . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.2 5-hole probe calibration . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.3 Data acquisition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.4 Experimental uncertainty . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.5 Inherent problems with experimental setup . . . . . . . . . . . . . . . . . . . 42

4.5.1 Vane deformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.5.2 Profile mixing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.5.3 Validity of numerical results on which screens are based . . . . . . . . 44

5 Results 45

5.1 Comparison metric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.2 Bulk swirl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2.1 Profile description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2.2 Screen description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2.3 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.3 Generic twin swirl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3.1 Profile description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.3.2 Screen description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3.3 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.4 Representative profile for serpentine inlet applications . . . . . . . . . . . . . 64

5.4.1 Screen description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

iv

Page 5: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.4.2 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 70

5.5 Representative profile for HWB applications . . . . . . . . . . . . . . . . . . 74

5.5.1 Profile description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.5.2 Screen description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.5.3 Results and discussion . . . . . . . . . . . . . . . . . . . . . . . . . . 79

6 Conclusion and Recommendations 83

Bibliography 87

A Source Code 90

A.1 inleta variable vanes.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

A.2 super seed path maker.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

A.3 blade and path maker single.m . . . . . . . . . . . . . . . . . . . . . . . . . 105

A.4 flat plate gen simple orth square cl.m . . . . . . . . . . . . . . . . . . . . . . 113

A.5 structure blade and path maker.m . . . . . . . . . . . . . . . . . . . . . . . . 116

A.6 sweep journal multi.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

A.7 sweep journal maker multi sub.m . . . . . . . . . . . . . . . . . . . . . . . . 119

v

Page 6: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

List of Figures

1.1 Contours of total pressure ratio for a typical total pressure distortion case. . 2

1.2 Velocity vectors taken from a typical case involving swirl distortion. . . . . . 3

1.3 Effect of total pressure distortion on engine operability. . . . . . . . . . . . . 5

2.1 Image and inlet system schematic from the Tornado fighter. . . . . . . . . . 6

2.2 Example of turned vanes swirl distortion generators. . . . . . . . . . . . . . . 8

2.3 Results from turned vanes swirl generators. . . . . . . . . . . . . . . . . . . . 9

2.4 Swirl angle profile created by a turned vanes type swirl generator. . . . . . . 9

2.5 Schematic of delta wing and assembly. . . . . . . . . . . . . . . . . . . . . . 11

2.6 Results obtained from a delta wing type swirl generator. . . . . . . . . . . . 12

2.7 CAD model of typical swirl chamber. . . . . . . . . . . . . . . . . . . . . . . 13

2.8 Possible swirl patterns that are obtainable using a swirl chamber. . . . . . . 14

2.9 Image and preliminary results from a swirl chamber produced at AEDC. . . 15

3.1 Parallel and perpendicular lines plotted on top of a generic twin vortex. . . . 20

3.2 Possible vane seeding process for twin vortex profile. . . . . . . . . . . . . . . 21

3.3 Comparison between uniform and variable vane seed spacing mechanisms. . . 22

3.4 Comparison of the NACA thickness profile and a flat plate profile. . . . . . . 25

3.5 Comparison between numerical and experimental NACA A4K6 cascade results. 26

3.6 Plot of ξ as a function of Γ for several different values of Cl. . . . . . . . . . 28

3.7 Output turning φ as a function of Cl. . . . . . . . . . . . . . . . . . . . . . . 29

vi

Page 7: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

3.8 CAD model of solid geometry formed from vane lines and vane profiles. . . . 31

3.9 Overview of FFF process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.10 Image of twin vortex screen printed in ABS plastic. . . . . . . . . . . . . . . 34

4.1 CAD model of low speed test tunnel. . . . . . . . . . . . . . . . . . . . . . . 36

4.2 Flow velocity and swirl present in tunnel without any screen or blockage. . . 36

4.3 Detail image of traverse system used in the low-speed tunnel. . . . . . . . . . 37

4.4 Rotator and linear traverse systems with attached 5-hole probe . . . . . . . . 37

4.5 Detailed view of 5-hole pressure probe head . . . . . . . . . . . . . . . . . . 38

4.6 Contours of yaw angle for the different combinations of Cpyaw and Cppitch

used in the calibration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.7 Calibration setup in the low-speed wind tunnel. The probe is being held in

place by two rotation stages, one for yaw and the other for pitch adjustment. 40

4.8 Spatial resolution using rotator and traverse system . . . . . . . . . . . . . . 42

5.1 Description of variables used in the calculation of swirl angle. . . . . . . . . . 46

5.2 Bulk swirl profile velocity vectors and radial variation in swirl angle. . . . . . 47

5.3 Vane locations laid over the bulk swirl velocity vector field and an image of

the final printed bulk swirl screen. . . . . . . . . . . . . . . . . . . . . . . . . 47

5.4 Design and experimental radial variation in swirl angle for the bulk swirl screen. 48

5.5 Velocity vectors and swirl angle contours for generic twin swirl pattern. . . . 51

5.6 Seed lines, vane lines and structural lines for twin vortex screen. . . . . . . . 52

5.7 Spacing of vane seeds along the seed line shown in figure 5.6 for the four

screens tested. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.8 CAD images of twin swirl screens. . . . . . . . . . . . . . . . . . . . . . . . . 54

5.9 Results for ǫ = 2,ǫ′ = 1.87 . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.10 Results for ǫ = 3,ǫ′ = 2.67 . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.11 Results for ǫ = 4,ǫ′ = 3.27 . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

vii

Page 8: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.12 Results for ǫ = 5,ǫ′ = 4.36 . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.13 Radial profiles of swirl angle for the twin vortex screens. . . . . . . . . . . . 62

5.14 Vane lines with velocity vectors created by vanes shown in blue and design

velocity vectors in gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.15 Serpentine duct with streamlines colored by Mach number . . . . . . . . . . 64

5.16 Velocity vectors and contours of swirl angle present in the serpentine inlet

distortion profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.17 Seed line and vane lines for serpentine inlet profile. . . . . . . . . . . . . . . 66

5.18 Vane lines (blue) and structural supports (green) for serpentine inlet profile. 66

5.19 CAD model and final printed screen designed to reproduce the serpentine inlet

profile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.20 CFD computed maximum swirl angle vs. distance downstream of the screen

plane for the serpentine inlet. . . . . . . . . . . . . . . . . . . . . . . . . . . 68

5.21 Velocity vectors from CFD results showing the effect of downstream mixing. 68

5.22 Contours of swirl angle from CFD results showing the effect of downstream

mixing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.23 Reference and experimental velocity vectors . . . . . . . . . . . . . . . . . . 70

5.24 Reference and experimental contours of swirl angle . . . . . . . . . . . . . . 71

5.25 Swirl angle comparisons between reference and experimental results along

several radii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.26 Typical hybrid wing body aircraft without boundary layer ingestion. . . . . . 74

5.27 Velocity vectors and contours of swirl angle present in the HWB swirl profile. 76

5.28 First set of seed line and vane lines for HWB profile. . . . . . . . . . . . . . 77

5.29 Second set of seed line and vane lines for HWB profile . . . . . . . . . . . . . 77

5.30 Vane lines (blue) and structural supports (green) for HWB profile. . . . . . . 78

5.31 CAD model and final printed screen designed to reproduce HWB profile. . . 78

5.32 Velocity vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

viii

Page 9: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.33 Contours of swirl angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.34 Swirl angle comparisons between reference and experimental results along

several radii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

A.1 Block diagram of interaction between source code files. . . . . . . . . . . . . 91

ix

Page 10: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

List of Tables

5.1 Parameters used in the creation of the generic twin vortex pattern. . . . . . 50

5.2 Description of generic twin swirl screens. . . . . . . . . . . . . . . . . . . . . 51

5.3 Description of twin vortex screens. . . . . . . . . . . . . . . . . . . . . . . . 55

A.1 Descriptions and filenames of attached source code. . . . . . . . . . . . . . . 90

x

Page 11: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Chapter 1

Introduction

Jet engines operate by ingesting incoming air, compressing it, mixing it with fuel, combusting

this fuel/air mixture, expanding it through a turbine, and then finally exhausting it through

a nozzle. For aircraft propulsion, a jet engine is useful because it adds momentum to an

incoming stream of air which can, in turn, propel the aircraft. To develop this momentum,

a jet engine operates on this air by way of sets of rotating blades. Because of the aerody-

namics involved in the airflow over these rotating blades, a jet engine is very sensitive to

nonuniformities present in its incoming flow. Nonuniform inlet flow is also called distorted

inlet flow. The study of the effects of inlet distortion is essential to improving jet engine

performance.

There are three main types of distorted inlet flow that commonly affect jet engines;

namely, total temperature distortion, total pressure distortion, and swirl distortion. These

different types of distortion come from a variety of causes and are often present together.

1.1 Total temperature distortion

Total temperature distortion occurs when there is a nonuniformity in the incoming total

temperature profile. This often occurs when engines ingest their own hot exhaust gases

and is particularly true of engines placed in highly integrated military installations. Also in

1

Page 12: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

these situations, the engines can be exposed to streams of hot gases from the use of onboard

weapons which can also cause total temperature distortion [1, p 293].

1.2 Total pressure distortion

Total pressure distortion can be caused by a wide variety of sources, such as upstream

obstructions, boundary layer ingestion, embedded inlets, or extreme flight maneuvers. Figure

1.1 shows contours of total pressure ratio for a typical total pressure distortion case.

x

y

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

0.78

0.8

0.82

0.84

0.86

0.88

0.9

0.92

0.94

0.96

0.98

Figure 1.1: Contours of total pressure ratio for a typical total pressure distortion case.

In this particular case, the profile was created by a Computational Fluid Dynamics

simulation of a boundary layer ingesting serpentine inlet. The combination of both the

curvature of the inlet as well as the ingested boundary layer creates a localized region of low

total pressure near the bottom the of the profile.

Total pressure distortion appears in a wide variety of jet engine installations and as

such has been highly studied in the literature. For quite some time it has been considered

to be the root cause of engine airframe incompatibilities [2, 3]. In order to test for these

potential incompatibilities, total pressure distortion generation devices have been used to

2

Page 13: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

recreate total pressure profiles in a lab environment. As such, the creation of total pres-

sure distortion generation devices, which generally take the form of wire mesh screens, has

formed the backbone of distorted inflow research for many years. Recently, the Virginia Tech

Turbomachinery and Propulsion Research Laboratory has produced a method for quickly

creating high-fidelity total pressure distortion generation devices [4, 5].

1.3 Swirl distortion

Swirl distortion occurs when an engine is exposed to flow angle nonuniformities in its inlet

stream. Figure 1.2 shows in-plane velocity vectors for a typical swirl distortion case.

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

x

y

Figure 1.2: Velocity vectors taken from a typical case involving swirl distortion.

In this particular case, which comes from the same simulation of a boundary layer

ingesting inlet as in Figure 1.1, a distinct pair of vortices is found near the bottom of the

profile. Swirl distortion is often caused by embedded inlets as well as other factors, such

as cross winds, ingested vortices generated by upstream portions of the airframe, and the

ground vortex.

3

Page 14: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Due to the relatively complicated nature of swirl, as well as difficulties in its accurate

recreation, it has not been studied as extensively as total pressure distortion. However, new

airframe designs inspired by the ever-constant drive for higher performance have caused the

jet engine test community to recently begin putting higher importance on the evaluation of

the effects of swirl distortion [6, 7].

In the literature, the effect of swirl distortion on engine performance has mainly been

considered through testing the effects of generic, low-fidelity swirl profiles. There has yet

to be a proven method to duplicate in a testing environment a given swirl profile as seen

by an installed engine. Because of this, there have been several cases where engine/air-

frame systems were deemed compatible during the ground testing phase only to discover

incompatibilities during actual flight testing due to swirl distortion [7, 8].

1.4 Effects of flow distortion on engines

As mentioned previously, jet engines function by operating on the incoming air by way of

rows of blades. Each blade row in the compressor section of the engine is designed to produce

a certain amount of pressure rise with all the blades in a row having the same geometry.

This, by necessity, assumes that the incoming air is circumferentially uniform.

If this flow is distorted, as in Figures 1.1 and 1.2, as a blade rotates, it will enter and

exit regions of dissimilar flow which will cause the blade in these regions to be in an off-

design condition. This off-design condition can decrease blade performance as well as have

the effect of lowering the engine surge margin [1, p 295-297]. Figure 1.3 shows the results

of a study done by Hercock and Williams to test the effect of total pressure distortion on

engine operability [9]. In their study, the authors subjected an engine to several different

patterns of total pressure distortion.

Notice in the figure that the effect of the distortion is to lower the surge line and thus

decrease the surge margin. It is also interesting to note that as the extent of the distortion

was increased, the surge line was lowered even further. This effect is not limited to total

4

Page 15: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Figure 1.3: Summary of results obtained by Hercock and Williams on the effect of totalpressure distortion on engine operability.[9]

pressure distortion. Swirl distortion has also been shown in many independent studies to

produce reductions in engine operability and efficiency [10, 11, 12, 13].

Another effect of blades cycling between areas of distorted and non-distorted flow is

nonuniform blade loading. This cycling between different levels of loading has been shown

to lead to high cycle fatigue of engine components [14]. In one particular example, swirl

distortion was linked via high cycle fatigue to degraded blade life in the first stage compressor

section of auxiliary power units when exposed to high magnitudes of swirl distortion [15].

1.5 Summary of present research

In order to expand the capabilities of inlet distortion testing, the following material will

present a new method to design and produce passive flow control devices to recreate any

arbitrary swirl distortion pattern. These devices can be used in jet engine research to test

the effect of a particular installation/flight scenario on the propulsion system as well as in

fundamental research to explore how fans react to differing levels of swirl distortion. The

analytical base for the method, the implementation, and experimental results to evaluate

and validate the method are also presented.

5

Page 16: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Chapter 2

Literature Review

An early example of swirl distortion being identified as the root of an engine/airframe com-

patibility problem was in the flight testing of the Tornado fighter aircraft. The propulsion

system of this aircraft consists of two turbofan engines mounted internally, each being fed

by a serpentine duct and installed without inlet guide vanes. Figure 2.1a shows an image of

the Tornado in flight and 2.1b shows a schematic of the twin inlet ducts.

Despite ground tests that concluded that there would not be engine airframe compatibil-

ity issues due to total pressure distortion, initial test flights of the Tornado fighter resulted in

engine surge in certain flight conditions. It was discovered that the presence of swirl caused

one of engines to surge when the aircraft was being flown at high angle of attack and the

other engine to surge when the aircraft was flown at high Mach number. Fences placed in

(a) in flight (b) inlet system

Figure 2.1: Image and inlet system schematic from the Tornado fighter.

6

Page 17: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

the inlets were successfully used to combat the effect of swirl distortion which resolved the

operability issues [8, §6.2-6.3].

The history of the Tornado fighter illustrates a clear deficiency in the employed ground

test procedure. Because the engines were not tested for their compatibility with respect

to swirl during the initial design phase, the operability problems were only discovered dur-

ing flight testing. Not only is this a dangerous situation for test pilots, but it could have

potentially required expensive, late-stage design modifications to ameliorate the problem.

Fortunately in this case, the inlet system did not have to be redesigned as the addition of

the fencing system sufficiently reduced the effects of the swirl distortion.

For many years, the solution employed to combat swirl distortion has been to mandate

the use of inlet guide vanes. Although the use of inlet guide vanes will reduce the amount of

swirl delivered to the engine, this reduction of swirl comes with an increase in noise and a

decrease in fan performance, which is undesirable, especially in commercial applications. In

addition, it has been shown that certain types of swirl persist even though inlet guide vanes.

A recent example is found in the design of the F-35 Joint Strike Fighter lift fan. Even though

the lift fan employed inlet guide vanes, it still had performance issues that were traced back

to swirl distortion caused by cross winds [7, §4.1.3].

The experience of the Tornado fighter caused the first serious investigation into the

effects of swirl distortion on compressor system performance and operability. This was

accompanied by the need to create swirl distortion in a laboratory setting, which in turn

prompted the investigation into the first swirl distortion generating devices.

2.1 Methods for generating swirl distortion

2.1.1 Turned vanes

Shortly after the development of the Tornado fighter, Genssler et al. produced a paper

that covered two proposed ideas for generating swirl distortion for ground testing [16]. The

first of these ideas was the use of turned vanes similar to inlet guide vanes used on many

7

Page 18: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

jet engines. Two of these generators are shown in Figure 2.2. Figure 2.2a shows a screen

designed to create bulk swirl, while Figure 2.2b shows this same method as applied to a more

complicated, twin swirl pattern.

(a) bulk swirl (b) twin swirl

Figure 2.2: Example of turned vanes swirl distortion generators used by Genssler et al. [16]

In their study, Genssler et al. used these types of swirl generators not to simulate the

swirling flow present in any real airframe/engine combination, but instead to create generic

sample cases of twin and bulk swirl which could potentially be similar to conditions seen in

practice. Using the devices pictured in Figure 2.2, the authors were able to generate both

bulk and twin swirl profiles. Figure 2.3 shows plots of the resultant vector fields.

Qualitatively, the authors were able to create both bulk and twin swirl patterns. Pro-

files of swirl angle were also compared for the twin swirl case to give a more quantitative

comparison of the resulting flow to the desired flow. Figure 2.4 shows a profile of the desired

and measured swirl angle along the x-axis of the vector plot shown in Figure 2.3b.

Notice that although the authors were able to match the general shape of the desired

profile, they were unable to match the exact curvature or the magnitudes of the desired swirl

angle. The authors comment that some of the lack of fidelity in their results is attributable to

difficulties inherent in manufacturing. This is particularly evident in the twin swirl example

shown in Figure 2.2. For example, notice that all the vanes in the screen are linear, the

8

Page 19: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

(a) bulk swirl (b) twin swirl

Figure 2.3: Vector fields created by turned vane type swirl generators created by Genssleret al. [16].

Figure 2.4: Swirl angle profile created by turned vane type twin swirl generator by Genssleret al. [16].

.

authors comment that curved vanes would have been better able to reproduce the desired

twin swirl pattern. This is especially true in the center of the profile where the desired flow

pattern would be highly curved. The authors go on to say that this type of detail in vane

9

Page 20: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

geometry was not possible with the manufacturing process chosen. Although the authors do

not discuss which manufacturing process was used, it is clear from the date of publication,

1987, that current, digital manufacturing methods would be better suited to these types of

complicated vane patterns than any manufacturing process available at the time.

Continuing the efforts of Genssler et al., Flitcroft et al. published a follow-up study

where the effect of combined total pressure and swirl distortion on a fan was characterized

[10]. In their study, a wire mesh gauze was placed over either a supporting structure without

turning or a set of turned vanes similar to those used by Genssler et al. to create a bulk swirl.

This way, the effect of total pressure and bulk swirl distortion on a fan was characterized.

Similar to the previous study, this research did not seek to match a flow profile from a

particular engine/airframe combination, but rather to generate a generic swirl pattern. In

their study, the authors chose to produce bulk swirl using turning vanes designed for a

maximum swirl angle of 8. Since the study was mainly focused on fan response, a detailed

discussion of the generated swirl is not included. Even without measuring the details of the

profile as seen by the fan, the authors were still able to conclude that a counter-rotating

(with respect to the direction of fan rotation) swirl distortion has a negative impact on

engine operability.

A similar study using the same distortion-generation approach was later done by Govard-

han and Viswanath [17]. Following the pattern of the previous study, a detailed examination

of the swirl profile entering the fan was not undertaken. Instead the authors were satisfied

by prescribing a bulk 10 swirl and did not examine the swirl profile generated by their guide

vanes. They reached the same conclusion as Flitcroft et al.; namely, bulk swirl distortion

has a negative effect on engine operability.

Leaning on their relationship with widely studied inlet guide vanes, the use of turned

vanes to generate swirl distortion has proven useful for creating bulk swirl profiles of varying

strengths. The attempt by Genssler et al. to create a more complicated twin swirl pattern

10

Page 21: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

speaks to the difficulty of adapting this method to more complicated, generic patterns, such

as the twin swirl pattern, let alone patterns taken from real engine/airframe systems.

2.1.2 Delta wing

Along with turned vanes, Genssler et al. investigated the use of a delta wing to generate

swirl [16]. A delta wing at an angle of attack will create a pair of counter-rotating vortices

behind it with magnitudes dependent on angle of attack. In order to exploit this, Genssler

et al. created a mechanism to hold a delta wing in place in a wind tunnel and allow the

angle of attack and location of the delta wing to be varied by a set of mechanical actuators.

Figure 2.5 shows a schematic of the delta wing used in their study along with the movable

assembly.

Figure 2.5: Schematic of delta wing and assembly used by Genssler et al.

The flow behind the delta wing was measured using a set of three 5-hole pressure probes.

Using these probes, the authors were able to measure a pair of counter-rotating vortices

behind the delta wing. Figure 2.6 shows some of the results from this investigation.

11

Page 22: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

(a) velocity vector plot (b) profile of swirl angle

Figure 2.6: Results obtained from a delta wing type swirl generator by Genssler et al. [16]

Figure 2.6a shows a resulting vector plot from a delta wing and figure 2.6b shows profiles

of swirl angle at a given radius along with the design profile for comparison. In comparison

with the results obtained using the turned vanes as shown in Figure 2.4, the swirl profile

created using the delta wing provides a better match of the desired twin swirl pattern.

Pazur and Fottner published a related study where this distortion generator was used

and the effects of the created swirl on a jet engine were measured [11]. While the details

of the generated profile used in this study were not published, the authors show that the

presence of a pair of counter-rotating twin vortices generated by a delta wing has a negative

impact on compressor operability, efficiency, and performance. This method was also used

by Schmid et al. who reached similar conclusions [12].

There are several advantages to the delta wing being used as a swirl generator. First

it can easily be made adjustable in the same manner done by Genssler et al. This would

allow the position and magnitudes of the vortex pair to be adjusted. Also the delta wing

itself would be straightforward to manufacture as it consists of a simple flat plate cut in

a triangular shape. The main drawback of the delta wing method is that it is limited in

the patterns that it could potentially create. It is most applicable to symmetric twin swirl

12

Page 23: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

patterns and would not be able to reproduce complicated patterns which arrive from real

engine/airframe combinations.

2.1.3 Swirl chamber

Another more recent method of generating swirl for jet engine research is to use a swirl-

producing inlet, often called a swirl barrel or swirl chamber. The basic concept behind the

swirl chamber is to create a plenum that has adjustable doors that only allow the flow to

enter at certain angles. By adjusting the size, position, and number of these doors, the flow

can be forced to enter the engine inlet in such a way as to produce many different swirl

patterns. Figure 2.7 shows an example of such an inlet designed to produce bulk swirl.

Figure 2.7: CAD model of typical swirl chamber for generation of bulk swirl.

The flow, shown as blue arrows, is drawn by the engine and enters the inlet plenum

only in the tangential direction. This causes a bulk vortex to develop and be ingested by

the engine.

There have been several studies done on the swirl chamber concept which all stem from

two related investigations done by Sheoran and Bouldin [18, 19]. The authors describe a

swirl chamber and provide results from several CFD studies that investigate the types of swirl

patterns that could potentially be created. The authors were able to simulate, using CFD,

a wide array of swirling flow, including bulk swirl, symmetric twin swirl, and asymmetric

13

Page 24: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

twin swirl, all by varying the inlets to the swirl chamber. Figure 2.8 shows schematics of

several of these different swirl patterns along with the inlet configuration that was used by

the authors.

Figure 2.8: Possible swirl configurations that are obtainable using a swirl chamber as reportedby Sheoran and Bouldin [18].

Building upon the work done by Sheoran and Bouldin, Davis et al. discuss the appli-

cation of this type of swirl generator to jet engine testing [20]. In their study, a swirl barrel

inlet was manufactured and tested in a wind tunnel at the Arnold Engineering Development

Center. A CAD image of this inlet is shown in figure 2.9a.

Using flow directionality probes, the authors were able to measure a bulk vortex that

they created using the inlet. Figure 2.9b shows the resulting velocity vectors. Although

the paper references a forthcoming study to couple this type of inlet with an F109 turbofan

engine to measure fan response, the authors of the study have since abandoned the technique

commenting that the generated vortices were difficult to control [21].

It is important to note that variations of the swirl chamber method have been used to

create swirl in other applications, such as in the separation of mixtures [22]. Only recently

14

Page 25: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

(a) CAD image of swirl chamber (b) resultant velocity vectors

Figure 2.9: Image and preliminary results from a swirl chamber produced at AEDC [20].

has this type of configuration has been proposed as a way to create swirl for jet engine

distortion research.

The swirl chamber method has many advantages as a possible choice to produce swirl

distortion. The method is reconfigurable with multiple different types of swirl obtainable by

slightly modifying the inlet. Also, this method does not place anything directly in front of

the engine, such as blades or delta wings which could potentially collapse and be ingested.

There are, however, several disadvantages to the swirl chamber concept. The main one

being that the swirl chamber concept is best suited to creating generic swirl profiles and not

detailed profiles from real engine airframe systems. This is the case as the swirling flow is

created far upstream by the plenum inlets which, while suitable for the coarse adjustments

needed to create generic patterns, makes the details of a swirl profile difficult to control

precisely. Also, due to the nature of the swirl chamber, coupling the method with a method

to control the total pressure profile would be difficult.

2.2 Relationship of present research to other methods

All three of the methods discussed rely on the same basic premise to create swirl distortion:

they all are designed to create generic swirl patterns. For fundamental research on the effect

of swirling flow on fan response, these methods have been used successfully to demonstrate

the reduction in performance that is associated with swirl distortion due to these generic

15

Page 26: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

profiles [10, 11, 12, 13]. This strength is also the limitation of these methods. If an airframe

or inlet manufacturer wanted to study the effect of the swirl profile generated by their

particular geometry on fan performance these methods would be unable to reproduce the

profile as they are all limited to generation of generic profiles.

Some work has been done to allow generic profiles to be used to approximate profiles

from real engine airframe systems [7]. The idea behind this approach is that if the swirl

pattern can be reduced to a set of swirl descriptors that are the critical quantities for fan

response, then a generic profile could be generated with those same descriptors and the fan

response will be the same as it would be for the real profile. This has yet to be tested

experimentally for swirl distortion research, but it is obvious that a more ideal approach

would be to simulate the actual profile and not a reduced order approximation.

Thus, the ideal swirl generation method would be able to reproduce an arbitrary swirl

profile. This profile could take the form of an artificially generated generic profile or a profile

from a real engine/airframe system. The best case would be for this distortion generating

device to be adjustable in real time; this would allow the profile created by the device to be

measured and adjusted during an experiment until an acceptable level of reproduction was

met. In the absence of this type of adjustment, the best alternative would be a method that

produces screens that are fast and inexpensive to manufacture so that rapid design iteration

would be possible.

The ideal method would also produce a distortion generating device that could be

analyzed structurally so that it could be designed to avoid ingestion. Along with the swirl

profile, for the fan response due to a distortion generator to approximate the fan response

due to a real engine/airframe system, the total pressure profile must be duplicated at the

AIP as well. As such, the ideal swirl distortion generating device should also able to either

control its output total pressure profile or be easily coupled with a total pressure distortion

generating system. This would allow for the duplication of both the swirl and total pressure

profiles at the AIP and thus ensure the appropriate fan response.

16

Page 27: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

The present research seeks to build upon the previous work done in the area of swirl-

distortion generation and take advantage of recent advancements in both fluid simulation as

well as manufacturing. Unlike the previous methods discussed, the present research creates a

swirl profile directly from a target velocity vector field and is therefore not limited to generic

swirl patterns. It does this by placing turning vanes in a pattern which directly matches

the desired vector field. This allows the method to be used to match profiles obtained

from particular engine/airframe combinations which represents a level of control and swirl

profile duplication that would otherwise be impossible. The method should prove helpful in

studying potential engine/airframe compatibility issues as well as providing insight to help

aid the designers of future inlets.

17

Page 28: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Chapter 3

Methodology

3.1 Method overview

The distortion screen design methodology presented in this chapter hinges on two basic

ideas. First, a flow-turning device is most effective when it is placed perpendicular to the

desired turning direction. Second, using experimental data from the literature, and also

CFD simulations where these data are insufficient, the turning produced by a linear cascade

of airfoils can be accurately predicted. Combining these two concepts, the method seeks

to create rows of turning vanes everywhere perpendicular to a desired vector field. These

vanes are designed with cross sections formulated from linear cascade data to produce the

desired turning at regular intervals along each vane row. This produces a flow-turning device

that would be very difficult to create using traditional manufacturing methods. In order to

overcome this limitation, advanced manufacturing techniques are employed.

Due to the reliance on placing guide vanes along streamlines constructed from perpen-

dicular and parallel vector fields, I have termed this method the StreamVane Design Method.

An overview of the StreamVane Design Method is presenting in the following list:

1. Determine desired swirl profile

2. Create lines everywhere perpendicular to the desired profile

18

Page 29: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

3. Use a vane model to determine the vane section geometry to place along each vane line

4. Add structural supports

5. Export geometry to a CAD package for creation of solid bodies

6. Manufacture the geometry using an additive manufacturing method

3.2 Method details

3.2.1 Determine desired swirl profile

Typically in inlet flow distortion research, the goal is to duplicate the flow in a real air-

frame/engine installation scenario at a designated plane. This profile is usually set at a

certain number of inlet diameters from the face of the compressor fan, and is termed the

Aerodynamic Interface Plane, or AIP. The underlying assumption is that if one can dupli-

cate the flow pattern present at the AIP, then the engine response will be the same as it

would be in the real installation. Usually this desired velocity field, or swirl profile, is taken

from numerical studies of the airframe and inlet system. This is done so that the effect of

a particular engine/airframe system on an engine can be assessed. Often these results come

from studies that are done on concept airframe/engine systems without any experimental

support.

3.2.2 Create lines everywhere perpendicular to the desired profile

Once the desired swirl profile is chosen, a new vector field is then created that is everywhere

perpendicular to the first. This is done using a simple rotation as defined in Equation 3.1.

U ′

V ′

=

0 −1

1 0

U

V

(3.1)

In this equation, the components of the original vector field are labeled U and V while the

components of the rotated, perpendicular vector field are labeled U ′ and V ′. This new vector

19

Page 30: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

field is then integrated in both positive and negative directions at regular intervals to form

lines that are everywhere parallel to it. Because of the rotation applied, these lines will be

everywhere perpendicular to the original, desired vector field. These lines are similar to flow

potential lines in the literature and in the present application will be termed vane lines as it

is along these lines that vane cross sections will be placed.

Figure 3.1 shows a plot of velocity vectors taken from a generic twin vortex pattern.

In the figure, the red lines are everywhere parallel to the flow while the blue lines represent

possible vane lines and are everywhere perpendicular to the desired vector field.

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

Figure 3.1: Parallel (red) and perpendicular (blue) lines plotted on top of a vector field of ageneric twin vortex.

One can think of this process as dropping a particle into the velocity field at a certain

location and then tracking its path as it moves through the vector field. In essence, this

is what is happening when the velocity field is integrated. The exact integration process

employed is independent of the StreamVane Method, but for the included experiments, the

Runge-Kutta 4th order integration scheme employed by the MATLAB stream2 function was

used [23].

20

Page 31: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

One question to ask is, how does one choose where to seed the flow to create these

perpendicular vane lines? One way is to first seed the original vector field at a single point,

integrating to create a parallel line, then one can simply move along one of these lines and

seed the perpendicular vector field to create the vane lines at certain intervals. Figure 3.2

shows this process for the twin vortex pattern.

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

Figure 3.2: Possible vane seeding process for the twin vortex profile. In this figure, the redline represents the vane seed line with its start point shown as a red circle. The blue circlesrepresent seed locations for their corresponding vane lines which are also shown in blue.

First, the original vector field is seeded in a particular location, denoted in Figure 3.2

by the red circle. The original vector field is then integrated to create the red line, which is

everywhere parallel to it. Now that the seed line geometry has been established it can be

used to create seed points for the vane lines. These seed points are designated using blue

circles in Figure 3.2. For the purposes of this figure, they are evenly spaced along the seed

line. The perpendicular vector field is then integrated starting at these locations to create

the blue vane lines. It is along these lines that vane cross sections will be placed to recreate

the desired vector field and thus swirl pattern. For the purpose of this illustration, only one

21

Page 32: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

seed line was used. Usually multiple seed lines would be used with their start point and

extent tuned to create vane lines that would cover the entire vector field.

It is also possible to use a variable spacing seeding mechanism when placing seed points

along a seed line. This allows for vanes that are closer together when larger gradients in

desired output turning are present. Uniform and variable vane line seeding are illustrated in

Figure 3.3.

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

14

16

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

(a) uniform seed spacing

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

14

16

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(b) variable seed spacing

Figure 3.3: Comparison between uniform and variable vane seed spacing mechanisms.

In both Figure 3.3a and 3.3b, the red line represents the desired output turning along

the seed line shown in Figure 3.2. Overlayed on these lines are blue circles marking potential

seed locations. Notice that in Figure 3.3a the seed locations are spaced evenly along the

vane seed line regardless of output turning. This method creates evenly spaced vanes, but

does not allow for their efficient use. Also, as illustrated in the figure, it is not guaranteed

that the seed points correspond to the extrema of the desired output turning curve. Using

this method, important details in the swirl pattern could potentially be neglected.

Figure 3.3b demonstrates a variable seed placement mechanism. First, the user defines

the minimum desired change in output turning angle designated as ǫ. The program then

places a vane seed at each local minima and maxmima along the vane line. These extrema

are marked with green circles in Figure 3.3b. The value of the turning angle at each extrema

22

Page 33: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

is designated as Ψi where i goes from 1 to the number of extrema. Equation 3.2 is then

used to calculate the effective minimum turning angle, ǫ′, for the section between each pair

of extrema points.

Ψi+1 −Ψi

⌈Ψi+1−Ψi

ǫ⌉= ǫ′i (3.2)

This assures that there will be a integer number of vanes being placed between extrema

points while maintaining an ǫ′ which is near the desired ǫ. The program then steps away

from the ith extrema point placing vanes whenever the desired output turning changes by

ǫ′i. This process is repeated to fill each gap between each pair of extrema as can be seen in

Figure 3.3.

One of the underlying assumptions of the StreamVane Method is that the flow around

a vane with dissimilar neighbors will be similar to the flow around a vane where all of its

neighbors are like itself. This level of vane-to-vane variability can be controlled using the

variable seed spacing mechanism and the choice of ǫ. In Section 5.3, several experiments will

be discussed that explore the effect of ǫ on accurate swirl profile reproduction.

3.2.3 Use a vane model to determine the vane section geometry to place

along each vane line

Once the vane lines have been created, the geometry of the cross sections along each vane

line must be determined. At regular intervals along each vane line the original vector field

is queried to find the desired turning angle at the given position. Once the desired turning

angle is known, it is supplied to the vane model along with other parameters, such as the

distance to the nearest two vanes and the desired vane thickness and solidity. Using these

parameters, the vane model outputs a cross section that is designed to produce the desired

turning.

By unwrapping the seed line as shown Figure 3.2, one can imagine the vanes placed

along this line as being in the form of a linear cascade. This is similar to traditional rings

23

Page 34: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

of inlet guide vanes being considered as linear cascades, except, as previously discussed, the

desired output turning will vary along the cascade.

The choice of vane geometry will be highly dependent on application of the screen as

well as manufacturing process. For example, some vane geometries are designed for high

Mach number flow, while others are designed with near uniform thickness to simplify the

manufacturing process. Although the details of the vane model are independent from the

StreamVane Method, in order to test the method a vane model was chosen, validated, and

implemented.

In his book, Axial-Flow Compressors: A Strategy for Aerodynamic Design and Analysis,

Aungier discusses several vane profiles for use in axial flow compressor stages as well as inlet

guide vanes [24, §4]. Out of all the vane profiles discussed, Aungier recommends the NACA

A4K6 camber line for inlet guide vane use as it has good flow guidance over a large range

of output turning angle and is relatively simple to implement [24, §4.7]. Along with this, in

the technical report that gives the details of the camber line the author, Dunavant, includes

the results from an extensive experimental investigation into its effectiveness [25].

Because of this, the NACA A4K6 camber line was chosen as the basis for the vane

model to be used in evaluating the effectiveness of the StreamVane Method. During the

development of the camber line and for his experimental results, Dunavant used the NACA

63-006 thickness distribution. This thickness distribution and the camber line for a vane of

unity Cl are shown in Figure 3.4 for two different vane chords.

As the figure illustrates, the NACA 63-006 thickness profile becomes very narrow at the

leading and trailing edges. Since the thickness profile is defined as being a certain fraction of

the chord, as the chord narrows, the thickness near the leading and trailing edges will shrink

dramatically. This makes using this thickness profile particularly problematic when trying

to manufacture vanes with the Fused Filament Fabrication (FFF) technique described in

detail in Section 3.2.6. FFF operates by laying down thin layers of ABS plastic, with each

layer being a uniform thickness. The FFF machine used for the experiments in Chapter 5

24

Page 35: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

0 0.1 0.2 0.3 0.4 0.5

−0.15

−0.1

−0.05

0

0.05

0.1

0.15

0.2

chord (in)

thic

knes

s (in

)

NACA A

4K

6 Camber Line

NACA 63−006 Thickness Distribution0.028" Flat Plate Profile

(a) chord = 0.5in

0 0.5 1 1.5

−0.4

−0.2

0

0.2

0.4

0.6

chord (in)

thic

knes

s (in

)

NACA A

4K

6 Camber Line

NACA 63−006 Thickness Distribution0.028" Flat Plate Profile

(b) chord = 1.5in

Figure 3.4: Comparison of the NACA 63-006 thickness profile and a flat plate profile for usewith NACA A4K6 camber line.

is capable of creating features no thinner than 0.028 inches. If the NACA 63-006 thickness

profile was used, when the vane had a large cord, such as illustrated in Figure 3.4b, the

leading and trailing edges would be approximated fairly well. On the other hand, when the

vane has a small chord, as in Figure 3.4a, the curvature near the leading and trailing edge

would be approximated with blunt leading and trailing edges each with a thickness of 0.028

inches. In order to maintain consistency throughout a wide range of possible vane chords, a

flat plate profile with a constant thickness of 0.028 inches was chosen. The FFF technique

is able to consistently manufacture vanes using this profile regardless of vane chord. This

is particularly useful in the present application, where setting a constant solidity results in

vanes with variable chord.

Because of this geometry modification, the correlations produced by Dunavant are no

longer applicable. Similar correlations between solidity, σ, coefficient of lift, Cl, output

turning angle, φ, and angle of attack, α, were created to take into account the effect of the

new vane thickness profile. Computational Fluid Dynamics was chosen to create these new

vane correlations to avoid the cost and time of large scale linear cascade experimentation.

25

Page 36: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

In order to validate the numerical results, first the experimental results obtained by

Dunavant using the NACA 63-006 profile were duplicated using CFD. Figure 3.5 shows a

comparison of φ vs angle of attack, α, for a vane of σ = 1.5 and Cl = 1.2.

2 4 6 8 10 12 14 16 188

10

12

14

16

18

20

α (deg)

φ (d

eg)

Experimental ResultsCFD ResultsLinear Fit of CFD Results

Figure 3.5: Comparison between experimental results obtained via Dunavant to numericalresults obtained via CFD.

Notice that in general the CFD results match the experimental results very well. The

CFD results were obtained using ANSYS FLUENT using a mesh with prismatic boundary

layers around the vanes, a tetrahedral viscous core, and pressure and periodic boundary

conditions. During the solution, a coupled flow solver was used with the k−ω SST turbulence

model. These results provided confidence that the chosen solution, meshing strategy, and

turbulence model were sufficient to predict the output turning from these types of linear

cascades.

As described by Dunavant, the output turning from a linear cascade utilizing the NACA

A4K6 camber line can be defined by Equation 3.3.

φ = f (Cl, α, σ) (3.3)

26

Page 37: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

In his study, Dunavant created correlations for desired output turning from a cascade by

holding constant σ and expressing α as a function of Cl. This allowed the output turning to

become a function of Cl only. This was done by choosing a design angle of attack, or αd, for

each Cl and σ. At αd a vane will produce a minimum amount of drag as well as be insulated

from positive and negative stall by a wide margin. To simplify the model, Dunavant also

chose to use a linear relationship between αd and Cl for each σ as expressed in Equation 3.4.

Dunavant used a combination of vane surface pressures, Cd data, and engineering intuition

to choose an appropriate value for Γ for each σ studied. In order to develop a vane model

for the StreamVane Method, a more systematic approach was used.

αd = Γ ∗ Cl (3.4)

In their book, Hill and Peterson define the stagnation pressure loss ratio, ξ, as in Equa-

tion 3.5 [26, p. 312]. In this equation, ∆P0 represents the total pressure loss through a

cascade and wi represents the velocity magnitude entering the cascade. Hill and Peterson

discuss that ξ can be used to determine when a cascade is in positive or negative stall [26,

p. 312-314]. Typically, profiles of ξ vs α are nearly parabolic in shape with some defined

minimum and then sloping curves toward positive and negative stall.

ξ =∆P0

1/2ρw2i

(3.5)

Many combinations of α and Cl were studied numerically to obtain values for ξ. Figure

3.6 shows a plot of ξ formulated as a function of Γ for several different values of Cl using a

flat plate thickness profile and the NACA A4K6 camber line. A constant value of σ = 2 was

used for this study as well as all other correlations and experiments presented. A relatively

high value of σ was chosen as, in general, higher values of σ yield a wider vane stall margin,

increased vane turning authority, and greater structural integrity [26, p. 312]. While the

choice of σ will not impact vane output turning as it is included in the correlation, it will

27

Page 38: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

affect the overall losses associated with a StreamVane screen. It may also have an effect

on the variable cascade assumption discussed previously. It is recommended that further

experiments be conducted that test the effect of σ on StreamVane performance.

0 5 10 15 20 25 30 350.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2ξ

Γ

C

l=0.4

Cl=0.6

Cl=0.8

Cl=1.0

Cl=1.2

Figure 3.6: Plot of ξ as a function of Γ for several different values of Cl.

Notice that each value of Cl produces the same characteristic parabolic shape. A Γ of

15 was chosen as providing a minimum of stagnation pressure loss as well as a wide stall

margin for all tested Cl.

With a defined relationship between αd and Cl the final vane model was evaluated by

testing a range of Cl and recording the values of φ for σ = 2. Figure 3.7 shows these results

along with a linear fit through the data.

28

Page 39: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

0.4 0.5 0.6 0.7 0.8 0.9 1 1.18

10

12

14

16

18

20

22

24

26

Cl

φ (d

eg)

CFD ResultsLinear Fit φ=24.02*C

l

Figure 3.7: Output turning φ as a function of coefficient of lift, Cl, for a linear cascadeutilizing the NACA A4K6 camber line and Γ = 15.

Notice that the results follow a linear fit very well with R2 = 1.0000. The linearity of φ

vs Cl makes implementing this correlation very straight forward. The equation for the linear

fit through the CFD results in Figure 3.7 is given in Equation 3.6. Combining Equation 3.4,

3.6 and setting the solidity constant creates a clear path to calculate the vane geometry to

produce a desired output turning.

φ = 24.02 ∗ Cl (3.6)

Even though new correlations for cascade output turning using a flat plate thickness

distribution were successfully created, there are several disadvantages to using a flat plate

profile compared to a profile with rounded leading and trailing edges. Flow separation caused

by the blunt leading edge will lead to the development of a boundary layer that is thicker

and more turbulent. The flow separation in this area will also negatively affect the stall

margin of the vane. The blunt trailing edge of the vane will also create a thicker vane wake

29

Page 40: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

than would be present with a more streamlined profile. All of these factors will contribute

to increased total pressure loss through the cascade and thus StreamVane screen.

By using a different manufacturing method, or by increasing the total size of the Stream-

Vane screen, a thickness distribution with rounded leading and trailing edges could be used

and alleviate these issues. However, the flat plate profile is adequate for the initial method

validation experiments presented in Chapter 5.

3.2.4 Add structural supports

Along with guide vanes to turn the flow in the proper direction, structural supports are

added to interconnect the vane lines and increase the rigidity of the output swirl screen. The

geometry for these supports are calculated in a similar manner as the geometry used in the

turning vanes except in this case the original vector field is seeded and integrated at a single

location per structural line. This will form lines similar to the red lines in Figure 3.1. Along

these lines, vane cross sections with zero turning are placed.

For the experiments presented in Chapter 5, no attempt was made to quantify the

structural integrity of a screen prior to testing. Structural supports were positioned in

locations that seemed logical to hold vanes in place and avoid long sections of vanes without

support. Although none of the screens tested suffered mechanical failure, structural supports

were shown to affect a screens ability to duplicate a design swirl profile. Future research

should include structural modeling to position these supports in locations only where they

are needed. Also, further experiments should be performed to more completely study the

impact of structural supports on screen performance.

3.2.5 Export geometry to a CAD package for creation of solid bodies

The vane profiles and vane lines are then exported to a CAD package for solid body creation,

flanging, and manufacture. Using the NX Open framework, an automation script is applied

to the geometry to automate the conversion of these profiles into solid bodies by sweeping

the vane profiles along their corresponding vane lines. In NX, several options are available

30

Page 41: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

when choosing how to create the solid body in between specified vane section curves. For

all the screens made for the present research, a relatively high number of sections were used,

and a linear interpolation scheme between sections was chosen. These solid vane lines where

then joined with the support structure and flanging was added as needed. A CAD model of

a completed screen designed to recreate a generic twin vortex pattern is shown in Figure 3.8.

Notice in the figure the support structures that follow similar paths to the red lines shown

in Figure 3.1.

Figure 3.8: CAD model of solid geometry formed from vane lines and vane profiles. In thisparticular model, flanging has been added.

3.2.6 Manufacture the geometry using an additive manufacturing method

Finally, this solid geometry is submitted to be created using an additive manufacturing

technique. For the experiments presented in Chapter 5, the Fused Filament Fabrication, or

FFF, technique was used. FFF can be used to quickly and accurately make geometrically

intricate parts, such as those produced by the StreamVane Method.

31

Page 42: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

The core principle behind the FFF process is that a three-dimensional part can be

approximated by a series of two dimensional layers or slices. These slices can then be built,

one on top of the other, to form the desired shape. To avoid the problem of overhanging

geometry, sacrificial supporting material is used during manufacturing to hold the slices in

place. One of the main advantages to the FFF process is that it is entirely digital. Three

dimensional geometry is read by the machine software directly from a file generated by the

Computer Aided Design package. This allows for a greater level of part complexity, shorter

manufacturing times, and reduced manufacturing limitations compared to traditional non

digital manufacturing processes.

The FFF process is shown in detail in Figure 3.9. Figure 3.9a illustrates the build

process which consists of an articulating print head along with a movable part table. Two

spools supply a constant stream of thermoplastic and support material to the print head

where both build material and support material are liquefied and extruded through small

nozzles. In the figure, the build material is shown in blue while the support material is shown

in green. By moving the print head, the machine can lay down a 2D slice of thermoplastic

and support material. Once a slice is created, the build platform lowers and the process is

repeated to create the next layer. Once the part is finished, the support material is removed,

leaving only the desired geometry as illustrated for this example in Figure 3.9b.

For the experiments presented in Chapter 5, a Fortus 250mc FFF machine owned by

the Virginia Tech Mechanical Engineering department was used. This machine is capable of

creating slices 0.007-inch thick and produces parts to an accuracy within ±0.0095-inch in a

build volume of 10-by-10-by-12-inch [27]. The machine uses the thermoplastic ABSplus-P430

which has a tensile strength of 5300 psi and a tensile modulus of 330,000 psi [28].

Figure 3.10 shows a swirl screen designed to produce a twin vortex swirl distortion

profile after it has been printed in ABS plastic using the FFF technique.

Appendix A contains the MATLAB source code for implementing the StreamVane De-

sign Method.

32

Page 43: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

(a) schematic of FFF build process (b) part without supporting material

Figure 3.9: Overview of FFF process.

33

Page 44: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Figure 3.10: Image of twin vortex screen printed in ABS plastic.

34

Page 45: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Chapter 4

Experimental Setup

In order to validate the StreamVane design method presented in the previous chapter, several

swirl generating screens were created using different swirl patterns. Once the screens were

made, they were tested in a low-speed wind tunnel that is part of the Virginia Tech Turbo-

machinery and Propulsion Research Laboratory. This chapter will explain the experimental

setup along with the instrumentation used for the experimental results which are presented

in Chapter 5.

4.1 Low-speed tunnel overview

A CAD model of the low-speed tunnel used for testing is illustrated in Figure 4.1. It consists

of a large blower followed by a settling chamber, flow straightening screens, and a contraction

to a 12-by-12-inch square section. A 6-inch diameter test section was suspended into this

section. The normal clean flow without any screens or blockages through this 6-inch section

is shown in Figure 4.2. Notice that in Figure 4.2b that the flow enters the test section with

negligable swirl.

35

Page 46: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Figure 4.1: CAD model of low speed test tunnel.

0 0.5 1 1.5 2 2.5 334

35

36

37

38

39

40

41

r (in)

velo

city

(m

/s)

(a) flow velocity

0 0.5 1 1.5 2 2.5−3

−2

−1

0

1

2

3

r (in)

θ (d

eg)

(b) swirl angle

Figure 4.2: Flow velocity and swirl present in tunnel without any screen or blockage.

4.2 Rotator and traverse system

The test section consisted of a 5-foot section of 6-inch diameter PVC pipe. This pipe was split

into two sections and held by a T-slot extruded aluminum frame. Between the two sections

of PVC pipe, a screen holder was placed. The holder was made with an external gear so that

the screen could be rotated to any desired angle by a stepper motor. Downstream of the

screen was a 10-inch linear traverse system also controlled by a stepper motor. Combining

the screen rotator along with the traverse system allows the positioning of a probe in any two-

dimensional location in a measurement plane. Using the flexibility of the T-slot framing,

the linear traverse could be moved to any position downstream of the screen. Figure 4.3

36

Page 47: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

shows an overview of this setup and Figure 4.4 shows detailed views of both the rotator and

traverse.

Figure 4.3: Detail image of traverse system used in the low-speed tunnel.

(a) rotator (b) linear traverse

Figure 4.4: Rotator and linear traverse systems with attached 5-hole probe

4.2.1 5-hole probe description

In order to measure flow angularity downstream of a swirl-producing screen, a 0.125-inch

diameter United Sensor 5-hole pressure probe was installed into the traverse unit. A detailed

view of the probe head is shown in Figure 4.5. Notice the five different numbered pressure

holes. Hole 1 is aligned to a reference line with the other holes positioned on all sides of

37

Page 48: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Figure 4.5: Detailed view of 5-hole pressure probe head

this center hole. The idea behind the five-hole probe is that pressure differences between

ports 2 and 3 will be primarily dependent on the incoming flow yaw angle, marked as β in

the figure, and the pressure difference between ports 4 and 5 will be primarily dependent on

the incoming flow pitch angle, shown as α. By measuring the five pressures and comparing

them, one can solve for the flow angularity. The measurements are not independent of each

other, however, so a two-way calibration was performed.

4.2.2 5-hole probe calibration

The non-nulling calibration method described by Treaster and Yocum was used to calibrate

the 5-hole pressure probe [29]. This method involves exposing the probe to a set of flows

with known yaw and pitch angles and then calculating a series of pressure coefficients at

each yaw and pitch combination. The equations for these pressure coefficients are found in

Equation 4.1.

Cpyaw = (P2 − P3)/(P1 − P ) (4.1a)

Cppitch = (P4 − P5)/(P1 − P ) (4.1b)

38

Page 49: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

P = (P2 + P3 + P4 + P5)/4; (4.1c)

Once the value of these pressure coefficients at each yaw and pitch angle have been calcu-

lated, an interpolation scheme can be used to find values of these pressure coefficients at yaw

and pitch angles not explicitly tested in the calibration. Following the recommendation of

Treaster and Yocum, a spline interpolation scheme was used; in particular, the biharmonic

spline interpolation scheme used in MATLAB’s curve fitting toolbox. Figure 4.6 shows a

contour plot of yaw angle with respect to Cpyaw and Cppitch obtained via the calibration.

The white x’s in the image show actual calibration points. Notice in the image the relative

Cpyaw

Cp pi

tch

−6 −4 −2 0 2 4 6 8

−2

−1.5

−1

−0.5

0

0.5

1

1.5

−40

−30

−20

−10

0

10

20

30

40

Figure 4.6: Contours of yaw angle for the different combinations of Cpyaw and Cppitch usedin the calibration. The white x’s in the figure show calibration locations.

scales of the input Cpyaw and Cppitch values. For the same change in angle, the change in

Cpyaw is much greater than the change in Cppitch. This is consistent with the geometry of

the probe, which has the yaw ports spaced further apart and not as obscured by the probe

geometry. This makes the probe less sensitive to changes in pitch angle than it is in yaw

39

Page 50: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

angle. For our application, the main comparison metric will be swirl angle, which is identical

to yaw angle when the probe is plunged radially.

The calibration was carried out in the low-speed wind tunnel at the Virginia Tech Tur-

bomachinery and Propulsion Research Laboratory shown in Figure 4.1. For the calibration,

a 12-by-12-inch lexan section was used in place of the suspended 6-inch circular section

described previously. An image of the calibration setup can be seen in Figure 4.1.

Figure 4.7: Calibration setup in the low-speed wind tunnel. The probe is being held in placeby two rotation stages, one for yaw and the other for pitch adjustment.

In the image, the probe is being held by two rotation stages. The yaw adjustment

stage had an accuracy of 1 while the pitch adjustment stage had an accuracy of 0.01. The

calibration was done from -40 to 40 in 10 increments in both yaw and pitch for a total

of 81 calibration points. The same data acquisition system and pressure transducer setup

described in Section 4.3 was used. After the calibration data was taken, it was formulated

into a set of interpolation functions in MATLAB to facilitate their use in post processing

future data taken with the probe.

4.3 Data acquisition

The motion of the traverse systems along with the screen rotation is controlled by a LabView

program that also handles the data collection. During each test, the program begins by

40

Page 51: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

measuring the five pressures near the wall of the tunnel opposite the probe entrance. This

is done to avoid the influence of the probe hole on the pressure readings. Since the pressure

ports in the 5-hole probe are not at the bottom of the probe, the probe is unable to interrogate

within 0.25 inches of the wall of the tunnel. After this first set of measurements are taken, the

probe moves radially inward toward the center of the tunnel stopping at certain predefined

increments to take measurements. The Labview program allows for arbitrary collect and

settle times to be chosen by the user. After all the collections are taken for a single radial

plunge, the screen then rotates, the probe returns to the tunnel wall, and the process repeats

until a fully measured profile is obtained.

Varying levels of spacial accuracy were used in the experiments described in Chapter 5,

but a common setting was 72, 5 rotations with 28 one-tenth-inch radial steps on even plunges

and 14 radial steps on odd plunges. This provides for 1,512 total measurement points. This

spatial resolution is displayed in 4.8. In the figure, the black x’s mark measurement locations

and the solid black line marks the relative location of the tunnel wall. Factory calibrated

Dwyer 616-3 10-inch water column pressure transducers was used in all experiments.

4.4 Experimental uncertainty

The calculation of measurement uncertainty associated with 5-hole probe measurements is

very involved due to the complicated nature of the equations as well as the interpolation

scheme used. Paul et al. calculated the measurement uncertainty for several different meth-

ods of 5-hole probe non-nulling calibration along with different interpolation techniques [30].

In their study, they list the procedure developed by Treaster and Yocum as having a mea-

surement uncertainty of ±0.332 when using a spline interpolation scheme which is what was

used in the present calibration.

According to Paul et al. this uncertainty arises from the computational error associated

with both the calibration scheme as well as the spline interpolation but it does not include

uncertainty from other sources of error such as the uncertainty inherent to the pressure

41

Page 52: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

Figure 4.8: Spatial resolution using rotator and traverse system. In this image, the black x’smark measurement locations and the solid black line marks the tunnel wall.

transducers used, or the measurement uncertainty when measuring the known angles for the

probe calibration.

The calibration was carried out using known angles measured to an uncertainty of±0.5.

The pressure transducers used have a measurement uncertainty of ±0.25% which, using the

statistical method used by Paul et al., translates to an uncertainty of approximately ±0.1 of

swirl angle. Combining these sources of uncertainty, there is a total measurement uncertainty

in swirl angle of ±0.932. This is the measurement uncertainty that will be reported in the

swirl angle plots in Chapter 5.

4.5 Inherent problems with experimental setup

Although the aforementioned experimental setup is versatile and has many advantages, there

are some inherent weaknesses in the experimental setup that should be noted.

42

Page 53: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

4.5.1 Vane deformation

The FFF technique discussed in detail in Section 3.2.6 was chosen for the included exper-

iments as it provided a relatively straightforward way to manufacture StreamVane screens

for low speed experimentation. One main disadvantage with the FFF technique is that it

uses ABS plastic as opposed to a stiffer, metal build material. The use of ABS plastic along

with the relatively thin vane thickness chosen produced vanes that have the potential to be

deformed when under load in the wind tunnel. This will have the effect of straightening the

vanes and changing vane performance, especially in areas with high turning and large vane

chords.

4.5.2 Profile mixing

Even though the interrogation plane is adjustable, it is not possible to measure directly

downstream of a swirl screen as the flow near the screen will be dominated by individual

vane wakes. It is desirable to measure the swirl profile after individual wakes have diffused.

As these vane wakes are diffusing however, the created vortices are also convecting and

attenuating. It is beyond the scope of present research to attempt to predict how a swirl

profile will change as it convects downstream from the screen plane.

In one of the experiments in Chapter 5, numerical simulation data is available down-

stream of the screen plane. In this cases, the experimental data will be compared to the

corresponding plane taken from the numerical simulation. In the experiments where down-

stream mixing is not included, the experimental data will be compared directly to the velocity

vector field used to create the screen. This neglects the effects of downstream profile mixing

and will contribute to large differences between anticipated and experimentally measured

swirl profiles. Because of the highly dynamic nature of swirling flow, it is recommended that

when possible all profiles used to make StreamVane screens include downstream mixing to

the desired measurement plane.

43

Page 54: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

4.5.3 Validity of numerical results on which screens are based

One of the main advantages of the StreamVane Method is the ability to create a swirl

screen directly from a desired vector field. This vector field usually comes from a numerical

simulation of a purposed engine/inlet system. The advantage to this approach is that it will

allow engine and airframe designers to test the effects of a particular inlet concept on fan

operability and performance.

The underlying assumption in these tests is that the numerical results used to generate

the profile for use by the StreamVane method are valid, physical results. If the CFD results

contain an unrealistic swirl profile the screen will then be created with vanes designed to

duplicate this unrealistic profile. This will cause the profile downstream of the screen at the

measurement plane to be very different from the anticipated swirl pattern.

44

Page 55: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Chapter 5

Results

Using the experimental apparatus discussed in Chapter 4, several swirl distortion genera-

tion screens of varying complexity were tested in order to evaluate the effectiveness of the

StreamVane Design Method. The tested screens included two generic patterns, bulk and

twin swirl, as well as two patterns from simulations of real engine airframe combinations.

Since the present method hinges on the ability to recreate a given velocity vector field, a

method for comparing design and experimental vector fields was established prior to testing.

5.1 Comparison metric

Following the advice of a proposed industry standard for evaluating swirl distortion, swirl

angle will be used as the primary means of comparing reference and experimental swirl

profiles [7]. Swirl angle, θ, is formulated using Equation 5.1 with the terms in the equation

being defined in Figure 5.1.

θ = tan−1

(

Ux

)

(5.1)

In essence, swirl angle is the angle that the tangential component of velocity, Uθ, makes

with the axial component of velocity, Ux, when the velocity has been expressed in a cylindrical

coordinate system. Since swirl angle is the angle of deviation from axial in the direction of

fan motion only, it will be highly correlated to fan performance.

45

Page 56: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Figure 5.1: Description of variables used in Equation 5.1, the calculation of swirl angle.

The five-hole probe used is capable of directly measuring both swirl and radial velocity

angles. Due to the probe geometry, it is much more sensitive to swirl angle than it is to

radial angle. While the radial angle will be used in construction of velocity vector plots,

it will not be used in the detailed swirl angle plots which are the primary means of profile

comparison.

In order to distill the differences present in two profiles of swirl angle into a single value,

the root mean square error, RMSE, was used calculated for each set of experimental results.

RMSE is defined in Equation 5.2.

RMSE =

1

N

N∑

n=1

(

θexperimentaln − θdesignn

)2

(5.2)

In this equation, θ represents the design or experimental swirl angle with θn representing a

measurement of swirl angle at the nth location with a total of N comparison locations.

5.2 Bulk swirl

5.2.1 Profile description

In order to evaluate the effectiveness of the vane correlations presented in section 3.2.3 with-

out introducing the complexity of vane to vane variation in turning, a bulk swirl-generating

screen was created. The profile chosen was a forced vortex, or solid body vortex, with linear

variation in swirl angle from 0 at the center of the profile to 18 near the outer edge. Figure

46

Page 57: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.2a shows design velocity vectors before the application of the StreamVane Method and

Figure 5.2b shows radial variation in swirl angle for the given profile.

−1 −0.5 0 0.5 1−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

x

y

(a) velocity vectors

0 0.2 0.4 0.6 0.8 10

2

4

6

8

10

12

14

16

18

20

r

θ (d

eg)

(b) radial variation in swirl angle

Figure 5.2: Bulk swirl profile velocity vectors and radial variation in swirl angle.

5.2.2 Screen description

Using the methodology discussed in Chapter 3, a screen was made from the bulk swirl profile.

Figure 5.3a shows velocity vectors from the profile along with lines indicating vane locations

(red) along with locations of structural supports (green). Figure 5.3b shows an image of the

bulk swirl screen printed using the fused deposition modeling technique.

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

y (in

)

x (in)

(a) vane lines (red) and structural lines (green) (b) printed screen

Figure 5.3: Vane locations laid over the bulk swirl velocity vector field and an image of thefinal printed bulk swirl screen.

47

Page 58: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.2.3 Results and discussion

Using the low-speed tunnel, rotating traverse system, and five-hole probe, the swirl angle

profile was measured one diameter downstream of the screen. This distance was chosen to

allow the individual wakes from the screen to attenuate and combine. For the experiment,

three plunges separated by 5 each were made consisting of 28 radial steps at one-tenth of

an inch. The results from these three plunges were averaged to obtain the data in Figure

5.4, which presents radial variation in swirl angle from the design as well as the experiment.

0 0.5 1 1.5 2 2.5

0

2

4

6

8

10

12

14

16

r (in)

θ (d

eg)

ExperimentDesign

Figure 5.4: Radial variation in swirl angle taken one diameter downstream of the bulk swirlscreen.

As can be seen in the figure, in general, the experimental results show good agreement

with the reference swirl angle profile. In the area between r = 0 and r ≈ 0.6 inches the

experimental profile shows a marked negative deviation from the design swirl angle. As

is illustrated in Figure 5.3, this region of the screen did not include vanes. This accounts

for the decreased swirl measured in that area. That there was swirl measured behind this

region of the screen is indicative of the profile mixing that will occur between the screen

48

Page 59: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

and measurement planes. Also near the structural support located at r = 2 there is a local

reduction in swirl angle as well as near the wall where viscous boundary layer effects will

be present. Using Equation 5.2, the RMSE for the bulk swirl screen was calculated to be

0.73.

The results of the bulk swirl screen show that the vane correlations are able to accurately

generate vane geometry to accomplish a desired degree of turning. The unique factor with

the bulk swirl screen is the absence of vane-to-vane variation in output turning. For the

StreamVane Design Method to be useful for recreating a swirl angle profile from a real

engine/airframe system, it must be able to recreate profiles which are much more complicated

than the bulk swirl case. These profiles will inevitably require a screen with vane-to-vane

variation.

5.3 Generic twin swirl

One of the underlying assumptions of the StreamVane Design Method is that the flow around

each vane in a row of dissimilar vanes will be close to what it would be if the vane were in a

row of vanes like itself. In order to validate this assumption, as well as provide some insight

into the acceptable level of vane to vane variation, a test profile was chosen that incorporated

vane-to-vane variation in output turning. To this end, a counter-rotating twin swirl pattern

was chosen. Such a profile requires rows of dissimilar vanes, and also is similar to real swirl

profiles present in certain engine/airframe combinations.

5.3.1 Profile description

The equations for the velocity vector field for a generic twin swirl pattern are defined in

Equations 5.3 through 5.5. These equations are similar to the equations for a single Lamb-

Oseen vortex and come from analytical solutions to the Navier-Stokes equations and were

adapted from a derivation by Brandt [31].

Ω0 =Γ0

πa20(5.3)

49

Page 60: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

u(x, y) =1

2

(

a20Ω0,1(y − y1)

(x− x1)2 + (y − y1)2

)

(

1− e−((x−x1)2+(y−y1)2)/a20

)

−1

2

(

a20Ω0,2(y − y2)

(x− x2)2 + (y − y2)2

)

(

1− e−((x−x2)2+(y−y2)2)/a20

)

(5.4)

v(x, y) =1

2

(

a20Ω0,1(x− x1)

(x− x1)2 + (y − y1)2

)

(

1− e−((x−x1)2+(y−y1)2)/a20

)

−1

2

(

a20Ω0,2(x− x2)

(x− x2)2 + (y − y2)2

)

(

1− e−((x−x2)2+(y−y2)2)/a20

)

(5.5)

In order to complete the equations, the values found in Table 5.1 were used.

Term Value

a0 0.10Γ0 1x1 −1.25y1 0x2 1.25y2 0

Table 5.1: Parameters used in the creation of the generic twin vortex pattern.

These parameters, along with a uniform axial component of velocity, were chosen to

create an equally spaced vortex pattern with a maximum swirl angle of 16. The resulting

velocity vector field as well as contours of swirl angle are shown in Figure 5.5. The structure

of this vortex pair is very similar to a pair of counterrotating wing-tip vortices as studied

experimentally by Devenport [32]

5.3.2 Screen description

Using the StreamVane Design Method, four screens using the twin vortex pattern were

designed with different levels of vane-to-vane variation present in each. This variation was

controlled using the variable seeding approach as discussed in Section 3.2.2. The value of

prescribed ǫ, resulting ǫ′, and the total number of vanes for each screen is given in Table 5.2.

50

Page 61: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) velocity vectors

x (in)

y (in

)

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

−15

−10

−5

0

5

10

15

(b) contours of swirl angle

Figure 5.5: Velocity vectors and swirl angle contours for generic twin swirl pattern.

Vane spacing ǫ Effective vane spacing ǫ′ Total number of vanes

2 1.87 193 2.67 154 3.27 135 4.36 11

Table 5.2: Description of different screens designed to test the effect of vane-to-vane vari-ability on the reproduction of a generic twin swirl pattern.

Figure 5.6 shows the vane seeding pattern used to create the ǫ = 3 screen. In the figure,

the red circle represents the initial point for the seed line, shown in red. Once this line was

created, vane seeds were placed along it at intervals corresponding to the desired level of ǫ.

The resulting vane lines are shown in blue. Along with these lines, additional seeds were

added to create vanes on the right side of the profile. Structural supports, shown in green,

were then added around each vortex core as well as vertically through the entire profile to

hold the vanes in place.

This same seeding pattern was used for the other screens except ǫ, and thus the total

number of vanes, was varied for each screen. This is illustrated in Figure 5.7. In each of

the figures, the red line indicates the prescribed output turning along the seed line shown

in Figure 5.6. In each case, vane seeds are placed at the extrema indicated by green circles,

51

Page 62: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−4 −3 −2 −1 0 1 2 3 4

−3

−2

−1

0

1

2

3

x (in)

y (in

)

Figure 5.6: Seed line (red), vane seeds (blue circles), vane lines(blue), and structural supportsfor the ǫ = 3 case.

as well as elsewhere in the profile depicted as blue circles. Notice that as ǫ is increased, the

number of seed points between extrema decreases; this is indicative of the higher allowed

vane-to-vane variation in output turning.

Solid models of the four screens were created; Figure 5.8 shows final CAD images of the

screens including support structures as well as flanging.

52

Page 63: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

14

16

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(a) ǫ = 2

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

14

16

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(b) ǫ = 3

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

14

16

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(c) ǫ = 4

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

14

16

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(d) ǫ = 5

Figure 5.7: Spacing of vane seeds along the seed line shown in figure 5.6 for the four screenstested.

53

Page 64: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

(a) ǫ = 2 (b) ǫ = 3

(c) ǫ = 4 (d) ǫ = 5

Figure 5.8: CAD images of screens designed to create a counter-rotating twin swirl patterneach with a different level of allowed vane-to-vane variation.

54

Page 65: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.3.3 Results and discussion

After these screens were printed using the FFF technique in ABS plastic, they were tested

in the low-speed wind tunnel. Using the rotator and traverse system, the flow one diameter

downstream of each of the screens described in Table 5.2 was measured. For these studies,

72 radial plunges were made in 5 increments. Each plunge consisted of either 28 steps of

one-tenth of an inch for even plunges or 14 steps of one-tenth of an inch for odd numbered

plunges. This was done to reduce experimental run time while still maintaining a high level

of spatial accuracy.

The results for ǫ = 2, ǫ = 3, ǫ = 4, and ǫ = 5 are presented in Figures 5.9, 5.10, 5.11,

and 5.12 respectively. Each of these figures presents the design and experimental velocity

and swirl profiles. In order to provide an overall assessment of profile match, the RMSE

was calculated for each case using Equation 5.2. These results are presented in Table 5.3.

Vane spacing ǫ Effective vane spacing ǫ′ Total number of vanes RMSE2 1.87 19 1.69

3 2.67 15 1.71

4 3.27 13 1.65

5 4.36 11 1.51

Table 5.3: Description of twin vortex screens.

Due to the difficulty of knowing the relative position of the screen and probe during

testing, in the calculation of RMSE, each experimental profile was rotated and moved

vertically and horizontally relative to the design profile to find a minimum value of RMSE.

These minimum values are presented in Table 5.3.

55

Page 66: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) design vector field

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

x (in)

y (in

)

(b) experimental vector field

x (in)

y (in

)

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

−15

−10

−5

0

5

10

15

(c) contours of design swirl angle

x (in)

y (in

)

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

−15

−10

−5

0

5

10

15

(d) contours of experimental swirl angle

Figure 5.9: Results for ǫ = 2,ǫ′ = 1.87

56

Page 67: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) design vector field

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

x (in)

y (in

)

(b) experimental vector field

x (in)

y (in

)

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

−15

−10

−5

0

5

10

15

(c) contours of design swirl angle

x (in)

y (in

)

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

−15

−10

−5

0

5

10

15

(d) contours of experimental swirl angle

Figure 5.10: Results for ǫ = 3,ǫ′ = 2.67

57

Page 68: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) design vector field

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

x (in)

y (in

)

(b) experimental vector field

x (in)

y (in

)

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

−15

−10

−5

0

5

10

15

(c) contours of design swirl angle

x (in)

y (in

)

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

−15

−10

−5

0

5

10

15

(d) contours of experimental swirl angle

Figure 5.11: Results for ǫ = 4,ǫ′ = 3.27

58

Page 69: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) design vector field

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

x (in)

y (in

)

(b) experimental vector field

x (in)

y (in

)

−3 −2 −1 0 1 2 3

−3

−2

−1

0

1

2

3

−15

−10

−5

0

5

10

15

(c) contours of design swirl angle

x (in)

y (in

)

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

−15

−10

−5

0

5

10

15

(d) contours of experimental swirl angle

Figure 5.12: Results for ǫ = 5,ǫ′ = 4.36

59

Page 70: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

In each of the four figures presenting the results of the generic twin vortex study, a twin

vortex pattern similar to what was prescribed in the design vector field was created. This is

evident in both the velocity vector fields as well as the contours of swirl angle. In each case,

however, the experimental vortex pattern presents itself as having moved below the y = 0

line where the vortex cores are centered in the design profile. This type of vortex motion is

to be anticipated for a counter rotating twin vortex pair according to the Biot-Savart law

[33]. Using this law, the velocity induced by a vortex line is given by Equation 5.6.

v =Γ

2πr(5.6)

In this equation v is the induced velocity at some point away from the vortex line, Γ is

the circulation, and r is the distance from the vortex line. By using the right hand rule, it

can be shown that each vortex will induce a velocity on the other. Because they each have

opposite circulations, this will have the effect of causing both vortices to move downward.

Along with this effect, there are several other possible explanations for deviations be-

tween the design and the experimental results. The design vector field was obtained from

an exact solution to the Navier-Stokes equations, which used certain approximations such

as incompressibility and wholly laminar flow. Also, the vector field was derived for a vortex

pair in an open fluid whereas the present experiments were done in an area confined by

tunnel walls. This will cause differences in the flow pattern. Such differences are clearly seen

in the presence of secondary recirculation near the top of each of the presented vector fields.

The StreamVane Method also makes certain assumptions to simplify the design of a swirl-

generating screen such as linearity of turning angle between vanes. Along with this, there

are regions in each screen without vanes as well as structural supports. Even with all these

limitations the StreamVane Method is able to create a twin vortex pair in approximately the

correct location with roughly the correct swirl angle magnitude.

60

Page 71: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

In order to compare the examine the effect of varying ǫ, RMSE was calculated for each

screen. These results are presented in Table 5.3. Notice that there is no apparent trend in

RMSE, in fact, all values presented are within the range of experimental uncertainty of the

five-hole probe.

SAE AIR-5686, a proposed industry standard for quantifying swirl distortion, recom-

mends examining swirl angle taken at different radii in the flow field [7]. Doing this allows

for a clearer comparison between multiple swirl profiles. This was done for each screen using

three representative radii; the results are presented in Figure 5.13.

For each of the radii examined, the different levels of ǫ do not produce results that are

discernible from each other or follow any apparent trend. In order make these figures more

readable, the experimental uncertainty was not plotted. As discussed in Section 4.4, the

uncertainty of the measurements of swirl angle is ±0.932.

The data suggest that the underlying assumption of the StreamVane Design Method

is valid. In a cascade of dissimilar vanes, each vane will produce local turning like what it

would in a cascade of vanes like itself. The data also suggest that this is a robust assumption:

relatively large values of ǫ can be used without any noticeable degradation in vane turning.

The choice of ǫ also influences other factors beyond vane turning ability. In choosing

ǫ, the screen designer is, in effect, choosing how to linearize the velocity vector field. For

example, Figure 5.14 shows vane lines for ǫ = 2 and ǫ = 5 with corresponding created

velocity vectors in blue and the design vector field plotted in gray.

Using a greater ǫ has the effect of relying on fewer vanes to recreate the same vector

field. In both screens, there are areas between vanes where the flow will be uncontrolled. In

the ǫ = 5 case these areas are much larger than they are in the ǫ = 2 case which will result

in less fine control of flow angle in these areas. More experiments need to be preformed that

further examine the effect of ǫ on screen performance and spatial fidelity, especially using

more complicated swirl profiles.

61

Page 72: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

r=0.5r=1.25r=2.0

(a) location of radii

0 45 90 135 180 225 270 315 360

−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

Designε=2ε=3ε=4ε=5

(b) r = 0.5

0 45 90 135 180 225 270 315 360

−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

Designε=2ε=3ε=4ε=5

(c) r = 1.25

0 45 90 135 180 225 270 315 360

−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

Designε=2ε=3ε=4ε=5

(d) r = 2.0

Figure 5.13: Profiles of swirl angle taken at different radii. Figure 5.13a shows the loca-tion of the three radii tested. In these figures, each radii is unwrapped and plotted in thecounterclockwise direction starting at the locations marked by the circles shown in Figure5.13a.

62

Page 73: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−4 −3 −2 −1 0 1 2 3 4

−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) ǫ = 2

−4 −3 −2 −1 0 1 2 3 4

−3

−2

−1

0

1

2

3

x (in)

y (in

)

(b) ǫ = 5

Figure 5.14: Vane lines with velocity vectors created by vanes shown in blue and designvelocity vectors in gray

63

Page 74: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.4 Representative profile for serpentine inlet applications

Engines embedded into the body of an airframe are used in military applications in order

to hide the face of the fan from enemy radar. One major disadvantage of embedded inlets

is that they deliver air to the engine by way of a serpentine inlet duct. These ducts, as

discussed previously with the Tornado fighter example, can lead to large amounts of swirl

distortion, which in turn can cause engine operability and performance issues. This makes

the study of the flow through serpentine ducts and the effect of this flow on fan performance

important to designing modern military aircraft.

In cooperation with the Virginia Tech Turbomachinery and Propulsion Research Labora-

tory, the Air Force Research Laboratory (AFRL) has performed numerical and experimental

investigations on the flow through a modern serpentine inlet. An overview of the numerical

study was published by Sanders and List [34]. In their study, the authors used CFD to com-

pute the flow through the inlet, an overview of which is shown in Figure 5.15. In this figure,

Figure 5.15: Serpentine duct with streamlines colored by Mach number

streamlines colored by Mach number are shown. Notice near the top of the circular portion

of the inlet a distinct pair of vortices which have formed due to the serpentine shape. Figure

64

Page 75: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.16 shows velocity vectors along with contours of swirl angle taken from the simulation at

the entrance to the circular portion of the duct. Notice in both Figure 5.16a and Figure

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) velocity vectors

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)y

(in)

−30

−20

−10

0

10

20

30

(b) contours of swirl angle

Figure 5.16: Velocity vectors and contours of swirl angle present in the serpentine inletdistortion profile.

5.16b the distinct counterrotating vortex pair near the top of the profile. The details of

the computed flow through the duct were obtained from AFRL and used to create a swirl

distortion screen designed to reproduce the swirl profile made by the serpentine inlet. This

section will present the details of the screen design along with experimental results of the

swirl profile produced by the screen.

5.4.1 Screen description

Using the StreamVane Method, a seed line and corresponding vane lines were created as

illistrated in Figure 5.17. Beginning at an initial location indicated by the red circle in

5.17a, a seed line (shown in red) was created. Using an ǫ = 3, ǫ′ = 2.66, seeds were placed

along this line as indicated by the blue circles shown in both Figure 5.17a and Figure 5.17b.

In this particular case, extra vane seeds were also added manually between the second and

third extrema in order to maintain consistent vane spacing. The resulting vane lines are

shown in blue in Figure 5.17a.

65

Page 76: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) seed line (red) and resulting vane lines (blue)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 15

10

15

20

25

30

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(b) turning angle along seed line

Figure 5.17: Seed line and vane lines for serpentine inlet profile.

Taking advantage of symmetry, seed points from this seed line were mirrored about the

x = 0 axis to add the additional seed points and vane lines needed to complete the screen.

The final set of vane lines along with structural supports is shown in Figure 5.18. Figure

5.19 shows a CAD image of the final screen with flanging added along with an image of the

screen after it had been printed in ABS plastic.

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

Figure 5.18: Vane lines (blue) and structural supports (green) for serpentine inlet profile.

66

Page 77: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

(a) CAD model (b) printed screen

Figure 5.19: CAD model and final printed screen designed to reproduce the serpentine inletprofile.

As discussed previously, one challenge in comparing experimental results from a swirl

screen to the design vector field used to create the screen is that the swirl profile will develop

and change between the screen plane and the measurement plane. Fortunately in the case of

the serpentine inlet, extra downstream profiles of swirl angle were available from the CFD

results of the flow through the inlet. By comparing the experimental results to a downstream

plane from CFD, some of the error associated with downstream mixing is avoided.

To illustrate the effect of downstream mixing, Figure 5.20 shows how the maximum

swirl angle present in the CFD result changes as the profile develops downstream of the

screen. Moving away from the screen plane, the maximum observed swirl angle decreases

as the profile mixes and diffuses. The CFD results included a plane at +0.46 diameters

downstream of the screen plane. In order to avoid individual vane wakes, the experimental

profile was measured at +1.00 diameters downstream of the screen. When presenting the

results for the serpentine inlet screen, the CFD result taken at +0.46 diameters will be used

as a reference as it most closely matches the experimental measurement location.

67

Page 78: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

0 0.1 0.2 0.3 0.4 0.50

5

10

15

20

25

30

35

40

distance downstream of screen (diameters)

θmax

(de

g)

Figure 5.20: CFD computed maximum swirl angle vs. distance downstream of the screenplane for the serpentine inlet.

Figure 5.21 shows velocity vectors from the CFD results at the screen plane as well as

at the reference plane. Notice that the vortex pair expands as well as moves downward as

it develops downstream of the screen plane. Figure 5.22 shows contours of swirl angle at

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) screen plane

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(b) reference plane (+0.46 diameters)

Figure 5.21: Velocity vectors from CFD results showing the effect of downstream mixing.

the screen plane as well as the reference plane; notice the marked decrease in swirl angle

magnitude between the two profiles.

68

Page 79: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

−30

−20

−10

0

10

20

30

(a) screen plane

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

−30

−20

−10

0

10

20

30

(b) reference plane (+0.46 diameters)

Figure 5.22: Contours of swirl angle from CFD results showing the effect of downstreammixing.

69

Page 80: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.4.2 Results and discussion

After the serpentine inlet screen was manufactured, it was tested in the low-speed wind

tunnel. Using the rotator and traverse system, the flow one diameter downstream of the

screen was measured. For this study, 72 radial plunges were made in 5 increments. Each

plunge consisted of either 28 steps of one-tenth of an inch for even plunges or 14 steps of

one-tenth of an inch for odd numbered plunges.

Figure 5.23 shows reference and experimental velocity vectors for the serpentine inlet

screen while Figure 5.24 shows the experimental and reference contours of swirl angle.

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) reference (+0.46 diameters)

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(b) experiment (+1.00 diameters)

Figure 5.23: Reference and experimental velocity vectors

Notice that in both Figure 5.23 and Figure 5.24 that the general pattern of the desired

swirl profile was matched. The screen was able to create a counterrotating twin vortex

pair in the correct location with roughly the correct magnitude. There are some visible

differences, however, especially when comparing the contours of swirl angle. The reference

profile has areas of high and low swirl angle that are noticeably larger and more pronounced

that those present in the experimental profile. Also, the vortices present in the experimental

results have drifted apart in comparison with the vortices present in the reference profile.

70

Page 81: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

−15

−10

−5

0

5

10

15

(a) reference (+0.46 diameters)

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

−15

−10

−5

0

5

10

15

(b) experiment (+1.00 diameters)

Figure 5.24: Reference and experimental contours of swirl angle

This is consistent with the continued downstream mixing that would take place between

the reference and measurement planes. Using Equation 5.2, the mean square error for the

serpentine inlet screen was calculated to be 2.56.

In order to compare the details of the swirl angle profiles in the areas of greatest interest,

radii of swirl angle were plotted near the twin vortex pair. These results are presented

in Figure 5.25. Figure 5.25a shows the location of the comparison radii relative to the

experimental velocity vector profile. In this figure, the circular markers and arrows show

the beginning and direction of the plotted radii. These particular radii were chosen in order

to examine the differences in swirl angle along a radii that would intersect the vortex core

locations: Figure 5.25d and then at several other radii adjacent to it. For each radii, the

computed RMSE is also given.

71

Page 82: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

r=1.40r=1.65r=1.90r=2.15r=2.40

(a) location of radii

0 45 90 135 180 225 270 315 360−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

ReferenceExperiment

(b) r = 1.40, RMSE = 1.80

0 45 90 135 180 225 270 315 360−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

ReferenceExperiment

(c) r = 1.65, RMSE = 1.91

0 45 90 135 180 225 270 315 360−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

ReferenceExperiment

(d) r = 1.90, RMSE = 2.03

0 45 90 135 180 225 270 315 360−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

ReferenceExperiment

(e) r = 2.15, RMSE = 2.13

0 45 90 135 180 225 270 315 360−15

−10

−5

0

5

10

15

angular position (deg)

θ (d

eg)

ReferenceExperiment

(f) r = 2.40, RMSE = 2.65

Figure 5.25: Swirl angle comparisons between reference and experimental results along sev-eral radii

72

Page 83: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

In each of these figures, the experimental results along with the experimental uncertainty

are presented in black. While the screen was able to duplicate the large change in swirl

angle that occurs at the 90 mark in each profile, some of the details in the profile in other

locations were not as accurately reproduced. These differences could be due to many factors,

such as validity of the CFD profile from which the screen was designed, scaling effects, the

location and extent of support structures, vane deformation, the level of allowed vane to vane

variability, the effect of individual vane wakes, or downstream diffusion of the swirl profile

between the screen and measurement planes.

Future screens could be made to test the effect of support structure location, level of ǫ,

as well as other screen design parameters. In the future, AFRL will experimentally measure

the swirling flow through the serpentine inlet and then the validity of the CFD results from

which the present screen was designed can be assessed. It would also be possible to use

experimental velocity vector profiles to create a new screen that could potentially recreate

the profile more accurately.

Even with the differences between the reference profile and the experimental profiles,

the results demonstrate that the StreamVane Design Method is able to produce complicated

swirl distortion profiles directly from a description of the flow in a real inlet system. This

represents a marked advance over other purposed methods of creating swirl distortion for jet

engine research, which are limited to the generation of generic swirl patterns.

73

Page 84: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.5 Representative profile for HWB applications

Hybrid wing body (HWB) aircraft have been given attention recently as a potential avenue

to pursue in order to increase fuel economy for civilian transport aircraft [35]. An image

from a CAD model of a typical HWB is shown in Figure 5.26. The premise behind an HWB

is that if the wing and body of an aircraft are blended, they can both act as lifting surfaces.

This highly integrated design can decrease the resulting structure, weight, and drag of the

airframe.

Figure 5.26: Typical hybrid wing body aircraft without boundary layer ingestion.

This type of configuration promises large increases in fuel efficiency over traditional tube

and wing designs. In one study performed in cooperation with Boeing, a 27% reduction in

fuel burn per seat mile was achieved using an HWB instead of a traditional configuration

[36]. One problem with this concept, however, is that it has the potential for large amounts

of inlet swirl distortion in the associated propulsion system.

Similar to the delta wing discussed previously, the body of an HWB will produce vortices

that have the potential to be ingested by the engines. In one recent study by Gatlin et al., the

authors measured the surface flows around a scale model of the HWB shown in Figure 5.26.

The authors found evidence of significant vortex formation by the airframe that would lead

to swirl distortion [37]. Along with the potential for swirling flow created by the airframe

itself, some HWB concepts also include boundary layer ingestion.

74

Page 85: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

The addition of a boundary layer ingesting inlet has been shown to reduce fuel burn even

further by reenergizing the boundary layer that develops along the length of the airframe.

This adds further complexity to the problem, however, as boundary layer ingesting engines

are usually embedded into the airframe by way of a serpentine duct. These ducts have

been consistently shown to produce swirl distortion which would be combined with the total

pressure distortion that is inherent in an ingested boundary layer. In order for HWBs to

become a realistic choice for future aircraft, the effect of the produced swirl distortion on

fan performance and operability needs to be explored. Using the StreamVane Method, the

designers of HWB aircraft could test the effect of potential airframes and inlets on engine

performance and operability without the cost and time required to perform direct connect

testing.

5.5.1 Profile description

In order to examine in more detail the potential for HWB aircraft, Boeing Research and

Technology has performed many computational studies of the flow produced by an HWB.

This section will present the results from a screen designed to duplicate a swirl profile at the

nacelle inlet in an advanced HWB configuration in simulated flight conditions representative

of a possible extreme case. The profile provides a good test case for the StreamVane Method

as it is much more complicated and extreme than previously tested patterns and should

be representative of the swirl distortion present in a real inlet system. Figure 5.27 shows

velocity vectors and contours of swirl angle from the HWB profile provided by Boeing.

Notice the distinct pair of vortices present on the left hand side of each figure. It should

be noted that although the simulation was of an HWB in flight, it did not include the effects

of a rotating fan. Also, the simulation did not include prediction of the downstream mixing

of the swirl profile that would be useful for comparison. As has already been shown in the

presentation of the results from the serpentine inlet, mixing can account for large changes in

the swirl profile. Also, the CFD results for the HWB profile have not been validated in any

75

Page 86: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) velocity vectors

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

−50

−40

−30

−20

−10

0

10

20

30

(b) contours of swirl angle

Figure 5.27: Velocity vectors and contours of swirl angle present in the HWB swirl profile.

way and only represent a first step toward understanding the flow around an HWB aircraft.

With this in mind, the experimental results from the HWB screen cannot be expected to

closely match the input profile, but a qualitative match will still provide some evidence of

what the StreamVane Method is capable of.

5.5.2 Screen description

Using the StreamVane Method, seed lines and corresponding vane lines were created from

the HWB profile. Figure 5.28 shows the details from the first of these seed lines. Beginning

at an initial location indicated by the red circle in 5.28a, a seed line (shown in red) was

created. Using an ǫ = 3, ǫ′ = 2.66, seeds were placed along this line as indicated by the

blue circles shown in Figure 5.28a and 5.28b. The resulting vane lines are shown in blue in

Figure 5.28a.

Following a similar procedure, a second seed line was created and used to generate vane

lines. This is illustrated in Figure 5.29. For this seed line a value of ǫ = 10 was used. This

resulted in ǫ′ values of 7.38, 6.77, 8.99, 8.59 for each area between extrema.

Combining the vane lines shown in Figure 5.28a with those shown in Figure 5.29a along

with several structural supports results in the vane lines and support lines as shown in Figure

76

Page 87: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

x (in)

y (in

)

(a) seed line (red) and resulting vane lines (blue)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 110

12

14

16

18

20

22

24

26

28

30

Tur

ning

Ang

le (

deg)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(b) turning angle along seed line

Figure 5.28: First set of seed line and vane lines for HWB profile.

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

x (in)

y (in

)

(a) seed line (red) and resulting vane lines (blue)

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 110

15

20

25

30

35

40

45

50T

urni

ng A

ngle

(de

g)

Distance Along Seed Line

Seed LineVane Seed LocationsExtrema

(b) turning angle along seed line

Figure 5.29: Second set of seed line and vane lines for HWB profile

5.30. In this figure, the green lines represent structural supports while the vane lines are

shown in blue. Figure 5.31 shows a CAD image of the screen after flanging has been added

along with an image of the final manufactured screen.

77

Page 88: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3

−2.5

−2

−1.5

−1

−0.5

0

0.5

1

1.5

2

2.5

x (in)

y (in

)

Figure 5.30: Vane lines (blue) and structural supports (green) for HWB profile.

(a) CAD model (b) printed screen

Figure 5.31: CAD model and final printed screen designed to reproduce HWB profile.

78

Page 89: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

5.5.3 Results and discussion

After the HWB screen was manufactured, it was tested in the low-speed wind tunnel. Using

the rotator and traverse system, the flow one diameter downstream of the screen was mea-

sured. For this study, 72 radial plunges were made in 5 increments. Each plunge consisted

of either 28 steps of one-tenth of an inch for even plunges or 14 steps of one-tenth of an inch

for odd numbered plunges.

Figure 5.32 shows reference and experimental velocity vectors for the HWB screen while

Figure 5.33 shows the reference and experimental contours of swirl angle. Notice that in

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(a) reference

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

(b) experiment

Figure 5.32: Velocity vectors

both Figure 5.32 and Figure 5.33 that the general character of the desired swirl profile was

recreated experimentally. The screen was able to create a counterrotating offset twin vortex

pattern in the correct location. There are some visible differences however, especially when

comparing the contours of swirl angle.

Notice that the region of largely negative swirl angle, although present in the exper-

imental results, has a greatly reduced magnitude when compared to the reference profile.

Along with this, the orientation of vortices themselves has shifted, with the region of high

79

Page 90: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

−50

−40

−30

−20

−10

0

10

20

30

(a) reference

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

−50

−40

−30

−20

−10

0

10

20

30

(b) experiment

Figure 5.33: Contours of swirl angle

swirl angle being rotated clockwise and elongated. In general, the flow in the majority of the

experimental swirl profile has taken on a roughly counterclockwise bulk swirl characteristic

which is not seen with such a wide extent in the reference profile. Using Equation 5.2, the

RMSE for the HWB screen was calculated to be 6.20.

In order to compare the details of the swirl angle profiles in the areas of greatest inter-

est, radii of swirl angle were plotted near the twin vortex pair. These results are presented

in Figure 5.34. Figure 5.34a gives the location of the comparison radii relative to the ex-

perimental velocity vector profile. In this figure, the circular markers and arrows show the

beginning and direction of the plotted radii. These particular locations were chosen in order

to examine the differences in swirl angle along a radii that traverse areas inside both of the

main vortices. For each radii a value of RMSE is also presented as calculated by Equation

5.2.

80

Page 91: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

−3 −2 −1 0 1 2 3−3

−2

−1

0

1

2

3

x (in)

y (in

)

r=1.40r=1.70r=2.00r=2.30r=2.60

(a) comparison radii

0 45 90 135 180 225 270 315 360−30

−25

−20

−15

−10

−5

0

5

10

15

20

25

30

35

40

angular position (deg)

θ (d

eg)

ReferenceExperiment

(b) r = 1.40, RMSE = 5.65

0 45 90 135 180 225 270 315 360−30

−25

−20

−15

−10

−5

0

5

10

15

20

25

30

35

40

angular position (deg)

θ (d

eg)

ReferenceExperiment

(c) r = 1.70, RMSE = 6.43

0 45 90 135 180 225 270 315 360−30

−25

−20

−15

−10

−5

0

5

10

15

20

25

30

35

40

angular position (deg)

θ (d

eg)

ReferenceExperiment

(d) r = 2.0, RMSE = 7.97

0 45 90 135 180 225 270 315 360−30

−25

−20

−15

−10

−5

0

5

10

15

20

25

30

35

40

angular position (deg)

θ (d

eg)

ReferenceExperiment

(e) r = 2.30, RMSE = 8.25

0 45 90 135 180 225 270 315 360−30

−25

−20

−15

−10

−5

0

5

10

15

20

25

30

35

40

angular position (deg)

θ (d

eg)

ReferenceExperiment

(f) r = 2.60, RMSE = 9.86

Figure 5.34: Swirl angle comparisons between reference and experimental results along sev-eral radii

81

Page 92: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Notice that in all of the radii plotted, that the general shape of the reference swirl angle

is duplicated by the experimental results. Much of the difference between the reference and

experimental plots of swirl angle can be attributed to the problems inherent in the HWB

profile itself discussed previously as well as downstream mixing of the profile between the

screen and measurement planes and vane deformation. It is interesting to note, however, that

the vanes between the vortices created large values of swirl, up to 35, which corresponds

closely to the design swirl in this area. The large error associated with the outer radii may

be due to tunnel wall effects, as well as closely packed vanes and structural supports in this

region as shown in Figure 5.31.

Even though the profile is not matched perfectly, the results from the HWB screen

demonstrate that the StreamVane Method is able to create very extreme and complicated

profiles that would otherwise not be possible using any other method. In order to create a

screen with higher accuracy, a validated CFD study that included downstream mixing would

be needed. Along with this, several screens could be created that would test the effect of

varying ǫ as well as location and number of structural supports.

82

Page 93: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Chapter 6

Conclusion and Recommendations

Inlet flow distortion is the major contributor to engine/airframe incompatibilities, and ex-

perience has shown that testing for compatibility with respect to total pressure distortion

alone is not sufficient. The effects of swirl distortion on the engine in a particular engine/air-

frame configuration must be accounted for to accurately certify operability and performance.

There has yet to be a published method that allows for the recreation of an arbitrary swirl

profile in a testing environment. The material in this thesis has presented such a method.

Through experimentation, the StreamVane Method has been shown to be capable of

reproducing complicated and extreme swirl profiles from real engine/airframe systems. No

other swirl distortion generation method in the reviewed literature has this capability which is

critical to accurately predicting the fan response due to a particular airframe/engine system.

This makes the StreamVane Design Method a first step toward what could be considered

an ideal swirl distortion generation method. Even with this experimentally demonstrated

advancement, much research still needs to be done on the method in order to scale a Stream-

Vane screen to a size applicable to real jet engine testing.

Critical to this effort will be the development of a method to model a StreamVane screen

structurally. Ideally, this type of analysis could be automated; the same MATLAB function

that generates the script for automatic 3D solid geometry creation could also be modified to

83

Page 94: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

generate a script for a Finite Element Analysis package as well. Computing the structural

loading on the vanes in a StreamVane screen would allow for the intelligent placement of

structural supports as well as the ability to certify the structural integrity of the screen to

avoid ingestion.

Along with structural modeling, a StreamVane screen designed for placement in front of

a jet engine operated at high speed would also need a vane model which takes into account

the effects of high speed, compressible flow. In his book, Aungier states that moving beyond

profiles such as the NACA A4K6 camber line to more modern airfoils such as a Controlled

Diffusion Airfoil allows for better performance over a wider range of Mach numbers [24,

§4.8]. Due to the modular nature of the StreamVane method, once a new vane model has

been developed, its implementation to replace the NACA A4K6 based vane model would

be trivial. This would allow for the creation of StreamVane screens which have lower total

pressure loss as well as increased performance in the type of flow that would be present in a

real jet engine test.

The experiments discussed in this thesis were performed in a wind tunnel which forced

air through the StreamVane screen. During a real jet engine test, the flow would instead be

draw through the screen by way of a downstream fan. The upstream effect of this fan on

the performance of a StreamVane screen should also be a major area of research.

The Virginia Tech Turbomachinery and Propulsion Research Laboratory is in a unique

position to study fan screen interaction as its main distortion rig has the ability to vary

the distance between the distortion generating device and the fan. This would allow a

StreamVane screen to be tested with and without fan interaction. Such an experimental

setup has been suggested by Aulehla in his discussion of shortcomings in distortion testing

and the need for a new swirl distortion testing methodology [38]. By using this distortion test

rig, the effect of a fan on screen performance could be quantified and a correction method

could be developed. Because the StreamVane Method allows for the creation of any arbitrary

profile, a screen using a profile corrected for fan screen interaction could be created.

84

Page 95: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

More research should also be done to further investigate the effect of allowed vane-to-

vane variability, vane solidity, as well as the impact of structural supports on output swirl

profile. The use of different manufacturing methods such as CNC machining or Direct Metal

Laser Sintering could be also be studied as an alternative to Fused Filament Fabrication for

full sized StreamVane screen manufacture.

The criteria for selecting a manufacturing method should include results from a struc-

tural analysis so that the selection of build material can meet the requirements of the

computed vane stresses and deflections. Along with selecting a manufacturing process for

strength, the manufacturing tolerances should also be considered in order to accurately re-

produce the desired vane cross sections. By choosing a manufacturing method that is able

to create smaller features, more accurate vane cross sections which include rounded leading

and trailing edges could be made which would increase vane performance as well reduce total

pressure loss. Finally, the chosen manufacturing method should be inexpensive and have a

fast enough turn around time to enable rapid design iteration.

Along with flow profiles derived from real engine/airframe systems, the StreamVane

Method can also be used to make generic swirl patterns for fundamental research on the

effect of swirling flow on fan performance. These types of studies would be very useful in

creating correlations for the effect of different types of swirl distortion on engine operability

and performance, as well as the design of a fan that is distortion tolerant.

As a general method to control flow direction, the StreamVane Method could also be

adapted to wide variety of other applications. For example, it could be used to create inlet-

specific, low-loss, inlet guide vanes. In this way, a deswirl screen could be created that would

take as an input the anticipated swirl profile and reshape it to remove areas of flow angle

nonuniformity. Since the screen would be tuned to the inlet/engine system, it could avoid

the large losses associated with traditional inlet guide vanes when they are traditionally used

to straighten swirling flow.

85

Page 96: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

In order to fully duplicate the flow profile from a real engine/airframe system, the total

pressure profile must be duplicated at the AIP as well. The StreamVane Method lends

itself to being coupled with a total pressure distortion generating device by placing the

device in front of the StreamVane screen. This flow-conditioning device could take the form

of a traditional wire mesh screen or a more modern, adaptable, total pressure distortion

generator. The latter would allow for adjustments to the total pressure profile in real time

and account for the inevitable total pressure loss associated with the StreamVane screen

itself. A combination total pressure and swirl screen could also be created by changing the

vane model to allow for total pressure loss control by adjusting vane characteristics to create

more losses in the desired regions.

By reproducing profiles of both total pressure as well as swirl distortion, a comparison

could be made between the effects on a fan of simulated and real inlet distortion. This would

add confidence that fan performance and operability for future inlet concepts that include

large amounts of distortion could be quantified while these concepts are still in the initial

design phase.

The StreamVane Design Method makes the replication of swirl profiles specific to a

particular airframe/inlet system possible. Designers of future aircraft will now be able to

test engine response to their designs with respect to swirl distortion without expensive and

time consuming direct-connect testing. This facilitates the study of engine response due to

advanced designs such as serpentine inlet systems or airframe concepts such as hybrid wing

body aircraft.

86

Page 97: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Bibliography

[1] J. Seddon and E.L. Goldsmith. Intake aerodynamics. AIAA, Inc., 1985.

[2] Inlet Total-Pressure-Distortion Considerations for Gas-Turbine Engines AIR1419, 2001.

[3] Gas Turbine Engine Inlet Flow Distortion Guidelines: ARP1420, 2001.

[4] Anthony Ferrar, William Schneck, Justin Bailey, Kevin Hoopes, and Walter O’Brien.Application of Additive Manufacturing to Rapidly Produce High-Resolution Total Pres-sure Distortion Screens. In Aerospace Sciences Meetings. American Institute of Aero-nautics and Astronautics, 2012.

[5] William Schneck, Anthony Ferrar, Justin Bailey, Kevin Hoopes, and Walter O’Brien.Improved Prediction Method for the Design of High-Resolution Total Pressure Distor-tion Screens. In Aerospace Sciences Meetings. American Institute of Aeronautics andAstronautics, 2013.

[6] M. Davis, A. Hale, and D. Beale. An argument for enhancement of the current inlet dis-tortion ground test practice for aircraft gas turbine engines. Journal of turbomachinery,124(2):235–241, 2002.

[7] A Methodology for Assessing Inlet Swirl Distortion: AIR-5686, 2010.

[8] CP Stocks and NC Bissinger. The design and development of the Tornado engineair intake. AGARD Aerodynamics of Power Plant Installation 21 p(SEE N 82-1306504-01), 1981.

[9] RG Hercock and DD Williams. Distortion-induced engine instability; Aerodynamicresponse. AGARD, LS72-Paper, (3), 1974.

[10] JE Flitcroft, J. Dunham, and WA Abbott. Transmission of inlet distortion through afan. Technical report, DTIC Document, 1987.

[11] W. Pazur and L. Fottner. The influence of inlet swirl distortions on the performance ofa jet propulsion two-stage axial compressor. 1991.

[12] N.R. Schmid, D.C. Leinhos, and L. Fottner. Steady performance measurements of aturbofan engine with inlet distortions containing co-and counterrotating swirl from anintake diffuser for hypersonic flight. Journal of turbomachinery, 123(2):379–385, 2001.

87

Page 98: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

[13] Yogi Sheoran, Bruce Bouldin, and P Murali Krishnan. Compressor Performance andOperability in Swirl Distortion. Journal of turbomachinery, 134(4), 2012.

[14] Awatef Hamed and Keith Numbers. Inlet Distortion Considerations for High CycleFatigue in Gas Turbine Engines. AIAA Paper, (97-3364), 1997.

[15] KW Lotter and J Jorg. The effect of intake flow disturbances on APU compressorblade high cycle fatigue in the Airbus A300. In Proceedings of the 13th Congress ofICAS/AIAA. Seattle: ICAS-82-4.6, volume 2, 1982.

[16] HP Genssler, W. Meyer, and L. Fottner. Development of intake swirl generators forturbo jet engine testing. Technical report, DTIC Document, 1987.

[17] M. Govardhan and K. Viswanath. Investigations on an axial flow fan stage subjected tocircumferential inlet flow distortion and swirl. Journal of Thermal Science, 6(4):241–250, 1997.

[18] Y. Sheoran and B. Bouldin. A Versatile Design of a Controlled Swirl Distortion Gener-ator for Testing Gas Turbine Engines. ASME, 2008.

[19] Y. Sheoran, B. Bouldin, and P.M. Krishnan. Advancements in the Design of an Adapt-able Swirl Distortion Generator for Testing Gas Turbine Engines. ASME, 2009.

[20] M. Davis, D. Beale, and Y. Sheoran. Integrated Test and Evaluation Techniques asApplied to an Inlet Swirl Investigation Using the F109 Gas Turbine Engine. ASME,2008.

[21] Personal Correspondence with Milton W. Davis, Arnold Engineering Development Cen-ter, March 2013.

[22] Alex C Hoffmann and Louis E Stein. Gas cyclones and swirl tubes: principles, designand operation. Springer Verlag, 2002.

[23] MathWorks Inc. MATLAB R2012a Documentation: stream2, 2012.

[24] R Aungier. Axial-Flow Compressors-A Strategy for Aerodynamic Design and Analysis.New York: ASME Press, 2003.

[25] J.C. Dunavant. Cascade investigation of a related series of 6-percent-thick guide-vaneprofiles and design charts: NACA TN 3959. National Advisory Committee for Aero-nautics, 1957.

[26] Philip G Hill and Carl R Peterson. Mechanics and thermodynamics of propulsion. 1992.

[27] Stratasys. Fortus 250mc Specifications, 2012.

[28] Stratasys. ABSplus-P430 Specifications, 2012.

[29] Allen L Treaster and Adam M Yocum. The calibration and application of five-holeprobes. Technical report, DTIC Document, 1978.

88

Page 99: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

[30] Akshoy Ranjan Paul, Ravi Ranjan Upadhyay, and Anuj Jain. A novel calibrationalgorithm for five-hole pressure probe. International Journal of Engineering, Scienceand Technology, 3(2), 2011.

[31] Laura Katherine Brandt. Numerical and analytical studies of two-dimensional vortexpair dynamics in unstratified and stratified environments. PhD thesis, UC San Diego,2009.

[32] William J Devenport, Jeffrey S Zsoldos, and Christine M Vogel. The structure anddevelopment of a counter-rotating wing-tip vortex pair. Journal of Fluid Mechanics,332:71–104, 1997.

[33] Philip G Saffman. Vortex dynamics. Cambridge university press, 1992.

[34] D.D. Sanders and M.G. List. CFD Performance Predictions of a Serpentine DiffuserConfiguration in an Annular Cascade Facility. AIAA Paper, 2013-0220, 2013.

[35] Walter O’Brien and Anthony Ferrar. Progress in Boundary Layer Ingesting EmbeddedEngine Research. In Joint Propulsion Conferences. American Institute of Aeronauticsand Astronautics, 2012.

[36] Robert H Liebeck. Design of the blended wing body subsonic transport. Journal ofAircraft, 41(1):10–25, 2004.

[37] Gregory M Gatlin, Dan D Vicroy, and Melissa B Carter. Experimental Investigation ofthe Low-Speed Aerodynamic Characteristics of a 5.8-Percent Scale Hybrid Wing BodyConfiguration. AIAA Paper, 2669:25–28, 2012.

[38] F Aulehla. Intake swirl - a major disturbance parameter in engine/intake compatibility.ICAS Proceedings, 1982.

89

Page 100: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Appendix A

Source Code

This appendix lists the source code used in the application of the StreamVane Method.Table A.1 lists the filenames of the attached MATLAB files along with a description of each.Figure A.1 shows a block diagram of the source code to illustrate how the different functionsinteract with each other.

Filename Description

inleta variable vanes.m Script to read a desired swirl profile and callother functions for StreamVane creation.

super seed path maker.m Function to create seed lines and vane seedpoints.

blade and path maker single.m Function to create vane lines from vane seedpoints.

flat plate gen simple orth square cl.m Function to create coordinates for flat platevanes with NACA A4K6 camber line.

structure blade and path maker.m Function to create structural members.sweep journal multi.m Function to create an NX automation script

to create solid geometry.sweep journal maker multi sub.m Subfunction to create vane and structural

lines in NX script format.

Table A.1: Descriptions and filenames of attached source code.

90

Page 101: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

inleta_variable_vanes.m

super_seed_path_maker.m

blade_and_path_maker_single.m

flat_plate_gen_simple_orth_square_cl.m

structure_blade_and_path_maker.m

sweep_journal_multi.m

sweep_journal_maker_multi_sub.m

input profile

CAD script

Figure A.1: Block diagram of interaction between source code files.

91

Page 102: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A.1 inleta variable vanes.m

1 clear

2 clc

3 close all

4

5 %load up the profile , this is in the sandard form

6 load(’ inleta_standard.mat ’)

7

8 %scale the profile to the desired dimensions

9 input.X = input.X*2.9640;

10 input.Y = input.Y*2.9640;

11

12 %quiver_plot (input.X,input.Y,input.U,input.V);

13 %break

14

15 %% Create Seed Points

16

17 %setup options for seed path maker

18 ss_options .figures = 1;

19 ss_options .blade_figure = 1;

20 ss_options .positive = 1;

21 ss_options .use_variable_spacing = 1;

22 ss_options . variable_spacing_size = 5.0;

23 ss_options .skip = 2400;

24 ss_options .x_point = -1.0*2.9640/3;

25 ss_options .y_point = 2.0*2.9640/3;

26 ss_options .extent = floor (0.307*200000);

27 ss_options .chunk_override 1 = 5;

28 %execute seed path maker , whcih outputs x,y coordinates of

seeds

29 seed_points1 = super_seed_path_maker (input ,ss_options );

30

31

32

33 %duplcate some of the seeds taking advantage of profile symetry

34 seed_points1_orig = seed_points1 ;

35 for n = 2:6

36 seed_points1 (end+1,:) = [-seed_points1_orig(n,1),

seed_points1_orig(n,2)];

37

38 end

39

40 %manualy add seeds for structure

41

92

Page 103: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

42 seed_points1 (end +1,:) = [0 2.5];

43 %seed_points1 (end+1,:) = [0 2.15];

44 seed_points1 (end +1,:) = [0 1.25];

45 %seed_points1 (end+1,:) = [0 1.10];

46 seed_points1 (end +1,:) = [0 0.65];

47 seed_points1 (end +1,:) = [0 0.0];

48 %seed_points1 (end+1,:) = [0 -0.25];

49 %seed_points1 (end+1,:) = [0 -2.8];

50

51 %set the final output seed_points variable , potentially , mutple

52 %super_seed_path_maker runs could be made and their results

could be

53 %concatinated . the seed_points variable simply contains ordered

x,y data of

54 %seed points

55 seed_points = seed_points1 ;

56

57 figure

58 hold on

59 draw_circle (0 ,0 ,5.928/2) ;

60 scatter (seed_points (:,1) ,seed_points (:,2))

61 x = input.X;

62 y = input.Y;

63 u = input.U;

64 v = input.V;

65 w = input.W;

66

67 %setup the interpolation functions

68 u_interp = TriScatteredInterp(x,y,u);

69 v_interp = TriScatteredInterp(x,y,v);

70 w_interp = TriScatteredInterp(x,y,w);

71

72

73 %put it on a normal grid

74 x_graph_value = 0.1;

75 y_graph_value = 0.1;

76 %create the meshgrid

77 expansion_coef = 1.25;

78 [qx ,qy] = meshgrid (min(x)*expansion_coef:x_graph_value:max(x)*

expansion_coef ,min(y)*expansion_coef:y_graph_value:max(y)*

expansion_coef);

79 u_erped = u_interp (qx ,qy);

80 v_erped = v_interp (qx ,qy);

81 for j = 1: length(seed_points (:,1))

82

93

Page 104: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

83 path_line_x = seed_points (j,1);

84 path_line_y = seed_points (j,2);

85 a_stream = stream2 (qx ,qy ,-v_erped ,u_erped ,path_line_x ,

path_line_y ,[1/1000 50000]) ;

86 b_stream = stream2 (qx ,qy ,v_erped ,-u_erped ,path_line_x ,

path_line_y ,[1/1000 50000]) ;

87

88 plot(a_stream 1(: ,1) ,a_stream 1(: ,2) ,’b’,’LineWidth ’,2)

89 plot(b_stream 1(: ,1) ,b_stream 1(: ,2) ,’b’,’LineWidth ’,2)

90

91 end

92

93 axis equal

94

95

96 %% Create Blade and Path Curves

97

98 %set options

99 bapoptions .figures = 1;

100 bapoptions .make_blades = 1;

101 bapoptions .blade_skip = 300;

102 bapoptions .profile_skip = 3;

103 bapoptions .bl_strip = 0.9*2.9640;

104 bapoptions .max_blockage = 0.4;

105

106 %execute blade and path function , this returns cells with path

alines and

107 %blade curve lines. All ordered x,y data. The bap_results

returns misc.

108 %results for examining how the blade were made

109 [path_lines , blade_curves , bap_results ] =

blade_and_path_maker_single (seed_points ,input ,bapoptions );

110

111

112 %% Find points to map the support structures

113

114 %set options

115 ss_options .structural = 1;

116 ss_options .figures = 1;

117 ss_options .blade_figure = 0;

118 ss_options .positive = 1;

119 ss_options .use_variable_spacing = 0;

120 ss_options .skip = 500;

121 ss_options .x_point = -0.7211;

122 ss_options .y_point = 2.6085;

94

Page 105: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

123 ss_options .extent = floor (0.39*200000);

124

125 %execture support path line maker , this returns a simple x,y

list of points

126 %that will make up the support path

127 structure_blade_points1 = super_seed_path_maker (input ,

ss_options );

128 %take advantage of symetry and make a second support path

mirrored about

129 %the x-axis

130 structure_blade_points2 = [-structure_blade_points1 (:,1) ,

structure_blade_points1 (:,2) ];

131

132 %% Create support blades from previously computed support path ,

this acutally creates the cross sections for the structural

line

133 sbapoptions .figures = 0;

134 sbapoptions .blade_skip = 2;

135 sbapoptions .profile_skip = 2;

136 sbapoptions .min_spacing = 0.1;

137

138 %the spacing map allows a non uniform spacing for the support

structure ,

139 %setting a spacing_map as follows will create support vanes of

uniform

140 %thickness , in this case 0.25 inches

141 spacing_map = [100 100 0.25; -100 100 0.25; -100 -100 0.25; 100

-100 0.25];

142 [structure_path_lines , structure_blade_curves , sbap_results ] =

structure_blade_and_path_maker (structure_blade_points1 ,

spacing_map ,sbapoptions );

143

144 %add resulting curves to path_lines and blade_curves

145 path_lines end +1 = structure_path_lines ;

146 blade_curves end +1 = structure_blade_curves ;

147

148

149 %do the same for the second support structure

150 sbapoptions .figures = 0;

151 sbapoptions .blade_skip = 2;

152 sbapoptions .profile_skip = 2;

153 sbapoptions .min_spacing = 0.1;

154 spacing_map = [100 100 0.25; -100 100 0.25; -100 -100 0.25; 100

-100 0.25];

95

Page 106: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

155 [structure_path_lines , structure_blade_curves , sbap_results ] =

structure_blade_and_path_maker (structure_blade_points2 ,

spacing_map ,sbapoptions );

156 path_lines end +1 = structure_path_lines ;

157 blade_curves end +1 = structure_blade_curves ;

158

159

160 %% Create journal file to make the solid geometry

161

162 sweep_journal_multi(path_lines ,blade_curves ,’output.vb ’);

96

Page 107: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A.2 super seed path maker.m

1 function [ seed_points_out ] = super_seed_path_maker (input ,

options )

2 %super_seed_path_maker output seed points for a vector field

3

4 %Options

5

6 %display figures

7 if isfield(options , ’figures ’) == 0

8 options .figures = 0;

9 end

10

11 %display figure of turning along a blade

12 if isfield(options , ’blade_figure ’) == 0

13 options .blade_figure = 0;

14 end

15

16 %direction of seed line

17 if isfield(options , ’positive ’) == 0

18 options .positive = 1;

19 end

20

21 %if using uniform spacing , skip amount

22 if isfield(options , ’skip ’) == 0

23 options .skip = 10;

24 end

25

26 %x and y point of seed line seed

27 if isfield(options , ’x_point ’) == 0 || isfield (options , ’

y_point ’) == 0

28 error(’You must supply a superseed point ’);

29 end

30

31 %etent that you want to integrate for

32 if isfield(options , ’extent ’) == 0

33 options .extent = 1e5;

34 end

35

36 %are these points for a structural support ?

37 if isfield(options , ’structural ’) == 0

38 options .structural = 0;

39 end

40

41 %use variable seed spacing ?

97

Page 108: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

42 if isfield(options , ’use_variable_spacing ’) == 0

43 options .use_variable_spacing = 0;

44 else

45 %if you are using variable seed spacing , set the variable

seed spacing

46 %amount , epsilon

47 if isfield(options , ’variable_spacing_size ’) == 0

48 options .variable_spacing_size = 2;

49 end

50 end

51

52 %The vector field needs to come instandar form , column vectors

53 x = input.X;

54 y = input.Y;

55 u = input.U;

56 v = input.V;

57 w = input.W;

58

59

60 %setup the interpolation functions so we can evaluate u,v,w

wherever we

61 %want

62 u_interp = TriScatteredInterp(x,y,u);

63 v_interp = TriScatteredInterp(x,y,v);

64 w_interp = TriScatteredInterp(x,y,w);

65

66

67 %put it on a normal grid

68 x_graph_value = 0.1;

69 y_graph_value = 0.1;

70 expansion_coef = 1.25;

71 [qx ,qy] = meshgrid (min(x)*expansion_coef:x_graph_value:max(x)*

expansion_coef ,min(y)*expansion_coef:y_graph_value:max(y)*

expansion_coef);

72 u_erped = u_interp (qx ,qy);

73 v_erped = v_interp (qx ,qy);

74

75 %set super seed point

76 n = 1;

77 sx = options.x_point ;

78 sy = options.y_point ;

79

80 %calcualte seed line using stream2

81 if options.positive

98

Page 109: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

82 seed_stream = stream2 (qx ,qy ,u_erped ,v_erped ,sx ,sy ,[1/1000

options .extent ]);

83 else

84 seed_stream = stream2 (qx ,qy ,-u_erped ,-v_erped ,sx ,sy ,[1/1000

options.extent ]);

85 end

86

87 %extract x,y points from stream2 output

88 seed_line n.x = [seed_stream 1( isfinite (seed_stream 1(: ,1) )

,1)];

89 seed_line n.y = [seed_stream 1( isfinite (seed_stream 1(: ,1) )

,2)];

90

91 seed_points = [seed_line 1.x,seed_line 1.y];

92

93 seed_u = u_interp (seed_points (:,1) ,seed_points (:,2));

94 seed_v = v_interp (seed_points (:,1) ,seed_points (:,2));

95 seed_w = w_interp (seed_points (:,1) ,seed_points (:,2));

96

97 %calculate turning angle along seed line

98 turning_angle_along_seed_points = acosd(seed_w ./sqrt(seed_u .^2+

seed_v .^2+ seed_w .^2));

99

100

101 %Variable spacing

102 if options.use_variable_spacing

103

104 x_coords = (1: length(turning_angle_along_seed_points ))/

length( turning_angle_along_seed_points );

105 y_coords = turning_angle_along_seed_points ;

106

107 %calculate extrema of turning angle along seed line

108 [max_vals , max_ind , min_vals , min_ind ] = extrema (smooth(

turning_angle_along_seed_points ,1000));

109

110

111 %determine which extrema to keep

112 %it always keeps the first and last (which should be the

first and last

113 %value along the seed line , and then it uses a magic number

to

114 %specify how far apart two adjacent extrema need to be.

This is good

115 %becouse sometimes the extrema finder will return two

extrema that are

99

Page 110: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

116 %just really close to eachother and are not true extrema

117 extremes = sortrows ([ vertcat (max_vals ,min_vals ), vertcat(

max_ind ,min_ind )],2);

118 %add the first extema to keep

119 extremes_keep(1,:) = [turning_angle_along_seed_points (1)

,1];

120 extreme_keepcount = 2;

121 for extreme_count = 2: length(extremes )

122 %critera for extrema being to close

123 if abs(extremes (extreme_count ,1) - extremes (

extreme_count -1,1)) > 0.5

124 extremes_keep(extreme_keepcount ,:) = extremes (

extreme_count ,:);

125 extreme_keepcount = extreme_keepcount +1;

126 end

127 end

128 extremes_keep(end ,:) = [turning_angle_along_seed_points (end

),length( turning_angle_along_seed_points )];

129

130

131

132 %now move trhought the extrema , starting at the first one

and placing

133 %vanes nead the desired variable spacing size

134 min_vane_angle_spacing = options .variable_spacing_size ;

135 seed_out_count = 1;

136 for extreme_count = 1: length(extremes_keep)

137

138 seed_distance_along_path (seed_out_count) =

extremes_keep(extreme_count ,2);

139 seed_out_count = seed_out_count+1;

140

141 %if we are not at the last extrema

142 if extreme_count~= length(extremes_keep)

143 difference_to_next_extrema = extremes_keep(

extreme_count+1,1) -extremes_keep(extreme_count

,1);

144 number_of_chunks = ceil(abs(

difference_to_next_extrema /

min_vane_angle_spacing ));

145

146 %allow option to overide setting and manually set a

number of

147 %chunks between extrema

148 if isfield (options , ’chunk_override ’) == 1

100

Page 111: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

149 if extreme_count <= length(options .

chunk_override) && ~isempty (options .

chunk_overrideextreme_count)

150 number_of_chunks = options .chunk_override

extreme_count;

151 end

152 end

153 number_of_chunks;

154 size_of_chunk = difference_to_next_extrema /

number_of_chunks;

155

156 %place seeds

157 for vane_num = 1: number_of_chunks -1

158

159 closeness_matrix = sortrows (abs([( extremes_keep

(extreme_count ,1)+size_of_chunk*vane_num )-

turning_angle_along_seed_points (

extremes_keep(extreme_count ,2):extremes_keep

(extreme_count+1,2)) ,(extremes_keep(

extreme_count ,2):extremes_keep(extreme_count

+1,2)) ’]) ,1);

160 seed_distance_along_path (seed_out_count) =

closeness_matrix (1,2);

161 seed_out_count = seed_out_count+1;

162

163 end

164

165 end

166

167 end

168

169 variable_blade_figure_points = [x_coords (sort(

seed_distance_along_path ))’,y_coords (sort(

seed_distance_along_path ))];

170 seed_points_out = [seed_points (sort(

seed_distance_along_path ) ,1),seed_points (sort(

seed_distance_along_path ) ,2)];

171

172

173 %or use uniform spacing , and just set a skip amount

174 else

175 seed_points_out = seed_points (1: options.skip:end ,:);

176 end

177

178 %display figures for turning output

101

Page 112: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

179 if options.figures

180 figure

181 quiver_plot (x(1:20: end),y(1:20: end),u(1:20: end),v(1:20: end)

)

182 hold on

183

184

185 %streamline (seed_stream )

186 %seed_points_out(end ,:) = [];

187 %seed_points_out(end+1,:) = [-seed_points_out (2,1) ,

seed_points_out(2,2) ];

188 %seed_points_out(end+1,:) = [-seed_points_out (2,1) ,-

seed_points_out(2,2) ];

189 %seed_points_out(end+1,:) = [3,0];

190

191 plot(seed_stream 1(1: end ,1),seed_stream 1(1:end ,2) ,’r’,’

LineWidth ’,2)

192 axis equal

193 scatter (seed_points_out (2:end -1,1) ,seed_points_out (2:end

-1,2) ,100,’ob ’,’LineWidth ’,2);

194 scatter (seed_points_out(1,1) ,seed_points_out(1,2) ,100,’or

’,’LineWidth ’,2);

195 %plot(seed_points_out (1:end ,1),seed_points_out (1:end ,2) ,’r

’,’LineWidth ’,2)

196 %quiver(seed_points_out (1:end -1,1) ,seed_points_out (1:end

-1,2) ,u_interp (seed_points_out(1:end -1,1) ,

seed_points_out (1:end -1,2)),v_interp (seed_points_out (1:

end -1,1) ,seed_points_out (1:end -1,2)) ,1.0,’b’,’LineWidth

’,2);

197 %

198 draw_circle (0 ,0 ,5.928/2)

199 xlabel(’x (in) ’);

200 ylabel(’y (in) ’);

201

202 if ~options .structural

203 for j = 1: length(seed_points_out(:,1))-1

204

205 path_line_x = seed_points_out(j,1);

206 path_line_y = seed_points_out(j,2);

207 a_stream = stream2 (qx ,qy ,-v_erped ,u_erped ,

path_line_x ,path_line_y ,[1/1000 90000]) ;

208 b_stream = stream2 (qx ,qy ,v_erped ,-u_erped ,

path_line_x ,path_line_y ,[1/1000 90000]) ;

209 for n = 1: length(b_stream 1)

102

Page 113: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

210 if sqrt(b_stream 1(n,1)^2+ b_stream 1(n,2)^2)

> 5.928/2

211 b_stream 1(n,:) = [NaN NaN];

212 end

213 end

214

215 for n = 1: length(a_stream 1)

216 if sqrt(a_stream 1(n,1)^2+ a_stream 1(n,2)^2)

> 5.928/2

217 %n

218 a_stream 1(n,:) = [NaN NaN];

219

220 end

221 end

222 plot(a_stream 1(: ,1) ,a_stream 1(: ,2) ,’b’,’

LineWidth ’,2)

223 plot(b_stream 1(: ,1) ,b_stream 1(: ,2) ,’b’,’

LineWidth ’,2)

224

225 a_x = a_stream 1(1:1000: end ,1);

226 a_y = a_stream 1(1:1000: end ,2);

227 b_x = b_stream 1(1:1000: end ,1);

228 b_y = b_stream 1(1:1000: end ,2);

229

230 combined_stream_x = [a_x;b_x];

231 combined_stream_y = [a_y;b_y];

232

233 %quiver(combined_stream_x ,combined_stream_y ,

u_interp (combined_stream_x ,combined_stream_y),

v_interp (combined_stream_x ,combined_stream_y)

,0.5,’b’);%,’LineWidth ’,2);

234 %quiver(b_x ,b_y ,u_interp (b_x ,b_y),v_interp (b_x ,b_y)

,0.5,’b’);%,’LineWidth ’,2);

235 end

236 end

237 %plot(zeros(length (( -5.928/2) :0.01:(5.928/2)) ,1) ,( -5.928/2)

:0.01:(5.928/2) ,’g’,’LineWidth ’,2)

238 %print(’-depsc ’,’C:\ Dropbox \school\Research \Thesis\figures\

aleph_3_vector_seed_line .eps ’);

239 if options.blade_figure

240 figure

241 hold on

242 h1 = plot ((1: length(turning_angle_along_seed_points ))/

length( turning_angle_along_seed_points ),

turning_angle_along_seed_points ,’r’,’LineWidth ’,2);

103

Page 114: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

243 ylabel(’Turning Angle (deg)’);

244 xlabel(’Distance Along Seed Line ’);

245 %title(’Vane Locations Along Seed Line ’);

246 if options. use_variable_spacing

247

248 h3 = plot(variable_blade_figure_points (:,1) ,

variable_blade_figure_points (:,2) ,’-ob ’,’

LineWidth ’,2,’ MarkerSize ’,10);

249 %h2 = plot(variable_blade_figure_points (:,1) ,

variable_blade_figure_points (:,2) ,’b’,’LineWidth

’,2);

250 %h3 = scatter (variable_blade_figure_points (:,1) ,

variable_blade_figure_points (:,2) ,100,’ob ’,’

LineWidth ’,2);

251 h4 = scatter (extremes_keep(:,2)/length(

turning_angle_along_seed_points ),extremes_keep

(:,1) ,100,’og ’,’LineWidth ’,2);

252 extreme_count = 1: length(extremes_keep);

253 legend ([h1 ,h3 ,h4],’Seed Line ’,’Vane Seed Locations

’,’Extrema ’,’Location ’,’Best ’);

254 else

255 h5 = scatter ((1: options.skip:length(

turning_angle_along_seed_points ))/length(

turning_angle_along_seed_points ),

turning_angle_along_seed_points (1: options .skip:

end) ,100,’ob ’,’LineWidth ’,2);

256 legend ([h1 ,h5],’Seed Line ’,’Vane Seed Locations ’,’

Location ’,’NorthEast ’);

257 end

258 end

259 end

260

261

262 end

104

Page 115: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A.3 blade and path maker single.m

1 function [path_lines , blade_curves , other_results] =

blade_and_path_maker (seed_points ,input_profile ,options )

2

3 %This function takes seed points and from those points creates

lines that

4 %are everywhere perpendicular to a certain vectorfield , it then

, querying

5 %the vector field , gets the required turning angles needed at

each point

6 %along these lines. It then returns the coordinates of these

path lines

7 %and blade profiles for use in the NX journal generator

8

9 %options

10 if isfield(options , ’figures ’) == 0

11 options .figures = 0;

12 end

13 if isfield(options , ’blade_skip ’) == 0

14 options .blade_skip = 10;

15 end

16 if isfield(options , ’profile_skip ’) == 0

17 options .profile_skip = 10;

18 end

19

20 if isfield(options , ’min_spacing ’) == 0

21 options .min_spacing = 0.10;

22 end

23 if isfield(options , ’make_blades ’) == 0

24 options .figures = 1;

25 end

26 if isfield(options , ’bl_strip ’) == 0

27 options .bl_strip = 5.928/2;

28 end

29 if isfield(options , ’max_blockage ’) == 0

30 options .max_blockage = 0.4;

31 end

32

33

34 %Strip boundary layer

35 for j=1: length(input_profile.X)

36 if sqrt(input_profile.X(j)^2+ input_profile.Y(j)^2)<options.

bl_strip

37 x(j) = input_profile.X(j);

105

Page 116: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

38 y(j) = input_profile.Y(j);

39 u(j) = input_profile.U(j);

40 v(j) = input_profile.V(j);

41 w(j) = input_profile.W(j);

42 end

43 end

44

45 %Radomly pull from field if size of vecotr field if too large

46 if length(x) > 5000

47 select_range = randsample (length(x) ,5000);

48 x = x(select_range );

49 y = y(select_range );

50 u = u(select_range );

51 v = v(select_range );

52 w = w(select_range );

53 end

54

55

56 %create a biharmonic interpolation which can extrapolate beyond

the normal

57 %bounds of the field. This allows the vanes to connect to the

supports

58

59 [xData , yData , zData] = prepareSurfaceData( x, y, u );

60 ft = fittype( ’biharmonicinterp ’ );

61 opts = fitoptions ( ft );

62 opts.Normalize = ’on ’;

63 [fitresult_u , gof] = fit( [xData , yData], zData , ft , opts );

64

65 [xData , yData , zData] = prepareSurfaceData( x, y, v );

66 ft = fittype( ’biharmonicinterp ’ );

67 opts = fitoptions ( ft );

68 opts.Normalize = ’on ’;

69 [fitresult_v , gof] = fit( [xData , yData], zData , ft , opts );

70

71

72 [xData , yData , zData] = prepareSurfaceData( x, y, w );

73 ft = fittype( ’biharmonicinterp ’ );

74 opts = fitoptions ( ft );

75 opts.Normalize = ’on ’;

76 [fitresult_w , gof] = fit( [xData , yData], zData , ft , opts );

77

78 %setup the linear interpolation functions to be used throught

the code when we

79 %query the profile

106

Page 117: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

80 expansion_factor = 1.2;

81 x_graph_value = 0.05*3;

82 y_graph_value = 0.05*3;

83 [qx ,qy] = meshgrid ((min(x)*expansion_factor):x_graph_value:(max

(x)*expansion_factor),(min(y)*expansion_factor):

y_graph_value:(max(y)*expansion_factor));

84

85 fitresult_u_single = fitresult_u (qx ,qy);

86 fitresult_v_single = fitresult_v (qx ,qy);

87 fitresult_w_single = fitresult_w (qx ,qy);

88

89 %now using this biharmonic interpolated data , setup a linear

90 %interpolation function . Linear is used becouse it is much

91 %faster than the biharmonic

92 u_interp = TriScatteredInterp(qx(1: end)’,qy(1: end)’,

fitresult_u_single (1: end)’);

93 v_interp = TriScatteredInterp(qx(1: end)’,qy(1: end)’,

fitresult_v_single (1: end)’);

94 w_interp = TriScatteredInterp(qx(1: end)’,qy(1: end)’,

fitresult_w_single (1: end)’);

95

96 %put it on a normal grid for use with stream2

97 u_erped = u_interp (qx ,qy);

98 v_erped = v_interp (qx ,qy);

99 w_erped = w_interp (qx ,qy);

100

101 %plot a quiver plot of the velocity feild

102 if options.figures

103 fig1 = figure;

104 hold on

105 quiver(qx ,qy ,u_erped ,v_erped ,1.3,’k’)

106 axis equal

107 end

108

109

110 %% Go through seed point list and create vane lines in a

posative and negative direction from each seed_point

111 k = 1;

112 for j = 1:size(seed_points ,1)

113

114 path_line_x = seed_points (j,1);

115 path_line_y = seed_points (j,2);

116 a_stream = stream2 (qx ,qy ,-v_erped ,u_erped ,path_line_x ,

path_line_y ,[1/1000 50000]) ;

107

Page 118: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

117 b_stream = stream2 (qx ,qy ,v_erped ,-u_erped ,path_line_x ,

path_line_y ,[1/1000 50000]) ;

118

119 %plot vane lines if desired

120 if options.figures

121 streamline (a_stream );

122 streamline (b_stream );

123 end

124

125 blade_line k.x = [flipud(b_stream 1(~ isnan(b_stream

1(: ,1) ) ,1));a_stream 1(~ isnan(a_stream 1(: ,1) ) ,1)];

126 blade_line k.y = [flipud(b_stream 1(~ isnan(b_stream

1(: ,1) ) ,2));a_stream 1(~ isnan(a_stream 1(: ,1) ) ,2)];

127

128 blade_xdata k = [flipud(b_stream 1(~ isnan(b_stream

1(: ,1) ) ,1));a_stream 1(~ isnan(a_stream 1(: ,1) ) ,1)];

129 blade_ydata k = [flipud(b_stream 1(~ isnan(b_stream

1(: ,1) ) ,2));a_stream 1(~ isnan(a_stream 1(: ,1) ) ,2)];

130

131 k = k+1;

132 end

133

134 q = k-1;

135

136

137

138 %move through each vane line and calculate geometry for vane

cross sections

139 path_line_count = 1;

140 u = 1;

141 block_index = 1;

142 for k = 1:1:k-1

143

144 %move along bladerow

145 p = 1;

146 clear path_points ;

147

148 %move through all the blade locations along each blade path

149 blade_curve_count = 1;

150 for g = 2: options .blade_skip :length(blade_line k.x)-1

151 %get local x and y locations at point of intrest

152 local_x = blade_line k.x(g);

153 local_y = blade_line k.y(g);

154

108

Page 119: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

155 %find velocity values at this location using linear

interpolation

156 %functions

157 local_u = u_interp (local_x ,local_y );

158 local_v = v_interp (local_x ,local_y );

159 local_w = w_interp (local_x ,local_y );

160

161 %find nearest point in all other blade lines for

calculation of

162 %solidity

163 for blade_line_number =1:1:q

164 if blade_line_number ~=k

165 [spacing1 res1] = min(sqrt (( blade_xdata

blade_line_number-local_x ).^2 + (

blade_ydata blade_line_number-local_y ).^2))

;

166 blade_spacing_list(blade_line_number ,:) = [

blade_line_number ,spacing1 ,blade_xdata

blade_line_number (res1),blade_ydata

blade_line_number (res1)];

167 else

168 blade_spacing_list(blade_line_number ,:) = [

blade_line_number ,0,0,0];

169 end

170 end

171 blade_spacing_list = sortrows (blade_spacing_list ,2);

172

173 %blade spacing is average distance to nearest 2 vanes

174 blade_spacingk( blade_curve_count) = 0.5*(

blade_spacing_list (2,2)+blade_spacing_list (3,2));

175

176 %calculate blockage , this assumes a 0.028" thick

profile

177 local_blockage = 0.028/( blade_spacingk(

blade_curve_count));

178

179 %actually place blades along lines if under max

blockage

180 if local_blockage < options.max_blockage

181

182

183

184 %save a variable that holds the spacing map so we

can view it

185 %later

109

Page 120: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

186 spacing_map (u,:) = [local_x , local_y , blade_spacing

k( blade_curve_count)];

187 u = u+1;

188

189 %determine needed blade angle

190 local_mag = sqrt(local_u ^2+ local_v ^2+ local_w ^2);

191 blade_angle k(g) = acosd(local_w /local_mag );

192 local_blade_angle = blade_angle k(g);

193

194 %save a variable that holds the turning map so we

can view it

195 %later

196 theta_map (u,:) = [local_x , local_y ,

local_blade_angle ];

197

198 %calculate rotation angle

199 dx = blade_line k.x(g+1) - blade_line k.x(g);

200 dy = blade_line k.y(g+1) - blade_line k.y(g);

201 if dx == 0

202 dx = blade_line k.x(g+2) - blade_line k.x(g);

203 end

204 if dy == 0

205 dy = blade_line k.y(g+2) - blade_line k.y(g);

206 end

207 rotation_angle = atan2(dy ,dx);

208 rotation_angle = rotation_angle *180/pi+90 -180;

209 if rotation_angle < 0

210 rotation_angle = rotation_angle +360;

211 end

212

213 %correct for blockage , this correction comes from

CFD studies

214 %that corelation the impact of blockage on turning

performance .

215 blockage_factor = 2.1533* local_blockage^2 + 0.6772*

local_blockage + 0.9548;

216

217 %create a map of blockage factor

218 blockage_factor_map(block_index ,:) = [local_x ,

local_y , blockage_factor];

219 block_index = block_index + 1;

220

221 %correct local blade angle for blockage factor

222 local_blade_angle = local_blade_angle/

blockage_factor;

110

Page 121: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

223

224 %compute needed cl and aoa from blade corelation

225 half_thickness = 0.028/2;

226 desired_solidity = 2;

227

228 %Calculate cl and aoa from CFD corelation

229 if local_blade_angle > 0

230 cl = local_blade_angle /24.019;

231 aoa = cl *15.0;

232 else

233 cl = 0;

234 aoa = 0;

235 end

236

237 %Get profile data from airfoil function

238 local_blade_spacing = blade_spacingk(

blade_curve_count);

239 [profx profy] =

flat_plate_gen_simple_orth_square_cl (cl ,aoa ,

half_thickness ,local_blade_spacing*

desired_solidity);

240 profx = profx (1: options.profile_skip :end -1);

241 profy = profy (1: options.profile_skip :end -1);

242

243 %rotate the profile to align with vane line

244 blade_x = -profy*cosd(rotation_angle)-zeros(length(

profx) ,1)*sind(rotation_angle);

245 blade_y = -profy*sind(rotation_angle)+zeros(length(

profx) ,1)*cosd(rotation_angle);

246 blade_z = -profx;

247

248 %store blade coordinates and path line coordinates

249 new_blade_coords = [blade_x ,blade_y ,blade_z ];

250 spline_points = [new_blade_coords (:,1)+local_x

new_blade_coords (:,2)+local_y new_blade_coords

(:,3) ];

251 blade_curves path_line_count blade_curve_count =

spline_points;

252 blade_curve_count = blade_curve_count + 1;

253 path_points (p,:) = [local_x , local_y , 0];

254 %path_points (p,:) = [new_blade_coords (1,1)+local_x

new_blade_coords (1,2)+local_y new_blade_coords

(1,3) ];

255 p = p + 1;

256 end

111

Page 122: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

257

258

259 end

260

261 spline_points = [path_points (:,1) , path_points (:,2) ,

path_points (:,3) ];

262 path_lines path_line_count = spline_points;

263

264 path_line_count = path_line_count +1;

265

266 end

267

268 %save some results for more detailed analysis later

269 other_results.spacing_map = spacing_map ;

270 other_results.turning_angle_map = theta_map ;

271 other_results.blockage_factor_map = blockage_factor_map ;

112

Page 123: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A.4 flat plate gen simple orth square cl.m

1 function [x,y] = flat_plate_gen_simple_orth_square (cl ,aoa ,

half_thickness ,chord)

2

3 %load A4K6 data

4 load naca63_book .mat

5

6 %load chamber line and scale by cl

7 chamber_x = naca63_book (:,1);

8 chamber_y = naca63_book (:,2)*cl;

9

10 %define resample amount

11 small_step = 0.005/2;

12 large_step = 0.05/3;

13

14 %resample the data using a spline

15 small_half_fraction = 2.0;

16 new_x = [0: small_step :half_thickness*small_half_fraction ,

half_thickness* small_half_fraction+large_step :large_step :(1-

half_thickness* small_half_fraction) ,(1- half_thickness*

small_half_fraction):small_step :1];

17 new_chamber_y = interp1 (chamber_x ,chamber_y ,new_x ’,’spline ’);

18 new_chamber_x = new_x;

19

20 %scale by chord

21 new_chamber_y = chord*new_chamber_y;

22 new_chamber_x = chord*new_chamber_x;

23

24 %define Thickness for entire profile

25 p = 1;

26 for n = new_chamber_x;

27 thick(p) = half_thickness;

28 p=p+1;

29 end

30

31 k = 1;

32 %place curve lines above and below the chamber line

33 for q = -8:8

34 vector_to_next_point = [( new_chamber_x(2) - new_chamber_x

(1)),( new_chamber_y(2) - new_chamber_y(1))];

35 vector_to_next_point = vector_to_next_point /norm(

vector_to_next_point );

36 rotation_matrix = [0 -1;1 0];

113

Page 124: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

37 vector_to_above_point = rotation_matrix*

vector_to_next_point ’;

38 above_point = [new_chamber_x(1) new_chamber_y(1)]+ thick(1)*

q/10* vector_to_above_point ’;

39 curve_lines_x(k) = above_point (1);

40 curve_lines_y(k) = above_point (2);

41 k = k+1;

42 end

43

44 for n=2: length(new_chamber_x)-1

45 vector_to_next_point = [( new_chamber_x(n+1) - new_chamber_x

(n-1)),( new_chamber_y(n+1) - new_chamber_y(n-1))];

46 vector_to_next_point = vector_to_next_point /norm(

vector_to_next_point );

47 rotation_matrix = [0 -1;1 0];

48 vector_to_above_point = rotation_matrix*

vector_to_next_point ’;

49 above_point = [new_chamber_x(n) new_chamber_y(n)]+ thick(n)*

vector_to_above_point ’;

50 curve_lines_x(k) = above_point (1);

51 curve_lines_y(k) = above_point (2);

52 k = k+1;

53 end

54

55 for q = fliplr (-8:8)

56 vector_to_next_point = [( new_chamber_x(end) - new_chamber_x

(end -1)) ,(new_chamber_y(end) - new_chamber_y(end -1))];

57 vector_to_next_point = vector_to_next_point /norm(

vector_to_next_point );

58 rotation_matrix = [0 -1;1 0];

59 vector_to_above_point = rotation_matrix*

vector_to_next_point ’;

60 above_point = [new_chamber_x(end) new_chamber_y(end)]+ thick

(1)*q/10* vector_to_above_point ’;

61 curve_lines_x(k) = above_point (1);

62 curve_lines_y(k) = above_point (2);

63 k = k+1;

64 end

65

66

67

68 for n=fliplr (3: length(new_chamber_x) -2)

69 vector_to_next_point = [( new_chamber_x(n+1) - new_chamber_x

(n-1)),( new_chamber_y(n+1) - new_chamber_y(n-1))];

114

Page 125: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

70 vector_to_next_point = vector_to_next_point /norm(

vector_to_next_point );

71 rotation_matrix = [0 -1;1 0];

72 vector_to_above_point = rotation_matrix*

vector_to_next_point ’;

73 above_point = [new_chamber_x(n) new_chamber_y(n)]-thick(n)*

vector_to_above_point ’;

74 curve_lines_x(k) = above_point (1);

75 curve_lines_y(k) = above_point (2);

76 k = k+1;

77 end

78

79

80

81 %rotation by aoa

82 aoa = -aoa;

83 R = [cosd(aoa) -sind(aoa);sind(aoa) cosd(aoa)];

84 rot_result = R*[ curve_lines_x;curve_lines_y];

85 curve_lines_x = rot_result (1,:);

86 curve_lines_y = rot_result (2,:);

87

88 x = curve_lines_x ’;

89 y = curve_lines_y ’;

90

91 x = circshift (x,[50 ,0]) ;

92 y = circshift (y,[50 ,0]) ;

93

94 end

115

Page 126: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A.5 structure blade and path maker.m

1 function [path_lines , blade_curves , results] =

structure_blade_and_path_maker (blade_points ,spacing_map ,

options )

2

3 spacing_interp = TriScatteredInterp(spacing_map (:,1) ,

spacing_map (:,2) ,spacing_map (:,3));

4

5 path_lines = [blade_points (:,1) ,blade_points (:,2) ,zeros(length(

blade_points ) ,1)];

6

7 if isfield(options , ’figures ’) == 0

8 options .figures = 0;

9 end

10 if isfield(options , ’blade_skip ’) == 0

11 options .blade_skip = 10;

12 end

13 if isfield(options , ’profile_skip ’) == 0

14 options .profile_skip = 10;

15 end

16

17 h = 1;

18

19 figure

20 plot(blade_points (:,1) ,blade_points (:,2) ,’-xb ’)

21 hold on

22

23 for j=2: options .blade_skip :length(path_lines ) -1

24

25 path_cords = path_lines (j,:);

26

27 dx=path_lines (j+1,1) -path_lines (j-1,1);

28 dy=path_lines (j+1,2) -path_lines (j-1,2);

29 dxn = dx/sqrt(dx^2+dy^2);

30 dyn = dy/sqrt(dx^2+dy^2);

31 rotation_matrix = [dyn , -dxn , 0;dxn , dyn , 0;0,0,1];

32

33 %rotation_matrix = [1, 0, 0;0, 1, 0;0,0,1];

34

35 vane_chord = spacing_interp(path_cords (1),path_cords (2))*2;

36

37 if isnan(vane_chord )

38 vane_chord = 0.05;

39 disp(’asdfasdf ’)

116

Page 127: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

40 end

41

42 if sqrt(path_cords (1) ^2+ path_cords (2) ^2) > 2.964

43 vane_chord = 1.0;

44 end

45

46 %vane_chord = 0.5;

47

48 [vane_x ,vane_y] = flat_plate_gen_simple_orth_square_cl

(0 ,0 ,0.028/2 , vane_chord );

49

50 skip = options.profile_skip ;

51 blade_curves h = [vane_y (1: skip:end -1),zeros(length(vane_x

(1: skip:end -1)) ,1) ,-vane_x (1: skip:end -1)]*

rotation_matrix+repmat(path_cords ,length(vane_x (1: skip:

end -1)) ,1);

52 %blade_curves last_real_path +2h = [[0.01 0 0.1];[0.01 0

-0.1];[ -0.01 0 -0.1];[ -0.01 0 0.1]]* rotation_matrix+

repmat(path_cords ,4,1);

53 plot3(blade_curves h(:,1),blade_curves h(:,2),

blade_curves h(:,3) ,’-xr ’)

54 h = h + 1;

55

56 end

57

58 %path_lines = path_lines (2:end -1,:);

59 %plot3(path_lines (:,1) ,path_lines (:,2) ,path_lines (:,3))

60 results = 0;

61

62 end

117

Page 128: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A.6 sweep journal multi.m

1 function [] = sweep_journal_multi(path_lines ,blade_curves ,

filename )

2

3 %open file for writing

4 fileID = fopen(filename ,’w’);

5

6 %write some preamble things

7 fprintf (fileID ,’Option Strict Off\n’);

8 fprintf (fileID ,’Imports System\n’);

9 fprintf (fileID ,’Imports NXOpen\n’);

10

11 fprintf (fileID ,’Module NXJournal \n’);

12 fclose(fileID);

13 running_spline_count = 1;

14 %create a sub function for each vane

15 for p = 1: length(path_lines )

16 if p ~= 1

17 running_spline_count = running_spline_count + length(

blade_curves p -1) +2;

18 end

19 sweep_journal_maker_multi_sub (path_lines p,blade_curves p

,running_spline_count ,p,filename );

20 end

21

22 fileID = fopen(filename ,’a’);

23

24 %add the main function which will call the sub functions . This

is done as

25 %the main function will clear the memory used by the journal

after each sub

26 %function is called. If you do not do this , you will end up

running out of

27 %memory. There may be a better way to do it , but this works.

28 fprintf (fileID ,’Sub Main\n’);

29 for p = 1: length(path_lines )

30 fprintf (fileID ,’Blade_%g()\n’,p);

31 end

32 fprintf (fileID ,’End Sub\n’);

33 fprintf (fileID ,’End Module\n’);

34 fclose(fileID);

35 end

118

Page 129: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

A.7 sweep journal maker multi sub.m

1 function [] = sweep_journal_maker_multi_sub (path_line ,

blade_curves ,spline_count_start ,module_count ,filename )

2 %this function takes several inputs and creates a vb script to

make a

3 %sweep in NX

4 %this function only makes the submodule

5 %variables are set as per the following example

6 %

7 path_line = [0 0 0;1 0 0; 2 0 0; 3 0 0; 4 0 0];

8 blade_curves 1 = [0 -1 -1;0 -1 1;0 1 1;0 1 -1];

9 blade_curves 2 = [1 -1 -1;1 -1 1;1 1 1;1 1 -1];

10 blade_curves 3 = [2 -1 -1;2 -1 1;2 1 1;2 1 -1];

11 blade_curves 4 = [3 -1 -1;3 -1 1;3 1 1;3 1 -1];

12 blade_curves 5 = [4 -1 -1;4 -1 1;4 1 1;4 1 -1];

13 spline_count_start =1

14 the spline_count_start parameter is to be used in order to make

multiple

15 sweeps loadable into the same NX part file as to not reuse the

names of

16 splines

17 %

18

19 %open file fo writing

20 fileID = fopen(filename ,’a’);

21

22 %write some preamble things , notice it starting a sub function

23 fprintf (fileID ,’Sub Blade_%g\n’,module_count );

24 fprintf (fileID ,’Dim theSession As Session = Session .GetSession

()\n’);

25 fprintf (fileID ,’Dim workPart As Part = theSession .Parts.Work\n

’);

26 fprintf (fileID ,’Dim displayPart As Part = theSession .Parts.

Display \n’);

27 fprintf (fileID ,’Dim nullNXObject As NXObject = Nothing \n’);

28 fprintf (fileID ,’Dim nullCurve As Curve = Nothing \n’);

29 fprintf (fileID ,’Dim nullFeatures_Swept As Features .Swept =

Nothing \n’);

30

31

32 %setup some counters

33 point_used = zeros (5000 ,1) ;

34 spline_count = spline_count_start;

35 sweep_count = 1;

119

Page 130: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

36

37 section_used = zeros (5000 ,1) ;

38 blade_spline_number = zeros (5000 ,1) ;

39 guide_spline_number = 0;

40

41 sweep_vane_count = 1;

42

43

44 %% Create the Guide line

45 %Make the builder

46 fprintf (fileID ,’Dim studioSplineBuilderEx %g As Features .

StudioSplineBuilderEx \n’, spline_count );

47 fprintf (fileID ,’ studioSplineBuilderEx %g = workPart .Features .

CreateStudioSplineBuilderEx (nullNXObject )\n’,spline_count );

48

49 %Set Builder Options

50 %this makes sure the spline is not a closed spline

51 fprintf (fileID ,’ studioSplineBuilderEx %g.IsPeriodic = False\n’,

spline_count );

52 %this option sets the order of the spline

53 fprintf (fileID ,’ studioSplineBuilderEx %g.Degree = 2\n’,

spline_count );

54

55 point_count = 1;

56 for n = 1: length(path_line )

57

58 %Add points to the spline % check to see if this point has

been

59 %used before , if it has then create the container variables

for it ,

60 %if not used the ones previous . THe goal of this is to cut

down on

61 %memory usage

62 if point_used (point_count ) == 0

63 fprintf (fileID ,’\n’);

64 fprintf (fileID ,’Dim coordinates %g As Point3d = New

Point3d (%0.12f, %0.12f, %0.12f)\n’,n,path_line (n,1),

path_line (n,2),path_line (n,3));

65 fprintf (fileID ,’Dim point%g As Point\n’,n);

66 fprintf (fileID ,’point%g = workPart .Points.CreatePoint (

coordinates %g)\n’,n,n);

67 fprintf (fileID ,’Dim geometricConstraintData %g As

Features . GeometricConstraintData \n’,n);

120

Page 131: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

68 fprintf (fileID ,’geometricConstraintData %g =

studioSplineBuilderEx %g.ConstraintManager.

CreateGeometricConstraintData ()\n’,n,spline_count );

69 fprintf (fileID ,’geometricConstraintData %g.Point = point

%g\n’,n,n);

70 fprintf (fileID ,’studioSplineBuilderEx %g.

ConstraintManager.Append(geometricConstraintData %g)\

n’,spline_count ,n);

71 fprintf (fileID ,’\n’);

72 point_used (point_count ) = 1;

73 else

74 fprintf (fileID ,’\n’);

75 fprintf (fileID ,’coordinates %g = New Point3d (%0.12f,

%0.12f, %0.12f)\n’,n,path_line (n,1),path_line (n,2),

path_line (n,3));

76 fprintf (fileID ,’point%g = workPart .Points.CreatePoint (

coordinates %g)\n’,n,n);

77 fprintf (fileID ,’geometricConstraintData %g =

studioSplineBuilderEx %g.ConstraintManager.

CreateGeometricConstraintData ()\n’,n,spline_count );

78 fprintf (fileID ,’geometricConstraintData %g.Point = point

%g\n’,n,n);

79 fprintf (fileID ,’studioSplineBuilderEx %g.

ConstraintManager.Append(geometricConstraintData %g)\

n’,spline_count ,n);

80 fprintf (fileID ,’\n’);

81 end

82 point_count = point_count + 1;

83 end

84

85 %Commit the spline

86 fprintf (fileID ,’ studioSplineBuilderEx %g.Commit ()\n’,

spline_count );

87

88 %Destroy the spline builder

89 fprintf (fileID ,’ studioSplineBuilderEx %g.Destroy ()\n’,

spline_count );

90

91 guide_spline_number = spline_count ;

92 spline_count = spline_count +1;

93

94 %% go through each blade in the blade row and add blade curves

95 for blade_curve_count = 1: length(blade_curves )

96

97 %create blade curves along guide

121

Page 132: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

98 fprintf (fileID ,’Dim studioSplineBuilderEx %g As Features .

StudioSplineBuilderEx \n’, spline_count );

99 fprintf (fileID ,’ studioSplineBuilderEx %g = workPart .Features

. CreateStudioSplineBuilderEx (nullNXObject )\n’,

spline_count );

100

101 %Set Builder Options

102 %this makes sure the spline is a closed spline

103 fprintf (fileID ,’ studioSplineBuilderEx %g.IsPeriodic = True\n

’, spline_count );

104 %this option sets the order of the spline

105 fprintf (fileID ,’ studioSplineBuilderEx %g.Degree = 2\n’,

spline_count );

106

107 point_count = 1;

108 %go through each point along each blade

109 for n = 1: length(blade_curves blade_curve_count )

110

111 %Add points to the spline % check to see if this point

has been

112 %used before , if it has then create the container

variables for it ,

113 %if not used the ones previous . The goal of this is to

cut down on

114 %memory usage

115 if point_used (point_count ) == 0

116 fprintf (fileID ,’\n’);

117 fprintf (fileID ,’Dim coordinates %g As Point3d = New

Point3d (%0.12f, %0.12f, %0.12f)\n’,n,

blade_curves blade_curve_count (n,1),

blade_curves blade_curve_count (n,2),

blade_curves blade_curve_count (n,3));

118 fprintf (fileID ,’Dim point%g As Point\n’,n);

119 fprintf (fileID ,’point%g = workPart .Points.

CreatePoint (coordinates %g)\n’,n,n);

120 fprintf (fileID ,’Dim geometricConstraintData %g As

Features .GeometricConstraintData \n’,n);

121 fprintf (fileID ,’geometricConstraintData %g =

studioSplineBuilderEx %g.ConstraintManager.

CreateGeometricConstraintData ()\n’,n,

spline_count );

122 fprintf (fileID ,’geometricConstraintData %g.Point =

point%g\n’,n,n);

122

Page 133: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

123 fprintf (fileID ,’studioSplineBuilderEx %g.

ConstraintManager.Append(geometricConstraintData

%g)\n’,spline_count ,n);

124 fprintf (fileID ,’\n’);

125 point_used (point_count ) = 1;

126 else

127 fprintf (fileID ,’\n’);

128 fprintf (fileID ,’coordinates %g = New Point3d (%0.12f,

%0.12f, %0.12f)\n’,n,blade_curves

blade_curve_count (n,1),blade_curves

blade_curve_count (n,2),blade_curves

blade_curve_count (n,3));

129 fprintf (fileID ,’point%g = workPart .Points.

CreatePoint (coordinates %g)\n’,n,n);

130 fprintf (fileID ,’geometricConstraintData %g =

studioSplineBuilderEx %g.ConstraintManager.

CreateGeometricConstraintData ()\n’,n,

spline_count );

131 fprintf (fileID ,’geometricConstraintData %g.Point =

point%g\n’,n,n);

132 fprintf (fileID ,’studioSplineBuilderEx %g.

ConstraintManager.Append(geometricConstraintData

%g)\n’,spline_count ,n);

133 fprintf (fileID ,’\n’);

134 end

135 point_count = point_count + 1;

136 end

137

138 %Commit the spline

139 fprintf (fileID ,’ studioSplineBuilderEx %g.Commit ()\n’,

spline_count );

140

141 %Destroy the spline builder

142 fprintf (fileID ,’ studioSplineBuilderEx %g.Destroy ()\n’,

spline_count );

143 blade_spline_number(blade_curve_count) = spline_count ;

144 spline_count = spline_count +1;

145 end

146

147

148

149

150

151

152 %% Using guide line and vane lines , setup the sweep

123

Page 134: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

153 %set builder options

154 fprintf (fileID ,’Dim sweptBuilder1 As Features .SweptBuilder \n’);

155 fprintf (fileID ,’ sweptBuilder1 = workPart .Features .

CreateSweptBuilder(nullFeatures_Swept)\n’);

156

157 %sweep options

158 fprintf (fileID ,’ sweptBuilder1.G0Tolerance = 0.001\n’);

159 fprintf (fileID ,’ sweptBuilder1.G1Tolerance = 0.5\n’);

160 fprintf (fileID ,’ sweptBuilder1.Spine.DistanceTolerance = 0.001\n

’);

161 fprintf (fileID ,’ sweptBuilder1.Spine.ChainingTolerance =

0.00095\ n’);

162 fprintf (fileID ,’ sweptBuilder1.AlignmentMethod.AlignCurve .

DistanceTolerance = 0.001\n’);

163 fprintf (fileID ,’ sweptBuilder1.AlignmentMethod.AlignCurve .

ChainingTolerance = 0.00095\n’);

164 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.

OrientationCurve. DistanceTolerance = 0.001\n’);

165 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.

OrientationCurve. ChainingTolerance = 0.00095\ n’);

166 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.AngularLaw .

AlongSpineData.Spine.DistanceTolerance = 0.001\n’);

167 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.AngularLaw .

AlongSpineData.Spine.ChainingTolerance = 0.00095\ n’);

168 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.AngularLaw .

LawCurve .DistanceTolerance = 0.001\n’);

169 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.AngularLaw .

LawCurve .ChainingTolerance = 0.00095\ n’);

170 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.ScalingCurve .

DistanceTolerance = 0.001\n’);

171 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.ScalingCurve .

ChainingTolerance = 0.00095\n’);

172 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.AreaLaw .

AlongSpineData.Spine.DistanceTolerance = 0.001\n’);

173 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.AreaLaw .

AlongSpineData.Spine.ChainingTolerance = 0.00095\ n’);

174 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.AreaLaw .LawCurve .

DistanceTolerance = 0.001\n’);

175 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.AreaLaw .LawCurve .

ChainingTolerance = 0.00095\n’);

176 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.PerimeterLaw .

AlongSpineData.Spine.DistanceTolerance = 0.001\n’);

177 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.PerimeterLaw .

AlongSpineData.Spine.ChainingTolerance = 0.00095\ n’);

124

Page 135: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

178 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.PerimeterLaw .

LawCurve .DistanceTolerance = 0.001\n’);

179 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.PerimeterLaw .

LawCurve .ChainingTolerance = 0.00095\ n’);

180 fprintf (fileID ,’ sweptBuilder1.Spine.AngleTolerance = 0.5\n’);

181 fprintf (fileID ,’ sweptBuilder1.AlignmentMethod.AlignCurve .

AngleTolerance = 0.5\n’);

182 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.

OrientationCurve.AngleTolerance = 0.5\n’);

183 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.AngularLaw .

AlongSpineData.Spine.AngleTolerance = 0.5\n’);

184 fprintf (fileID ,’ sweptBuilder1.OrientationMethod.AngularLaw .

LawCurve .AngleTolerance = 0.5\n’);

185 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.ScalingCurve .

AngleTolerance = 0.5\n’);

186 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.AreaLaw .

AlongSpineData.Spine.AngleTolerance = 0.5\n’);

187 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.AreaLaw .LawCurve .

AngleTolerance = 0.5\n’);

188 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.PerimeterLaw .

AlongSpineData.Spine.AngleTolerance = 0.5\n’);

189 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.PerimeterLaw .

LawCurve .AngleTolerance = 0.5\n’);

190

191 %Blend the sweep?

192 %fprintf (fileID ,’sweptBuilder1.InterpolationOption = Features .

SweptBuilder . InterpolationOptions.Blend\n’);

193

194 %create sections this is adding curves we previously defined

195 sweep_vane_count = 1;

196 for blade_curve_count =1: length(blade_curves )

197

198 if section_used (sweep_vane_count) == 0

199 fprintf (fileID ,’Dim section%g As Section \n’,

blade_curve_count);

200 end

201

202 fprintf (fileID ,’section %g = workPart .Sections .CreateSection

(0.00095 , 0.001, 0.5)\n’, blade_curve_count);

203 fprintf (fileID ,’ sweptBuilder1.SectionList .Append(section%g)

\n’, blade_curve_count);

204 fprintf (fileID ,’section %g.SetAllowedEntityTypes (Section .

AllowTypes .OnlyCurves )\n’,blade_curve_count);

205

206 if section_used (sweep_vane_count) == 0

125

Page 136: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

207 fprintf (fileID ,’Dim features %g(0) As Features .Feature \n

’, blade_curve_count);

208 end

209

210 if section_used (sweep_vane_count) == 0

211 fprintf (fileID ,’Dim studioSpline %g As Features .

StudioSpline = CType(workPart .Features .FindObject ("

SPLINE (%g)"), Features .StudioSpline )\n’,

blade_curve_count ,blade_spline_number (

blade_curve_count));

212 else

213 fprintf (fileID ,’studioSpline %g = CType(workPart .

Features .FindObject (" SPLINE (%g)"), Features .

StudioSpline )\n’,blade_curve_count ,

blade_spline_number(blade_curve_count));

214 end

215

216 fprintf (fileID ,’ features %g(0) = studioSpline %g\n’,

blade_curve_count ,blade_curve_count);

217

218 if section_used (sweep_vane_count) == 0

219 fprintf (fileID ,’Dim spline%g As Spline = CType(

studioSpline %g.FindObject (" CURVE 1"), Spline)\n’,

blade_curve_count ,blade_curve_count);

220 else

221 fprintf (fileID ,’spline%g = CType(studioSpline %g.

FindObject (" CURVE 1"), Spline)\n’,blade_curve_count ,

blade_curve_count);

222 end

223

224 if section_used (sweep_vane_count) == 0

225 fprintf (fileID ,’Dim curveFeatureTangentRule %g As

CurveFeatureTangentRule \n’, blade_curve_count);

226 end

227

228 fprintf (fileID ,’ curveFeatureTangentRule %g = workPart .

ScRuleFactory.CreateRuleCurveFeatureTangent (features %g,

spline%g, nullCurve , True , 0.00095 , 0.5)\n’,

blade_curve_count ,blade_curve_count , blade_curve_count);

229 fprintf (fileID ,’section %g.AllowSelfIntersection (True)\n’,

blade_curve_count);

230

231 if section_used (sweep_vane_count) == 0

232 fprintf (fileID ,’Dim rules%g(0) As SelectionIntentRule\n

’, blade_curve_count);

126

Page 137: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

233 end

234

235 fprintf (fileID ,’rules%g(0) = curveFeatureTangentRule %g\n’,

blade_curve_count ,blade_curve_count);

236

237 if section_used (sweep_vane_count) == 0

238 fprintf (fileID ,’Dim helpPoint %g As Point3d = New

Point3d (0, 0, 0)\n’,blade_curve_count);

239 end

240

241 fprintf (fileID ,’section %g.AddToSection (rules%g, spline%g,

nullNXObject , nullNXObject , helpPoint %g, Section .Mode.

Create , False)\n’,blade_curve_count ,blade_curve_count ,

blade_curve_count ,blade_curve_count);

242 section_used (sweep_vane_count) = 1;

243 sweep_vane_count = sweep_vane_count + 1;

244

245

246 end

247

248 section_count = sweep_vane_count;

249 %setup guide line

250 if section_used (section_count) == 0

251 fprintf (fileID ,’Dim section %g As Section \n’,section_count);

252 end

253

254 fprintf (fileID ,’section %g = workPart .Sections .CreateSection

(0.00095 , 0.001, 0.5)\n’, section_count);

255 fprintf (fileID ,’ sweptBuilder1.GuideList .Append(section %g)\n’,

section_count);

256 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.AreaLaw .

AlongSpineData.SetFeatureSpine(section %g)\n’,section_count);

257 fprintf (fileID ,’ sweptBuilder1.ScalingMethod.PerimeterLaw .

AlongSpineData.SetFeatureSpine(section %g)\n’,section_count);

258 fprintf (fileID ,’section %g.SetAllowedEntityTypes (Section .

AllowTypes .OnlyCurves )\n’,section_count);

259

260 if section_used (section_count) == 0

261 fprintf (fileID ,’Dim features %g(0) As Features .Feature \n’,

section_count);

262 end

263

264 if section_used (section_count) == 0

265 fprintf (fileID ,’Dim studioSpline %g As Features .StudioSpline

= CType(workPart .Features .FindObject (" SPLINE (%g)"),

127

Page 138: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

Features .StudioSpline )\n’,section_count ,

guide_spline_number);

266 else

267 fprintf (fileID ,’ studioSpline %g = CType(workPart .Features .

FindObject (" SPLINE (%g)"), Features .StudioSpline )\n’,

section_count ,guide_spline_number);

268 end

269 fprintf (fileID ,’features %g(0) = studioSpline %g\n’,section_count

,section_count);

270

271 if section_used (section_count) == 0

272 fprintf (fileID ,’Dim spline%g As Spline = CType(studioSpline

%g.FindObject ("CURVE 1"), Spline)\n’,section_count ,

section_count);

273 else

274 fprintf (fileID ,’spline%g = CType(studioSpline %g.FindObject

(" CURVE 1"), Spline)\n’,section_count ,section_count);

275 end

276

277 if section_used (section_count) == 0

278 fprintf (fileID ,’Dim curveFeatureTangentRule %g As

CurveFeatureTangentRule \n’, section_count);

279 end

280

281 fprintf (fileID ,’ curveFeatureTangentRule %g = workPart .

ScRuleFactory.CreateRuleCurveFeatureTangent (features %g,

spline%g, nullCurve , False , 0.00095 , 0.5)\n’,section_count ,

section_count ,section_count);

282

283 if section_used (section_count) == 0

284 fprintf (fileID ,’Dim rules%g(0) As SelectionIntentRule \n’,

section_count);

285 end

286

287 fprintf (fileID ,’rules%g(0) = curveFeatureTangentRule %g\n’,

section_count ,section_count);

288

289 if section_used (section_count) == 0

290 fprintf (fileID ,’Dim helpPoint %g As Point3d = New Point3d (0,

0, 0)\n’, section_count);

291 end

292

293 fprintf (fileID ,’section %g.AddToSection (rules%g, spline%g,

nullNXObject , nullNXObject , helpPoint %g, Section .Mode.Create

128

Page 139: ANewMethodforGeneratingSwirlInletDistortion … · 2020-01-21 · For aircraft propulsion, a jet engine is useful because it adds momentum to an incoming stream of air which can,

, False)\n’,section_count ,section_count ,section_count ,

section_count);

294

295 %Commit the Sweep

296 fprintf (fileID ,’ sweptBuilder1.Commit ()\n’);

297

298 fprintf (fileID ,’ sweptBuilder1.SectionList .Clear()\n’);

299 fprintf (fileID ,’ sweptBuilder1.Destroy ()\n’);

300

301 sweep_count = sweep_count +1;

302 spline_count = spline_count +1;

303

304 %end the subfunction

305 fprintf (fileID ,’End Sub\n’);

306

307 fclose(fileID);

129


Recommended